Jeudi 27 août 2026

Aube.

Les nouvelles du progrès
API publique

Développeurs

Aube expose ses bonnes nouvelles en lecture seule : stories publiées, article complet, rubriques et séries chiffrées sourcées. Une clé, un quota, une règle — citer la source.

Démarrer

Toutes les routes vivent sous /api/v1 et s’authentifient par un en-tête Authorization: Bearer. Les réponses sont du JSON UTF-8, le CORS est ouvert en GET : un appel depuis un navigateur fonctionne.

Spécification complète (OpenAPI 3.1) : /api/v1/openapi.json

Obtenir une clé

Pas d’auto-inscription pour cette première version : écrivez-nous en décrivant l’usage prévu, le volume attendu et l’endroit où l’attribution apparaîtra. Nous créons la clé à la main et vous la transmettons.

La clé est remise UNE seule fois : nous n’en gardons qu’une empreinte SHA-256, nous ne pouvons donc pas vous la relire. Si elle est perdue ou exposée, elle est révoquée et remplacée — une clé révoquée l’est définitivement.

Nous écrire : [email protected]

Points d’entrée

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

Stories publiées, plus récentes d’abord. Pagination par curseur opaque.

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

L’article complet : TL;DR, résumés, corps Markdown, sources originales, langues disponibles.

GET/api/v1/topics?lang=fr

Les rubriques et le nombre de stories publiées.

GET/api/v1/metrics?lang=fr

« Le chiffre qui monte » : séries longues, chacune avec sa source primaire.

GET/api/v1/openapi.json

La spécification elle-même (publique, sans clé).

Paramètres

  • lang — code ISO 639-1 (fr, en, zh…). Le contenu est servi traduit si la traduction existe, sinon en anglais, sinon en langue d’origine.
  • topic — slug de rubrique (cf. /topics).
  • limit — 1 à 50 (20 par défaut).
  • cursor — le nextCursor de la réponse précédente. Opaque : ne l’interprétez pas, son encodage changera.

Exemples

# les dernières stories
curl -H "Authorization: Bearer $AUBE_KEY" \
  "https://aube.news/api/v1/stories?lang=fr&limit=5"

# un article, en anglais
curl -H "Authorization: Bearer $AUBE_KEY" \
  "https://aube.news/api/v1/stories/mon-slug?lang=en"

# page suivante (curseur opaque)
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 et erreurs

Chaque clé porte un quota journalier remis à zéro à minuit. Les réponses portent X-RateLimit-Limit et X-RateLimit-Remaining ; au-delà, l’API rend 429 avec Retry-After (en secondes) — et l’appel refusé n’est pas décompté.

  • 400 — paramètre invalide (limit hors bornes, curseur illisible…).
  • 401 — clé absente, inconnue ou révoquée.
  • 404 — story inconnue ou non publiée.
  • 429 — quota journalier atteint.
  • 500 — erreur de notre côté : réessayez, puis signalez-la-nous.

Attribution

Chaque réponse porte un objet attribution. Toute réutilisation publique doit citer « Aube » et pointer vers la page d’origine (le champ url de la story). Ce n’est pas de la coquetterie : nos articles renvoient eux-mêmes à leurs sources primaires, et cette chaîne de citations est ce qui distingue une information d’une rumeur.

En pratique :

  • citez « Aube » à côté du contenu repris, avec un lien cliquable vers story.url ;
  • pour les séries de /metrics, citez AUSSI la source primaire fournie (source.name / source.url) ;
  • ne republiez pas le corps complet (bodyMd) d’un article : reprenez le TL;DR ou un extrait, et renvoyez vers Aube ;
  • conservez l’étiquette « contenu sponsorisé » (isSponsored) quand elle est présente — sans exception.

Widget embarquable

La bonne nouvelle du jour, en 180 pixels de haut, sans cookie ni script tiers. Collez cette iframe où vous voulez :

<iframe src="https://aube.news/widget?lang=fr&theme=light"
        width="100%" height="180" frameborder="0"
        title="Aube — la bonne nouvelle du jour"
        loading="lazy"></iframe>

Paramètres : lang=fr|en|es|pt|de|it et theme=light|dark. Le widget porte déjà son attribution et ouvre l’article sur Aube dans un nouvel onglet.

Aperçu

Bon usage

Un appel par minute suffit à rester à jour : les articles sont publiés au fil de la journée, pas à la seconde. Mettez les réponses en cache de votre côté, identifiez votre client par un User-Agent lisible, et prévenez-nous avant un pic de volume — nous ajusterons le quota plutôt que de vous couper.

Comment Aube travaille

Développeurs · Aube. · Aube.