API pública · v1
El mismo catálogo que ves en el sitio, listo para tu sistema. Se actualiza varias veces al día desde Talento Perú y trae algo que el portal oficial no da: las bases en PDF que cada entidad publica en su propia web, y el archivo de lo que ya cerró.
El dato es público y el sitio es gratis. Las entidades están obligadas a publicarlo por el D.S. 003-2018-TR, puedes consultarlo en el portal de SERVIR y puedes navegarlo acá sin pagar nada, siempre. Lo que se cobra es el trabajo: recogerlo varias veces al día de un portal que no guarda archivo, normalizarlo, seguir el enlace de cada entidad para cosechar las bases y servirlo listo para tu sistema.
Tres pasos y la primera llamada.
curl https://convocatoriasestado.pe/api/v1/convocatorias/?carrera=enfermeria \
-H "Authorization: Bearer cep_tu_clave_aqui"
También se acepta X-API-Key: cep_.... Lo que no se acepta
es la clave en la querystring: acabaría en los registros del servidor
y en el historial del navegador.
| Método y ruta | Qué devuelve |
|---|---|
GET /api/v1/convocatorias/ | Listado con filtros y paginación. |
GET /api/v1/convocatorias/{id}/ | Una convocatoria con todos los campos de ficha y sus documentos. |
GET /api/v1/entidades/ | Entidades con convocatorias. |
GET /api/v1/carreras/ | El vocabulario de carreras que acepta el filtro. |
GET /api/v1/departamentos/ | Departamentos con convocatorias abiertas. |
GET /api/v1/estado/ | Tu cuota. No descuenta del límite diario. |
/convocatorias/| Parámetro | Ejemplo | Qué hace |
|---|---|---|
carrera | enfermeria | Vocabulario cerrado. Consúltalo en /carreras/. |
departamento | LIMA | Como lo escribe el portal, en mayúsculas. |
categoria | ofertas_laborales | O modalidades_formativas para prácticas. |
entidad | poder-judicial | El slug que devuelve /entidades/. |
q | enfermera, tecnico | Texto libre. Las comas son alternativas. |
sueldo_min | 2500 | Remuneración mínima en soles. |
con_documentos | true | Sólo las que tienen bases cosechadas. |
publicadas_desde | 2026-08-01 | Para sincronizar sin rebajarte el catálogo entero. |
vigentes | false | Abre el archivo histórico. |
pagina · por_pagina | 2 · 100 | Máximo 100 por página. |
{
"total": 153,
"pagina": 1,
"paginas": 4,
"por_pagina": 50,
"resultados": [
{
"id": 7363,
"puesto": "TRABAJADORA SOCIAL",
"entidad": "HOSPITAL NAC DOCENTE M YN SAN BARTOLOME",
"numero_convocatoria": "276-002",
"departamento": "LIMA",
"vacantes": 1,
"remuneracion": 5300.0,
"moneda": "PEN",
"fecha_inicio": "2026-08-21",
"fecha_fin": "2026-09-03",
"vigente": true,
"url": "/convocatoria/7363-trabajadora-social/",
"enlace_entidad": "https://sanbartolome.gob.pe/..."
}
]
}
El detalle de una convocatoria añade los requisitos, el cronograma y
la lista de documentos con el enlace a cada PDF. Los
archivos no se alojan acá: se mapea el enlace que publica la entidad,
con su tipo, tamaño y hash de contenido para que puedas detectar
cuándo cambian.
Cada clave tiene una cuota por día y otra por minuto. La respuesta
trae siempre X-RateLimit-Limit y
X-RateLimit-Remaining, y al pasarte devuelve
429 con Retry-After en segundos.
Profesional
Escríbenos
Demo
Para evaluar
Alcanza para siete barridos completos del catálogo: suficiente para escribir tu integración y ver si el dato te sirve.
| Código | Cuándo |
|---|---|
401 falta_clave | No mandaste cabecera de autenticación. |
403 clave_invalida | La clave no existe o está desactivada. |
404 no_encontrada | Ese id no existe. |
400 carrera_desconocida | Un filtro con vocabulario cerrado trae un valor que no existe. |
429 cuota_agotada | Te pasaste del límite. Mira Retry-After. |
402 demo_agotada | Gastaste las llamadas de la demo. Es 402 y no 403 porque la clave está bien: lo que falta es contratar. |
402 demo_caducada | Pasaron los 14 días. |