# Datos públicos de Zero KM

El [archivo JSON](https://zero-km.vercel.app/datos/vehiculos.json) se genera con cada actualización del sitio. Contiene las cotizaciones y el historial disponibles para las versiones publicadas.

Los importes conservan toda su precisión. Las fechas usan ISO 8601 UTC. No es una API en tiempo real. El contenido y los precios proceden de El Cero KM; citá la fuente y la fecha de consulta al reutilizarlos.

- **schemaVersion**: Versión del formato público (1). No es la versión del almacenamiento interno.
- **snapshotAt / catalogueObservedAt**: Fecha de la última captura incorporada y de la consulta del catálogo, en ISO 8601 UTC. No son fechas de consulta de todas las versiones.
- **source / methodologyUrl / vehicleCount**: Fuente original, explicación de los cálculos y cantidad de versiones incluidas.
- **vehicles[].id / url / sourceUrl**: ID original del vehículo, URL de Zero KM y URL de El Cero KM. El ID es la identidad estable.
- **make / model / trim / trimDisplay / type**: Marca, modelo, versión original, nombre abreviado y tipo de vehículo.
- **tier / tierLabel**: Categoría normalizada y etiqueta original de El Cero KM. null indica que no hay etiqueta; no inferimos la gama a partir del precio.
- **observedAt / currentPriceUsd**: Fecha de consulta de las cotizaciones y menor precio registrado en USD, sin redondear. No es una oferta en tiempo real.
- **exchangeRate.arsPerUsd / observedAt**: Tipo de cambio de la página de origen y fecha en que lo observamos. No se conoce su fecha de publicación.
- **quotes[]**: id, price, currency (ARS o USD), priceUsd, feesIncluded y color. price conserva el importe en moneda original; null significa desconocido.
- **history[]**: observedAt es la fecha histórica del origen. sellerId identifica al concesionario en el historial. price y currency conservan el precio original; arsPerUsd es el tipo de cambio del registro en ARS (null para USD); priceUsd es su conversión sin redondear.
- **comparison**: windowDays (180), typicalPriceUsd, lowestPriceUsd, discountPct, observedWeeks, sufficientHistory y opportunity usan la misma evaluación que la página. discountPct = (1 − currentPriceUsd / typicalPriceUsd) × 100. null indica que no se puede calcular.

[Metodología](https://zero-km.vercel.app/metodologia.md).
