Zillow API
Pricing
from $12.60 / 1,000 results
Zillow API
Search Zillow sale, rental, and sold listings across the United States and Canada. Collect 40 normalized property fields covering prices, beds, baths, area, images, location details, agent data, and source URLs.
Pricing
from $12.60 / 1,000 results
Rating
5.0
(1)
Developer
TrueFetch
Maintained by CommunityActor stats
4
Bookmarked
48
Total users
4
Monthly active users
13 days ago
Last modified
Categories
Share
Zillow API is a zillow real estate listings api that searches Zillow by location and returns 40 normalized, source-linked property fields for developers building housing research and monitoring pipelines.
- 40 public Dataset fields cover listing identity, classification, price, dimensions, location, media, contacts, provenance, and processing time.
- 7 public inputs with four required fields make country, location, transaction, and result limits explicit.
- the United States and Canada coverage follows the verified fixed-route or country-routing map instead of claiming universal availability.
- Pay-per-event billing is $0.01000 per Actor Start plus $0.01400 for each Result stored on the FREE tier.
Run a one-result test · View API
Set max_results to 1 for the smallest useful test; if one listing is stored, the FREE-tier maximum is $0.02400, while a no-result search still incurs Actor Start.
What does Zillow API do?
Zillow API converts one explicit property search into source-attributed rows that share a stable 40-field Dataset shape. It resolves the requested location, applies only supported filters, collects accepted public advertisements, and normalizes their source values for API, MCP, and export workflows.
One record can include listing IDs, transaction and property classifications, nested price and room data, areas, address and coordinates, images, features, dates, agent or agency details, the source platform, and a URL back to the advertisement. Missing details remain empty; the Actor does not estimate a price, infer a person, or fill a field from a different listing.
This is an independent public-listing search interface. It is not an MLS feed, valuation model, due-diligence service, official partner API, or guarantee that every source exposes the same inventory. Zillow is the official source reference used here: Zillow's official product announcement documents location-based search across neighborhoods, ZIP codes, cities, counties, and states, with map and result-feed views.
How do I run Zillow API?
Run Zillow API by providing max_results, country, location, and listing_type, then start with a one-result request.
- Open the Actor input.
- Use the working Toronto, ON scenario and reduce
max_resultsto1. - Leave optional fields empty unless this edition documents that the source route supports them.
- Start the run and inspect the terminal returned-property count.
- Open the default Dataset and verify
platform,location,price, andsource_urlbefore scaling.
{"max_results": 1,"country": "Canada","location": "Toronto, ON","listing_type": "for_sale"}
max_results is a ceiling on accepted rows, not a guaranteed count. A valid run can return zero rows when no public listing matches, the place cannot be resolved, or a supplied filter is incompatible with the route.
What data does Zillow API return?
Zillow API returns one normalized Dataset row for each accepted property advertisement, using exactly 40 top-level fields.
| Group | Fields |
|---|---|
| Identity, media, and classification | cover_image, image_urls, title, description, listing_id, mls_id, listing_type, availability, market_type, property_type, subtype, category, business_type |
| Price and size | price, rooms, area, land |
| Place and timing | location, address, geo, country, building, dates, posted_time |
| Listing detail | fees, media, open_houses, features, amenities, details, reviews, policies, units, nearby |
| Contact and provenance | contact, platform, source_url, official_url |
| Processing | processor, processed_at |
The following JSON is abbreviated and illustrative; a real result follows the full 40-field schema and can contain additional nested values or nulls:
{"title": "Illustrative Toronto, ON property listing","listing_id": "source-12345","listing_type": "for_sale","property_type": "apartment","price": {"value": 750000,"text": "750,000","currency": "CAD"},"rooms": {"beds": 2,"baths": 2},"location": "Toronto, ON","country": "Canada","platform": "zillow","source_url": "https://example.com/property/source-12345","processed_at": "2026-08-10T12:00:00.000Z"}
source_url is the primary verification path, while platform, processor, and processed_at preserve provenance. JSON keeps nested objects intact; CSV and Excel are convenient for review; the Dataset API supports downstream jobs that need paginated items.
What inputs can I configure?
Zillow API exposes 7 public inputs in the shared family order. max_results, country, location, and listing_type are required in every edition; property_type, posted_since, and platforms remain present and optional even when a fixed route requires them to be left empty.
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
max_results | integer | Yes | Maximum number of property listings to return from Zillow | 3 |
country | string (2 schema options) | Yes | Markets supported by the fixed Zillow route: Canada and United States. | Canada |
location | string | Yes | City, region, neighborhood, postal code, or address to search on Zillow | Toronto |
listing_type | string (3 schema options) | Yes | Transaction types supported by Zillow: for_sale, for_rent, and sold. | for_sale |
property_type | string (8 schema options) | No | Optional Zillow property-type filter: residential, house, apartment, condo, townhouse, land, new_development, and auction. Leave empty for no property-type restriction. | optional |
posted_since | string | No | Optional listing-age filter supported by the fixed Zillow route. Accepts YYYY-MM-DD or a relative value such as 7 days. | optional |
platforms | array (1 schema option) | No | Compatibility selector retained across every property-family edition. This edition always uses Zillow; leave empty or select Zillow. | optional |
The effective console prefill is:
{"max_results": 3,"country": "Canada","location": "Toronto","listing_type": "for_sale"}
The platforms field is intentionally retained with the singleton schema value Zillow. Runtime identity fixes this edition to Zillow; the field is not deleted merely to differentiate the product.
property_type and posted_since affect requests only when explicitly supplied with a value supported by this route.
What platforms and markets does Zillow API cover?
Zillow API covers Zillow in the United States and Canada, subject to the source map and the transaction modes documented for this edition.
- Platform: Zillow.
- Markets: the United States and Canada. The fixed Zillow route accepts United States and Canada locations.
- Transactions: for_sale, for_rent, and sold.
- Property type: residential, house, apartment, condo, townhouse, land, new_development, and auction.
- Posted date: supported by the Zillow route.
- Output language: source text is preserved where available; schema keys remain stable English identifiers.
Coverage describes the route the Actor can request, not a promise that every neighborhood has current inventory. Source ranking, advertiser participation, field population, and listing freshness remain external conditions.
Why use Zillow API?
Use Zillow API when a stable, source-linked API row is more useful than repeating a manual search or maintaining a source-specific parser.
| Capability | Practical benefit |
|---|---|
| 40-field normalized Dataset | Build one validation and export layer for identity, price, location, media, contacts, and provenance. |
| Explicit country and location | Make the requested market reviewable in logs and saved inputs. |
Bounded max_results | Start with one row and increase collection only after inspecting quality. |
| Result-event billing | Relate output cost to rows actually stored in the default Dataset. |
| API and MCP access | Reuse the same Actor ID in code, agents, Make.com, n8n, or scheduled workflows. |
The main trade-off is source dependence. This read-only public-listing interface does not provide an official Zillow partnership, MLS license, or guaranteed inventory completeness. The normalized envelope reduces integration work, but it cannot manufacture unavailable fields or contractual data rights.
Who is Zillow API for?
Zillow API is for developers, property-data teams, market researchers, and operations analysts who can work with nullable, source-attributed public advertisements.
- Data engineers can land JSON rows in a warehouse and validate source coverage before expanding a schedule.
- Market analysts can compare visible prices, rooms, area, and location for Toronto, ON without treating the sample as the whole market.
- Product teams can prototype source-linked search experiences while keeping verification URLs in the record.
- Operations teams can create a bounded review queue from
max_results,listing_type, and explicit location inputs. - Quality teams can measure field fill rates and source changes against the named 40-field contract.
The reverse persona is equally important: Choose an authorized MLS or data feed for licensed redistribution, guaranteed availability, or contractual data quality. Do not use this Actor as the sole basis for housing eligibility, lending, valuation, investment, legal, or safety decisions.
How can I use Zillow API through the API or MCP?
Call Zillow API with real Actor ID bdFppjxrVjQpbiLmo or the name form truefetch/zillow-api; both refer to this public Actor.
curl -X POST "https://api.apify.com/v2/acts/bdFppjxrVjQpbiLmo/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"max_results": 1, "country": "Canada", "location": "Toronto, ON", "listing_type": "for_sale"}'
For MCP, connect the official Apify MCP server, select Actor bdFppjxrVjQpbiLmo, and submit the same one-result JSON input. Name max_results, country, location, and listing_type in the tool call rather than referring to a distant example. After completion, read the run's default Dataset and retain source_url for review.
The live API page provides generated SDK and OpenAPI examples. In Make.com or n8n, use bdFppjxrVjQpbiLmo in the run step, wait for a terminal run state, then fetch items with defaultDatasetId.
How much does Zillow API cost?
Zillow API costs $0.01400 per Result on the FREE tier, and the smallest one-result test costs at most $0.02400 including the $0.01000 Actor Start.
| Plan tier | Price per Result |
|---|---|
| FREE | $0.01400 |
| BRONZE | $0.01260 |
| SILVER | $0.01120 |
| GOLD | $0.01050 |
| PLATINUM | $0.01050 |
| DIAMOND | $0.01050 |
The billing unit is one property listing stored in the default Dataset. The exact smallest calculation is $0.01000 Actor Start + 1 × $0.01400 Result = $0.02400. A valid search with no stored rows still pays Actor Start but has no Result event.
Prices can change, so confirm the live pricing page before scheduling or increasing max_results.
How does Zillow API compare with alternatives?
Zillow API is best when a bounded API request and normalized source-linked rows are the priority; other paths fit different rights and reliability needs.
- Manual browsing is efficient for a handful of listings that one person will inspect immediately, but not for repeated structured comparison.
- The source's own website is best for interactive maps, saved searches, alerts, and consumer browsing. Zillow is the official source reference used here: Zillow's official product announcement documents location-based search across neighborhoods, ZIP codes, cities, counties, and states, with map and result-feed views.
- Separate official integrations are better when authenticated features, licensed redistribution, complete inventory, or service levels are mandatory.
- Valuation and analytics services are better for modeled prices, forecasts, or due-diligence outputs; this Actor returns advertisements, not an appraisal.
This read-only public-listing interface does not provide an official Zillow partnership, MLS license, or guaranteed inventory completeness. Choose another path if nulls are unacceptable, the use requires a license this Actor cannot grant, or a source outage must never interrupt the workflow.
What are the limits and troubleshooting steps?
The main limits are source-dependent inventory, filter compatibility, location resolution, nullable fields, and public-page availability.
- Zero rows → no match or unresolved location → rerun
Toronto, ONwithmax_results=1, verify the country and spelling, and remove one optional filter at a time. - Filter is skipped → route lacks that capability → follow this edition's schema-supported listing, property-type, and posted-date choices.
- Fewer rows than requested → accepted inventory ended first → treat
max_resultsas a ceiling and inspect the run log. - Null values → source did not expose reliable detail → keep null-safe downstream types and verify important facts at
source_url. - Intermittent failure → source response or controls changed → retry the smallest scenario once, then report a reproducible run instead of repeatedly increasing retries.
Open the Issues page with the run ID, sanitized one-result input, expected behavior, actual behavior, and UTC timestamp. Never post an API token, private permission document, or personal data in a public issue.
Frequently asked questions
Zillow API answers the most common questions about credentials, location inputs, nullable fields, schedules, result ceilings, and billing.
How do I use a zillow listings api without an official api key?
Use bdFppjxrVjQpbiLmo with the one-result JSON input and an Apify token; no separate source credential is an input to this Actor. This describes the Actor's interface, not permission or an official partnership with the source.
Can I get zillow property data by location?
Yes. Set the supported country, enter a source-valid location, choose a supported listing type, and keep max_results=1 until the returned platform, location, and source_url are correct.
Is there a free real estate listings API?
There is no zero-cost promise in this Actor's pricing. Apify account credits may cover testing, but the FREE pricing tier still defines a $0.01000 Actor Start and $0.01400 per stored Result.
Can I schedule runs to monitor property listings over time?
Yes. Use Apify Schedules with the same explicit input and compare listing_id, price, availability, and processed_at across Datasets. The Actor does not maintain history or send change alerts by itself.
Why do some fields remain null?
The source advertisement may omit them or a detail page may be unavailable. The 40-field schema is stable, but populated values vary by source, advertiser, market, and listing type.
Does max_results guarantee the requested count?
No. It limits accepted output; it does not create matching inventory. Zero or partial results can be correct outcomes for a narrowly filtered or unavailable search.
Is Zillow API an official Zillow API?
No. It is an independent TrueFetch Actor that normalizes public listing search data. It does not provide affiliation, endorsement, partner credentials, licensed feed rights, or permission for a particular reuse.
Related TrueFetch Actors
These three TrueFetch Actors are the closest alternatives to Zillow API, each for a distinct source or coverage decision.
- Real Estate Listings API — narrows the workflow to its source-specific search contract.
- Realtor Listings API — covers an adjacent market with the same 40-field Dataset shape.
- Redfin API — provides the closest alternative route for cross-source comparison.
Support
Get product details from the Store page, generated endpoints from the API page, and current prices from the pricing page. Report reproducible defects on the Issues page with a sanitized input and run ID; ask general questions in the TrueFetch community.
Run a bounded one-result search · Review the API contract
Last Updated: August 10, 2026