Saltar al contenido principal
POST
Datos de mercado
Cada acción devuelve un output normalizado. La salida nativa del Proveedor no se repite allí; permanece en el Run y puede leerse con Get Run. property_value, property_rent, market_stats y stock_quote exponen campos de nivel superior fijos; property_search, listings_sale y listings_rental exponen output.items[]. Un valor que el Proveedor no informa es null. Los importes de las propiedades están expresados en USD; una cotización bursátil incluye su currency. Lee result_status por separado de status: success, no_result, error o pending. Una respuesta vacía pero válida, como una dirección sin una estimación, es no_result y conserva la estructura de la acción: cada campo es null, o items es []. charge_usd totaliza los runs de esta respuesta. Consulta Selección de proveedores y cargos.

Salida por acción

Los campos de propiedad son address, property_type, bedrooms, bathrooms, living_area_sqft, lot_size_sqft, year_built, latitude, longitude. Los campos de anuncios son listing_id, los campos de propiedad, status, listing_type, listed_date, days_on_market, hoa_fee_usd (cuota mensual de la comunidad de propietarios), mls_name, mls_number, agent y office. agent y office son {name, phone, email, website}, o null cuando el Proveedor no informa ninguno.
  • comparables_count es el número de ventas o alquileres comparables que sustentan la estimación.
  • last_sale_date y listed_date son YYYY-MM-DD; updated_at está expresado en UTC según ISO 8601, cuando RentCast actualizó por última vez el agregado.
  • El lado rental de market_stats, monthly_rent_usd y estimated_rent_usd corresponde a alquileres mensuales.
  • price es el último precio de la sesión regular en currency; las cotizaciones de Google Finance pueden estar retrasadas. change es el movimiento absoluto en currency y change_percent está expresado en puntos porcentuales (1.5 = 1.5%), ambos respecto al cierre regular anterior.
  • extended_hours_session es la etiqueta de la sesión tal como se muestra (Pre-market o After hours) y es null durante el horario regular. Los valores de extended_hours_* comparan la cotización fuera del horario habitual con el precio de la sesión regular, en las mismas unidades.
  • as_of_text es la marca de tiempo de la página de Google Finance exactamente como se muestra. No está expresada en formato ISO ni corresponde a la hora de price.

Encabezados

idempotency-key
string
requerido

Genera un valor único para cada ejecución prevista (se recomienda un UUID). Reintenta con la misma clave y los mismos parámetros de ejecución para recuperar el Run original sin un segundo cobro. Cambiar los parámetros de ejecución con la misma clave devuelve 409; cambiar task_id o metadata no actualiza el Run original.

Minimum string length: 1

Cuerpo

application/json
action
enum<string>
requerido

Elige los datos que quieres recuperar:

  • property_value o property_rent: proporciona una dirección.
  • property_search, listings_sale o listings_rental: proporciona una dirección, una ciudad y un estado, o un código postal.
  • market_stats: proporciona un código postal.
  • stock_quote: proporciona un símbolo.
Opciones disponibles:
property_value,
property_rent,
property_search,
listings_sale,
listings_rental,
market_stats,
stock_quote
provider
enum<string> | null

Auto predeterminado: selecciona el primer proveedor de datos elegible según el orden de preferencia de Glasser. Un proveedor de datos especificado debe admitir la solicitud y estar permitido por tu API Key; no recurre a otro proveedor de datos. Los valores disponibles se muestran a continuación.

Opciones disponibles:
auto,
rentcast,
serpapi
address
string | null
Required string length: 1 - 300
city
string | null
Required string length: 1 - 100
state
string | null
Pattern: ^[A-Za-z]{2}$
zip
string | null
Pattern: ^\d{5}$
symbol
string | null
Required string length: 1 - 40
limit
integer | null

Filas que se devolverán. Mantén un número reducido: la regla de cobro del endpoint al que se dirija la solicitud puede leerlo. Cada capacidad lo limita aún más.

