Parque de vehículos DGT por cohorte (España) - open data
Pricing
from $2.00 / 1,000 cohorte devueltos
Parque de vehículos DGT por cohorte (España) - open data
Parque de vehículos de la DGT (España) agregado por cohorte (provincia, marca, modelo, combustible, categoría, año) desde los microdatos anuales oficiales. Filtros por provincia, marca y combustible; CSV/Excel listos. Sin matrículas ni bastidores. No oficial: no afiliado a la DGT.
Pricing
from $2.00 / 1,000 cohorte devueltos
Rating
0.0
(0)
Developer
Riccardo Pongetti
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Spain DGT Vehicle Fleet — Parque de vehículos (datos por cohorte)
Actor de Apify que expone el parque de vehículos de España como datos agregados
por cohorte a partir de los microdatos oficiales de la Dirección General de
Tráfico (DGT). Un vehículo = una fila del fichero oficial; el Actor agrupa por
provincia x marca x modelo x combustible x categoría x año y devuelve el recuento
de cada cohorte.
Solo datos agregados — nunca se emiten matrículas ni bastidores/VIN (regla AEPD; el propio fichero oficial no contiene esas columnas). Este Actor no es oficial y no está afiliado a la DGT. Unofficial / no afiliado.
Fuente
- Organismo: DGT (Dirección General de Tráfico, Ministerio del Interior)
- Dataset: Parque de vehículos — microdatos consolidados anuales
- URL:
https://www.dgt.es/microdatos/Parque/2025/parque_consolidado_2025_PROVINCIA.zip - Catálogo datos.gob.es: e00003801 (anual); e00130502 (parque mensual; roadmap)
- Formato: ZIP de 52 TXT (uno por provincia, p.ej.
01.ARABA_ÁLAVA.txt), pipe-delimited, encoding cp1252, 45 columnas, cabecera en la primera línea. - Sin clave, sin login, sin cookies. Un GET por run (el ZIP pesa ~1,6 GB, por eso no se cachea en el KV store).
Columnas reales del TXT (verificadas descargando el fichero)
PROVINCIA | MUNICIPIO | FABRICANTE | MARCA | MODELO | TIPO | VARIANTE | VERSION |PROVINCIA_MATR | FECHA_MATR | FEC_PRIM_MATR | CLASE_MATR | PROCEDENCIA | NUEVO_USADO |TIPO_TITULAR | NUM_TITULARES | SUBTIPO_DGT | TIPO_DGT | CAT_EURO | CLAS_CONSTRUCCION |CLAS_UTILIZACION | SERVICIO | RENTING | TARA | PESO_MAX | MOM | MMTA | CILINDRADA |POTENCIA | KW | PROPULSION | CATELECT | CONSUMO | AUTONOMIA | ALIMENTACION |TIPO_DISTINTIVO | EMISIONES_EURO | EMISIONES_CO2 | CARROCERIA | DISTANCIA_EJES |EJE_ANTERIOR | EJE_POSTERIOR | PLAZAS | PLAZAS_MAX | PLAZAS_PIE
No existe columna de matrícula ni de bastidor/VIN.
Combustible (campo PROPULSION)
El campo PROPULSION usa códigos. El mapeo se dedujo empíricamente del fichero real
(cilindrada media, distintivo ambiental y campo CATELECT) y se documenta en
src/core.py:
| Código | Etiqueta |
|---|---|
| 0 | Gasolina (incluye híbridos no enchufables de gasolina, motos y ciclomotores) |
| 1 | Diésel |
| 2 | Eléctrico (BEV) |
| 6 | GLP |
| 7 | GNC |
| (vacío) | No consta |
| resto | Otros |
La categoría del vehículo se toma del campo TIPO_DGT (TURISMOS, MOTOCICLETAS,
FURGONETAS, CAMIONES, AUTOBUSES, TRACTORES INDUSTRIALES, CICLOMOTORES, R Y S, OTROS…).
Entrada
{"province": "", // código 01-52 o nombre ("28", "Madrid"); vacío = todas"marca": "", // subcadena, sin mayúsculas/acentos ("seat")"combustible": "", // etiqueta o código (Gasolina, Diésel, Eléctrico, GLP, GNC, 0, 1, 2, 6, 7)"categoria": "", // subcadena de TIPO_DGT ("turismos", "moto", "camiones")"year": 2025, // v1: solo 2025 (otros años → roadmap)"maxResults": 100, // tope de cohortes devueltas (coste); 0 = sin límite"exportFiles": ["csv", "xlsx"],"exportLanguage": "es"}
Salida
Un item por cohorte:
{"provincia": "28","provinciaNombre": "MADRID","marca": "VOLKSWAGEN","modelo": "GOLF","combustible": "Diésel","combustibleCodigo": "1","categoria": "TURISMOS","anio": 2025,"vehiculos": 12345}
La SUMMARY / run-report incluye: cohortes, vehículos totales, media por
cohorte, marcas y provincias únicas, distribución por combustible y por categoría,
top 10 marcas y top 10 provincias.
CSV (RFC-4180, coma) y XLSX (cabecera fija + autofiltro + hoja «Fuente») listos para abrir.
Precio y coste
Pay-per-event: 0,002 $/cohorte devuelta + 0,01 $ por informe agregado.
maxResults es el guardarraíl: una pasada completa sin límite puede devolver decenas
de miles de cohortes. El ZIP se descarga entero aunque se filtre por provincia (el
fichero oficial es único).
Notas operativas
- El primer run descarga ~1,6 GB.
fetch_source()vuelca el ZIP a un directorio temporal; el contenedor de Apify es efímero, así que no hay limpieza persistente. - Filtro por provincia = solo se descomprimen los ficheros de esa provincia.
- Las filas sin marca (remolques, tractores sin marca, «R Y S») se excluyen del
agregado y se cuentan en
meta.rowsSinMarca.
Roadmap (v2+)
- Backfill anual 2017-2025 (el patrón de URL es idéntico por año).
- Delta mensual desde el catálogo e00130502 (paneldatos.dgt.es).
- Optimización de descarga (descarga parcial por provincia cuando el filtro lo permita).
- Cache del agregado por año en el KV store cuando el dataset mensual sea ligero.
Desarrollo
uv venv .venv --python 3.13 && uv pip install --python .venv/bin/python 'apify>=2.0.0' openpyxl pytest.venv/bin/python -m pytest tests -q # tests sin red (fixtures reales).venv/bin/python -m src.main --local examples/input.json # run end-to-end (descarga real)