Endpoint: decodificar un VIN de cualquier país

Lee lo que trae escrito un VIN de 17 caracteres: el fabricante y la marca, el país y la región donde se fabricó, el año modelo, si el dígito de control cuadra, la planta y el número de serie. Cubre marcas que se venden en América Latina y que las bases de Estados Unidos no conocen, como MG, Great Wall, Changan, Chery o Foton, y los VIN de Brasil, Argentina, México, Tailandia e India. Cuando existe, agrega el modelo, la carrocería, la cilindrada, el combustible y la tracción, pero solo si cuadran con la marca y el año del propio VIN: un detalle que no cuadra no se entrega. El dígito de control se informa como obligatorio donde la norma lo exige y como informativo en el resto, porque muchos fabricantes no lo usan y un VIN legítimo puede no cuadrar.

POST/api/decodificar-vin1 crédito

Lee lo que trae escrito un VIN de 17 caracteres de cualquier país: fabricante y marca (por el WMI), país y región de fabricación, año modelo (posición 10), dígito de control (posición 9), código de planta y número de serie. Cubre las marcas que circulan en América Latina y que las bases de Estados Unidos no conocen —MG, Great Wall, Changan, Chery, Foton, Suzuki India— y los VIN de Brasil, Argentina, México, Tailandia e India. El año se repite cada 30 años: donde el VIN no permite desempatar llega también anioModeloAlternativo. Cuando existe, detalle trae modelo, versión, carrocería, cilindrada, combustible, tracción, transmisión y puertas, solo si cuadran con la marca y el año del propio VIN; un detalle que no cuadra se descarta y cobertura.detalle lo dice (ok, no_disponible, descartado, error). El dígito de control es obligatorio en EE. UU., Canadá y China e informativo en el resto, donde muchos fabricantes no lo usan: ahí un valido: false no indica un VIN adulterado. status es warn solo cuando el dígito es obligatorio y no cuadra. Cuesta 1 crédito.

Cuerpo de la solicitud

body (JSON)
{
  "vin": "5YFBURHE1GP000123"
}
Parámetros del cuerpo de la solicitud
CampoTipoQué es
vinobligatoriostringVIN de 17 caracteres, sin I, O ni Q. Se aceptan espacios, puntos y guiones. Alias: `chasis`.
refreshbooleanIgnora la caché y vuelve a consultar la fuente oficial. Ojo: una consulta refrescada con datos siempre cobra (el hit de caché no).

Ejemplos por lenguaje

cURL
curl -X POST 'https://placapi.com/api/decodificar-vin' \
  -H 'x-api-key: pk_live_TU_CLAVE' \
  -H 'content-type: application/json' \
  -d '{"vin":"5YFBURHE1GP000123"}'
JavaScript (fetch)
const res = await fetch("https://placapi.com/api/decodificar-vin", {
  method: "POST",
  headers: {
    "x-api-key": "pk_live_TU_CLAVE",
    "content-type": "application/json",
  },
  body: JSON.stringify({"vin":"5YFBURHE1GP000123"}),
});
const data = await res.json();
Python (requests)
import requests

res = requests.post(
    "https://placapi.com/api/decodificar-vin",
    headers={"x-api-key": "pk_live_TU_CLAVE"},
    json={"vin":"5YFBURHE1GP000123"},
)
data = res.json()

Respuesta exitosa

200 OK — ejemplo (placas y documentos ficticios)
{
  "source": "vin",
  "status": "ok",
  "data": {
    "vin": "5YFBURHE1GP000123",
    "wmi": "5YF",
    "vds": "BURHE1",
    "vis": "GP000123",
    "fabricante": {
      "marca": "Toyota",
      "nombre": "TOYOTA MOTOR MANUFACTURING, MISSISSIPPI, INC.",
      "marcas": [
        "Toyota"
      ],
      "pais": "Estados Unidos",
      "codigoPais": "US",
      "region": "Norteamérica"
    },
    "tipoVehiculo": "automovil",
    "anioModelo": 2016,
    "anioModeloAlternativo": null,
    "digitoControl": {
      "valor": "1",
      "calculado": "1",
      "valido": true,
      "aplica": true
    },
    "plantaCodigo": "P",
    "numeroSerie": "000123",
    "detalle": {
      "marca": "TOYOTA",
      "modelo": "Corolla",
      "version": "L/LE",
      "carroceria": "sedán",
      "cilindradaL": 1.8,
      "combustible": "gasolina",
      "traccion": "4x2",
      "transmision": null,
      "puertas": 4
    },
    "cobertura": {
      "detalle": "ok",
      "digitoControl": "obligatorio"
    }
  },
  "mode": "live",
  "fetchedAt": "2026-07-24T15:04:05.000Z",
  "cost": 1
}

Errores y cobro

Cuesta 1 crédito cuando devuelve datos. Códigos posibles: 400 401 402 404 429 500 502 — qué significa cada uno, cuál reintentar y cuál cobra, en errores y rate limits. Autenticación por x-api-key: cómo generar la clave.

Última revisión: 20 de octubre de 2026 · PlacApi opera desde Colombia. PlacApi no es una entidad oficial del Gobierno.