API v1

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ámetroTipoDescripción
brandstring, requeridoMarca, p. ej. VOLKSWAGEN
modelstring, requeridoModelo. 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_datefechaRecomendado. Fecha de 1ª matriculación (AAAA-MM-DD o DD/MM/AAAA). Con ella, year es opcional
transfer_datefechaFecha del devengo. Por defecto, hoy
yearintAño de matriculación (1980–2027). Requerido si no envías la fecha
fuelstringgasolina · diesel · electrico · hibrido · phev · glp (se aceptan sinónimos)
versionstringAcabado (GTI, AMG…): añade una pasada de búsqueda del acabado
ccaastringSlug de comunidad (madrid, catalunya…) o all para las 17
price_eurnumberPrecio pactado: si supera el valor de tablas, es la base imponible

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": "..." } }
HTTPcodeCuándo
400invalid_paramsFaltan parámetros o son inválidos
401unauthorizedClave ausente o inválida
402quota_exceededCuota mensual del plan agotada
404not_foundMarca inexistente (en /models)
422region_not_supportedTerritorio foral: usa sus propias tablas
429rate_limitedMá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 →