Your team needs live real estate inventory you can filter by city, map bounds, or a drawn polygon, and you need it this week. By the end of this guide, you’ll be able to pull real-time Zillow-style listings by location, coordinates, or a custom polygon using the Real-Time Zillow Data API on Zyla API Hub, parse the fields you care about (price, beds, baths, zestimate, address, coordinates), and plug it into your app or an AI agent workflow.
What you can build with Real-Time Zillow Data API
The Real-Time Zillow Data API exposes search endpoints that return property listings and metadata such as zpid, address, coordinates, home type, price and currency, Zestimate and rent Zestimate, assessed values, beds, baths, living area, days on Zillow, and more. You can:
- Search by a human-readable location like “Los Angeles, CA”.
- Search within a radius around latitude/longitude.
- Search inside an arbitrary polygon to match complex neighborhood shapes or custom service areas.
Typical integrations include buyer/tenant search apps, agent dashboards with geo filters, property analytics, and instant comps tools.
Getting started on Zyla API Hub
Open the Real-Time Zillow Data API listing on Zyla API Hub and subscribe to start making requests. Zyla uses a subscription + quota model (not pay-per-call). For this API, you can start with a 7-day trial directly from the listing page. One account and one API key work across the catalog of more than 10,000 public APIs.
Start 7-day trial on Real-Time Zillow Data API
After subscribing, you’ll get an API key. Authenticate every request with the header: Authorization: Bearer YOUR_API_KEY.
Endpoints you’ll use
Below are the three available endpoints. Each returns JSON with a status, request_id, request parameters echoed back, and a data array of listings. Only use the parameters shown for each endpoint.
1) Search — by city, neighborhood, county, or ZIP
Use this when you have a human-readable place name. It supports optional pagination and filtering by home status.
- Method: GET
- URL: https://zylalabs.com/api/7341/real-time-zillow-data-api/11667/search
- Required query params:
- location (string): e.g., Los Angeles, CA
- Optional query params:
- page (string): page number
- home_status (string): e.g., FOR_SALE
cURL (official example):
curl -s -X GET "https://zylalabs.com/api/7341/real-time-zillow-data-api/11667/search?location=Los+Angeles%2C+CA&page=2&home_status=FOR_SALE" \
-H "Authorization: Bearer YOUR_API_KEY"
JSON (official example):
{
"status": "OK",
"request_id": "81fc95df-86f3-44b7-a3dc-1d81abcd7a97",
"parameters": {
"page": 2,
"home_status": "FOR_SALE",
"sort": "DEFAULT",
"listing_type": "BY_AGENT",
"location": "Los Angeles, CA"
},
"data": [
{
"zpid": "136702358",
"homeStatus": "FOR_SALE",
"detailUrl": "https://www.zillow.com/homedetails/24425-Woolsey-Canyon-Rd-SPC-39-Canoga-Park-CA-91304/136702358_zpid/",
"address": "24425 Woolsey Canyon Rd Spc 39, Canoga Park, CA 91304",
"streetAddress": "24425 Woolsey Canyon Rd Spc 39",
"city": "Canoga Park",
"state": "CA",
"country": "USA",
"zipcode": "91304",
"latitude": 34.235462,
"longitude": -118.661224,
"homeType": "MANUFACTURED",
"price": 99500,
"currency": "USD",
"zestimate": 178100,
"rentZestimate": 3439,
"taxAssessedValue": 21901,
"bathrooms": 2,
"bedrooms": 4,
"livingArea": 1818,
"daysOnZillow": 5,
"isFeatured": false,
"isPreforeclosureAuction": false,
"timeOnZillow": 498172000,
"isNonOwnerOccupied": true,
"isPremierBuilder": false,
"isZillowOwned": false,
"unit": "Spc 39",
"isShowcaseListing": false,
"listingSubType": {
"is_FSBA": true
},
"palsId": "3007_SR26162189",
"id": "136702358",
"rawHomeStatusCd": "ForSale",
"marketingStatusSimplifiedCd": "For Sale by Agent",
"imgSrc": "https://photos.zillowstatic.com/fp/1d8602169bd359c27caa6d6e25cdf662-p_e.jpg",
"hasImage": true,
"statusType": "FOR_SALE",
"statusText": "Home for sale",
"countryCurrency": "$",
"unformattedPrice": 99500,
"addressStreet": "24425 Woolsey Canyon Rd Spc 39",
"addressCity": "Canoga Park",
"addressState": "CA",
"addressZipcode": "91304",
"isUndisclosedAddress": false,
"shouldShowRequestOnPrice": false,
"beds": 4,
"baths": 2,
"area": 1818,
"latLong": {
"latitude": 34.235462,
"longitude": -118.661224
},
"flexFieldText": "5 days on…
What you’ll use most:
- zpid (string): stable property identifier.
- detailUrl (string): deep link to view the listing page.
- price, currency, zestimate, rentZestimate (numbers and currency): pricing context.
- bedrooms, bathrooms, livingArea, area (numbers): home specs; area/livingArea are in square feet when present.
- latitude, longitude and latLong: mapping.
- homeStatus/statusType/statusText: listing status signals (e.g., FOR_SALE).
- daysOnZillow/timeOnZillow: market freshness.
Python example (requests):
import requests
url = "https://zylalabs.com/api/7341/real-time-zillow-data-api/11667/search"
params = {
"location": "Los Angeles, CA",
"page": "2",
"home_status": "FOR_SALE"
}
headers = {"Authorization": "Bearer YOUR_API_KEY"}
resp = requests.get(url, headers=headers, params=params, timeout=30)
resp.raise_for_status()
payload = resp.json()
print("Status:", payload.get("status"))
print("Request ID:", payload.get("request_id"))
for item in payload.get("data", []):
zpid = item.get("zpid")
addr = item.get("address")
price = item.get("price")
beds = item.get("bedrooms") or item.get("beds")
baths = item.get("bathrooms") or item.get("baths")
lat = item.get("latitude") or (item.get("latLong") or {}).get("latitude")
lng = item.get("longitude") or (item.get("latLong") or {}).get("longitude")
detail = item.get("detailUrl")
print(f"[{zpid}] {addr} | ${price} | {beds} bd / {baths} ba | ({lat}, {lng}) -> {detail}")
2) Search by Coordinates — center point + diameter
Use this to find properties within a circular area around a center latitude/longitude. Helpful for “near me” features or proximity to a venue.
- Method: GET
- URL: https://zylalabs.com/api/7341/real-time-zillow-data-api/11668/search-by-coordinates
- Required query params:
- long (string): longitude
- lat (string): latitude
- Optional query params:
- diameter (string): search diameter
cURL:
Example JSON:
Notes:
- Coordinates are in decimal degrees. Ensure URL encoding of query parameters.
- The data payload includes the same core fields as the Search endpoint.
3) Search by Polygon — custom area boundaries
Use this when a circle isn’t precise enough. Supply a polygon as a sequence of “long lat” coordinate pairs separated by commas. This is ideal for matching irregular neighborhoods, school zones, or service territories. The endpoint supports all filters and options available on Zillow.com.
- Method: GET
- URL: https://zylalabs.com/api/7341/real-time-zillow-data-api/11669/search-by-polygon
- Required query params:
- polygon (string): ordered “longitude latitude” pairs separated by commas (see example)
cURL:
Example JSON:
Notes:
- Format each vertex as “longitude latitude”. Separate vertices with commas.
- URL-encode the polygon string. The example above shows proper encoding using “+” for spaces and “%2C” for commas within the parameter value.
Practical implementation details
- Authentication: Always include Authorization: Bearer YOUR_API_KEY.
- Pagination: Use the page parameter on Search and pagination-supported endpoints to fetch subsequent result pages. The API echoes the page you requested in the parameters object.
- Units and currency:
- currency is typically "USD". countryCurrency may include the symbol "$".
- livingArea/area and lotAreaValue values appear in square feet when lotAreaUnit is "sqft".
- Filtering: home_status can be set to FOR_SALE (as shown). Additional filters are supported on Zillow.com; consult the API page for current options.
- Coordinates: latitude/longitude are decimal degrees.
- Caching: For listing feeds that change frequently (daysOnZillow, price updates), add short-lived caching and conditional refresh on user interactions.
- Deep links: detailUrl can open the listing page in a webview or external browser.
- Quotas: Access is subscription + quota. Check the API page for current access options and pricing.
Real-world use cases you can ship quickly
- Buyer search page: Start with Search by location, then switch to Search by Polygon when users draw on a map. Display price, beds, baths, and link each card to detailUrl.
- Agent CMA/comps: Use Search by Coordinates to collect listings within a 1–2 mile diameter around a subject property; surface zestimate and rentZestimate for quick valuation context.
- Neighborhood explorer: Predefine polygon boundaries for each neighborhood and query with Search by Polygon to ensure results respect local, irregular borders.
- Mobile “near me”: On location permission, call Search by Coordinates using the user’s GPS position with a small diameter to keep results relevant.
Calling this API from an AI agent via MCP
You can also drive these endpoints from an MCP-compatible client. Point your agent to the Zyla MCP endpoint and use your same API key:
Endpoint: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
- From your MCP client, issue tool calls that perform HTTPS GET requests to the same hub URLs shown above.
- Send the Authorization: Bearer YOUR_API_KEY header exactly as in the curl examples.
- Keep query strings identical to the samples here for stable behavior in prompts and agent flows.
Troubleshooting and gotchas
- 401 or 403 errors: Confirm the Authorization header is present and the API key is valid for your subscription.
- Empty data array: Verify your filters aren’t too restrictive; try removing home_status or adjusting the polygon/diameter.
- Malformed polygon: Ensure each point is “long lat”, not “lat long”, and that the entire string is URL-encoded.
- Pagination confusion: The API echoes the requested page under parameters.page. Increment page to traverse result sets.
- Encoding spaces and commas: In URLs, spaces should be encoded as + or %20, and commas as %2C within query parameter values.
FAQ
How do I authenticate requests?
Include the header Authorization: Bearer YOUR_API_KEY on every request.
Can I filter by listing status?
Yes. Set home_status=FOR_SALE on Search and coordinates/polygon searches where supported.
How do I search within a neighborhood shape?
Use the Search by Polygon endpoint with an ordered list of “longitude latitude” pairs that trace the neighborhood boundary, URL-encoded.
What units do area values use?
When lotAreaUnit is "sqft", lotAreaValue is square feet. livingArea/area values are also in square feet when present.
Where can I see access options and quotas?
Check the API page on Zyla API Hub for current access options and pricing. Subscriptions use a quota model, not pay-per-call.
Ready to integrate real-time property search into your app? Start your 7-day trial and get your API key here: Start 7-day trial on Real-Time Zillow Data API. Use one account and key across the Zyla API Hub catalog and ship your real estate features fast.