Trulia Scraper — Property Listings & Details avatar

Trulia Scraper — Property Listings & Details

Pricing

from $48.00 / 1,000 property results

Go to Apify Store
Trulia Scraper — Property Listings & Details

Trulia Scraper — Property Listings & Details

Scrape public Trulia property listings and details: address, price, beds, baths, area, status, MLS, broker, images, coordinates, and source URL.

Pricing

from $48.00 / 1,000 property results

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Security

Limited permissions

Share

Trulia Scraper extracts public US property listings from Trulia search pages and individual property pages. It is designed for real-estate analysts, investors, researchers, relocation teams, and AI agents that need a predictable property dataset instead of raw page HTML. Each dataset item represents one property with a canonical Trulia URL, address, price, listing status, beds, baths, living area, property type, images, brokerage and MLS fields when available, coordinates, and extraction metadata.

The Actor accepts public sale, rental, sold, search, and property-detail URLs. It does not log into Trulia, access saved searches, call private Trulia APIs, or accept account cookies. Search results can be returned quickly from the search page's listing cards or enriched by opening each public property page.

What data can I extract with Trulia Scraper?

FieldMeaning
listingIdStable ID parsed from the property URL or structured page data
urlCanonical public Trulia property URL
sourceUrlSearch or detail page where the property was found
listingType / statusNormalized type plus Trulia's displayed status
address, city, state, zipCodeCombined and structured location fields
price, priceText, currencyNumeric and display price values
bedrooms, bathroomsBed and bath counts, with 0 allowed for studios
livingAreaSqft, lotSize, lotSizeUnitInterior and lot measurements
propertyType, yearBuiltProperty classification and construction year
description, imageUrlsPublic description and deduplicated property images
brokerName, mlsName, mlsIdPublic attribution and listing-source identifiers
latitude, longitude, daysOnMarket, listedAtMarket and geospatial fields when exposed
detailsFetchedWhether the individual property page was loaded
attributesAdditional compact primitive facts from structured data
scrapedAt, warningsExtraction timestamp and item-specific caveats

Unavailable fields are returned as null or an empty array. The shape remains stable across search-card and enriched-detail runs.

When should I use it?

  • Build a current sale or rental inventory for a city, state, ZIP code, or neighborhood.
  • Compare asking prices, beds, baths, square footage, and listing status across properties.
  • Feed normalized property records into a database, spreadsheet, BI dashboard, or valuation workflow.
  • Monitor a bounded set of public Trulia property URLs for visible listing changes.
  • Give an AI agent a compact, documented property entity instead of an unstructured web page.

Do not use this Actor for Trulia account pages, saved homes, private APIs, GraphQL endpoints, contact-form automation, or bypassing access controls. It does not estimate property values or verify MLS accuracy. Use the source URL and the relevant broker or MLS for decisions that require authoritative, up-to-date information.

How to use Trulia Scraper

  1. Copy one or more public Trulia search or property URLs into Trulia URLs.
  2. Set Maximum properties to the largest result count you are willing to return and pay for.
  3. Keep Enrich property details enabled for richer records, or disable it for faster search-card extraction.
  4. The managed Actor automatically uses its protected access routes; you never supply proxy settings.
  5. Run the Actor and download the default dataset as JSON, CSV, Excel, or another supported format.

Example input:

{
"startUrls": [
{ "url": "https://www.trulia.com/GA/Atlanta/" }
],
"maxResults": 25,
"maxPages": 1,
"scrapeDetails": true,
"requestDelaySecs": 1,
"maxSessionRotations": 3
}

The default uses a public Atlanta sale-search URL; the prefill returns 3 properties from it. A direct property URL returns only that property. Search pages follow Trulia's numbered pagination up to maxPages and stop as soon as maxResults has been reached.

