Banco Mundial¶
La fuente con mejor relación señal/esfuerzo del sistema. Tres APIs distintas, todas sin autenticación.
Las versiones no son uniformes
procnotices va por v2, wds va por v3. No asumir uniformidad al construir
las URLs.
1. Procurement Notices — carriles A y C¶
GET https://search.worldbank.org/api/v2/procnotices
Abierto, sin API key, sin login, sin cookie. Devuelve JSON. Cubre avisos publicados desde septiembre de 2005 con actualización diaria.
Parámetros útiles: format=json, rows (tamaño de página), os (offset),
project_ctry_name, sector_exact, procurement_method_code.
Estructura de respuesta: objeto con procnotices y total. Cada aviso trae id,
notice_text, project_ctry_name, notice_type, submission_date.
Mapeo al contrato:
| Campo BM | Campo contrato |
|---|---|
id |
id_nativo |
notice_text |
titulo / texto_crudo |
project_ctry_name |
pais |
notice_type |
tipo_aviso, escalon |
submission_date |
fecha_limite_utc |
Para el carril C
Los avisos de adjudicación salen por el mismo endpoint. No filtrarlos: cambiar el tipo de aviso consultado es todo lo que separa el carril A del carril C.
Sin verificar
El parámetro de texto libre qterm aparece en ejemplos de terceros para este endpoint,
no en documentación oficial que hayamos leído. Probar antes de depender de él.
2. Projects API — carril B¶
GET https://search.worldbank.org/api/v2/projects
Da acceso a operaciones en estado activo, pipeline y cerrado. El estado pipeline es literalmente el carril B servido en bandeja: proyectos aprobados o en gestación cuyo dinero todavía no se convirtió en licitaciones.
Acepta países como códigos ISO alfa-2. Sin API key.
Uso: snapshot semanal completo de proyectos en países AR IV con sector hidromet o DRR; diff contra el snapshot anterior; reportar transiciones de estado.
3. Documents & Reports API — carril B¶
GET https://search.worldbank.org/api/v3/wds
Búsqueda y recuperación de los documentos públicos del Banco. Funciona como REST, aceptando la consulta en el query string de un GET.
Parámetros:
qterm— consulta de texto libre. Un registro coincide si las palabras aparecen en el título, el abstract, el número de reporte, el número o nombre del proyecto asociado, el país, la región u otros campos centrales.fl— lista de campos a devolver, separados por comaformat—jsonoxml
Ejemplo de la documentación oficial:
https://search.worldbank.org/api/v3/wds?format=json&qterm=wind%20turbine&fl=docdt,count
Es la herramienta para la taxonomía técnica
Acá es donde tienen sentido los términos del estrato 3: ODIM_H5, CF/Radial, vendor neutral, WMO-No. 1257. No aparecen en títulos de licitación, pero sí en PID y PAD.
Modos de fallo¶
- Cambio silencioso de nombre de campo. Detección: test de contrato contra un payload congelado en el repo, que corre en CI y falla cuando la forma cambia.
- Respuesta vacía por parámetro inválido. El endpoint puede devolver 200 con cero resultados. Detección: alerta si una fuente lleva N corridas devolviendo cero.
- Ser respetuosos con el servidor: delays razonables entre peticiones en cargas masivas y caché de resultados.