Saltar al contenido principal
GET
Leer un resultado de datos de mercado
Usa result_url sin modificar en el origen de la API y autentícate con una Key autorizada para leer todos los Runs. La respuesta utiliza los mismos campos que la respuesta inicial de la Solution. HTTP 200 aún puede incluir result_status: pending; sigue consultando hasta que status sea terminal. Esta lectura no crea Runs, no llama a proveedores de datos y no reanuda el fallback.

Parámetros de consulta

token
string
requerido

Contexto de resultado opaco devuelto en result_url. Consérvalo sin cambios y autentícate con una API Key autorizada para leer todos los Runs indicados.

Required string length: 1 - 16384

Respuesta

MarketDataResult

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.