Gratuite · Sans clé d'API · Sans limite

L'API de la Bible by Midvash

Versets, chapitres et livres de 107 versions libres de la Bible en 67 langues. Du JSON en HTTPS, appelable depuis le navigateur. Sans inscription, sans clé.

Obtenez un verset en un appel

Appelez l'API directement. Sans configuration, sans authentification.

const res = await fetch('https://api.midvash.com/v1/kjv/john/3/16');
const { data, meta } = await res.json();
console.log(data.text);
console.log(meta.copyright); // show it with the text

Pourquoi l'utiliser

107 versions libres

Louis Segond 1910, Darby, Crampon, Martin 1744, KJV, BSB et bien d'autres, en 67 langues. Toutes dans le domaine public ou sous licence libre.

Crédit inclus

Chaque réponse contenant du texte biblique fournit la mention de copyright de la version. L'attribution est à portée d'un champ.

Rapide à l'edge

Servie depuis l'edge de Cloudflare avec un cache longue durée et des ETag. Une revalidation renvoie un 304 sans corps.

Sans clé, sans limite

Pas d'inscription, pas de clé d'API, pas de 429. CORS ouvert : appelez-la depuis n'importe quelle page web.

Versions et licences

107 versions en 67 langues, toutes dans le domaine public ou sous licence libre. Cliquez sur une version pour voir ses métadonnées et le texte complet de sa licence.

Affichez le crédit à côté du texte

Chaque réponse contenant du texte biblique inclut le crédit de la version : meta.copyright en v1, copyright dans /v1/votd et les routes historiques. Affichez-le près du passage. Les licences CC BY et CC BY-SA l'exigent.

Vous demandez une version que nous ne servons plus ?

Les versions dont tous les droits sont réservés (NIV, ESV, NLT, NVI, ARA, NVT, NTV et autres) ne sont pas servies. Les anciens liens fonctionnent toujours : vous recevez une version libre de la même langue, et data.version indique laquelle.

Référence de l'API

Tous les endpoints v1. Cliquez sur "Tester" pour faire une vraie requête et voir le JSON.

Contenu biblique

GET /v1/{version}/{book}/{chapter}

Renvoie un chapitre biblique complet

Paramètres
version path requis Slug de la version (ex. : kjv, almeida-livre)
book path requis Slug du livre dans n'importe quelle langue
chapter path requis Numéro de chapitre
preview query optionnel Tronque le texte à environ N caractères (40 à 2000), pour les infobulles
GET /v1/{version}/{book}/{chapter}/{verse}

Renvoie un verset unique ou une plage (16 ou 16-20)

Paramètres
version path requis Slug de la version (ex. : kjv, almeida-livre)
book path requis Slug du livre dans n'importe quelle langue
chapter path requis Numéro de chapitre
verse path requis Verset unique (16) ou plage (16-20)
GET /v1/votd

Verset du jour : le même pour tous le même jour UTC, avec le copyright de la version (cache de 24 h)

Paramètres
language query optionnel Locale (en, pt-br, es, fr, de, it, zh, ru, ko). Par défaut : en.
version query optionnel Slug de la version. Par défaut : version canonique du locale choisi.

Lots et analyse

GET /v1/passages

Récupère jusqu'à 50 références en un appel. Une référence invalide échoue seule, à sa propre position.

Paramètres
refs query requis Références séparées par des virgules (50 max.)
version query requis Slug de la version
GET /v1/parse

Analyse une référence en texte libre (dans l'une des 9 langues) et renvoie livre, chapitre et versets

Paramètres
q query requis Référence en texte libre, ex. : Jean 3:16-18
version query optionnel Optionnel. Validé puis renvoyé dans la réponse

Versions et livres

GET /v1/versions

Liste toutes les versions bibliques disponibles (107), avec le texte de licence

Paramètres
language query optionnel Filtrer par code de langue ISO (voir /v1/versions pour la liste complète)
GET /v1/versions/{slug}

Renvoie les métadonnées d'une version spécifique

Paramètres
slug path requis Slug dans n'importe quelle langue
GET /v1/books

Liste les 66 livres de la Bible

Paramètres
testament query optionnel "old" ou "new"
GET /v1/books/{slug}

Renvoie les métadonnées d'un livre (slug accepté dans n'importe quelle langue)

Paramètres
slug path requis Slug dans n'importe quelle langue

Guides à copier-coller

La même requête, dans les outils que vous utilisez déjà.

Récupérer un verset /v1/kjv/john/3/16

curl https://api.midvash.com/v1/kjv/john/3/16

Lister les versions d une langue /v1/versions?language=pt-br

