Necesitas datos de propiedades al estilo Zillow en tu aplicación de Python esta semana: busca por ciudad, dibuja un polígono alrededor de un vecindario o consulta por lat/long para un mapa. Al final de esta guía, llamarás a la API de Datos de Zillow en Tiempo Real desde Python, paginarás a través de listados y sabrás cómo canalizar las mismas llamadas a través de un agente de IA utilizando el endpoint MCP de Zyla.
Lo que puedes construir con la API de Datos de Zillow en Tiempo Real
La API de Datos de Zillow en Tiempo Real en Zyla API Hub proporciona resultados de búsqueda de propiedades que puedes filtrar por:
- Cadenas de ubicación (ciudad, condado, vecindario o código postal)
- Coordenadas (lat/long + un diámetro)
- Polígonos personalizados (límites complejos que reflejan tus herramientas de dibujo)
Cada respuesta incluye campos en los que los desarrolladores confían para activar alertas de compradores, tableros de inventario y UIs de búsqueda geodirigidas: zpid, dirección, coordenadas, precio, homeType, dormitorios, baños, livingArea, zestimate, rentZestimate y más. Consultas simples a endpoints HTTPS en Zyla API Hub con un solo encabezado de Autorización y recibe JSON adecuado para indexación o visualización inmediata.
Comenzando en Zyla API Hub
Abre la página de la API de Datos de Zillow en Tiempo Real y comienza una prueba para obtener tu clave:
- Ve a la lista del mercado: Comienza prueba de 7 días en la API de Datos de Zillow en Tiempo Real
- Haz clic en Suscribirse o Comenzar Prueba Gratuita (cuando esté disponible).
- Obtén tu clave API desde el panel de Zyla.
La autenticación es simple: pasa Authorization: Bearer YOUR_API_KEY en cada solicitud. Zyla utiliza un modelo de suscripción + cuota (no pago por llamada). La primera API en tu cuenta generalmente ofrece una prueba de 7 días o 50 solicitudes. No hay Plan Gratuito; consulta la página de la API para opciones de acceso y precios actuales.
Endpoints que usarás
Todos los endpoints son solicitudes GET bajo el dominio de Zyla API Hub. Usa solo los parámetros documentados que se muestran a continuación e incluye tu encabezado de Autorización. La paginación se maneja a través del parámetro de página cuando es compatible con la ruta específica.
1) Búsqueda (por cadena de ubicación)
- Método: GET
- URL: https://zylalabs.com/api/7341/real-time-zillow-data-api/11667/search
- Descripción: Busca propiedades por ubicación (condado, vecindario, ciudad o código postal).
- Parámetros de consulta requeridos:
- location (string): e.g., Los Ángeles, CA
- Parámetros de consulta opcionales:
- page (string): e.g., 2
- home_status (string): 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"
JSON
{
"status": "OK",
"request_id": "81fc95df-86f3-44b7-a3dc-1d81abcd7a97",
"parameters": {
"page": 2,
"home_status": "FOR_SALE",
"sort": "DEFAULT",
"listing_type": "BY_AGENT",
"location": "Los Ángeles, 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": "Casa en venta",
"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 días en…
Campos clave que la mayoría de los equipos utilizan de inmediato: zpid (id único del listado), precio (USD), dormitorios, baños, livingArea (pies cuadrados), latitud/longitud (para mapeo), homeType, zestimate, rentZestimate, daysOnZillow y detailUrl para enlaces profundos.
2) Búsqueda por Coordenadas
- Método: GET
- URL: https://zylalabs.com/api/7341/real-time-zillow-data-api/11668/search-by-coordinates
- Descripción: Busca propiedades alrededor de un punto de coordenadas, opcionalmente delimitado por un diámetro.
- Parámetros de consulta requeridos:
- long (string): e.g., -118.504744
- lat (string): e.g., 34.01822
- Parámetros de consulta opcionales:
- diameter (string): e.g., 2
cURL
La forma de respuesta incluye un bloque de parámetros que refleja tu consulta (long, lat, diameter, page, home_status, sort, listing_type) y un array de datos con listados alrededor de la coordenada. Esta ruta es ideal para “buscar cerca de mí”, consultas de pines en el mapa o captura de leads basada en rutas.
3) Búsqueda por Polígono
- Método: GET
- URL: https://zylalabs.com/api/7341/real-time-zillow-data-api/11669/search-by-polygon
- Descripción: Busca propiedades dentro de un polígono personalizado. Esta ruta admite todos los filtros y opciones disponibles en Zillow.com, mientras que tus solicitudes se definen por una cadena de polígono de pares de coordenadas.
- Parámetros de consulta requeridos:
- polygon (string): pares de coordenadas separados por comas (usa el formato exacto del ejemplo a continuación).
cURL
Usa esto cuando tus usuarios dibujen un límite en un mapa o cuando necesites coincidir zonas escolares o contornos de vecindarios definidos por inversores. La respuesta incluye los parámetros que enviaste más un array de datos de propiedades contenidas dentro de ese polígono.
Integración de Python: ejemplo de extremo a extremo
A continuación se muestra un script mínimo de Python que se puede copiar y pegar utilizando requests para acceder al endpoint de Búsqueda. Lee algunos campos del primer resultado y demuestra la paginación básica. Mantén tu encabezado de Autorización y los parámetros de URL exactamente como se muestra.
Python
import os
import sys
import time
import requests
API_KEY = os.getenv("ZYLA_API_KEY", "YOUR_API_KEY")
BASE_URL = "https://zylalabs.com/api/7341/real-time-zillow-data-api/11667/search"
def search_properties(location, page=None, home_status=None):
params = {"location": location}
if page is not None:
params["page"] = str(page)
if home_status is not None:
params["home_status"] = home_status
resp = requests.get(
BASE_URL,
headers={"Authorization": f"Bearer {API_KEY}"},
params=params,
timeout=30,
)
resp.raise_for_status()
return resp.json()
def main():
# Parámetro requerido: location. Opcional: page, home_status.
data = search_properties("Los Ángeles, CA", page=2, home_status="FOR_SALE")
# Comprobación rápida de sanidad
if data.get("status") != "OK":
print("Estado no OK:", data)
sys.exit(1)
# Leer campos comunes del primer listado (si está presente)
listings = data.get("data") or []
if not listings:
print("No se encontraron resultados en esta página.")
sys.exit(0)
first = listings[0]
zpid = first.get("zpid")
price = first.get("price")
beds = first.get("bedrooms") or first.get("beds")
baths = first.get("bathrooms") or first.get("baths")
lat = first.get("latitude") or (first.get("latLong") or {}).get("latitude")
lng = first.get("longitude") or (first.get("latLong") or {}).get("longitude")
detail_url = first.get("detailUrl")
print("Primer resultado:")
print(" zpid:", zpid)
print(" precio (USD):", price)
print(" camas/baños:", beds, "/", baths)
print(" coords:", lat, ",", lng)
print(" detalles:", detail_url)
# Paginación: solicita la siguiente página solo si la necesitas
next_page = (data.get("parameters") or {}).get("page", 1)
try:
next_page = int(next_page) + 1
except Exception:
next_page = None
if next_page:
time.sleep(0.5) # sé cortés entre solicitudes
more = search_properties("Los Ángeles, CA", page=next_page, home_status="FOR_SALE")
print("Estado de la siguiente página:", more.get("status"), "resultados:", len(more.get("data") or []))
if __name__ == "__main__":
main()
Notas de diseño que ahorran tiempo
- Autenticación: Siempre envía Authorization: Bearer YOUR_API_KEY. No se requiere autenticación de parámetro de consulta.
- Moneda y unidades: El precio y el zestimate están en USD. livingArea y area están en pies cuadrados, y lotAreaUnit puede devolver sqft.
- Paginación: Donde se admite la página, es un parámetro de cadena. Comienza desde la página 1 (predeterminado) e incrementa hasta que el array de datos esté vacío. No asumas total_pages a menos que lo calcules tú mismo a partir de los resultados página por página.
- Cacheo: Para resultados de lista que respaldan una UI, considera cachear por tu cadena de consulta (por ejemplo, location + page + home_status) por un corto TTL para reducir llamadas repetidas idénticas.
- Mapeo: Usa latitud y longitud en cada elemento; cuando estén presentes, latLong contiene los mismos datos como un objeto anidado.
- Filtrado: Para Búsqueda por Polígono, las notas del listado admiten todos los filtros y opciones disponibles en Zillow.com. Solo envía parámetros documentados explícitamente por el listado. Cuando necesites más filtros, consulta la página de la API para actualizaciones.
Casos de uso prácticos
- Alertas de compradores: Consulta Búsqueda o Búsqueda por Coordenadas cada noche para “FOR_SALE” y notifica a los usuarios sobre nuevos valores de zpid no vistos en tu última instantánea.
- Búsqueda en mapa: Usa Búsqueda por Coordenadas para “cerca de mí” y Búsqueda por Polígono cuando los usuarios dibujen formas personalizadas alrededor de un límite de vecindario.
- Escaneos de inversores: Combina consultas de polígonos con paginación regular para exportar precio, dormitorios, baños, livingArea, zestimate y rentZestimate para modelado de tasa de capital.
- Enrutamiento de leads: Lee ciudad, código postal y precio para asignar nuevos listados a los agentes correctos en tu CRM.
Llamando a la API a través de un agente de IA (MCP)
Si usas un IDE o agente de IA centrado en código (Claude Code, Cursor, Windsurf o cualquier cliente compatible con MCP), puedes enrutar llamadas a esta API a través del endpoint MCP de Zyla. Configura tu agente con la dirección MCP de Zyla y tu clave. El agente puede invocar las mismas rutas HTTPS que viste arriba a través de la capa MCP.
- Endpoint MCP: MCP
- Proporciona tu clave API de Zyla al cliente MCP cuando se te solicite.
- Pide al agente que acceda a la ruta relevante de la API de Datos de Zillow en Tiempo Real, especificando los mismos parámetros de cadena de consulta (por ejemplo, location o polygon) que usarías directamente.
Esto te permite estructurar integraciones, escribir scrapers o probar variaciones de consultas de manera conversacional sin salir de tu editor.
Recapitulación de endpoints con parámetros
- Búsqueda
- GET https://zylalabs.com/api/7341/real-time-zillow-data-api/11667/search
- Requerido: location
- Opcional: page, home_status
- Búsqueda por Coordenadas
- GET https://zylalabs.com/api/7341/real-time-zillow-data-api/11668/search-by-coordinates
- Requerido: long, lat
- Opcional: diameter
- Búsqueda por Polígono
- GET https://zylalabs.com/api/7341/real-time-zillow-data-api/11669/search-by-polygon
- Requerido: polygon
Todas las solicitudes requieren el encabezado de Autorización con tu clave API de Zyla. Visita la página de la API de Datos de Zillow en Tiempo Real en Zyla API Hub para revisar detalles adicionales y actualizaciones.
Uniéndolo todo rápidamente
Para un MVP de producción, haz lo siguiente:
- Crea una clave en la página de listado de la API y guárdala como ZYLA_API_KEY en tu entorno.
- Conecta la ruta de Búsqueda para aceptar la entrada del usuario para la ubicación y la paginación. Devuelve zpid, precio, dormitorios, baños, livingArea y detailUrl a tu frontend.
- En tu página de mapa, cambia a Búsqueda por Coordenadas para soportar el descubrimiento basado en pines; debouncea las solicitudes mientras el usuario se desplaza.
- Agrega un modo de búsqueda avanzada con Búsqueda por Polígono para permitir a los usuarios dibujar áreas personalizadas.
- Cachea por URL y página para reducir las búsquedas duplicadas; actualiza periódicamente.
FAQ
¿Qué autenticación utiliza la API de Datos de Zillow en Tiempo Real?
Envía Authorization: Bearer YOUR_API_KEY en cada solicitud. No pongas la clave en la cadena de consulta.
¿Cómo pagino resultados?
Usa el parámetro de consulta de página donde se admite (por ejemplo, el endpoint de Búsqueda). Incrementa la página mientras los resultados sigan devolviendo elementos de datos.
¿Puedo buscar dentro de una forma dibujada?
Sí. Usa la ruta de Búsqueda por Polígono y pasa el parámetro de consulta de polígono exactamente como una secuencia de pares de coordenadas (formato mostrado en el ejemplo de cURL).
¿Qué unidades y moneda se utilizan?
Los precios y el zestimate están en USD. livingArea y area están en pies cuadrados; lotAreaUnit también puede devolver sqft.
¿Hay un plan gratuito?
No hay Plan Gratuito. Zyla utiliza suscripción + cuota. La primera API generalmente incluye una prueba de 7 días o 50 solicitudes. Consulta la página de la API para opciones de acceso y precios actuales.
¿Listo para enviar? Comienza tu prueba, obtén una clave y ejecuta el cURL anterior contra la API de Datos de Zillow en Tiempo Real. Tu siguiente paso: abre el artículo del mercado y suscríbete aquí: Comienza prueba de 7 días en la API de Datos de Zillow en Tiempo Real.