Trulia Property Scraper
Pricing
from $0.89 / 1,000 listings
Trulia Property Scraper
Scrape Trulia for-sale and rental listings by location or search URL. Extract price, beds, baths, sqft, address, coordinates, agent, photos, tags and more. Export as JSON, CSV, Excel.
Pricing
from $0.89 / 1,000 listings
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Trulia Property Scraper
Scrape Trulia for-sale and rental listings from any location or search URL — price, beds, baths, square footage, full address with coordinates, listing agent, photo galleries, tags and cross-listing IDs.
| Pull structured Trulia listing data at scale — by state, city, or a pasted search URL, for sale or for rent. 40+ fields per home, ready-to-analyze. Export JSON, CSV, Excel. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Apify Actor: parsebird/trulia-property-scraper — scrapes Trulia for-sale / rental listings from Trulia's Next.js search data (no detail-page fetch). Call: ApifyClient("TOKEN").actor("parsebird/trulia-property-scraper").call(run_input={"start_url": "https://www.trulia.com/CA/San_Leandro/", "location": "NY", "listing_type": "buy", "results_wanted": 20, "proxyConfiguration": {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US"}}). Inputs: start_url (a Trulia search URL — takes priority), location (state code / city / "City, ST"), listing_type ("buy" or "rent", used only with location), results_wanted (int, default 20). Output: dataset of listings with url, price, listing_status, listing_type, date_listed, property_type, beds, baths, sqft, lot_size, address, city, state, zip_code, full_address, latitude, longitude, listing_by, listing_agent, broker, feature_highlights, review, tags, description, image_url, photo_count, photo_urls[], has_3d_tour, has_video, is_auction, listing_id, zpid, home_id, composite_id, tracking_summary, search_page, search_location_id. API docs: https://docs.apify.com/api/v2 Token: https://console.apify.com/settings/integrations
What does Trulia Property Scraper do?
Give it a search URL or a location. It walks Trulia's search results, page by page, and returns a structured record per listing:
- Price —
price("$559,000"),priceValue(559000) - Status & type —
listing_status("Active for sale"),listing_type("For sale" / "For rent"),date_listed - Property —
property_type(SINGLE_FAMILY_HOME, CONDO, MOBILE_MANUFACTURED, …),beds,baths,sqft,lot_size - Location —
address,city,state,zip_code,full_address,latitude,longitude - Listing source —
listing_by,listing_agent,broker - Media —
image_url,photo_count,photo_urls[] - Highlights —
feature_highlights("Year Built: 1920 | Lot Size: 5,400 sqft"),review(a one-line readable summary),tags("NEW, OPEN SAT, FORECLOSURE") - Flags —
has_3d_tour,has_video,is_auction - IDs —
listing_id,zpid,home_id,composite_id,search_location_id,search_page
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
start_url | string | No | https://www.trulia.com/NY/ | Direct Trulia search URL to scrape. Takes priority over location. |
location | string | No | NY | State code, city, or "City, ST" — used to build a URL when start_url is omitted. |
listing_type | string | No | buy | buy or rent. Only used with location. |
results_wanted | integer | No | 20 | Maximum listings to collect. |
proxyConfiguration | object | No | RESIDENTIAL / US | Trulia needs a residential proxy (PerimeterX). |
If both start_url and location are omitted, the actor uses NY. When both are provided, start_url wins.
Output example
{"url": "https://www.trulia.com/home/123-example-st-san-leandro-ca-94577-12345678","price": "$559,000","priceValue": 559000,"listing_status": "Active for sale","listing_type": "For sale","date_listed": "2026-02-18T00:00:00+00:00","property_type": "SINGLE_FAMILY_HOME","beds": "3","baths": "2","sqft": "1405","lot_size": "5,400 sqft","address": "123 Example St","city": "San Leandro","state": "CA","zip_code": "94577","full_address": "123 Example St, San Leandro, CA 94577","latitude": 37.7242,"longitude": -122.1561,"listing_by": "Listing by: ABC Realty","listing_agent": "Jane Smith","broker": "ABC Realty","feature_highlights": "Year Built: 1920 | Lot Size: 5,400 sqft","review": "$559,000 | 3 Beds, 2 Baths, 1405 sqft | 123 Example St, San Leandro, CA 94577 | Year Built: 1920","tags": "OPEN SAT, 11-1PM, NEW","image_url": "https://www.trulia.com/pictures/thumbs_4/zillowstatic/fp/example-full.jpg","photo_count": 24,"photo_urls": ["https://www.trulia.com/pictures/thumbs_5/zillowstatic/fp/example-full.jpg"],"has_3d_tour": "No","has_video": "No","is_auction": "No","listing_id": "12345678","zpid": "12345678","home_id": "12345678_ZPID","composite_id": "7012345678-2012345678","tracking_summary": "Listing Price: $559,000 | Listing Status: Active for sale","search_page": 1,"search_location_id": "abc123"}
Use cases
- Market analysis — price, sqft and days-on-market trends for any area
- Lead generation — active listings with agent and brokerage names
- Comps & valuation — pull recent listings around a subject property
- Investor sourcing — filter for foreclosures, auctions, price cuts via
tags - Data pipelines — clean JSON of listings, coordinates and photos for your database or map
How it works
- A search URL is built from
start_url, or fromlocation+listing_type. - A warmed residential session loads each results page; the listing data is read from Trulia's embedded
__NEXT_DATA__— no per-listing page fetch, so it stays fast and cheap. - Pages are collected (40 listings each) and de-duplicated until
results_wantedis reached. - If Trulia's bot protection challenges the session, the proxy IP is rotated and the session re-warmed.
- Progress is checkpointed so a platform migration mid-run resumes without duplicates.
Pricing
| Event | Free | Bronze / Silver / Gold |
|---|---|---|
listing | $0.00099 | $0.00089 |
One event per listing saved. 1,000 listings on the Free plan ≈ $0.99.
FAQ
Do I need a proxy? Yes — Trulia uses PerimeterX. The default (Apify Proxy, RESIDENTIAL, US) works out of the box.
Can I scrape rentals?
Yes. Set listing_type to rent, or pass a /for_rent/… URL as start_url.
How many listings can I get per location?
Trulia paginates its search results; the actor follows the pages up to results_wanted. Very large areas are capped by Trulia's own result limit.
Does it fetch individual property pages? No. Everything in the output comes from the search results data, which keeps the cost low. Fields that only appear on a property's own page (HOA, full amenity list) are not included.
Can I schedule it? Yes. Use Apify Schedules to re-run daily and monitor new listings in an area.
Legal and compliance
This actor collects publicly available real-estate listing data from Trulia's search pages. It does not access private accounts or bypass paywalls. You are responsible for using the exported data in compliance with Trulia's terms, applicable laws (including real-estate data licensing and MLS rules), and any contractual obligations. Use it for lawful purposes such as market research and analytics.