A fonte inteira, organizada e pronta para consultar: cada endpoint desta página responde em milissegundos. Cada resposta traz
as_of: o quão atuais são os dados. Como funcionam os datasets.Buscar resoluções
POST /pe/tribunal-constitucional/rulings-search/v1 Dataset
Uma única busca sobre o texto completo de todas as resoluções desde 1996, filtrada por tipo, processo, sala, expediente, ano ou data.
as_of (o quão atuais são os dados), os filtros aplicados, total (correspondências em todas as páginas), page, per_page, total_pages, count e results[], da publicação mais recente à mais antiga. Cada resultado traz id (o identificador permanente do documento, p. ex. 2026/05005-2025-HC.pdf), registration_number (o expediente), proceeding_type_code e proceeding_type (p. ex. HC, Hábeas corpus), type (sentencia, auto ou sentencia_interlocutoria), number (o número de uma sentença, p. ex. 181/2026), publication_date, year, chamber (Pleno, Sala Primera ou Sala Segunda), judicial_district, case_id, text_status (ok, scanned ou missing), official_url (o documento no site do Tribunal) e case_url (a página do processo lá).
Os resultados da busca não incluem o texto: uma única resolução pode ter centenas de milhares de caracteres.
query busca dentro dele, então uma frase do corpo encontra a resolução; para ler o texto use o endpoint Tribunal Constitucional Ruling.Uma resolução, completa
POST /pe/tribunal-constitucional/ruling/v1 Dataset
as_of, found, ruling_id e ruling, que traz tudo o que a busca retorna mais content: uma janela sobre o texto completo da resolução, com text, offset, total_length, has_more e next_offset. Cada resultado traz id (o identificador permanente do documento, p. ex. 2026/05005-2025-HC.pdf), registration_number (o expediente), proceeding_type_code e proceeding_type (p. ex. HC, Hábeas corpus), type (sentencia, auto ou sentencia_interlocutoria), number (o número de uma sentença, p. ex. 181/2026), publication_date, year, chamber (Pleno, Sala Primera ou Sala Segunda), judicial_district, case_id, text_status (ok, scanned ou missing), official_url (o documento no site do Tribunal) e case_url (a página do processo lá).
As resoluções longas são lidas por intervalos: envie
offset e limit, depois passe o next_offset da resposta como offset até que has_more seja falso. content é null quando text_status é scanned (o Tribunal publicou a resolução como imagem) ou missing; official_url continua apontando para o documento.Um
id que o Tribunal não publicou retorna found: false com HTTP 200, não um erro.Referência completa
Esquemas, todos os campos de resposta e um playground interativo.