Conecte o 12 Brain Jornal ao seu agente
três formas (MCP, RSS, API) leem os mesmos dados: seleção, repercussão e as edições diária, semanal e mensal. Escolha a que serve à sua ferramenta. Todas anônimas e somente leitura, sem cadastro e sem chave de API.
GET anônimo, pronto para usar
Sem token: funciona direto em requisição de navegador entre origens, no curl e nos clientes HTTP padrão de qualquer linguagem. O caminho é /api/v1, e os campos e códigos de erro seguem a OpenAPI.
curl --compressed 'https://jornal.12brain.org/api/v1/items?mode=selected&window=24h&limit=20'Filtrar por categoria
Acrescente category à requisição de novidades para trazer apenas aquela categoria; sem o parâmetro, vêm todas. O campo category de cada item devolvido usa os valores da tabela abaixo.
| Categoria | Parâmetro |
|---|---|
| Tecnologia | category=tecnologia |
| Produtos e serviços | category=produtos |
| Mercado | category=industry |
| Ciência | category=paper |
| Prática | category=tip |
| Opinião | category=opinion |
Mais econômico e mais rápido
- 01Ligue a compressão
No curl, use
--compressed; em outros clientes, habilite gzip ou br. O JSON comprimido fica entre 1/4 e 1/8 do tamanho. - 02Use o ETag
Guarde o ETag da resposta e envie
If-None-Matchna próxima. Sem mudança, a resposta é 304, sem corpo. - 03Respeite o ritmo
Novidades e repercussão, no máximo uma vez por minuto. A edição diária, uma vez depois de todos os dias às 08:00; a semanal e a mensal, uma vez após a publicação. Ao voltar páginas, pare no item que você já tem.
Com que frequência muda: novidades entram ao longo de todo o dia, a seleção muda de algumas a algumas dezenas de vezes por dia, e sai uma edição diária todos os dias às 08:00, uma semanal toda segunda-feira às 10:00 e uma mensal todo dia 1º às 10:30, no horário de Brasília.
Visão geral dos endpoints
| Caminho | Para que serve | Com que frequência |
|---|---|---|
| Novidades | ||
/api/v1/items | Seleção ou todas as novidades dos últimos 7 dias, com filtro por categoria, janela de tempo e palavra-chave | no máximo uma vez por minuto |
| Repercussão e eventos | ||
/api/v1/hot-topics | Os 10 fatos em maior repercussão agora | no máximo uma vez por minuto |
/api/v1/stories/{publicId} | A linha do tempo das reportagens de um fato, o panorama por IA e os fatos relacionados | quando precisar |
| Diário | ||
/api/v1/dailies/latest | A edição diária mais recente | uma vez após todos os dias às 08:00 |
/api/v1/dailies/{date} | Edição diária de uma data; matéria retirada deixa de ser citada | valide o ETag antes de usar, depois de o cache expirar |
/api/v1/dailies | Índice de datas das edições diárias | uma vez por dia |
| Semanal e mensal | ||
/api/v1/weeklies/latest | A edição semanal mais recente: manchete, panorama e os destaques da semana, por seção | uma vez após toda segunda-feira às 10:00 |
/api/v1/weeklies/{week} | Uma semana específica, em formato ISO como 2026-W39; matéria retirada deixa de ser citada | valide o ETag antes de usar, depois de o cache expirar |
/api/v1/weeklies | Índice das edições semanais | uma vez por semana |
/api/v1/monthlies/latest | A edição mensal mais recente | uma vez após todo dia 1º às 10:30 |
/api/v1/monthlies/{month} | Um mês específico, como 2026-09 | valide o ETag antes de usar, depois de o cache expirar |
/api/v1/monthlies | Índice das edições mensais | uma vez por mês |
| Para assistentes de IA | ||
/api/v1/agent | Instruções de uso para agentes; os endereços listados devolvem Markdown em português já organizado | quando precisar |
| Sincronização completa da seleção | ||
/api/v1/selected/snapshot | Toda a seleção atual, paginada até o fim | apenas na primeira vez |
/api/v1/selected/changes | Inclusões, alterações e retiradas posteriores | a cada poucos minutos |
Usos comuns
# Primeira vez: guarde o ETag do cabeçalho da resposta
curl --compressed -i 'https://jornal.12brain.org/api/v1/items?mode=selected&window=24h&limit=20'
# Depois, no máximo uma vez por minuto, enviando o ETag; 304 significa sem mudança
curl --compressed -i -H 'If-None-Match: <ETag anterior>' 'https://jornal.12brain.org/api/v1/items?mode=selected&window=24h&limit=20'Para voltar páginas, devolva page.nextCursor como cursor e pare ao alcançar o item que você já tem. Não releia os 7 dias inteiros a cada vez.
Quando der erro
- 400
- Parâmetro inválido: corrija pela OpenAPI e pelo code devolvido, sem trocar automaticamente por uma consulta mais ampla. Cursor inválido ou fora da janela devolve invalid_cursor; recomece da primeira página.
- 409
- snapshot_required: o incremento não pode continuar com segurança; tire um novo retrato completo.
- 429
- Requisições muito próximas: espere o Retry-After e não repita em paralelo.
- 5xx
- Use recuo exponencial e o último resultado bem-sucedido. O serviço público não promete SLA.
Poder chamar de forma anônima não significa que todo uso esteja autorizado: Uso anônimo e somente leitura. Cite o 12 Brain Jornal e preserve o link para a fonte original.. Veja Regras de uso.