Trulia Scraper
Pricing
from $2.20 / 1,000 listings
Trulia Scraper
Collect Trulia for-sale, for-rent, and sold listings as structured data from search URLs or location queries, with optional property-page details such as description, photos, agent, and price history.
Pricing
from $2.20 / 1,000 listings
Rating
0.0
(0)
Developer
Scraptivo
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
Trulia Scraper collects for-sale, for-rent, and sold listings from Trulia and turns them into structured data for market research and real-estate lead generation. Provide a location query like "Austin, TX" or a Trulia search URL, run the Actor, and export price, beds, baths, address, property type, and agent details to JSON, CSV, or Excel. Use it to monitor price changes, build lead lists, and track sold comps. Scraptivo pricing starts at $0.0025 per listing on the free plan.
What can you automate with Trulia Scraper?
- Build targeted lead lists — pull agent and broker names alongside every listing for outreach and CRM enrichment.
- Monitor price changes — track asking prices over time with per-property price history and estimated values.
- Enrich listings with property-page details — collect full descriptions, photo sets, features, and listing dates in one run.
- Track sold comps — capture sold listings and sold prices to support valuations and investment decisions.
- Keep a fresh rental inventory — collect for-rent listings with rent, beds, and baths for market analysis.
- Schedule recurring collection — run daily or weekly and export to JSON, CSV, or Excel automatically.
Who is this scraper for?
| Team | Workflow |
|---|---|
| Real-estate agents and brokers | Build prospecting lists of active listings and agent contacts by city or ZIP. |
| Lead-generation agencies | Collect property records plus agent and broker names for outbound campaigns. |
| Investors and appraisers | Pull sold comps, price history, and estimated values for valuations. |
| Market researchers | Benchmark prices, inventory, and property mix across neighborhoods. |
What data can you collect from Trulia?
| Data group | Example fields | How it helps |
|---|---|---|
| Location | address, city, state, zipCode, neighborhood | Map and segment listings by market. |
| Pricing | formattedPrice, price, status, propertyType | Compare asking prices and market type. |
| Size and layout | bedrooms, bathrooms, livingArea, yearBuilt | Filter by property size and age. |
| Agent and broker | agentName, brokerName, mlsAttribution | Identify listing parties for outreach. |
| Media and details | imageUrl, description, photos, features, priceHistory | Enrich listings when details are enabled. |
Some detail fields, such as the full description, photos, and price history, are only populated when you enable includeListingDetails. Fields like agentPhone depend on what Trulia exposes on the property page.
How to use Trulia Scraper
- Open Trulia Scraper on Apify Store.
- Enter a
searchQueriesvalue such as"Austin, TX"or a 5-digit ZIP, or paste a Trulia search or listing URL intostartUrls. - Choose
searchType(FOR_SALE,FOR_RENT, orSOLD) and setmaxListings. - Optionally enable
includeListingDetailsto collect descriptions, photos, agents, and price history. - Run the Actor and export the results to JSON, CSV, or Excel from the Output tab.
Minimal input example:
{"searchQueries": ["Austin, TX"],"searchType": "FOR_SALE","maxListings": 10,"includeListingDetails": true,"detailConcurrency": 5,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Example workflow
Build a weekly list of new listings for a target ZIP
- Run
searchQueriesentry"78744"withsearchTypeset toFOR_SALEevery Monday. - Keep the records matching your price and bedroom criteria in a spreadsheet.
- Send new rows to Google Sheets or your CRM.
- Deduplicate across runs using the stable
listingIdfield.
Automate and integrate your results
Run Trulia Scraper on a schedule from the Apify Console Schedules tab — daily is usually enough for real-estate data, weekly for slower markets. Add a webhook on run completion to push fresh listings into your CRM, database, or notification pipeline. Connect the dataset to Google Sheets, Make, Zapier, or Slack, or call the Actor from your own code via the API:
curl -X POST "https://api.apify.com/v2/acts/scraptivo/trulia-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries": ["Austin, TX"], "searchType": "FOR_SALE", "maxListings": 10}'
For deduplication across runs, key on the stable listingId field, which uniquely identifies each property.
Input reference
| Field | Type | Required | Default | What it controls |
|---|---|---|---|---|
startUrls | array | No | — | Trulia search or listing URLs. Search URLs keep any filters already in the path. |
searchQueries | array | No | — | Location queries such as "Austin, TX" or a ZIP, used when no URL is provided. |
searchType | enum | No | FOR_SALE | Market applied to searchQueries only: FOR_SALE, FOR_RENT, or SOLD. |
maxListings | integer | No | 10 | Maximum listings to collect across all URLs and queries (0 = unlimited). |
includeListingDetails | boolean | No | false | Open property pages for description, photos, agent, price history, and features. |
detailConcurrency | integer | No | 5 | Parallel property-page fetches when details are enabled (1–20). |
proxyConfiguration | object | No | residential | Proxy settings; residential proxies are the default. |
Output example
{"url": "https://www.trulia.com/home/1042-rosemont-st-1-austin-tx-78723-401885104","listingId": "401885104_ZPID","listingType": "RESALE","status": "for sale","propertyType": "single-family home","address": "1042 Rosemont St #1, Austin, TX 78723","city": "Austin","state": "TX","zipCode": "78723","neighborhood": "Windsor Park","formattedPrice": "$439,900","price": 439900,"bedrooms": 3,"bathrooms": 3.5,"livingArea": "2,536 sqft","yearBuilt": 2022,"imageUrl": "https://www.trulia.com/pictures/thumbs_4/zillowstatic/fp/66ce9ac7553744231dfea16f984f61b4-full.jpg","description": "Spacious, modern East Austin opportunity! This newly built home offers a bright open-concept layout...","dateListed": "2026-08-22T04:09:44+00:00","estimatedValue": 436200,"estimatedRent": 3041,"agentName": "Steven Robertson","agentPhone": "(XXX) XXX-XXXX","brokerName": "Real Estate Diplomats","mlsAttribution": "NTREIS, MLS#21365155","photoCount": 15,"photos": ["https://www.trulia.com/pictures/thumbs_5/zillowstatic/fp/66ce9ac7553744231dfea16f984f61b4-full.jpg"],"features": [{ "name": "Parking", "value": "1 Car Garage" },{ "name": "Living Area", "value": "2536 Square Feet" },{ "name": "Year Built", "value": "2022" }],"priceHistory": [{ "date": "2026-08-22T00:00:00+00:00", "event": "Listed For Sale", "price": 439900 },{ "date": "2025-12-11T00:00:00+00:00", "event": "PriceChange", "price": 499999 }],"detailsFetched": true,"sourceQuery": "Austin, TX"}
How much does it cost to scrape Trulia?
Trulia Scraper uses pay-per-event billing. The primary listing event costs $0.0025 per listing ($2.50 per 1,000 listings), available on the free plan and as low as $0.0022 per listing on higher plans. When includeListingDetails is enabled, a listing-details event adds $0.0025 per listing for property pages that are successfully fetched. Each run also incurs a one-time $0.00005 Actor Start fee.
For example, 1,000 listings cost about $2.50, and 10,000 listings about $25. A run with details enabled costs roughly double, since the listing-details event charges in addition to the listing event.
Reliability and responsible use
Trulia Scraper defaults to residential proxies and retries automatically when Trulia presents an anti-bot challenge. Some detail fields are conditional and only appear when Trulia exposes them on the property page, so individual records may have empty values. The Actor collects publicly available listing data; you are responsible for using it in accordance with Trulia's terms and applicable law.
Frequently asked questions
Can I scrape sold listings and rentals from Trulia?
Yes. Set searchType to SOLD or FOR_RENT when using searchQueries, or paste a Trulia /sold/ or /for_rent/ URL into startUrls. Sold listings include sold prices, and rentals include rent where Trulia exposes it.
Can I schedule Trulia Scraper to run automatically?
Yes. Create a recurring schedule from the Apify Console Schedules tab or via the API. A daily schedule keeps listings fresh; weekly works for slower markets.
What counts as one result?
One listing event is charged for each property record pushed to your dataset. If includeListingDetails is on and a detail page is fetched successfully, an additional listing-details event is charged for that same property.
Why are some fields empty?
Some fields, including description, photos, features, and priceHistory, are only populated when includeListingDetails is enabled. Others, such as agentPhone or estimatedValue, appear only when Trulia exposes them on the property page.
How do I avoid duplicate records?
Key on the stable listingId field, which uniquely identifies each property. If you write results into an existing dataset by datasetId, Apify also deduplicates identical records automatically.
Do I need a proxy?
Residential proxies are the default and recommended. Trulia may show an anti-bot challenge on some IPs; the Actor rotates proxies and retries automatically.
Related Scraptivo automations
- Realtor.com Scraper — collect Realtor.com listings with full search filters.
- Redfin Scraper — collect Redfin listings and market data.
- Zillow Agents Vault — build agent and broker lead lists from Zillow.
- Rightmove Scraper — collect UK property listings from Rightmove.
- Apartments.com Scraper — collect rental listings from Apartments.com.
- Funda Netherlands Real Estate Scraper — collect Dutch listings from Funda.nl.
Support and custom workflows
Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, a sample URL, the required fields, and your expected volume so we can assess the request.