curl 'https://api.midvash.com/v1/versions?language=pt-br'

Verset du jour /v1/votd?language=en

curl 'https://api.midvash.com/v1/votd?language=en'

Format de réponse et cache

Chaque endpoint v1 parle le même enveloppe JSON et les mêmes règles de cache HTTP.

Enveloppe de succès

Les réponses réussies encapsulent la charge utile dans un champ data de premier niveau. Les endpoints de listes et de contenu ajoutent un objet meta optionnel avec les totaux, la référence résolue et, dès qu'il y a du texte biblique, le copyright de la version.

{
  "data": {
    "version": "kjv",
    "book": "john",
    "bookName": "John",
    "chapter": 3,
    "verse": 16,
    "verseEnd": 16,
    "text": "For God so loved the world…",
    "verses": ["For God so loved the world…"]
  },
  "meta": {
    "reference": "John 3:16",
    "total": 1,
    "copyright": "King James Version (KJV)\nPublic Domain.\n…"
  }
}

HTTP et cache

CacheLe contenu est immuable — mis en cache un an (max-age=31536000, immutable). Le nouveau contenu arrive sous une nouvelle URL, jamais dans un corps modifié.
RevalidationChaque réponse porte un ETag fort. Envoyez If-None-Match et vous obtenez 304 Not Modified sans corps.
CORSOuverte à toute origine (Access-Control-Allow-Origin: *). Appelez-la directement depuis le navigateur — sans proxy.
MéthodesGET, HEAD et OPTIONS. HEAD ne renvoie que les en-têtes ; OPTIONS gère le preflight CORS.
Une exception — /v1/votd

Le verset du jour renvoie un objet plat (reference, text, version, book_slug, chapter, verse_start, verse_end, url, copyright) au lieu de l'enveloppe data/meta, et est mis en cache 24 heures.

Erreurs

Chaque erreur utilise un seul format et un code stable, lisible par machine.

{
  "error": {
    "code": "BOOK_NOT_FOUND",
    "message": "Book \"jhon\" not found. Did you mean \"john\"?",
    "details": { "didYouMean": "john" }
  }
}
CodeHTTPQuand ça arrive
INVALID_PARAMS 400 Une valeur de chemin ou de requête est mal formée — ex. un numéro de chapitre hors limites.
NOT_FOUND 404 La route n existe pas sous /v1.
VERSION_NOT_FOUND 404 Aucune version ne correspond au slug donné — l erreur suggère la plus proche (didYouMean).
BOOK_NOT_FOUND 404 Aucun livre ne correspond au slug, dans aucune langue — l erreur suggère le plus proche (didYouMean).
CHAPTER_NOT_FOUND 404 Ce chapitre n est pas disponible dans cette version.
VERSE_NOT_FOUND 404 Le verset ou la plage est hors du chapitre.
INTERNAL_ERROR 500 Une erreur de notre côté — réessayer sans risque.

Les réponses 4xx sont mises en cache de 60 secondes à 24 heures selon le caractère déterministe de l erreur ; les 5xx ne le sont jamais, donc les retries atteignent toujours l origine.

Les 66 livres

Les slugs fonctionnent dans toutes les langues, avec ou sans trait d union (2-samuel ou 2samuel). Cliquez sur un livre pour ses métadonnées.

Questions fréquentes

Est-ce vraiment gratuit ? Faut-il une clé d'API ?

Oui. Pas d'inscription, pas de clé, pas de limite de requêtes. Merci simplement de respecter les ETag (If-None-Match renvoie 304) et de regrouper les références avec /v1/passages plutôt qu'une requête par verset.

Quelles versions sont disponibles ?

107 versions en 67 langues, toutes dans le domaine public ou sous licence libre, comme CC BY ou CC BY-SA. La liste à jour est sur /v1/versions.

Pourquoi pas la NIV ni l'ESV ?

Leurs éditeurs réservent tous les droits, nous ne les redistribuons donc pas. Une requête pour l'une d'elles renvoie une version libre de la même langue, et data.version indique laquelle.

Que dois-je afficher dans mon app ?

Le crédit de la version, fourni dans meta.copyright (ou copyright dans /v1/votd et les routes historiques), à côté du texte. Certaines licences ajoutent des conditions, comme le partage dans les mêmes conditions (CC BY-SA) ou l'interdiction de modifier le texte (CC BY-ND). Lisez le texte complet de la version choisie.

Existe-t-il une spécification OpenAPI ?

Oui : /openapi.json (OpenAPI 3.1) et une référence interactive sur /docs. Pour les agents IA, utilisez le MCP de la Bible sur mcp.midvash.com.