ParseForge Scrapers

Trulia Scraper

parseforge/trulia-scraper

Real estateLead generationOther

Scrapes Trulia property listings by location or direct URL and returns each one as a flat row with price, size, rooms, amenities, and listing metadata.

Run this scraper See the API call
Total users
2
Monthly active
1
Total runs
265
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Trulia Scraper

Scrape Trulia rental and sale listings from any city, ZIP code, or direct URL, up to a million per run. Each listing returns its price, beds, baths, square footage, amenities, and full property details. No login or API key. Export to CSV, JSON, Excel, or XML.

Trulia's public search pages hold thousands of rental and for-sale listings, but manually copying data from each one is slow and error-prone. This actor reads the public listing feeds directly, filters by price, bedrooms, bathrooms, property type, and amenities like pet-friendliness or in-unit laundry, and returns every match in one consistent row. You can also feed it a direct listing URL to scrape a single property's full detail page.

Who uses it What they scrape Trulia for
Real estate investors Compare rental yields and sale prices across neighborhoods to spot undervalued properties.
Market analysts Track inventory levels, median rents, and days on market for a metro area over time.
Property managers Benchmark their own listings against nearby competition on price and amenities.
Data journalists Gather rent and sale price data to report on housing affordability trends.

What it does

This Actor collects Trulia property listings by location or direct URL and returns each one as a flat row with price, size, rooms, amenities, and listing metadata.

  • ๐Ÿ™๏ธ Location search: enter a city and state like 'Austin, TX' or a ZIP code to scrape all listings in that area.
  • ๐Ÿ”— Direct URL input: paste any Trulia search or listing URL to scrape exactly those results or that single property.
  • ๐Ÿ’ฐ Price filters: set minimum and maximum price to narrow results to your budget range.
  • ๐Ÿ›๏ธ Room filters: filter by minimum and maximum bedrooms and bathrooms.
  • ๐Ÿ  Property type: choose from apartment, house, condo, townhouse, or multi-family.
  • ๐Ÿพ Amenity toggles: filter for pet-friendly, parking, in-unit laundry, and air conditioning.
  • ๐Ÿ“… Move-in date: specify an earliest available date for rental listings.
  • โšก Concurrency control: adjust parallel detail requests from 1 to 10 to balance speed and IP footprint.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Trulia data

๐Ÿ“Š Build a rental market dataset.

A data analyst scrapes all 'For Rent' listings in Chicago, IL with a max price of $3,000 and exports the data to CSV to calculate median rent per neighborhood.

๐Ÿก Find investment properties.

An investor scrapes 'For Sale' listings for multi-family homes under $500,000 in a target ZIP code and filters for those with parking to shortlist deals.

๐Ÿ“ˆ Monitor competitor listings.

A property manager scrapes rental listings in their building's ZIP code weekly, filtering by the same bedroom count, to see how competing units are priced.

๐Ÿ“ฐ Report on housing affordability.

A journalist scrapes rental listings across several major cities, filtering for pet-friendly apartments, to write a story on the premium renters pay for pet amenities.

Why choose this scraper

What you get
No Trulia API needed Scrapes public listing pages directly, no registration or API key required.
Full property details Gets price, beds, baths, square feet, property type, amenities, and listing URL.
Flexible input Search by location with filters or paste a direct URL to scrape a known listing.
Residential proxy ready Built-in residential proxy support handles Trulia's PerimeterX bot protection.

How it compares

No other Store actor targets Trulia the same way, so the honest comparison is with the alternatives teams actually weigh.

Trulia Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When Trulia changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor from a city, ZIP code, or direct URL, and filters run as each listing is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "location": "New York, NY",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}

A larger pull:

{
  "maxItems": 200,
  "location": "New York, NY",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}

Pricing

Pay-per-result: $0.03199 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $3.20
1,000 results $31.99
10,000 results $319.90

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Trulia Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Trulia through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/trulia-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting zero results?

Check that your location string is valid, like 'New York, NY' or a real ZIP code. Also, your filter combination may be too restrictive. Try removing some filters and run again.

The run fails with a bot detection or CAPTCHA error.

Trulia uses PerimeterX protection. Make sure you are using residential proxies as configured in the Proxy Settings section. Datacenter proxies will be blocked.

