Trulia New Listings Scraper (US homes for sale) avatar

Trulia New Listings Scraper (US homes for sale)

Pricing

from $0.30 / 1,000 listing scrapeds

Go to Apify Store
Trulia New Listings Scraper (US homes for sale)

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

Superslow Sloth

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

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

fieldmeaning
locationsOne per line: "Denver, CO" (city and two-letter state) or a full trulia.com search URL
maxItemsHomes per location, newest first. Default 100, ceiling 1000 — see limits
requestIntervalSecsPause between result pages. Default 1
proxyConfigurationApify 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:

fieldmeaning
idTrulia's id: the number at the end of the listing URL
urlThe listing on trulia.com, absolute
date_listedWhen the listing went live, ISO 8601 with UTC offset
listing_statusfor sale, coming soon, for sale by owner, foreclosure, trulia preview
address, street_address, city, state, zipcodeThe address, whole and split
latitude, longitudeCoordinates
priceAsking price in whole US dollars, or null — see below
price_textThe price exactly as Trulia shows it: "$310,000", "Price Unknown", "$1,075,300 (Est.)"
currencyUSD when price is present
beds, bathsCounts. A half bath is 0.5; a studio is 0.0
living_area_sqftInterior floor area
lot_size, lot_size_unitLot size and the unit it was measured in (acres or sqft)
property_typeSINGLE_FAMILY_HOME, CONDO, TOWNHOUSE, MULTI_FAMILY, LOT_LAND, COOP, APARTMENT, MOBILE_MANUFACTURED
listing_agent, broker_name, mls_numberWho listed it. null for owner-listed homes
image_urlLargest photo on the card
tagsTrulia's badges: NEW_LISTING, OPEN_HOUSE, COMING_SOON, NEW_CONSTRUCTION, AUCTION, FOR_SALE_BY_OWNER, TRULIA_PREVIEW, LOT_SIZE
search_locationThe 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, NY matches 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.