You have a lat/long from a map click or a mobile GPS reading, and you need to fetch nearby properties right now. By the end of this guide you will query a real geolocation endpoint with a center coordinate and diameter, parse the response, and ship it using a single API key from Zyla API Hub.
What you can build with coordinate-based search
The Real-Time Zillow Data API on Zyla API Hub returns live property data you can filter by geography. With it you can:
- Show listings around a user’s precise location after a map tap or GPS ping.
- Gate location-aware features in your real estate app behind a clean API.
- Snap searches to polygons for neighborhood boundaries or custom shapes when needed.
This API returns data such as zpid, address, latitude/longitude, home type, price, estimates, and more—suited for geolocation use cases like “what’s for sale around here?”
Getting started on Zyla API Hub
Open the API page, subscribe, and get your key. Zyla uses one account, one API key, and a subscription + quota model across more than 10,000 public APIs. For this API, you can start a 7-day trial or make 50 requests to validate your integration before you ship.
Start 7-day trial on Real-Time Zillow Data API
You’ll call endpoints with Authorization: Bearer YOUR_API_KEY and no per-call pricing surprises—just use your subscription quota. You can browse more categories anytime at Zyla API Hub.
Endpoints you’ll use for geolocation
All requests below use the Zyla Hub URLs and a Bearer token in the Authorization header.
Search by Coordinates
Search for properties around a center lat/long, optionally narrowing by diameter.
- Method: GET
- URL: https://zylalabs.com/api/7341/real-time-zillow-data-api/11668/search-by-coordinates
- Required params:
- long (string): longitude (e.g., -118.504744)
- lat (string): latitude (e.g., 34.01822)
- Optional params:
- diameter (string): e.g., 2
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:
{
"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 from the response:
- data[].zpid: stable property identifier
- data[].latitude, data[].longitude: for map plotting
- data[].price and currency: pricing to display alongside pins
- data[].address, city, state, zipcode: label and context
- data[].homeStatus/homeType: quick filters in UI
- parameters.long/lat/diameter: confirms how the query was interpreted
Search
Search by location label (county, neighborhood, city, or zip code). This is handy when a user types “Los Angeles, CA” or selects a city from autocomplete.
- Method: GET
- URL: https://zylalabs.com/api/7341/real-time-zillow-data-api/11667/search
- Required params:
- location (string): e.g., Los Angeles, CA
- Optional params:
- page (string)
- home_status (string): e.g., FOR_SALE
Official example:
Use this when your UX starts from a location text input rather than a map click. You still get the same geolocation fields (latitude/longitude) to plot on a map.
Search by Polygon
Draw custom boundaries—campus, waterfronts, historic districts—and search within them. This is ideal when radial distance isn’t sufficient.
- Method: GET
- URL: https://zylalabs.com/api/7341/real-time-zillow-data-api/11669/search-by-polygon
- Required params:
- polygon (string): a sequence of “lon lat” pairs separated by commas
Use polygons to anchor results to exact boundaries your team or users care about.
Minimal Python example: search by coordinates
This example calls the coordinates endpoint, checks the response, and prints the nearby properties you can place on a map. Keep the URL and params exactly as shown.
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/11668/search-by-coordinates"
params = {
"long": "-118.504744",
"lat": "34.01822",
"diameter": "2"
}
headers = {
"Authorization": f"Bearer {API_KEY}"
}
resp = requests.get(url, params=params, headers=headers, timeout=30)
resp.raise_for_status()
payload = resp.json()
# Basic sanity checks
if payload.get("status") != "OK":
raise RuntimeError(f"Unexpected status: {payload}")
properties = payload.get("data", [])
for p in properties:
print({
"zpid": p.get("zpid"),
"status": p.get("homeStatus"),
"type": p.get("homeType"),
"price": p.get("price"),
"currency": p.get("currency"),
"lat": p.get("latitude"),
"lon": p.get("longitude"),
"address": p.get("address"),
"url": p.get("detailUrl")
})
# Example: center map on the first listing if available
if properties:
first = properties[0]
center = (first.get("latitude"), first.get("longitude"))
print("Center suggestion:", center)
Implementation notes that save you time
- Authentication header: Authorization: Bearer YOUR_API_KEY
- Geo inputs: pass long, lat as strings; diameter is optional.
- Currency and units: the response includes currency (e.g., USD) and area units (e.g., sqft) where applicable. Use returned fields for display rather than hardcoding.
- Pagination: responses include a parameters.page field showing the server-selected page. When you need additional pages or filtering, consult the API page for current options.
- Caching: if you cache results, key by query tuple (long, lat, diameter) to avoid mixing different regions.
- Error handling: check status == "OK" and handle empty data arrays gracefully; surface request_id in logs to speed up support.
- Quota: this API uses subscription + quota (not pay-per-call). The first API you use can start with a 7-day trial or 50 requests so you can iterate quickly. For current access options and pricing, check the API page.
When to use each geolocation mode
- Search by Coordinates: best for “tap on the map and show what’s nearby.” Quick, centered searches that move as the user pans.
- Search: ideal for typed locations like “94110” or “Los Angeles, CA.” Use this when you don’t have exact coordinates yet.
- Search by Polygon: for neighborhood-grade precision. Restrict results to custom areas your product defines.
Calling the API from AI agents via MCP
You can also wire these endpoints into MCP-compatible tools (e.g., Claude Code, Cursor, Windsurf). Point your client to the Zyla MCP gateway and supply your API key; your agent can then invoke the same Hub listing endpoints you used above.
Docs and endpoint: MCP
Use the same Authorization: Bearer YOUR_API_KEY header semantics in your agent’s tool configuration where applicable. The benefit is you keep a single key across thousands of APIs on Zyla API Hub while developing in an AI-driven workflow.
End-to-end flow to implement now
- Start your trial on the API page and grab your key.
- Call Search by Coordinates with long, lat, and optionally diameter.
- Render data[].latitude/data[].longitude on your map; show price, address, and detailUrl in a card.
- Add a fallback: if the user types a location, call Search.
- For custom boundaries, add a draw polygon mode that calls Search by Polygon.
FAQ
How do I authenticate requests?
Send Authorization: Bearer YOUR_API_KEY with every call to the Hub URL.
What parameter units does diameter use?
The endpoint accepts a diameter parameter as a string. For specific unit semantics, check the API page for current documentation.
Can I paginate coordinate searches?
Responses include a parameters.page field. For programmatic pagination support and available query parameters, refer to the API’s page on Zyla.
Is there a free plan?
Access uses subscription + quota, not pay-per-call. You can start a 7-day trial or make 50 requests to evaluate; check the API page for current access options and pricing.
Can I filter by home status?
The Search endpoint accepts home_status as an optional parameter. For geospatial endpoints, use the documented parameters shown above.
Ready to ship coordinate-based property search? Start your trial and get your API key here: Start 7-day trial on Real-Time Zillow Data API. Build once with a single key and scale across the Zyla marketplace.