Cómo descargar los datos de la Plataforma de Contratación del Sector Público paso a paso
Guía para descargar los datos abiertos de la Plataforma de Contratación del Sector Público: qué conjuntos hay, cómo se organizan los ZIP y cuánto ocupan.
Por David Carrero ·
Los datos de la Plataforma de Contratación del Sector Público (PLACSP) se descargan gratis y sin registro desde la página de datos abiertos del Ministerio de Hacienda. Hay cinco conjuntos de anuncios (licitaciones, contratos menores, plataformas agregadas, encargos a medios propios y consultas preliminares de mercado), y cada uno se publica como un feed Atom en XML que se empaqueta en ficheros ZIP: uno por año para los años cerrados y uno por mes para el año en curso. Si solo quieres el enlace, en nuestra página de Descargas tienes todos los ZIP anuales ordenados por tipo y año, apuntando al servidor oficial.
Lo que sigue explica qué hay en cada conjunto, cómo están organizados los ficheros y qué te vas a encontrar al abrirlos.
Los cinco conjuntos de datos
Hacienda publica un resumen oficial de los conjuntos con los campos que trae cada uno. En corto:
- Licitaciones por perfil de contratante. Es el grande. Recoge las licitaciones de los órganos que tienen su perfil de contratante alojado en la Plataforma, sin los contratos menores. Empieza el 1 de enero de 2012.
- Contratos menores. Los menores publicados por esos mismos perfiles, desde 2018.
- Plataformas agregadas. Licitaciones de organismos que publican en el sistema de su comunidad autónoma y llegan a la Plataforma por agregación. Desde 2016 y, de nuevo, sin menores.
- Encargos a medios propios. Encargos a empresas y entes instrumentales del propio sector público. Hacienda los fecha a partir de julio de 2021, aunque el primer ZIP anual disponible es el de 2022.
- Consultas preliminares de mercado. Las consultas que hace un órgano antes de redactar los pliegos. Desde abril de 2022.
Hay un sexto conjunto, el listado de órganos de contratación, que va aparte en una sola hoja de cálculo (OrganosContratacion.xlsx). Viene bien para cruzar nombres e identificadores, pero no contiene anuncios.
Ojo con un detalle que confunde a mucha gente: cada conjunto recoge una parte distinta. Un contrato menor no aparece en el de licitaciones, y lo que llega por agregación no está en el de perfiles. Si quieres «todo lo que hay en la Plataforma», necesitas varios.
Cómo están organizados los ficheros
Todos los conjuntos siguen el mismo esquema. Hay un feed vivo, un fichero .atom con una URL fija que se actualiza a diario, y hay archivos ZIP con el histórico:
- ZIP anual para cada año cerrado, con el patrón
nombre_AAAA.zip. Por ejemplo,licitacionesPerfilesContratanteCompleto3_2025.zip. - ZIP mensual para cada mes del año en curso, con el patrón
nombre_AAAAMM.zip(mes con dos cifras,202609para septiembre). Cada mensual recoge las actualizaciones de ese mes, y el del mes actual llega hasta el día anterior. - Para el año en curso Hacienda ofrece además un ZIP anual marcado como incremental, que va creciendo durante el año.
Estos son los nombres base de cada conjunto, tal como aparecen en las URL de descarga:
| Conjunto | Canal | Nombre base |
|---|---|---|
| Licitaciones | sindicacion_643 | licitacionesPerfilesContratanteCompleto3 |
| Contratos menores | sindicacion_1143 | contratosMenoresPerfilesContratantes |
| Plataformas agregadas | sindicacion_1044 | PlataformasAgregadasSinMenores |
| Encargos a medios propios | sindicacion_1383 | EMP_SectorPublico |
| Consultas preliminares | sindicacion_1403 | CPM_SectorPublico |
Con eso puedes montar cualquier URL a mano. La de licitaciones de 2025, por ejemplo, es:
https://contrataciondelsectorpublico.gob.es/sindicacion/sindicacion_643/licitacionesPerfilesContratanteCompleto3_2025.zip
Qué hay dentro de un ZIP
Al descomprimir no te encuentras un único XML, sino decenas o cientos de ficheros .atom. Cada uno tiene como mucho 500 entradas y apunta al siguiente con un enlace <link rel="next">. El orden va de lo más reciente a lo más antiguo, y Hacienda indica que hay que empezar siempre por el fichero que se llama igual que el feed (por ejemplo, licitacionesPerfilesContratanteCompleto3.atom). El último fichero de cada paquete enlaza con el primero del paquete anterior, así que los ZIP forman una cadena continua.
Cada entrada es una licitación en formato CODICE, el vocabulario XML que usa la administración española para la contratación electrónica. Dentro está casi todo lo que te interesa: número de expediente, estado, órgano de contratación, objeto, importes con y sin IVA, código CPV, lugar de ejecución y, cuando lo hay, adjudicatario e importe de adjudicación. El detalle de cada campo está en el documento de especificación de la sindicación, un PDF de 250 páginas que conviene tener a mano.
Una licitación puede aparecer muchas veces
Esto es lo que más sorprende la primera vez. Cada vez que un expediente cambia (se publica la adjudicación, se formaliza, se corrige un anuncio), la Plataforma añade una entrada nueva con el expediente completo y no borra la anterior. La propia página de Hacienda lo advierte: una licitación aparece tantas veces como modificaciones haya tenido. Para quedarte con la foto actual tienes que agrupar por el identificador de la entrada (<id>) y conservar la de fecha <updated> más reciente.
Para que te hagas una idea, el ZIP de plataformas agregadas de septiembre de 2026 tiene 34.501 entradas que corresponden a 15.403 licitaciones distintas.
También verás elementos <at:deleted-entry>, que marcan expedientes que han dejado de estar disponibles. Los generados desde julio de 2022 llevan un comentario que indica si la licitación se anuló (ANULADA) o se cerró y archivó (CERRADA).
Cuánto ocupan
Los tamaños varían muchísimo según el conjunto y el año. Estos son los de algunos ZIP tal como los sirve el servidor de la Plataforma en octubre de 2026:
| Fichero | Tamaño aproximado |
|---|---|
| Licitaciones 2012 | 16 MB |
| Licitaciones 2025 | 2,2 GB |
| Licitaciones, septiembre de 2026 | 300 MB |
| Contratos menores 2025 | 300 MB |
| Plataformas agregadas 2025 | 140 MB |
| Encargos a medios propios 2025 | 2 MB |
| Consultas preliminares 2025 | 0,7 MB |
Descomprimido, el XML ocupa bastante más: el ZIP de agregadas de septiembre pesa 20 MB y dentro hay unos 390 MB de .atom. Si vas a bajarte varios años de licitaciones, prevé decenas de gigas en disco y no intentes abrirlos con un editor de texto.
Paso a paso
- Elige el conjunto. Para un análisis general de licitaciones, empieza por licitaciones y añade plataformas agregadas si te interesan las comunidades autónomas con sistema propio. Los menores van aparte.
- Elige el periodo. Para años cerrados, el ZIP anual. Para lo que va de año, los mensuales.
- Descarga. Desde Descargas o desde la página oficial de cada conjunto en Hacienda. Por terminal:
curl -L -o licitaciones_2025.zip \
"https://contrataciondelsectorpublico.gob.es/sindicacion/sindicacion_643/licitacionesPerfilesContratanteCompleto3_2025.zip"
unzip licitaciones_2025.zip -d licitaciones_2025/
Si curl se queja del certificado, añade -k, pero comprueba antes que la URL es la de la Plataforma.
- Procésalo. Lo normal es leerlo con un script. En la ficha de licitaciones hay ejemplos en Python y PHP, y en Código tienes proyectos de código abierto que ya hacen la descarga y la carga en base de datos.
Si no programas, la Plataforma ofrece OpenPLACSP, una herramienta oficial y libre (funciona con Java en Windows o Linux) que convierte estos ficheros en una hoja de cálculo con los datos principales de cada licitación. Está enlazada desde la propia página de datos abiertos de Hacienda.
Preguntas frecuentes
¿Hace falta registrarse o pedir una clave? No. Los ZIP y los feeds son públicos y se descargan directamente.
¿Por qué el ZIP del año pasado no coincide con lo que veo hoy en la web de la Plataforma? Porque el ZIP es una foto de las actualizaciones de ese periodo. Un contrato licitado en 2025 y formalizado en 2026 tiene su última versión en los ficheros de 2026. Si quieres el estado actual de un expediente, busca su entrada más reciente en toda la serie.
¿Están aquí todos los contratos de España? No del todo. Faltan, por ejemplo, los contratos menores de los organismos que publican en plataformas autonómicas, porque el conjunto de agregadas los excluye. Además, la cobertura ha ido cambiando con los años a medida que se incorporaban órganos.
¿En qué formato están los importes?
En el XML, como números con punto decimal y el atributo currencyID="EUR". En el campo <summary> de cada entrada aparece un resumen en texto, pero para analizar conviene leer los elementos CODICE y no ese texto.
¿Cada cuánto se actualizan? A diario. El feed vivo y el ZIP del mes en curso incorporan las publicaciones del día anterior.