Rango requerido: 1 <= x <= 100
task_id
string | null

Agrupa los Runs relacionados, incluido el fallback automático, en un solo Task. Reutiliza una cadena estable y filtra la lista de Runs por task para recuperarlos.

metadata

Campos de seguimiento opcionales, devueltos en el Run y disponibles como filtros. Nunca se envían al proveedor de datos ni afectan al enrutamiento, al Price ni a la idempotencia.

  • Hasta 20 claves: letras minúsculas, dígitos y guiones bajos; deben comenzar por una letra y tener como máximo 40 caracteres.
  • Valores: cadenas de 1 a 500 caracteres.
  • user_id: el ID opaco de tu usuario final, nunca su dirección de correo electrónico ni su nombre.

Las entradas no válidas se descartan por completo, sin truncarlas. La solicitud continúa y el Run devuelve los campos que se almacenaron.

Respuesta

Éxito

id
string
requerido
run_url
string
requerido

Abre este Run en la consola. Requiere pertenecer al Workspace.

provider
string
requerido
Pattern: ^[a-z0-9][a-z0-9-]*$
endpoint
string
requerido
Pattern: ^\/.+$
endpoint_version
integer
requerido
status
enum<string>
requerido

QUEUED o RUNNING: todavía está en curso. COMPLETED: hay una respuesta del proveedor de datos disponible, incluidas las respuestas que no son 2xx. FAILED: consulta failure. STOPPED: detenido antes del dispatch. Consulta charge_usd por separado de status.

Opciones disponibles:
QUEUED,
RUNNING,
COMPLETED,
FAILED,
STOPPED
failure
object | null
requerido

Motivo por el que falló el Run. Solo es distinto de null cuando status es FAILED.

input
object
requerido
output
object
requerido

Campos normalizados por action. La salida nativa del proveedor de datos no se repite aquí; permanece en el Run (GET /v1/runs/:id). Los valores que el proveedor de datos no informa son null; una respuesta vacía conserva la estructura de action con todos los campos en null (o items: []) y result_status no_result. Los importes están en USD, salvo que action incluya un campo de moneda. Las fechas llamadas *_date tienen el formato YYYY-MM-DD, *_at tiene el formato ISO 8601 UTC y *_text es el texto de presentación exactamente como se devolvió.

  • property_value: address, property_type, bedrooms, bathrooms, living_area_sqft (superficie habitable), lot_size_sqft, year_built, latitude, longitude, estimated_value_usd, value_low_usd, value_high_usd, comparables_count (número de ventas comparables en las que se basa la estimación)
  • property_rent: address, property_type, bedrooms, bathrooms, living_area_sqft (superficie habitable), lot_size_sqft, year_built, latitude, longitude, estimated_rent_usd (mensual), rent_low_usd, rent_high_usd, comparables_count (número de alquileres comparables en los que se basa la estimación)
  • property_search: items[]: property_id, address, property_type, bedrooms, bathrooms, living_area_sqft (superficie habitable), lot_size_sqft, year_built, latitude, longitude, last_sale_price_usd, last_sale_date (YYYY-MM-DD), owner_names[], owner_type, owner_mailing_address, owner_occupied
  • listings_sale: items[]: listing_id, address, property_type, bedrooms, bathrooms, living_area_sqft (superficie habitable), lot_size_sqft, year_built, latitude, longitude, status, listing_type, listed_date (YYYY-MM-DD), days_on_market, hoa_fee_usd (cuota mensual de HOA), mls_name, mls_number, agent {name, phone, email, website}, office {name, phone, email, website}, price_usd (precio solicitado)
  • listings_rental: items[]: listing_id, address, property_type, bedrooms, bathrooms, living_area_sqft (superficie habitable), lot_size_sqft, year_built, latitude, longitude, status, listing_type, listed_date (YYYY-MM-DD), days_on_market, hoa_fee_usd (cuota mensual de HOA), mls_name, mls_number, agent {name, phone, email, website}, office {name, phone, email, website}, monthly_rent_usd
  • market_stats: zip, updated_at (ISO 8601 UTC, cuando RentCast actualizó por última vez el agregado), sale {average_price_usd, median_price_usd, average_price_per_sqft_usd, median_price_per_sqft_usd, average_days_on_market, median_days_on_market, total_listings, new_listings}, rental {average_rent_usd, median_rent_usd, average_rent_per_sqft_usd, median_rent_per_sqft_usd (alquiler mensual), average_days_on_market, median_days_on_market, total_listings, new_listings}
  • stock_quote: symbol, name, exchange, currency, price (último precio de la sesión ordinaria, en la moneda correspondiente; las cotizaciones de Google Finance pueden tener retraso), change (cambio absoluto, en la moneda correspondiente, respecto al cierre ordinario anterior), change_percent (puntos porcentuales respecto al cierre ordinario anterior: 1.5 = 1.5%), extended_hours_session (etiqueta de la sesión tal como se muestra, p. ej., Pre-market o After hours; null durante el horario ordinario), extended_hours_price, extended_hours_change y extended_hours_change_percent (cotización fuera del horario ordinario respecto al precio de la sesión ordinaria, en las mismas unidades), as_of_text (marca de tiempo de la página de Google Finance exactamente como se muestra, no en formato ISO ni correspondiente a la hora del precio)
