La fuente entera, organizada y lista para consultar: cada endpoint de esta página responde en milisegundos. Cada respuesta incluye
as_of: qué tan actualizados están los datos. Cómo funcionan los datasets.Buscar resoluciones
POST /pe/tribunal-constitucional/rulings-search/v1 Dataset
Una sola búsqueda sobre el texto completo de todas las resoluciones desde 1996, filtrada por tipo, proceso, sala, expediente, año o fecha.
as_of (qué tan actualizados están los datos), los filtros aplicados, total (coincidencias en todas las páginas), page, per_page, total_pages, count y results[], de la publicación más reciente a la más antigua. Cada resultado incluye id (el identificador permanente del documento, p. ej. 2026/05005-2025-HC.pdf), registration_number (el expediente), proceeding_type_code y proceeding_type (p. ej. HC, Hábeas corpus), type (sentencia, auto o sentencia_interlocutoria), number (el número de una sentencia, p. ej. 181/2026), publication_date, year, chamber (Pleno, Sala Primera o Sala Segunda), judicial_district, case_id, text_status (ok, scanned o missing), official_url (el documento en el sitio del Tribunal) y case_url (la página del expediente allí).
Los resultados de búsqueda no incluyen el texto: una sola resolución puede tener cientos de miles de caracteres.
query sí busca dentro de él, así que una frase del cuerpo encuentra la resolución; para leer el texto usa el endpoint Tribunal Constitucional Ruling.Una resolución, completa
POST /pe/tribunal-constitucional/ruling/v1 Dataset
as_of, found, ruling_id y ruling, que trae todo lo que devuelve la búsqueda más content: una ventana sobre el texto completo de la resolución, con text, offset, total_length, has_more y next_offset. Cada resultado incluye id (el identificador permanente del documento, p. ej. 2026/05005-2025-HC.pdf), registration_number (el expediente), proceeding_type_code y proceeding_type (p. ej. HC, Hábeas corpus), type (sentencia, auto o sentencia_interlocutoria), number (el número de una sentencia, p. ej. 181/2026), publication_date, year, chamber (Pleno, Sala Primera o Sala Segunda), judicial_district, case_id, text_status (ok, scanned o missing), official_url (el documento en el sitio del Tribunal) y case_url (la página del expediente allí).
Las resoluciones largas se leen por rangos: envía
offset y limit, y luego pasa el next_offset de la respuesta como offset hasta que has_more sea falso. content es null cuando text_status es scanned (el Tribunal publicó la resolución como imagen) o missing; official_url sigue enlazando el documento.Un
id que el Tribunal no ha publicado devuelve found: false con HTTP 200, no un error.Referencia completa
Esquemas, todos los campos de respuesta y un playground interactivo.