Principio general
Todas las fuentes son públicas. No accedemos a APIs propietarias, no compramos datos cerrados de terceros, no rascamos información detrás de paywall. La cobertura es exactamente lo que existe accesible al público en internet costarricense — más una capa de archivo histórico que la web abierta no preserva.
La metodología completa de cada scraper es interna por seguridad operacional. La cadencia está resumida abajo.
Cómo servimos los datos
Nuestra API no expone endpoints de datos crudos. Todos los endpoints entregan productos derivados por nuestra capa de razonamiento (LLM) sobre el archivo: agregados por segmento, comparativos entre fuentes, análisis de mercado, y respuestas conversacionales.
Deliberadamente no queremos ser un espejo del listado original. Si necesitás el listado tal cual está en la fuente, andá a la fuente — está pública. Lo que agregamos es el archivo histórico (cobertura temporal que la web abierta no preserva), la deduplicación cross-source, y la capa analítica encima.
Para investigaciones que necesitan más profundidad que la API — tesis de inversión, due diligence, comités de riesgo — Corpus es nuestro producto de análisis histórico a medida. Anclamos la investigación a la tesis del cliente, interpretamos patrones sobre el archivo con nuestra capa de razonamiento (LLM), y entregamos un informe estructurado con hallazgos. El deliverable no es el archivo crudo; es la investigación derivada.
Frecuencia de actualización
- Cadencia
- Reindexación cada 24 horas por fuente
- Historia
- Cobertura continua desde junio 2026; cada listado se re-snapshotea diariamente hasta que sale del mercado
Salvaguardas de calidad
Reglas explícitas que aplicamos sobre cada ingesta. Auditables.
Deduplicación cross-source
Cada listado de autos pasa por un canonicalizador que compara VIN, año, marca, modelo, kilometraje y precio entre fuentes. Los duplicados quedan agrupados bajo un canonical_listing_id; la vista expone offers[] con la atribución por fuente.
Marca de removido (removed_at)
Cuando una fuente deja de listar una fila previamente vista, anotamos removed_at en lugar de borrar. Distribuciones de días-en-mercado y curvas de inventario son derivables sin reescribir historia.
Detección de schema drift
Cada scraper compara su payload contra un schema esperado por fuente. Cambios en estructura disparan una alerta antes de contaminar el archivo. Runbook completo en audit_data_quality (Phase 1.9 interno).
Atribución por fila
Cada fila del dashboard carga source_name + retrieved_at. Defendible ante auditorías sin pre-procesamiento posterior.
Validación de URL en boundaries
URLs externas (fotos de listados, links de fuentes) pasan por safeHttpsUrl() antes de aparecer en JSON-LD o og:image. Mitiga SSRF y prompt-injection vía data envenenada.
Lo que NO tenemos
Nombrar las brechas es parte de la metodología. No queremos vender algo que no entregamos.
Precios de transacción cerrada en autos
Tenemos precios listados + días en mercado, NO precio de venta final. Es el techo de cualquier dato público en Costa Rica. Implicación: valuaciones son por comparables, no por venta histórica.
Cambios en esta metodología
Revisión trimestral. Cuando agregamos una fuente, activamos un vertical o cambiamos una regla de validación, la edición aparece en el registro arriba y se anuncia en el Informe Trimestral del cuarto siguiente.
