File size: 3,890 Bytes
3f0614e 0c8be95 3f0614e 0c8be95 67ccdc9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | ---
title: API BUSCA JURISPRUDENCIA STF
emoji: 📈
colorFrom: yellow
colorTo: indigo
sdk: docker
pinned: false
license: agpl-3.0
---
# ⚖️ PARA AI - Busca na Jurisprudência do STF
Aplicação web e API para pesquisa de jurisprudência no Supremo Tribunal Federal (STF). Permite buscar acórdãos e decisões monocráticas, com paginação, visualização detalhada e links para o inteiro teor.
## 🚀 Funcionalidades
- Busca textual em **ementas**, **decisões** e **acórdãos/atas**.
- Seleção das bases: **Acórdãos** e/ou **Decisões Monocráticas**.
- Paginação dos resultados (10, 20, 50 ou 100 itens por página).
- Visualização detalhada de cada documento em página própria.
- Links diretos para o inteiro teor (PDF/HTML).
- Interface responsiva e amigável.
- Cache automático de token AWS WAF (Playwright).
## 📦 Tecnologias
- Python 3.9+
- Flask (backend e templates)
- Playwright (obtenção do token)
- Requests (comunicação com a API do STF)
## 🔧 Instalação
1. Clone o repositório
2. Instale as dependências:
```bash
pip install flask playwright requests certifi urllib3
```
1. Instale os navegadores do Playwright:
```bash
playwright install chromium
```
2. Execute a aplicação:
```bash
python app.py
```
3. Acesse no navegador: https://caarleexx-stf.hf.space/
📚 Endpoints da API
GET /api/busca-multipla
Busca documentos com os filtros selecionados.
Parâmetros:
Nome Tipo Obrigatório Descrição Padrão
q string sim Termo de busca -
acordaos bool não Incluir acórdãos (true/false) true
decisoes bool não Incluir decisões monocráticas (true/false) true
page int não Número da página 1
page_size int não Resultados por página (10,20,50,100) 20
Exemplo de requisição:
```bash
curl "https://caarleexx-stf.hf.space/api/busca-multipla?q=dano%20moral&acordaos=true&decisoes=true&page=1&page_size=10"
```
Exemplo de resposta:
```json
{
"q": "dano moral",
"bases": ["acordaos", "decisoes"],
"page": 1,
"page_size": 10,
"total": 42,
"total_acordaos": 35,
"total_decisoes": 7,
"resultados": [
{
"id": "sjur123456",
"titulo": "RE 123456 AgR",
"processo": "RE 123456 AgR",
"relator": "MIN. NOME",
"orgao": "Segunda Turma",
"data": "2023-01-15",
"publicacao": "2023-02-10",
"ementa": "EMENTA: ...",
"decisao_texto": "...",
"acordao_ata": "...",
"url_documento": "https://portal.stf.jus.br/jurisprudencia/obterInteiroTeor.asp?idDocumento=...",
"base": "acordaos",
"score": 12.34
}
]
}
```
GET /api/documento/<doc_id>
Retorna os dados completos de um documento específico.
Exemplo:
```bash
curl "http://localhost:7860/api/documento/sjur123456"
```
Resposta similar ao item individual do endpoint anterior.
GET /api/health
Verifica o status da aplicação e do token.
Exemplo:
```json
{
"status": "healthy",
"playwright_ready": true,
"token_cached": true
}
```
🌐 Interface Web
Acesse a raiz (/) para utilizar a interface gráfica.
· Selecione as bases desejadas.
· Digite os termos de busca.
· Clique em PESQUISAR ou pressione Enter.
· Navegue pelos resultados com os botões de paginação.
· Clique em "Ver detalhes completos" para abrir a página individual.
· Use os links "Inteiro teor" para acessar o documento original no site do STF.
⚙️ Configuração de ambiente
Variável Descrição Padrão
PORT Porta do servidor Flask 7860
📝 Notas
· O token AWS WAF é obtido automaticamente via Playwright e armazenado em cache por 10 minutos.
· Em caso de falha de token, a aplicação tenta renová-lo automaticamente uma vez.
· A API do STF utilizada é https://jurisprudencia.stf.jus.br/api/search/search.
📄 Licença
Este projeto é de código aberto. Sinta-se à vontade para contribuir.
---
Desenvolvido por PARA AI - convergent law technologies. |