Run through the Apify API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('muhammadafzal/trulia-scraper').call({
startUrls: [{ url: 'https://www.trulia.com/GA/Atlanta/' }],
maxResults: 10,
maxPages: 1,
scrapeDetails: true
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

The same input/output contract is available to AI agents through Apify's MCP integration. The Actor should be selected for public Trulia property research, not for generic web scraping or private Trulia account work.

Output example

{
"listingId": "84572424",
"url": "https://www.trulia.com/home/80591-sandpiper-ln-hermiston-or-97838-84572424",
"sourceUrl": "https://www.trulia.com/for_sale/Hermiston,OR/",
"status": "FOR SALE",
"listingType": "for_sale",
"propertyType": "SingleFamilyResidence",
"address": "80591 Sandpiper Ln, Hermiston, OR 97838",
"streetAddress": "80591 Sandpiper Ln",
"city": "Hermiston",
"state": "OR",
"zipCode": "97838",
"price": 399950,
"priceText": "$399,950",
"currency": "USD",
"bedrooms": 3,
"bathrooms": 2,
"livingAreaSqft": 1782,
"lotSize": 0.82,
"lotSizeUnit": "acres",
"yearBuilt": 1999,
"description": "Move-in ready home on a private lot.",
"imageUrls": ["https://photos.zillowstatic.com/fp/example-p_e.jpg"],
"brokerName": "Real Broker",
"mlsName": "RMLS (OR)",
"mlsId": "735577088",
"latitude": null,
"longitude": null,
"daysOnMarket": null,
"listedAt": null,
"detailsFetched": true,
"attributes": {},
"scrapedAt": "2026-08-11T09:00:00.000Z",
"warnings": []
}

Run diagnostics are stored separately in the OUTPUT key. They distinguish successful, successful-with-warnings, empty, blocked, and invalid-input outcomes. Diagnostic pseudo-records are never mixed into the homogeneous property dataset.

Pricing and cost controls

This Actor uses pay-per-event (PPE) pricing with all platform usage included. There is no separate platform usage fee passed to users.

Event prices by tier

EventPrimaryFREEBRONZE (2.5% off)SILVER (5% off)GOLD (20% off)Description
apify-actor-startNo$0.010001$0.00975$0.0095$0.008Synthetic start event charged once per started GB of allocated memory (1 event at the 256 MB default).
property-resultYes$0.060001$0.0585$0.057$0.048Charged once only after one schema-valid, deduplicated property record is stored in the default dataset.

Representative run estimates (at 256 MB default memory)

Run scopeFREE tier totalGOLD tier totalDetails
Single property canary (1 item)~$0.070~$0.0561 start event + 1 property result
Small batch (10 items)~$0.610~$0.4881 start event + 10 property results
Standard search page (25 items)~$1.510~$1.2081 start event + 25 property results
  • Failed, blocked, or empty runs: If all target requests are blocked or no property matches exist, zero property-result events are billed.
  • Deduplication: Duplicate property URLs within a run are skipped and never charged twice.
  • Budget guard: Honor maxResults and Apify's max total charge limit. The Actor stops cleanly before exceeding limits.

Reliability and limitations

Trulia protects public pages with a bot-protection service that answers some IP addresses with a 403 block page. The Actor reads the public HTML pages over plain HTTP, with no browser, through owner-managed US access routes stored as protected secrets; callers cannot supply proxy settings. It never interacts with or solves a verification challenge. When a page comes back blocked, the Actor drops that session and requests the page again on a fresh session, cheapest route first, up to maxSessionRotations extra sessions (default 3). A page still blocked after that budget is skipped and reported in OUTPUT, together with per-route request and block counts in accessPath.

Page count, result count, retries and run duration are bounded. A 200 response with no records from a page expected to contain properties is treated as an extraction or access regression. If every target request is blocked, the run ends FAILED with a terminal BLOCKED explanation in the status message and OUTPUT, and zero property-result charges. Valid no-match pages finish with an EMPTY output instead.

Websites and listing feeds change. Some fields may differ by property type, MLS provider, market, or listing status. Search-card-only mode intentionally contains fewer details. Review warnings, detailsFetched, OUTPUT, and source URLs before using the data for financial, legal, lending, appraisal, or housing decisions.

Other dedicated scrapers

FAQ

Does Trulia Scraper work right now?

Yes. Since 2026-10-30 the Actor reads Trulia's public pages over HTTP instead of a browser. A blocked page is retried on a fresh access session within a fixed budget and is never solved. If every request stays blocked, the run ends FAILED with a BLOCKED explanation in OUTPUT and no property-result charges.

How many results can I scrape with Trulia Scraper?

The input accepts 1–500 properties per run. Actual output depends on visible matches, pagination, the run timeout, proxy access, and your event budget. Start with 10–25 enriched properties, then increase the cap after measuring your target market.

Can I integrate Trulia Scraper with other apps?

Yes. Connect the default dataset to Make, Zapier, webhooks, cloud storage, databases, spreadsheets, or your own application through Apify integrations and APIs.

Can I use Trulia Scraper with the Apify API?

Yes. Start runs with the Apify REST API or apify-client, then read the default dataset using the run's defaultDatasetId.

Can I use Trulia Scraper through an MCP Server?

Yes. Apify's MCP tooling can discover the Actor's input and output schemas. Use it when an agent needs public Trulia property records with predictable fields and explicit cost limits.

Do I need proxies to scrape Trulia?

Usually. Trulia currently blocks many direct and datacenter requests. The managed Actor supplies its residential access route automatically; callers do not provide proxy settings or credentials.

Scraping legality depends on jurisdiction, the data, your access method, and intended use. Scrape only public information you are authorized to collect, follow applicable laws and Trulia's current terms and robots guidance, respect intellectual-property and privacy rights, and obtain legal advice for regulated or high-risk uses. Trulia and Zillow are trademarks of their respective owners; this Actor is not affiliated with or endorsed by them.

Your feedback

Report reproducible issues with the redacted input, run ID, affected URL type, final status message, and whether detail enrichment was enabled. Do not post proxy credentials, tokens, cookies, or private personal data.

Last verified: 2026-10-30