I pasted a Start URL but the scraper is still using the location field.

The Start URL field must contain a full Trulia URL starting with 'https://www.trulia.com'. If the URL is incomplete or from a different domain, the Actor falls back to the location search.

The run is very slow.

Increase the Max Concurrency setting in Advanced Options. A value of 5 or 8 will fetch detail pages faster. Residential proxies are inherently slower than datacenter proxies, so some delay is normal.

Some listings are missing the price or bedroom count.

Trulia listings sometimes omit fields if the lister did not provide them. The scraper returns whatever data is on the public page. Missing fields will appear as empty in your dataset.

FAQ

Question Answer
Do I need a Trulia account or API key to use this scraper? No. The scraper reads publicly available listing pages. You do not need a Trulia account, an API key, or any login credentials.
What proxy configuration does Trulia require? Trulia uses PerimeterX bot protection, which requires residential proxies. The input schema pre-fills Apify residential proxies, and you should keep that setting for reliable runs.
Can I scrape both rental and sale listings? Yes. Use the Listing Type dropdown to choose 'For Rent' or 'For Sale'. The Actor will return the corresponding listing type from your chosen location.
How do I scrape a single listing I already know about? Paste the full Trulia listing URL into the Start URL field. The Actor will ignore location and filter settings and return only that one property's details.
What format does the output data come in? The dataset exports in CSV, JSON, Excel, or XML. You choose the format when you start the run or download the results from the Apify dataset.
Can I filter by amenities like pet-friendly or in-unit laundry? Yes. The input has boolean toggles for pet-friendly, parking available, laundry in unit, and air conditioning. Only listings matching those amenities will be returned.
How many listings can I scrape in one run? You can set the maximum up to 1,000,000 listings. The Actor will stop when it reaches that count or when no more listings match your filters.
Does the scraper get the full description and photos from each listing? The scraper collects the listing's detail page data, which includes the full property description and available metadata. Photo URLs are included when present on the page.
Can I search by school district or neighborhood name? The location field accepts city and state or ZIP code. For a specific neighborhood, use a Trulia search URL for that neighborhood as the Start URL.
What is the max concurrency setting for? It controls how many listing detail pages are fetched in parallel. Higher values are faster but use more proxy bandwidth. The default of 3 balances speed and cost.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Zillow Group. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
startUrl string Direct Trulia listing or search URL. If provided, location and filters below are ignored. not set
maxItems integer How many listings to collect per run. 10
location string City and state to search (e.g. 'New York, NY', 'Chicago, IL', or a ZIP code). New York, NY
listingType string (2 options) Type of listings to search for. FOR_RENT
priceMin integer Minimum price in USD. not set
priceMax integer Maximum price in USD. not set
bedroomsMin integer Minimum number of bedrooms. not set
bedroomsMax integer Maximum number of bedrooms. not set
bathroomsMin number Minimum number of bathrooms. not set
propertyType string (6 options) Filter by property type. not set
squareFeetMin integer Minimum living area in square feet. not set
squareFeetMax integer Maximum living area in square feet. not set
petFriendly boolean Only show pet-friendly listings. false
parkingAvailable boolean Only show listings with parking. false
laundryInUnit boolean Only show listings with in-unit laundry. false
airConditioning boolean Only show listings with air conditioning. false
moveInDate string Earliest available move-in date (ISO format: YYYY-MM-DD). not set
maxConcurrency integer Maximum number of parallel detail requests. 3
proxyConfiguration object Proxy settings. Residential proxies required for Trulia (PerimeterX protection). {"useApifyProxy":true,"apifyProxyGroups"

Pricing

from $23.99 per 1,000 results

Charged forWhat it isPrice each
Actor Start Charged once when the run starts. $0.005
Result Item Charged once per result collected. $0.02399 to $0.03199

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~trulia-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "location": "New York, NY",
    "maxItems": 3,
    "listingType": "FOR_RENT",
    "proxyConfiguration": {
      "useApifyProxy": true,
      "apifyProxyGroups": [
        "RESIDENTIAL"
      ]
    }
  }'

Examples

Input that runs as-is.

input.json
{
  "location": "New York, NY",
  "maxItems": 3,
  "listingType": "FOR_RENT",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Trulia Scraper on Apify All scrapers