Trulia New Listings Scraper (US homes for sale)
Pricing
from $0.30 / 1,000 listing scrapeds
Trulia New Listings Scraper (US homes for sale)
Newest-first US homes for sale from Trulia, by city or search URL. One flat row per home: address, price, beds, baths, sqft, lot size, property type, date listed, status, agent and broker, MLS number, coordinates and photo.
Pricing
from $0.30 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
Superslow Sloth
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
Trulia New Listings Scraper
A newest-first feed of US homes for sale. Give it cities ("Denver, CO") or
Trulia search URLs and it returns the homes Trulia lists first, each as one flat
row: address, asking price, beds, baths, floor area, lot size, property type,
the date it was listed, its status, the listing agent and broker, the MLS
number, coordinates and a photo.
Built to be called on a schedule or by an agent: small input, one row per home,
no nested objects, no HTML. Run it daily with a modest maxItems and you have a
"what just came on the market" feed.
Input
| field | meaning |
|---|---|
locations | One per line: "Denver, CO" (city and two-letter state) or a full trulia.com search URL |
maxItems | Homes per location, newest first. Default 100, ceiling 1000 — see limits |
requestIntervalSecs | Pause between result pages. Default 1 |
proxyConfiguration | Apify proxy, on by default |
A pasted search URL keeps whatever filters and sort are already on it (price,
bedrooms, property type, price;a_sort), so that is how to filter: set the
filters on trulia.com, paste the address bar. For a plain "City, ST" Trulia's
default order is already newest first.
City names are Trulia's own. "Colorado Springs, CO" and "Winston-Salem, NC"
work; "St. Louis, MO" does not (Trulia spells it Saint Louis). Trulia does
not say so when it cannot place a city — it quietly shows the whole state — so
the actor compares where Trulia landed with where it was sent and reports a
failure instead of returning 37,000 homes from the wrong place.
Output
One item per home:
| field | meaning |
|---|---|
id | Trulia's id: the number at the end of the listing URL |
url | The listing on trulia.com, absolute |
date_listed | When the listing went live, ISO 8601 with UTC offset |
listing_status | for sale, coming soon, for sale by owner, foreclosure, trulia preview |
address, street_address, city, state, zipcode | The address, whole and split |
latitude, longitude | Coordinates |
price | Asking price in whole US dollars, or null — see below |
price_text | The price exactly as Trulia shows it: "$310,000", "Price Unknown", "$1,075,300 (Est.)" |
currency | USD when price is present |
beds, baths | Counts. A half bath is 0.5; a studio is 0.0 |
living_area_sqft | Interior floor area |
lot_size, lot_size_unit | Lot size and the unit it was measured in (acres or sqft) |
property_type | SINGLE_FAMILY_HOME, CONDO, TOWNHOUSE, MULTI_FAMILY, LOT_LAND, COOP, APARTMENT, MOBILE_MANUFACTURED |
listing_agent, broker_name, mls_number | Who listed it. null for owner-listed homes |
image_url | Largest photo on the card |
tags | Trulia's badges: NEW_LISTING, OPEN_HOUSE, COMING_SOON, NEW_CONSTRUCTION, AUCTION, FOR_SALE_BY_OWNER, TRULIA_PREVIEW, LOT_SIZE |
search_location | The location string or URL this row came from, echoed back |
Nulls, not zeros
Trulia does not show every value on every home, and a missing value is null,
never 0. In a 400-card sample across ten searches about 15% had no bedroom
count (lots and land), 17% no bathroom count and 20% no floor area. A few had no
price at all.
price is only ever an asking price. Auction and foreclosure cards on Trulia
show an estimated value instead; that estimate goes in price_text (with
(Est.)) and price stays null, because the seller is not asking that. A
card that says Price Unknown or Contact is null in both.
Builder floor-plan cards that Trulia mixes into results (a plan a builder will build, with a price range and no listing date) are not homes for sale and are left out. The run log counts them.
There is no days-on-market column
A search card carries the date it was listed, and a "NEW - 3 HRS AGO" badge,
but not a day count. Subtract date_listed from the day you read the row; baking
a count into the data would bake in the moment of the scrape.
Limits worth knowing before you run it
- 1,000 homes per location, always. Trulia serves 40 homes per page and stops
at page 25. Past that it answers HTTP 200 with page 1 again and no error; the
actor reads the page number back and stops, and the run log lists locations
that stopped there.
New York, NYmatches 22,000+ homes. To go deeper, give several narrower locations or filtered search URLs. - Only for-sale search. Rentals and recently-sold pages are not read.
- Trulia refuses non-browser clients. A plain HTTP request from a cloud address gets a PerimeterX "Access to this page has been denied" page (HTTP 403). The actor presents a real Chrome TLS fingerprint instead, and treats any page that arrives without the data in it as a refusal: it switches to a fresh proxy address and retries rather than reporting an empty success.
- Duplicates across pages and locations are skipped, and not charged. A home that appears twice is delivered once.
- Trulia can change its page at any time. The data is read from the page's embedded JSON, which is not a published API.
Pricing
Pay per event: a small charge when the run starts, plus one charge per home delivered. Skipped duplicates and floor plans are not charged, and a run that returns nothing charges only the start event.