Consulta VIN
curl --request POST \
--url https://api.verifica.id/v2/consulta/vehicular-vin \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"vin": "<string>"
}
'import requests
url = "https://api.verifica.id/v2/consulta/vehicular-vin"
payload = { "vin": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({vin: '<string>'})
};
fetch('https://api.verifica.id/v2/consulta/vehicular-vin', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.verifica.id/v2/consulta/vehicular-vin",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'vin' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.verifica.id/v2/consulta/vehicular-vin"
payload := strings.NewReader("{\n \"vin\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.verifica.id/v2/consulta/vehicular-vin")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"vin\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.verifica.id/v2/consulta/vehicular-vin")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"vin\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"type": "<string>",
"status": 123,
"message": "<string>",
"data": {
"vin": "<string>",
"placas": [
{
"placa": "<string>",
"estado": "<string>"
}
]
}
}Consulta Datos Públicos
Consulta VIN
Consulta las placas asociadas a un vehículo a partir de su número de VIN
POST
/
v2
/
consulta
/
vehicular-vin
Consulta VIN
curl --request POST \
--url https://api.verifica.id/v2/consulta/vehicular-vin \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"vin": "<string>"
}
'import requests
url = "https://api.verifica.id/v2/consulta/vehicular-vin"
payload = { "vin": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({vin: '<string>'})
};
fetch('https://api.verifica.id/v2/consulta/vehicular-vin', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.verifica.id/v2/consulta/vehicular-vin",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'vin' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.verifica.id/v2/consulta/vehicular-vin"
payload := strings.NewReader("{\n \"vin\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.verifica.id/v2/consulta/vehicular-vin")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"vin\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.verifica.id/v2/consulta/vehicular-vin")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"vin\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"type": "<string>",
"status": 123,
"message": "<string>",
"data": {
"vin": "<string>",
"placas": [
{
"placa": "<string>",
"estado": "<string>"
}
]
}
}Autenticación
¿Todavía no tienes un API token? El campo
Authorization del panel Try it espera tu token Bearer. Revisa dónde obtener tu API token para conseguirlo.Authorization: Bearer YOUR_API_KEY
Atributos Requeridos
string
required
Número de identificación del vehículo (VIN). 17 caracteres alfanuméricos, sin las letras I, O ni Q (ISO 3779).
Respuesta
string
Tipo de respuesta (ej: “result”)
integer
Código de estado HTTP de la respuesta (ej: 200)
string
Mensaje descriptivo del resultado de la consulta
object | null
Ejemplo de Solicitud
curl --request POST \
--url https://api.verifica.id/v2/consulta/vehicular-vin \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {TU-API-KEY}' \
--header 'content-type: multipart/form-data' \
--form vin=1HGCM82633A004352
Ejemplo de Respuesta Exitosa
{
"type": "result",
"status": 200,
"message": "Se ha encontrado la información correctamente.",
"data": {
"vin": "1HGCM82633A004352",
"placas": [
{
"placa": "ABC-123",
"estado": "En Circulación"
}
]
}
}
Ejemplo de Respuesta sin Coincidencias
Cuando el VIN es válido pero no tiene placas asociadas, la respuesta es200 con data en null.
{
"type": "result",
"status": 200,
"message": "No se encontró información para el VIN consultado.",
"data": null
}
Códigos de Error
| Código | Descripción |
|---|---|
| 401 | Token de autenticación inválido o faltante |
| 402 | Sin cuota disponible para atender la petición |
| 422 | El campo vin es requerido o no cumple el formato (17 alfanuméricos, sin I, O ni Q) |
| 429 | Demasiadas solicitudes - se ha excedido el límite de rate |
| 503 | La fuente no está disponible en este momento. Reintenta en unos segundos |