Regional Generalitat Valenciana

Comunitat Valenciana — Ayudas y subvenciones GVA

Datasets CKAN de la Generalitat Valenciana con las ayudas y subvenciones concedidas por la GVA. Un dataset por año (eco-gvo-subv-AAAA) con un CSV por mes; solo siguen publicados los de los últimos cuatro años (2022–2026 en octubre de 2026).

Ficha técnica

Formato
CSV mensuales (CKAN, un dataset por año)
Cobertura
Concesiones de los cuatro años anteriores y el corriente (2022–2026 en octubre de 2026)
Actualización
Semanal (los últimos 2 meses no son definitivos)
Licencia
CC BY
Entidad
Generalitat Valenciana

Descripción

La Generalitat Valenciana publica las ayudas y subvenciones concedidas por la GVA en el portal dadesobertes.gva.es como una serie de datasets anuales independientes (eco-gvo-subv-2022, eco-gvo-subv-2023… eco-gvo-subv-2026). Cada dataset tiene un CSV por mes, con separador «;» y UTF-8, y se gestiona sobre CKAN, con API REST estándar en /api/3/action/.

La información se mantiene publicada durante los cuatro años siguientes al de la concesión y después se retira: en octubre de 2026 ya no estaban los datasets de 2019, 2020 y 2021, así que si necesitas años anteriores tendrás que haberlos guardado tú. El portal avisa además de que los últimos dos meses no son definitivos porque los datos se consolidan a posteriori. No se publican las ayudas a personas en situación de protección especial, como las víctimas de violencia de género.

Es la fuente autonómica con más detalle económico: además del importe trae lo pagado, los reintegros y las devoluciones, y clasifica cada ayuda por línea, sector, región, tipo de ayuda y origen de la financiación (autonómica, estatal, europea, local), con las descripciones en castellano y valenciano. El NIF va en la columna beneficiario y el nombre en nombre; en las personas físicas, beneficiario va vacío. Existen además datasets específicos como las ayudas DANA (eco-ayudas-dana) y los pagos medios a beneficiarios (eco-pmp-subvenciones).

Estructura de datos

  • cd_ejercicio — Año de concesión
  • fecha_concesion — Fecha de concesión (DD/MM/AAAA)
  • beneficiario — NIF del beneficiario (vacío en personas físicas)
  • nombre — Nombre del beneficiario
  • cod_convocatoria / convocatoria / cd_bdns — Convocatoria y su código en la BDNS
  • ds_concedente_c / ds_conselleria_c — Órgano concedente y conselleria
  • ds_tipo_beneficiario_c — Tipo de beneficiario
  • importe — Importe concedido (EUR, punto decimal)
  • pagado / reintegros / devoluciones — Ejecución de la ayuda
  • imp_financ_auton / imp_financ_estat / imp_financ_europ / imp_financ_local — Origen de la financiación
  • ds_linea_c / ds_sector_c / ds_tipo_ayuda_c — Clasificación de la ayuda

Ejemplos de código

Listar los datasets anuales y sus CSV curl
# Datasets de subvenciones GVA que siguen publicados
curl -s "https://dadesobertes.gva.es/es/api/3/action/package_search?q=eco-gvo-subv&rows=20" \
  | python3 -c "import json, sys; d=json.load(sys.stdin); print('\n'.join(sorted(r['name'] for r in d['result']['results'])))"

# CSV mensuales del dataset de 2026
curl -s "https://dadesobertes.gva.es/es/api/3/action/package_show?id=eco-gvo-subv-2026" \
  | python3 -c "import json, sys; d=json.load(sys.stdin); print('\n'.join(r['url'] for r in d['result']['resources']))"
Juntar los CSV mensuales del último año python
import pandas as pd
import requests

API = 'https://dadesobertes.gva.es/es/api/3/action'

# Conjuntos anuales vivos (los de más de 4 años se retiran)
res = requests.get(f'{API}/package_search', params={'q': 'name:eco-gvo-subv-*', 'rows': 20}).json()
paquetes = sorted(p['name'] for p in res['result']['results'])
print(paquetes)

# Un CSV por mes: se juntan los del año más reciente
ultimo = requests.get(f'{API}/package_show', params={'id': paquetes[-1]}).json()['result']
urls = [r['url'] for r in ultimo['resources'] if r['format'].upper() == 'CSV']
df = pd.concat((pd.read_csv(u, sep=';', dtype={'beneficiario': str}, low_memory=False) for u in urls), ignore_index=True)
print(f'{paquetes[-1]}: {len(urls)} meses, {len(df):,} concesiones, {df["importe"].sum():,.2f} EUR')