El recorrido de un documento
- Se descarga del portal donde la administración lo publicó, y se guarda su dirección original para poder volver a ella.
- Se le calcula una huella (sha256). Si el documento cambiara en origen, la huella no coincidiría y se sabría.
- Se intenta leer su texto. Si el PDF trae texto propio, se lee sin pérdida. Si es un escaneo, hay que reconocer las letras de la imagen, y ahí aparecen errores.
- Se guarda la imagen de las páginas que van a revisarse a ojo, con su propia huella, dentro de la base de datos — no como un fichero suelto que pueda desemparejarse de su lectura.
- Se intenta atribuirlo a un expediente y a unas empresas. Cuando la atribución no es segura, se dice.
Qué significa cada etiqueta
- contrato localizado
- La clave del expediente identifica un contrato concreto de nuestra base, y solo uno. Se puede contrastar.
- contrato no recolectado
- El expediente se identifica sin ambigüedad, pero su contrato no está aquí — normalmente porque su año no se ha recolectado. No quiere decir que no exista.
- ambiguo
- La clave casa con varios contratos y no hay forma de elegir. Se enseña marcado: ocultarlo sería mentir por omisión, y elegir uno sería afirmar sin saber.
- clave rescatada de OCR
- La clave venía mal leída (típicamente un cero donde había una letra O) y se corrigió con una regla. Se dice porque no merece la misma confianza que una leída bien; al lado se muestra lo que ponía el papel.
- pendiente de revisión
- Lo propuso un modelo automático. Nadie lo ha comprobado y no se suma a ninguna cifra de esta web.
- OCR
- La página se leyó reconociendo letras en una imagen. Puede tener errores; por eso siempre se enseña el escaneo al lado.
Por qué las claves llevan un prefijo raro
Un expediente se identifica como C048CON:2025-149 y no como
2025-149. El trozo de delante es el órgano que lo tramita,
y hace falta: sin él, la clave 2025-1 casaba con
33 contratos distintos, y los documentos de un expediente acababan
atribuidos a otro sin que nadie se diera cuenta. Cuando el documento no trae prefijo,
la clave empieza por : — se declara que falta en vez de inventarlo.
La regla que gobierna todo lo demás
Ningún dato se presenta como verificado si no lo ha revisado una persona con el documento delante, y esa persona queda registrada. Por eso hay tablas vacías en cobertura: no han fallado, están esperando a que alguien haga ese trabajo.
Esta web solo lee la base de datos. Se conecta con un usuario que no tiene permiso de escritura, así que desde aquí no se puede firmar, corregir ni borrar nada, ni por error ni a propósito.
Qué no se puede concluir de esta web
Que un contrato aparezca aquí no dice nada sobre si fue correcto. Que una empresa aparezca muchas veces no prueba trato de favor. Que algo no esté no significa que no ocurriera: significa que no lo hemos encontrado, o que no se publicó.
Y hay límites concretos, medidos, que conviene saber antes de sacar conclusiones. Están repetidos en cada página donde importan, pero reunidos son estos:
| Lo que NO se puede afirmar | Por qué |
|---|---|
| Cuánto se ha gastado en total | Los importes son mínimos conocidos: no todos los contratos publican cifra. El total real es mayor, nunca menor. |
| Que una empresa concurrió a un expediente | Que su nombre y el del expediente salgan en el mismo papel es coaparición, no participación: un acta de la Mesa trata muchos expedientes de golpe. Los contratos adjudicados salen del NIF que declara la fuente, aparte. |
| Que dos contratos de una empresa se solaparon | Hace falta la duración de cada uno, y el perfil del contratante solo la publica en 22 de 899 actos. Encadenar adjudicaciones por fecha no prueba solapamiento, y la ficha lo dice donde toca. |
| Que un modificado respetó el 20 % del art. 205 LCSP | 19 de 22 modificados no publican en qué porcentaje encarecen el contrato. Sin ese dato el límite no se puede comprobar desde fuera — ni para bien ni para mal. |
| Que 0 alertas significa que todo está en orden | Significa que no hay ningún dato publicado que dispare una. Es distinto. |
| Que dos nombres parecidos son la misma empresa | Las listas de licitadores no publican el NIF: el cruce va por nombre. «FEDERICO CUELLAR, S.L.» y «FEDERICO CUELLAR, S.A» se parecen y pueden ser dos sociedades. |
| Que una empresa vive del Ayuntamiento en euros | De la facturación pública se cuentan contratos, nunca importes: el euro de esa fuente no está afinado y por eso no se publica. |
| Que un cargo en una empresa implica algo | Administrar una empresa que contrata con el Ayuntamiento es lo normal. Lo que importaría —que esa persona esté además en la Mesa que le adjudicó— se cruza aparte y hoy da 0 coincidencias. |
| Que lo de «Lo que se ha dicho» es un dato nuestro | Son citas de terceros —prensa, tribunales, sindicatos— con su enlace. No alimentan ningún ranking ni ninguna alerta. |
Los límites de cobertura, con cifras de cuánto se ha mirado y cuánto no, están en qué se ha mirado y qué no.
Llevarse los datos
Cualquier listado del catálogo se descarga con los filtros que tengas puestos, en dos formatos:
/v6/catalogo.csv— separado por;y con BOM, para que Excel no destroce los acentos./v6/catalogo.json— incluye los filtros aplicados, el total que cumple el filtro y si la descarga se ha truncado.
Aceptan los mismos parámetros que la página: q, tipo,
fuente, anio, estado_texto,
con_imagen y orden. Y cada documento tiene una dirección
estable —/v6/documento/{id}— que puedes citar.
No hay una API pública documentada más allá de esto. Si necesitas algo distinto, dilo: es más útil saber para qué que abrir una API a ciegas.
Errores
Los habrá. El OCR se equivoca, las claves vienen rotas y las reglas de rescate pueden fallar. Cada ficha enlaza al documento original y enseña su huella justamente para que cualquiera pueda comprobarlo sin fiarse de nosotros.