Documentación de la API
Una llamada devuelve el valor fiscal de un vehículo según las tablas del BOE y el ITP que corresponde pagar en cualquiera de las 17 comunidades de régimen común, con la Orden aplicada citada en la propia respuesta.
Base: https://valorvenal.dr-techsolutions.com/api/v1 · Todas las respuestas son JSON UTF-8.
Autenticación
Envía tu clave en la cabecera Authorization (o, si te resulta más cómodo, en X-Api-Key). Las claves empiezan por vv_live_ y se muestran una sola vez al emitirlas.
Authorization: Bearer vv_live_xxxxxxxxxxxxxxxxxxxxxxxx
Primera llamada
curl "https://valorvenal.dr-techsolutions.com/api/v1/valuate\ ?brand=SEAT&model=IBIZA%201.0%20Eco%20TSI%20S%26S%20FR%20DSG\ &first_registration_date=2016-06-15&ccaa=andalucia" \ -H "Authorization: Bearer vv_live_..."
{
"fiscalValue": {
"basis": "exact_model",
"baseFirstYearEur": 15400,
"depreciation": { "completedYears": 10, "pct": 17,
"bracket": "Mas de 10 años hasta 11 años",
"method": "exact_dates" },
"valueEur": 2618
},
"itp": {
"ccaaName": "Andalucía", "method": "rate", "rate": 0.04,
"taxableBaseEur": 2618, "itpEur": 104.72, "ruleId": "default"
},
"boe": { "order": "HAC/1501/2025", "reference": "BOE-A-2025-26357" }
}GET /valuate
Valoración fiscal e ITP en una sola llamada. Acepta también POST con cuerpo JSON y los mismos nombres de campo.
| Parámetro | Tipo | Descripción |
|---|---|---|
brand | string, requerido | Marca, p. ej. VOLKSWAGEN |
model | string, requerido | Modelo. Si envías la cadena exacta del Anexo I se valora esa línea; si envías solo «GOLF» se devuelve la media del modelo |
first_registration_date | fecha | Recomendado. Fecha de 1ª matriculación (AAAA-MM-DD o DD/MM/AAAA). Con ella, year es opcional |
transfer_date | fecha | Fecha del devengo. Por defecto, hoy |
year | int | Año de matriculación (1980–2027). Requerido si no envías la fecha |
fuel | string | gasolina · diesel · electrico · hibrido · phev · glp (se aceptan sinónimos) |
version | string | Acabado (GTI, AMG…): añade una pasada de búsqueda del acabado |
ccaa | string | Slug de comunidad (madrid, catalunya…) o all para las 17 |
price_eur | number | Precio pactado: si supera el valor de tablas, es la base imponible |
GET /brands · GET /models?brand=
Catálogo para autocompletar: 174 marcas y los prefijos de modelo de cada una.
GET /itp/rates?ccaa=
La tabla de tipos y cuotas del ITP por comunidad, con la norma y la fecha de verificación de cada regla. Sin parámetro devuelve las 17.
GET /usage
Consumo del mes en curso para la clave que llama.
La respuesta
- fiscalValue — el valor que aplica Hacienda. basis dice sobre qué se calculó: exact_model, version o model. depreciation devuelve el tramo del Anexo IV, el porcentaje y si viene de fechas reales o estimado.
- itp — método (tipo o cuota fija), base imponible, importe y la norma autonómica citada.
- summary — mín/medio/máx de las variantes encontradas, ya depreciadas.
- comparables — hasta 20 variantes con su valor.
- actualYear y yearsDriftFromRequested — si no hay filas para el año pedido, se usa el más cercano disponible.
- warnings y warningCodes — avisos no bloqueantes, p. ej. que la depreciación es una estimación por año natural.
- boe — Orden y año de los valores aplicados: trazabilidad en cada respuesta.
Exactitud del cálculo
Hacienda cuenta los años de utilización de fecha a fecha, desde la primera matriculación hasta el devengo, no por años naturales. El mismo coche transmitido en marzo o en septiembre del mismo año puede caer en tramos distintos del Anexo IV. Por eso first_registration_date es el parámetro que más cambia el resultado.
Nuestros resultados están verificados al céntimo contra el simulador oficial de la Agencia Tributaria de Andalucía. Los territorios forales (Navarra y País Vasco) no están soportados: aplican sus propias tablas y devolvemos un 422 explícito en vez de un número incorrecto.
Errores
{ "error": { "code": "quota_exceeded", "message": "...", "docs": "..." } }| HTTP | code | Cuándo |
|---|---|---|
| 400 | invalid_params | Faltan parámetros o son inválidos |
| 401 | unauthorized | Clave ausente o inválida |
| 402 | quota_exceeded | Cuota mensual del plan agotada |
| 404 | not_found | Marca inexistente (en /models) |
| 422 | region_not_supported | Territorio foral: usa sus propias tablas |
| 429 | rate_limited | Más de 5 peticiones/segundo sostenidas |
Límites y atribución
5 peticiones por segundo sostenidas por clave. La cuota mensual depende del plan. El plan gratuito requiere un enlace visible «Datos: ValorVenal» junto a los resultados; los planes de pago no requieren atribución.
Ver planes y precios →