DATACAR API · DOCUMENTACIÓN TÉCNICA v2
API para consulta de Información de Vehículos en la República Argentina
Datacar es el referente en Informes de Historial Automotor de Argentina desde el año 2013.
Datacar API es la primera API de información de Vehículos del país, enriqueciendo flujos de aseguradoras, cotizadores, concesionarios, entidades financieras, insurtechs, empresas de logística y seguridad, fintechs, marketplaces, autopartistas y estacionamientos desde el año 2015.
1.Introducción
Datacar API permite consultar información vehicular a partir de una matrícula/patente. Dada una patente, el servicio devuelve la información del vehículo agrupada en distintos scopes, de acuerdo al servicio contratado por cada usuario.
A los efectos de este documento, se describe en detalle el scope principal id, correspondiente a la identificación del vehículo (marca, modelo, año, tipo, origen). Para conocer más acerca de otros scopes disponibles consulte con nuestro Equipo Comercial.
2.Características de la solución
Infraestructura pensada para integrarse a procesos productivos que requieren respuestas rápidas y estables.
Uptime mensual objetivo de 99,9%, con redundancia, autoescalado y monitoreo continuo de las capas críticas.
Wall time promedio de 120ms
Respuesta de baja latencia para toda consulta, cualquiera sea el momento del día o la carga del servicio.
El tráfico entre el cliente y la base de datos viaja encriptado en ambos sentidos, en todo momento.
Tambíen utilizamos cifrado de datos en reposo.
3.Especificación del Servicio
| Protocolo | HTTPS (TLS >= 1.2) |
| Base URL | https://api.datacar.com.ar |
| Autenticación | API Key (Bearer) |
| Arquitectura | REST |
| Formato | JSON |
4.Autenticación
Datacar API se autentica mediante API Key enviada como Bearer Token en el header Authorization.
Authorization: Bearer dca0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz01234Las API Keys son de longitud fija (80 caracteres) y siempre comienzan con el prefijo dca (Data Car Api), lo que permite identificarlas fácilmente en tus configuraciones y sistemas de gestión de secretos.
Nota: Contamos también con Basic Auth (usuario/contraseña), este se mantiene por compatibilidad con integraciones existentes. Si estás utilizando este método te recomendamos cambiar a API Key para mayor versatilidad y posibilidad de gestión de tus credenciales.
Creación de Usuario
El alta de usuario y API Key debe ser solicitado a nuestro Equipo Comercial, recibirás un email de bienvenida con todo lo necesario para comenzar con tu integración. ¿Aún no tenés tu API Key? Solicitala.
Seguridad de la conexión
| Ítem | Detalle |
|---|---|
| TLS | Todas las conexiones requieren TLS 1.2 o superior. No se aceptan versiones anteriores. |
| IP whitelisting | No se recomienda de manera de evitar fricción operativa (bloqueos ante cambios de infraestructura del lado del cliente). Se implementa únicamente a pedido explícito, sobre direcciones IP individuales o rangos CIDR — solo IPv4. |
| Certificate / public key / IP pinning | No soportado. No implementes ningún tipo de pinning contra Datacar API en tus integraciones, nos reservamos la posibilidad de modificar nuestra infraestructura con el objetivo de mejorar la calidad y seguridad de nuestra solución. |
5.Consulta de vehículo
Identificación de cualquier automóvil o motovehículo registrado en Argentina, patente formato anterior o Mercosur actual.
/vehicle/:plateDevuelve la información del vehículo asociada a la patente consultada, agrupada por scope según el servicio contratado.
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
plate | alfanumérico | Sí | Patente del vehículo a consultar. Se admiten todos los formatos de chapa patente de automotores y motovehículos de Argentina (formato anterior y Mercosur), sin espacios ni guiones. No distingue mayúsculas/minúsculas. |
Ejemplo
curl -X GET "https://api.datacar.com.ar/vehicle/ai535ya" \
-H "Authorization: Bearer dca0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz01234" \
-H "Accept: application/json"Probá la demo interactiva y obtené ejemplos de código en Node.js, Python o PHP.
6.Códigos de respuesta HTTP
| Código | Nombre | Descripción |
|---|---|---|
| 200 | OK | Respuesta exitosa. |
| 401 | Unauthorized | No se envió el header Authorization, o la API Key enviada es inválida o no tiene acceso al servicio. |
| 403 | Forbidden | El usuario autenticado agotó su crédito mensual. |
| 405 | Method Not Allowed | Verificá que estás usando el método correcto (GET). |
| 404 | Not Found | Verificá que estás usando el endpoint correcto (/vehicle/:plate). |
| 400 | Bad Request | Verificá el formato de la patente enviada. No incluyas espacios ni guiones. |
| 418 | I'm a teapot | La patente consultada no está disponible en el entorno de testing. Usá una de las patentes de prueba provistas. Ver sección 9. |
| 429 | Too Many Requests | Se excedió el rate limit. Ver sección 10. |
| 503 | Service Unavailable | Código reservado para actualizaciones. En la práctica, al tratarse de una solución de alta disponibilidad, las actualizaciones se realizan en caliente, este código se reserva exclusivamente para actualizaciones estructurales que sí requieran una ventana de corte, y en ese caso se notifica previamente al contacto técnico de la cuenta. |
| 500 | Internal Server Error | Excepción interna inesperada. |
Estructura de la respuesta exitosa
| Clave | Tipo | Descripción |
|---|---|---|
success | boolean | Indica si se encontraron datos de la patente consultada de acuerdo a los scopes habilitados. Si hay al menos un dato disponible devuelve true junto con la clave data; caso contrario, devuelve false y la clave data no está presente. |
data | object | Contiene todos los datos encontrados para la patente, agrupados por scope según el plan contratado. |
balance | integer | Crédito mensual remanente del usuario. Cada consulta descuenta crédito solo si success es true. |
Cada clave de la respuesta, tanto a nivel de scope como dentro de cada scope, puede estar ausente si no hay datos disponibles para esa patente. Es responsabilidad del cliente validar la existencia de cada clave antes de utilizarla.
7.Scopes y estructura de datos
Este documento detalla el scope principal id correspondiente a la identificación del vehículo.
Scope: id — Identificación del vehículo
| Clave | Tipo | Descripción |
|---|---|---|
id | alfanumérico | Identificador de marca y modelo del vehículo, conocido como código "fmm" (fábrica-marca-modelo) de la DNRPA. |
brand | string | Marca del vehículo. |
model | string | Modelo del vehículo. |
year | integer | Año del vehículo. |
type | string | Descripción del tipo de vehículo. |
manufacturer | string | Razón social del fabricante, para vehículos de fabricación nacional. |
domestic | boolean | Origen del vehículo: true para nacionales, false para importados. |
GET /vehicle/ai535ya
Authorization: Bearer dca0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz01234{
"success": true,
"data": {
"id": {
"id": "03453A2",
"brand": "VOLKSWAGEN",
"model": "AMAROK COMFORTLINE V6 AT 4X4 G2",
"year": 2026,
"type": "PICK-UP",
"manufacturer": "VOLKSWAGEN ARGENTINA S.A.",
"domestic": true
}
},
"balance": 99
}8.Gestión de API Keys
Datacar API provee endpoints para rotar tus API Keys con o sin downtime.
Si aún no estás productivo podes utilizar el endpoint rotate-key de manera segura.
Una vez en producción recomentadamos usar los siguientes endpoints en este orden: creá una nueva key con create-key, opcionalmente verificala con verify-key, migrá tus sistemas a la nueva key y recién ahí eliminá la anterior con delete-key.
La frecuencia y la lógica de rotación quedan a criterio de cada cliente — Datacar no impone una política de rotación.
/auth/rotate-keyInvalida la API Key con la que se autenticó el request y emite una nueva en su lugar. Siempre rota "la key actual" — la enviada en el header Authorization — no una key arbitraria. No recibe payload.
POST /auth/rotate-key Authorization: Bearer dca0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz01234
{
"success": true,
"data": {
"new_key": "dca43210zyxwvutsrqponmlkjihgfedcba9876543210zyxwvutsrqponmlkjihgfedcba9876543210"
}
}Implica downtime: La key anterior se invalida de inmediato al rotar. Cualquier sistema que siga usándola empezará a recibir 401 Unauthorized hasta que se actualice con la nueva key.
/auth/create-keyGenera una nueva API Key para la cuenta, además de las que ya tenga activas. Se autentica con el Bearer de una API Key ya existente. No recibe payload.
POST /auth/create-key Authorization: Bearer dca0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz01234
{
"success": true,
"data": {
"new_key": "dca43210zyxwvutsrqponmlkjihgfedcba9876543210zyxwvutsrqponmlkjihgfedcba9876543210",
"total_keys": 2
}
}Límite: Cada cuenta puede tener hasta 10 API Keys activas. Al intentar crear la key número 11, la API devuelve 400 Bad Request.
/auth/verify-keyConfirma si la API Key con la que se autenticó el request es válida y está activa, sin consumir crédito de consultas. Devuelve 200 en caso de éxito o 401 Unauthorized en caso de fallo.
GET /auth/verify-key Authorization: Bearer dca43210zyxwvutsrqponmlkjihgfedcba9876543210zyxwvutsrqponmlkjihgfedcba9876543210
{
"success": true
}/auth/delete-keyElimina la API Key con la que se autenticó el request — siempre "la key actual", no otra. No recibe payload.
DELETE /auth/delete-key Authorization: Bearer dca43210zyxwvutsrqponmlkjihgfedcba9876543210zyxwvutsrqponmlkjihgfedcba9876543210
{
"success": true,
"data": {
"remaining_keys": 1
}
}Restricción: No se puede eliminar una key si es la única activa en la cuenta. La API devuelve 400 Bad Request para asegurar que siempre quede al menos una key activa.
9.Entorno de Testing
Preferimos que evalues el servicio sin fricción y con acceso a todas las carácteristas de la solución, es por esto que, al solicitar tu usuario, proveemos una cuenta productiva. Una vez en producción, en caso de requerirlo, contamos con Ambiente Bajo de Testing para ser disponibilizado. El mismo se encuentra limitado a un set de patentes de prueba.
10.Rate limiting
Los límites protegen la estabilidad del servicio para todos los usuarios. Al excederlos, la API responde 429 Too Many Requests.
SOFT LIMITS
- 5 requests por segundo
- 100 requests por minuto
HARD LIMITS
- Basados en el abono contratado y acuerdo comercial
- Analizan patrones de consumo
11.Uso no permitido
Estas condiciones aplican a todas las cuentas y API Keys, independientemente del plan contratado.
- ✕Exponer la integración a internet sin protección
No está permitido exponer un formulario o endpoint propio que dispare consultas a Datacar API sin proteger el request con suficientes mecanismos antibot (captcha, rate limiting propio, autenticación de usuario, etc) que desalienten la extracción no autorizada de datos. - ✕Procesamiento batch o masivo
No está permitido utilizar la API para procesar padrones o listados completos de patentes de forma masiva. Para ese uso, contactá a nuestro Equipo Comercial solicitando una cotización diferencial. - ✕Compartir o revender credenciales con terceros no relacionados
Las API Keys son intransferibles. No está permitido compartir una key ni el acceso a la cuenta con otra empresa que no forme parte del mismo grupo económico contratante. - ✕Almacenamiento indebido de datos
Los datos obtenidos no pueden ser almacenados con el objetivo de utilizarlos en otro caso de uso diferente al declarado en el momento de la contratación del servicio.
Importante: Monitoreamos activamente estas condiciones, el incumplimiento puede derivar en la suspensión o revocación de las API Keys asociadas a la cuenta.