You need to look up properties by address or draw a map boundary and get listings back—this week, not next quarter. By the end of this guide you’ll query geolocated property data by city/ZIP, by precise latitude/longitude, and by custom polygons using the Real-Time Zillow Data API on Zyla API Hub, with copy-pasteable requests and a minimal Python script.
What you can build with a geolocation-first property API
The Real-Time Zillow Data API provides geolocated property search that returns key listing attributes including address, city, state, zipcode, latitude, longitude, home type, price (in USD), bedrooms, bathrooms, living area, and more. You can:
- Search properties by location string (city, county, neighborhood, or ZIP code).
- Search by map center using latitude/longitude and a diameter in miles.
- Search within a custom polygon—ideal for drawing neighborhoods or delivery corridors on a map.
Typical applications include real estate search UIs, “homes near me” maps, neighborhood analytics, alerting bots on new FOR_SALE listings, and address-to-geo enrichment in internal tools—everything rooted in Geolocation.
Getting started on Zyla API Hub
Zyla API Hub hosts more than 10,000 public APIs in a single marketplace. To use the Real-Time Zillow Data API:
- Open the API’s page and start a 7-day trial: Start 7-day trial on Real-Time Zillow Data API.
- Subscribe (subscription + quota; not pay-per-call). First API: 7-day trial or 50 requests. Check the API page for current access options and pricing.
- Grab your API key and send requests with the header: Authorization: Bearer YOUR_API_KEY.
Endpoints: geolocation-powered search
1) Search (by address-like location)
Use this when you have a location string such as a city, county, neighborhood, or ZIP.
- Method: GET
- URL: https://zylalabs.com/api/7341/real-time-zillow-data-api/11667/search
- Required params: location (e.g., “Los Angeles, CA”)
- Optional params: page (e.g., “2”), home_status (e.g., “FOR_SALE”)
cURL:
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"
Example response (truncated to the official sample block fields):
{
"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 actually use in most geolocation flows:
- address, city, state, zipcode: display-ready location fields.
- latitude, longitude: pin on a map or compute distance to POIs.
- price and currency (USD): render price, sort, or filter client-side.
- bedrooms, bathrooms, livingArea: quick rollups for cards and filters.
- detailUrl: link out to the listing page when needed.
- page in parameters: use it to paginate through results.
2) Search by Coordinates (point + diameter)
Use this when you have a map center and want homes inside a circular search area.
- Method: GET
- URL: https://zylalabs.com/api/7341/real-time-zillow-data-api/11668/search-by-coordinates
- Required params: long, lat
- Optional params: diameter
cURL:
Example response (official sample slice):
3) Search by Polygon (custom-drawn area)
Use this to search within complex or non-standard shapes drawn on a map—ideal when a simple radius isn’t precise enough.
- Method: GET
- URL: https://zylalabs.com/api/7341/real-time-zillow-data-api/11669/search-by-polygon
- Required params: polygon (space-separated lng lat pairs, comma-delimited)
cURL:
Example response (official sample slice):
Python example: property search by address (geocoded listing data)
This minimal script calls the Search endpoint with “Los Angeles, CA” and prints key geolocation and pricing fields.
import os
import requests
API_KEY = os.getenv("ZYLA_API_KEY", "YOUR_API_KEY")
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": f"Bearer {API_KEY}"
}
resp = requests.get(url, params=params, headers=headers, timeout=20)
resp.raise_for_status()
payload = resp.json()
print("Status:", payload.get("status"))
print("Request ID:", payload.get("request_id"))
print("Params echoed by API:", payload.get("parameters"))
for item in payload.get("data", []):
print("---")
print("zpid:", item.get("zpid"))
print("address:", item.get("address"))
print("city/state/zip:", item.get("city"), item.get("state"), item.get("zipcode"))
print("lat/long:", item.get("latitude"), item.get("longitude"))
print("homeType:", item.get("homeType"))
print("price:", item.get("price"), item.get("currency"))
print("beds/baths/area:", item.get("bedrooms"), item.get("bathrooms"), item.get("livingArea"))
print("detailUrl:", item.get("detailUrl"))
Practical notes that save time
- Authentication: send Authorization: Bearer YOUR_API_KEY on every request.
- Pagination: page is a string parameter. Increment it to page through results; the API echoes the page value in parameters for traceability.
- Coordinates: latitude/longitude are decimal degrees; render directly on web maps. Distances for the coordinates search use the supplied diameter parameter.
- Currency: price and currency are returned; examples show USD. Do not assume conversion—render the provided values.
- Filtering: home_status supports values like FOR_SALE in these examples. Apply further client-side filtering as needed based on returned fields.
- Caching: many location queries are cacheable behind a location+page key. Bust cache when you change filters like home_status or when freshness matters.
- Images: imgSrc can be used for thumbnails where available.
Geolocation-first use cases you can ship now
- “Homes near me” widget: call Search by Coordinates with the user’s geolocation and a small diameter for a tight radius search.
- City or ZIP-based landing pages: call Search with location set to city or ZIP, paginate through, and prerender cards with address, price, and coordinates.
- Drawn-boundary search: capture polygon points from a map-drawing UI and call Search by Polygon for high-precision areas.
- Distance-sort or cluster maps: use latitude/longitude to compute client-side distances and cluster markers.
- Listing details enrichment: store zpid, address, and lat/long to join with your own datasets for neighborhood analytics.
Call this API from AI agents via MCP
If you use MCP-compatible clients (e.g., Claude Code, Cursor, Windsurf), you can route calls through Zyla’s MCP endpoint and keep your key management centralized. See the MCP entry point here: MCP. Configure your agent to invoke the Real-Time Zillow Data API’s HTTPS endpoints shown above, and pass your standard Authorization header. This is useful for agentic flows like “draw a polygon, then summarize the top 10 FOR_SALE listings within it.”
Troubleshooting checklist
- 401 or 403 errors: confirm the Authorization header uses Bearer YOUR_API_KEY and the subscription is active.
- No results: verify location formatting or polygon coordinates (lng lat ordering, comma-separated pairs, spaces between lng and lat).
- Map offsets: ensure you’re using the item-level latitude and longitude fields and not city centroids.
- Pagination gaps: make sure you increment page as a string and stop when a page returns an empty data array.
FAQ
Does the API return latitude and longitude for each property?
Yes. Listings include latitude and longitude fields suitable for mapping and distance calculations.
How do I search by a precise map location?
Use Search by Coordinates with long and lat (and optionally diameter) to query properties near a point.
Can I search inside a custom shape drawn by a user?
Yes. Use Search by Polygon and pass a polygon string of lng lat coordinate pairs, separated by commas.
How do I paginate through a large result set?
Pass page as a parameter. The API echoes back page in parameters so you can track where you are.
Is there a free plan?
There’s no Free Plan. You can start a 7-day trial (or 50 requests for your first API). Check the API page for current access options and pricing.
Ready to ship geolocation-driven property search? Start your 7-day trial and get your API key here: Start 7-day trial on Real-Time Zillow Data API. Then plug the endpoints above into your map, backend, or agent workflow and go live.