Développeurs & IA

API PubliqueS30.

Flux JSON unauthentifié d'articles publiés et de termes du glossaire. Conçu pour les crawlers IA, les lecteurs de flux, les intégrations développeur et les systèmes RAG.

Aucune authentificationCORS ouvertJSONCache 5–60 minCC-BY 4.0

URL de base : https://s30.matous les endpoints sont accessibles sans clé API. Les réponses incluent les headers Access-Control-Allow-Origin: * et Cache-Control.

GET/api/public/posts

Articles publiés

Retourne la liste paginée des articles publiés, triés par date de publication décroissante. Chaque article inclut son contenu brut et ses champs IA / GEO lorsqu'ils ont été renseignés.

Paramètres

ParamètreTypeDéfautDescription
pagenumber1Numéro de page (commence à 1).
limitnumber20Articles par page. Maximum : 50.
categorystringFiltre par slug de catégorie (ex. coupe-du-monde-2026).

Réponse

{
  "articles": [
    {
      "id": "abc123",
      "title": "Le Maroc et ses champions nationaux",
      "slug": "maroc-champions-nationaux",
      "url": "https://s30.ma/article/maroc-champions-nationaux",
      "markdownUrl": "https://s30.ma/article/maroc-champions-nationaux.md",
      "excerpt": "Résumé de l'article en 1-2 phrases.",
      "body": "Contenu complet en texte brut...",
      "author": { "name": "Yasmine Alaoui", "slug": "yasmine-alaoui" },
      "category": { "title": "Entreprise marocaine", "slug": "entreprise-marocaine" },
      "tags": ["entrepreneuriat", "PME"],
      "publishedAt": "2026-05-15T10:00:00.000Z",
      "updatedAt": "2026-05-16T08:30:00.000Z",
      "readingTime": 5,
      "coverImage": "https://s30.ma/media/image.webp",

      // ── Champs IA / GEO ─────────────────────────────────────────────────────
      "citableQuote": "Phrase directement citable par les LLMs.",
      "keyFacts": ["Fait vérifiable 1", "Fait vérifiable 2"],
      "faqItems": [{ "question": "Qu'est-ce que X ?", "answer": "X est..." }],
      "llmSummary": "Résumé neutre de 150-200 mots pour les LLMs.",
      "directAnswer": "Réponse directe à la question principale (2-3 phrases).",
      "tldr": "Résumé ultra-court (300-500 caractères).",
      "keyTakeaways": ["Point clé 1", "Point clé 2", "Point clé 3"],
      "questionsAnswered": [{ "question": "Q ?", "briefAnswer": "R." }]
    }
  ],
  "total": 120,
  "page": 1,
  "limit": 20,
  "hasMore": true
}

Champs IA / GEO citableQuote, keyFacts, faqItems, llmSummary, directAnswer, tldr, keyTakeaways, questionsAnswered sont présents uniquement quand ils ont été renseignés par l'équipe éditoriale dans la section IA / GEO de chaque article. Chaque article dispose aussi d'une version Markdown via /article/[slug].md.

Exemple

const res = await fetch(
  "https://s30.ma/api/public/posts?page=1&limit=20&category=coupe-du-monde-2026"
);
const { articles, total, hasMore } = await res.json();

// Chaque article dispose aussi d'une version Markdown :
// https://s30.ma/article/[slug].md
GET/api/public/glossary

Glossaire

Retourne la liste paginée des termes du glossaire publiés, triés alphabétiquement. Optimisé pour l'ingestion par les LLMs et les systèmes RAG qui ont besoin de définitions économiques marocaines de référence.

Paramètres

ParamètreTypeDéfautDescription
pagenumber1Numéro de page (commence à 1).
limitnumber50Termes par page. Maximum : 50.
industrystringFiltre par contexte industrie : maroc-economique, entrepreneuriat, sport-business, coupe-du-monde-2026, vision-2030, general.

Réponse

{
  "terms": [
    {
      "id": "term123",
      "term": "Capital-investissement",
      "slug": "capital-investissement",
      "shortDefinition": "Financement en fonds propres d'entreprises non cotées...",
      "examples": ["Exemple d'usage dans un contexte marocain."],
      "commonAcronyms": ["CI", "PE"],
      "industryContext": "entrepreneuriat",
      "url": "https://s30.ma/glossaire/capital-investissement"
    }
  ],
  "total": 42,
  "page": 1,
  "limit": 50,
  "hasMore": false
}

Exemple

const res = await fetch(
  "https://s30.ma/api/public/glossary?industry=entrepreneuriat&limit=50"
);
const { terms, total } = await res.json();

Licence

Le contenu exposé par cette API est distribué sous licence Creative Commons CC-BY 4.0. Vous pouvez librement utiliser, redistribuer et adapter ce contenu à condition de mentionner S30 Morocco comme source.

Contact : s30.ma/collaborer