📡 Documentação da API

Acesso público e gratuito aos artigos do Onood News. Ideal para protótipos, apps mobile e integrações.

🔒 Rate Limit

Para garantir estabilidade, a API pública possui limite de 100 requisições por dia por IP.

  • O contador reseta automaticamente à 00:00 UTC
  • Se exceder: resposta HTTP 429 com JSON explicativo
  • Dica: Use cache local (5-10 min) para reduzir requisições
Exemplo de resposta ao exceder:
{
  "error": "Rate limit exceeded",
  "message": "Você atingiu o limite de 100 requisições diárias. Tente novamente amanhã.",
  "retry_after": "24h"
}
GET /api/articles

Retorna lista de artigos publicados em JSON, ordenados do mais recente para o mais antigo.

Parâmetros (Query String)

ParâmetroTipoObrigatórioDescrição
limitInteiroNãoQuantidade de itens (máx: 50). Padrão: 10.
categoryStringNãoFiltra por nome da categoria (aceita com/sem acento). Ex: saude, Saúde.

Exemplo de Requisição

https://www.onoodnews.com.br/api/articles?category=saude&limit=5

Resposta (JSON)

[
  {
    "id": "uuid...",
    "title": "Nova bateria de 1000km revoluciona mercado",
    "slug": "a1b2c3d4e5f6",
    "summary": "Pesquisa da universidade X demonstra...",
    "image_url": "https://.../img/xxx.webp",
    "reading_time": 4,
    "author": "Equipe Onood",
    "created_at": "2026-05-15T10:30:00",
    "featured": true,
    "categories": { "name": "Tecnologia", "slug": "tecnologia", "icon": "" }
  }
]
GET /api/articles/:slug

Retorna os dados completos de um artigo específico em JSON, incluindo artigos relacionados.

Parâmetro de Rota

ParâmetroTipoDescrição
slugString (12 chars)ID único do artigo (ex: a1b2c3d4e5f6)

Exemplo de Requisição

https://www.onoodnews.com.br/api/articles/a1b2c3d4e5f6

Resposta (JSON)

{
  "id": "uuid...",
  "title": "Título completo...",
  "content_html": "

Conteúdo da notícia...

", "image_url": "...", "reading_time": 5, "related": [ ... ] }
RSS /rss

Feed RSS 2.0 compatível com todos os leitores. Inclui texto completo, imagem de capa e metadados padrão.

Características

  • <content:encoded> com HTML completo do artigo
  • <enclosure> com URL da imagem de capa (WebP)
  • <pubDate> no formato RFC 822
  • <guid> com link permanente do artigo
  • Cache HTTP de 5 minutos (max-age=300)

Exemplo de Requisição

https://www.onoodnews.com.br/rss

Exemplo de Item (XML)

<item>
  <title><![CDATA[Título do artigo]]></title>
  <link>https://www.onoodnews.com.br/article/abc123</link>
  <description><![CDATA[Resumo curto...]]></description>
  <content:encoded><![CDATA[<p>Conteúdo completo...</p>]]></content:encoded>
  <enclosure url="https://.../img/xxx.webp" type="image/webp" />
  <pubDate>Mon, 15 May 2026 10:30:00 +0000</pubDate>
  <guid isPermaLink="true">https://www.onoodnews.com.br/article/abc123</guid>
</item>

Apps Compatíveis

Akregator (KDE) Feedly Inoreader NetNewsWire Feedme (Android) Reeder (iOS)

💡 Dicas de Integração

  • Teste rápido: Abra a URL direto no navegador ou use curl no terminal.
  • Apps Mobile (Sketchware/Flutter/React Native): Use a API JSON com componente Web/HTTP + JSON Decode.
  • Leitores RSS: Use o link https://www.onoodnews.com.br/rss para integração nativa com Feedly, Akregator, etc.
  • Cache: Recomendado cachear respostas por 5-10 min para economizar dados e acelerar o app.
  • CORS: Habilitado para APIs JSON. RSS não requer CORS.
  • Trate o erro 429: Se receber HTTP 429 na API JSON, mostre uma mensagem amigável e aguarde.
🔗 Link da página do artigo:
Para abrir a notícia no site, use:
https://www.onoodnews.com.br/article/ + slug