Quinta-feira, 27 de agosto de 2026

Aube.

As notícias do progresso
API pública

Programadores

Aube expõe as suas boas notícias em modo só de leitura: notícias publicadas, artigo completo, secções e séries numéricas com fonte. Uma chave, uma quota, uma regra — citar a fonte.

Começar

Todas as rotas vivem sob /api/v1 e autenticam-se por um cabeçalho Authorization: Bearer. As respostas são JSON UTF-8, o CORS está aberto em GET: uma chamada a partir de um navegador funciona.

Especificação completa (OpenAPI 3.1): /api/v1/openapi.json

Obter uma chave

Não há inscrição automática nesta primeira versão: escreva-nos descrevendo a utilização prevista, o volume esperado e o local onde aparecerá a atribuição. Criamos a chave à mão e enviamo-la.

A chave é entregue UMA só vez: guardamos apenas uma impressão digital SHA-256, pelo que não a podemos voltar a ler. Se for perdida ou exposta, é revogada e substituída — e uma revogação é definitiva.

Escreva-nos: [email protected]

Pontos de entrada

GET/api/v1/stories?lang=fr&topic=batteries&limit=20

Notícias publicadas, as mais recentes primeiro. Paginação por cursor opaco.

GET/api/v1/stories/{slug}?lang=en

O artigo completo: TL;DR, resumos, corpo em Markdown, fontes originais, idiomas disponíveis.

GET/api/v1/topics?lang=fr

As secções e o número de notícias publicadas.

GET/api/v1/metrics?lang=fr

«O número que sobe»: séries longas, cada uma com a sua fonte primária.

GET/api/v1/openapi.json

A própria especificação (pública, sem chave).

Parâmetros

  • lang — código ISO 639-1 (fr, en, zh…). O conteúdo é servido traduzido se a tradução existir, senão em inglês, senão na língua de origem.
  • topic — slug de secção (ver /topics).
  • limit — de 1 a 50 (20 por omissão).
  • cursor — o nextCursor da resposta anterior. Opaco: não o interprete, a sua codificação mudará.

Exemplos

# as últimas notícias
curl -H "Authorization: Bearer $AUBE_KEY" \
  "https://aube.news/api/v1/stories?lang=pt&limit=5"

# um artigo, em inglês
curl -H "Authorization: Bearer $AUBE_KEY" \
  "https://aube.news/api/v1/stories/mon-slug?lang=en"

# página seguinte (cursor opaco)
curl -H "Authorization: Bearer $AUBE_KEY" \
  "https://aube.news/api/v1/stories?limit=5&cursor=$CURSOR"
{
  "stories": [ /* … */ ],
  "nextCursor": "bzE6NQ",
  "lang": "en",
  "attribution": { "name": "Aube", "url": "https://aube.news" }
}

Quotas e erros

Cada chave tem uma quota diária reposta a zero à meia-noite. As respostas trazem X-RateLimit-Limit e X-RateLimit-Remaining; para além disso, a API responde 429 com Retry-After (em segundos) — e a chamada recusada não é descontada.

  • 400 — parâmetro inválido (limit fora dos limites, cursor ilegível…).
  • 401 — chave ausente, desconhecida ou revogada.
  • 404 — notícia desconhecida ou não publicada.
  • 429 — quota diária atingida.
  • 500 — erro do nosso lado: tente de novo, e depois assinale-nos.

Atribuição

Cada resposta traz um objeto attribution. Qualquer reutilização pública deve citar «Aube» e apontar para a página de origem (o campo url da notícia). Não é presunção: os nossos artigos remetem eles próprios para as suas fontes primárias, e essa cadeia de citações é o que distingue uma informação de um boato.

Na prática:

  • cite «Aube» junto do conteúdo reutilizado, com uma ligação clicável para story.url;
  • para as séries de /metrics, cite TAMBÉM a fonte primária fornecida (source.name / source.url);
  • não republique o corpo completo (bodyMd) de um artigo: reutilize o TL;DR ou um excerto, e remeta para Aube;
  • conserve a etiqueta «conteúdo patrocinado» (isSponsored) quando estiver presente — sem exceção.

Widget incorporável

A boa notícia do dia, em 180 píxeis de altura, sem cookies nem scripts de terceiros. Cole este iframe onde quiser:

<iframe src="https://aube.news/widget?lang=pt&theme=light"
        width="100%" height="180" frameborder="0"
        title="Aube — a boa notícia do dia"
        loading="lazy"></iframe>

Parâmetros: lang=fr|en|es|pt|de|it e theme=light|dark. O widget já traz a sua atribuição e abre o artigo em Aube num novo separador.

Pré-visualização

Boa utilização

Uma chamada por minuto basta para estar em dia: os artigos são publicados ao longo do dia, não ao segundo. Ponha as respostas em cache do seu lado, identifique o seu cliente com um User-Agent legível, e avise-nos antes de um pico de volume — ajustaremos a quota em vez de o cortar.

Como Aube trabalha

Programadores · Aube. · Aube.