provider_response
object | null
requerido

Solo es distinto de null cuando status es COMPLETED.

  • Para respuestas 2xx, output contiene JSON nativo del proveedor de datos (con cualquier estructura) o null si el cuerpo está vacío.
  • Para respuestas que no son 2xx, error contiene el cuerpo del error del proveedor de datos y output es null.

Los campos sensibles se eliminan de ambos cuerpos.

charge_usd
string | null
requerido

Cargo total de los Runs de esta respuesta de Solution. Es null hasta que se liquiden todos los Runs incluidos. Cada Run conserva su propio cargo; los fallos también pueden generar cargos.

Pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
charge_basis
object | null
requerido

Base del cargo de un único Run, o null para un total de varios Runs. Consulta runs[].charge_basis para cada cargo.

stoppable
boolean
requerido

Indica si actualmente se puede aceptar una solicitud de detención. Esto no garantiza que el Run pueda detenerse antes del dispatch.

stop_requested_at
string<date-time> | null
requerido

Momento en que se solicitó la detención. El Run puede continuar si el dispatch ya había comenzado.

created_at
string<date-time>
requerido

Marca de tiempo UTC ISO-8601

started_at
string<date-time> | null
requerido

Marca de tiempo UTC ISO-8601

completed_at
string<date-time> | null
requerido

Marca de tiempo UTC ISO-8601

task_id
string | null
requerido
metadata
object
requerido

Tus campos de seguimiento almacenados. Úsalos para filtrar Runs. Nunca se envían al proveedor de datos ni afectan al enrutamiento, Price o la idempotencia.

  • Hasta 20 claves: letras minúsculas, dígitos y guiones bajos; deben comenzar por una letra; como máximo 40 caracteres.
  • Valores: cadenas de 1–500 caracteres.
  • user_id: el ID opaco de tu usuario final, nunca su dirección de correo electrónico ni su nombre.
action
enum<string>
requerido
Opciones disponibles:
property_value,
property_rent,
property_search,
listings_sale,
listings_rental,
market_stats,
stock_quote
result_status
enum<string>
requerido

Estado de entrega empresarial, independiente del ciclo de vida final del Run en status. no_result es una respuesta vacía pero válida; error significa que no se pudo entregar la salida del proveedor de datos.

Opciones disponibles:
success,
no_result,
error,
pending
error
object | null
requerido
runs
object[]
requerido
result_url
string
requerido

Ruta de URL autenticada y de solo lectura para consultar este resultado normalizado y el cargo total. Úsala con el origen de la API. No crea Runs ni reanuda el fallback. GET /v1/runs/:id sigue devolviendo el Run nativo e individual.