Trulia Listings & Price History Scraper
Scrape property listings from Trulia - for sale, for rent, and sold. Supports search pages and direct property URLs. No login required.
Open in Apify Store$0.99 / 1K on Free
Short answer
Trulia Listings & Price History Scraper is an Apify Store Actor for Trulia data that returns 56 published output fields, including price, priceMin, priceMax, priceLabel. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 16 input settings, none required. It covers 7 of the 7 core Trulia fields this site tracks. Last updated Nov 11, 2026.
From the public Store listing and published build schema, synced 2026-11-12.What it returns
56 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.
listingTypelistingStatuspropertyTypepricepriceMinpriceMaxpriceLabelbedroomsbedroomsMaxbathroomsbathroomsMaxsqftsqftMaxaddresscitystatezipCodeagentNamebrokerNameurlscrapedAtrecordTypesourceUrlpropertyNamepriceCurrencypriceTypepricePerSqftestimatedValuecountyneighborhood
Show the other 26 fields
latitudelongitudelotSizelotSizeAcreslotSizeSqftyearBuilthoaFeelistingDatedaysOnMarketsoldDatesoldPriceagentPhonemlsIdattributionpetsAllowedtagsdescriptionpriceHistorytaxHistoryrentalFeesfeaturesopenHousesphotosphotoCountinputUrlerror
Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| mode | string | No | search | Search by location using the filters below, or paste Trulia URLs. |
| location | string | No | – | City and state, ZIP code, or neighborhood. Examples: Austin, TX · 78704 · New York, NY. |
| listingType | string | No | for_sale | Search for-sale homes, rentals, or recently sold homes. |
| propertyType | string | No | any | Restrict results to one property type. |
| minPrice | integer | No | – | Lowest listing price to include. |
| maxPrice | integer | No | – | Highest listing price to include. |
| minBeds | integer | No | – | Smallest number of bedrooms to include. |
| maxBeds | integer | No | – | Largest number of bedrooms to include. |
| minBaths | integer | No | – | Smallest number of bathrooms to include. |
| maxBaths | integer | No | – | Largest number of bathrooms to include. |
Show the other 6 settings
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| minSqft | integer | No | – | Smallest living area to include. |
| maxSqft | integer | No | – | Largest living area to include. |
| maxItems | integer | No | 40 | Maximum number of listing records to collect across all URLs. |
| fetchDetails | boolean | No | false | Open each listing page to add price history, tax history, full features, open houses, and agent phone. |
| urls | array | No | [] | Trulia search pages, property pages, or rental-community pages. Existing filters in a search URL are preserved. |
| proxyConfiguration | object | No | – | Leave the default for automatic proxy selection. Trulia's PerimeterX protects some routes, and the actor falls back to an Apify proxy only when a direct request is blocked. |
Example input
Built from the input form's published example values and defaults.
{
"mode": "search",
"location": "Austin, TX",
"listingType": "for_sale",
"propertyType": "any",
"maxItems": 3,
"fetchDetails": false,
"urls": []
} Run it from code or an AI agent
The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "search",
"location": "Austin, TX",
"listingType": "for_sale",
"propertyType": "any",
"maxItems": 3,
"fetchDetails": False,
"urls": []
}
run = client.actor("vexaloom-labs/trulia-listings-and-price-history-scraper").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"mode": "search",
"location": "Austin, TX",
"listingType": "for_sale",
"propertyType": "any",
"maxItems": 3,
"fetchDetails": false,
"urls": []
};
const run = await client.actor("vexaloom-labs/trulia-listings-and-price-history-scraper").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/vexaloom-labs~trulia-listings-and-price-history-scraper/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"mode":"search","location":"Austin, TX","listingType":"for_sale","propertyType":"any","maxItems":3,"fetchDetails":false,"urls":[]}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vexaloom-labs/trulia-listings-and-price-history-scraper",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
What a run costs
The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.
| Apify plan | Per 1,000 | 10,000 results | 100,000 results |
|---|---|---|---|
| Free plan | $0.99 | $9.90 | $99 |
| Starter plan | $0.82 | $8.20 | $82 |
| Scale plan | $0.66 | $6.60 | $66 |
| Business plan | $0.49 | $4.90 | $49 |
- Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
- The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
- Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
- Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.
Where it fits among Trulia routes
It ranks 1 of 1 catalogue Actors for Trulia on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.
- 1 Trulia Listings & Price History Scraper 56 output fields, pay per event 7 of 7 core fields
$0.99 / 1K - + 6 other Store tools, combined Reference only 7 of 7 core fields
from $0.70 / 1K - API No official Trulia data API No open API fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Official route: No official Trulia data API
No open API. Trulia, part of Zillow Group, does not offer a current developer API for listing data. The site returned HTTP 403 to automated checks on 2026-11-11.
No public self-serve price is published.
Other Store tools for Trulia
Reference only, from their public listings.
| Tool | Fields | Price / 1K |
|---|---|---|
| Trulia Scraper | 64 | $0.70 |
| Trulia Property Scraper | 36 | $1.00 |
| Trulia.com Scraper | 21 | $1.00 |
| Trulia Scraper | 27 | $1.00 |
| Trulia Scraper Search by URLs and Keyword/Filters | – | $1.00 |
What people use it for
- search property listings
- track price history
- compare housing markets
Similar Actors
Idealista Search Listings Price & Feature Scraper
Pull real estate search-result listings from Idealista for Spain, Italy, and Portugal: price, size, rooms, address, thumbnail, feature flags, and…
Property Finder MENA Listings & Agent Contact Extractor
Reads Property Finder listings across the UAE, Saudi Arabia, Qatar, Bahrain, and Egypt, returning price, size, location hierarchy, amenities, and…
Southeast Asia Property Listings by Country & Bedroom Count
Search PropertyGuru for-sale and for-rent listings across Singapore, Malaysia, Thailand and Indonesia by property type, bedrooms and price, with…
VivaReal Colombia Real Estate Listings by City & Price
Search VivaReal Colombia for properties for sale or rent by city, neighborhood, property type, price range, bedrooms, and area, and get back…
Brazil Rental & Sale Listings by City (QuintoAndar)
Search Brazilian rental and sale property listings by city and transaction type: price breakdown, bedrooms, bathrooms, area, furnishing, and…
Century 21 Listings & Property Detail Finder
Find Century 21 homes for sale or rent by city, county, neighborhood, or ZIP with price and size filters, or look up a property by address with…
Questions people ask
How much does Trulia Listings & Price History Scraper cost?
The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.
What data does Trulia Listings & Price History Scraper return?
Its published output schema lists 56 fields: listingType, listingStatus, propertyType, price, priceMin, priceMax, priceLabel, bedrooms, bedroomsMax, bathrooms, bathroomsMax, sqft, and 44 more. A listed field is not guaranteed to be filled in every row.
What input does Trulia Listings & Price History Scraper need?
No input is strictly required; the defaults run as is. Common settings: mode, location, listingType, propertyType, minPrice, maxPrice.
How do I run Trulia Listings & Price History Scraper from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("vexaloom-labs/trulia-listings-and-price-history-scraper").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("vexaloom-labs/trulia-listings-and-price-history-scraper").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/vexaloom-labs~trulia-listings-and-price-history-scraper/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
- Trulia Listings & Price History Scraper on Apify Store
- Published build with input and output schema (JSON)
- No official Trulia data API documentation
Cite this page
Scraper Finder. "Trulia Listings & Price History Scraper." https://scraperfinder.com/catalogue/trulia-listings-and-price-history-scraper/ (data checked 2026-11-12).
Run Trulia Listings & Price History Scraper
$0.99 per 1,000 results. Paste the example input above, set your Trulia query, then export the dataset. Still choosing? Compare every Trulia route.