Nacional CDTI, E.P.E. — Ministerio de Ciencia, Innovación y Universidades

CDTI — Proyectos aprobados (ayudas parcialmente reembolsables y subvenciones)

Listado de proyectos de I+D+i aprobados por el CDTI desde 2014, con beneficiario, NIF, programa, presupuesto y aportación concedida. Descarga directa en JSON, XLSX o XML por año, comunidad autónoma y mes, sin registro.

Ficha técnica

Formato
REST (JSON, XLSX, XML)
Registros
~20.600 proyectos (2014–2026)
Cobertura
Desde 2014
Actualización
Continua (aprobaciones mensuales y resoluciones definitivas)
Licencia
Datos abiertos (condiciones en el aviso legal del CDTI)
Entidad
CDTI, E.P.E. — Ministerio de Ciencia, Innovación y Universidades

Descripción

El Centro para el Desarrollo Tecnológico y la Innovación (CDTI), entidad pública empresarial adscrita al Ministerio de Ciencia, Innovación y Universidades, publica el listado de los proyectos que aprueba con cargo a sus instrumentos de financiación empresarial: Proyectos de I+D individuales y en cooperación, Líneas de Innovación, Neotec, CIEN, Misiones, Cervera, Eurostars y el resto de programas nacionales e internacionales que gestiona. Cada registro identifica a la entidad beneficiaria con su NIF, el título del proyecto, la fecha de aprobación o resolución, la ubicación, el programa, el área sectorial, el origen de los fondos, el presupuesto del proyecto y la aportación del CDTI.

La página de datos abiertos ofrece un formulario de filtrado, pero detrás hay un servicio en sede.cdti.gob.es que se puede llamar directamente con la ruta formato/año/comunidad/mes, sin registro ni clave. Admite JSON, XLSX y XML y devuelve el año completo en una sola respuesta, sin paginar. Aunque el formulario muestra años desde 2000, el servicio solo acepta ejercicios desde 2014. Los préstamos se incorporan conforme los aprueba cada mes el Consejo de Administración y las subvenciones cuando se publica la resolución definitiva.

El campo TipoAyuda distingue entre ayudas parcialmente reembolsables, que son préstamos con un tramo no reembolsable, y subvenciones a fondo perdido. En los préstamos, AportacionCDTI es el importe total del préstamo y no el equivalente de subvención. Los importes llegan como texto con formato español («411.394,78 €») y hay que convertirlos antes de operar. Las concesiones del CDTI también se publican en la BDNS, que añade la ayuda equivalente pero no recoge el título del proyecto, el programa concreto ni el presupuesto, y no incluye los años más antiguos de esta serie.

Estructura de datos

  • RazonSocial — Nombre de la entidad beneficiaria
  • NIFRazonSocial — NIF del beneficiario, con guion (p. ej. B-01593292)
  • TipoEntidad — EMPRESA, CENTRO TECNOLOGICO, ASOCIACION, UNIVERSIDAD...
  • PYME — S/N
  • TituloProyecto — Título del proyecto financiado
  • FechaAprobacionResolucion — Fecha de aprobación (préstamos) o resolución (subvenciones), dd/mm/aaaa
  • CCAA / Provincia / Localidad / CodigoPostal — Ubicación del beneficiario o del proyecto
  • TipoAyuda — Ayudas Parcialmente Reembolsables o Subvención
  • InstrumentoFinanciero — Programa: Proyectos CDTI de I+D, Neotec, CIEN, Misiones, Cervera, Eurostars...
  • AreaSectorial — Área tecnológica del proyecto
  • CNAE — Sector de actividad (sección CNAE)
  • OrigenFondos — Fuente de financiación: fondos propios CDTI, FEDER, MRR, EEA Grants...
  • Presupuesto — Presupuesto total del proyecto (texto, p. ej. 483.995,00 €)
  • AportacionCDTI — Importe concedido por el CDTI (texto con formato español)
  • UltimaFechaActualizacion — Fecha de la última actualización del conjunto (solo JSON/XML)

Ejemplos de código

Descargar proyectos aprobados por año, comunidad y mes curl
BASE=https://sede.cdti.gob.es/AreaPrivada/Servicios/DatosAbiertos/api/datos/proyectosidi

# Todos los proyectos aprobados en 2025 (JSON)
curl -s "$BASE/JSON/2025/ALL" -o cdti_2025.json

# Castilla-La Mancha en 2026, en Excel
curl -s "$BASE/XLSX/2026/CM" -o cdti_2026_CM.xlsx

# Solo marzo de 2025, todas las comunidades
curl -s "$BASE/JSON/2025/ALL/3" | python3 -m json.tool | head -40
Importe aprobado por año y tipo de ayuda python
import requests
from collections import defaultdict

BASE = 'https://sede.cdti.gob.es/AreaPrivada/Servicios/DatosAbiertos/api/datos/proyectosidi'

def euros(texto):
    # '411.394,78 €' -> 411394.78
    return float(texto.replace('€', '').replace('.', '').replace(',', '.').strip() or 0)

totales = defaultdict(float)
for anio in range(2014, 2027):
    r = requests.get(f'{BASE}/JSON/{anio}/ALL', timeout=120)
    if r.status_code != 200:
        print(anio, 'sin datos:', r.text)
        continue
    for p in r.json():
        totales[(anio, p['TipoAyuda'])] += euros(p['AportacionCDTI'])

for (anio, tipo), importe in sorted(totales.items()):
    print(f'{anio}  {tipo:<35} {importe:>18,.2f} EUR')
Proyectos de una comunidad y un mes con pandas python
import requests
import pandas as pd

BASE = 'https://sede.cdti.gob.es/AreaPrivada/Servicios/DatosAbiertos/api/datos/proyectosidi'

# Proyectos aprobados en Castilla-La Mancha en marzo de 2025
r = requests.get(f'{BASE}/JSON/2025/CM/3', timeout=60)
r.raise_for_status()
df = pd.DataFrame(r.json())
df['AportacionCDTI'] = (df['AportacionCDTI'].str.replace('€', '')
                        .str.replace('.', '', regex=False)
                        .str.replace(',', '.', regex=False).astype(float))
print(df[['RazonSocial', 'NIFRazonSocial', 'TipoAyuda',
          'InstrumentoFinanciero', 'AportacionCDTI']].to_string(index=False))