Gratis · Sin clave de API · Sin límite

La API de la Biblia by Midvash

Versículos, capítulos y libros de 107 versiones libres de la Biblia en 67 idiomas. JSON por HTTPS, directo desde el navegador. Sin registro, sin clave.

Obtén un versículo en una llamada

Llama a la API directamente. Sin configuración, sin autenticación.

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

Por qué usarla

107 versiones libres

Reina-Valera 1909, KJV, BSB, Louis Segond y muchas más, en 67 idiomas. Todas de dominio público o con licencia libre.

Crédito incluido

Cada respuesta con texto bíblico trae la línea de copyright de la versión. La atribución está a un campo de distancia.

Rápida en el edge

Servida desde el edge de Cloudflare con caché larga y ETag. La revalidación devuelve un 304 sin cuerpo.

Sin clave, sin límite

Sin registro, sin clave de API, sin 429. CORS abierto: llámala desde cualquier página web.

Versiones y licencias

107 versiones en 67 idiomas, todas de dominio público o con licencia libre. Haz clic en una versión para ver sus metadatos y el texto completo de la licencia.

Muestra el crédito junto al texto

Cada respuesta con texto bíblico incluye el crédito de la versión: meta.copyright en v1, copyright en /v1/votd y en las rutas heredadas. Muéstralo cerca del pasaje. Las licencias CC BY y CC BY-SA lo exigen.

¿Pediste una versión que ya no servimos?

Las versiones con todos los derechos reservados (NVI, NTV, NIV, ESV, NLT, ARA, NVT y otras) no se sirven. Los enlaces antiguos siguen funcionando: recibes una versión libre del mismo idioma, y data.version indica cuál llegó.

Referencia de la API

Todos los endpoints de v1. Haz clic en "Probar" para enviar una petición real y ver la respuesta.

Contenido bíblico

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

Devuelve un capítulo bíblico completo

Parámetros
version path requerido Slug de la versión (ej.: kjv, almeida-livre)
book path requerido Slug del libro en cualquier idioma
chapter path requerido Número de capítulo
preview query opcional Recorta el texto a unos N caracteres (40 a 2000), para tooltips
GET /v1/{version}/{book}/{chapter}/{verse}

Devuelve un versículo único o un rango (16 o 16-20)

Parámetros
version path requerido Slug de la versión (ej.: kjv, almeida-livre)
book path requerido Slug del libro en cualquier idioma
chapter path requerido Número de capítulo
verse path requerido Versículo único (16) o rango (16-20)
GET /v1/votd

Versículo del día: el mismo para todos en el mismo día UTC, con el copyright de la versión (caché de 24h)

Parámetros
language query opcional Locale (en, pt-br, es, fr, de, it, zh, ru, ko). Por defecto: en.
version query opcional Slug de la versión. Por defecto: versión canónica del locale elegido.

Lotes y análisis

GET /v1/passages

Obtiene hasta 50 referencias en una llamada. Una referencia inválida falla sola, en su propia posición.

Parámetros
refs query requerido Referencias separadas por comas (máx. 50)
version query requerido Slug de la versión
GET /v1/parse

Interpreta una referencia en texto libre (en cualquiera de los 9 idiomas) y devuelve libro, capítulo y versículos

Parámetros
q query requerido Referencia en texto libre, ej.: Juan 3:16-18
version query opcional Opcional. Se valida y se devuelve en la respuesta

Versiones y libros

GET /v1/versions

Lista todas las versiones bíblicas (107), con el texto de la licencia

Parámetros
language query opcional Filtra por código ISO de idioma (consulta /v1/versions para la lista completa)
GET /v1/versions/{slug}

Devuelve los metadatos de una versión específica

Parámetros
slug path requerido Slug en cualquier idioma
GET /v1/books

Lista los 66 libros de la Biblia

Parámetros
testament query opcional "old" o "new"
GET /v1/books/{slug}

Devuelve los metadatos de un libro (acepta slug en cualquier idioma)

Parámetros
slug path requerido Slug en cualquier idioma

Guías para copiar y pegar

La misma petición, en las herramientas que ya usas.

Obtener un versículo /v1/kjv/john/3/16

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

Listar versiones de un idioma /v1/versions?language=pt-br

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

Versículo del día /v1/votd?language=en

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

Formato de respuesta y caché

Cada endpoint v1 habla el mismo envoltorio JSON y las mismas reglas de caché HTTP.

Envoltorio de éxito

Las respuestas correctas envuelven el payload en un campo data de nivel superior. Los endpoints de listas y de contenido añaden un objeto meta opcional con totales, la referencia resuelta y, siempre que hay texto bíblico, el copyright de la versión.

{
  "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 y caché

CachéEl contenido es inmutable — en caché un año (max-age=31536000, immutable). El contenido nuevo llega en una URL nueva, nunca en un cuerpo modificado.
RevalidaciónCada respuesta lleva un ETag fuerte. Envía If-None-Match y recibes 304 Not Modified sin cuerpo.
CORSAbierta a cualquier origen (Access-Control-Allow-Origin: *). Llámala directo desde el navegador — sin proxy.
MétodosGET, HEAD y OPTIONS. HEAD devuelve solo las cabeceras; OPTIONS gestiona el preflight de CORS.
Una excepción — /v1/votd

El versículo del día devuelve un objeto plano (reference, text, version, book_slug, chapter, verse_start, verse_end, url, copyright) en lugar del envoltorio data/meta, y se cachea 24 horas.

Errores

Cada error usa un único formato y un código estable, legible por máquina.

{
  "error": {
    "code": "BOOK_NOT_FOUND",
    "message": "Book \"jhon\" not found. Did you mean \"john\"?",
    "details": { "didYouMean": "john" }
  }
}
CódigoHTTPCuándo ocurre
INVALID_PARAMS 400 Un valor de ruta o query está mal formado — p. ej. un número de capítulo fuera de rango.
NOT_FOUND 404 La ruta no existe bajo /v1.
VERSION_NOT_FOUND 404 Ninguna versión coincide con el slug dado — el error sugiere el más cercano (didYouMean).
BOOK_NOT_FOUND 404 Ningún libro coincide con el slug, en ningún idioma — el error sugiere el más cercano (didYouMean).
CHAPTER_NOT_FOUND 404 Ese capítulo no está disponible en esta versión.
VERSE_NOT_FOUND 404 El versículo o rango queda fuera del capítulo.
INTERNAL_ERROR 500 Algo falló de nuestro lado — seguro reintentar.

Las respuestas 4xx se cachean de 60 segundos a 24 horas, según lo determinista que sea el error; las 5xx nunca se cachean, así el reintento siempre llega al origen.

Los 66 libros

Los slugs funcionan en cualquier idioma, con o sin guion (2-samuel o 2samuel). Haz clic en un libro para ver sus metadatos.

Preguntas frecuentes

¿Es realmente gratis? ¿Necesito una clave de API?

Sí. Sin registro, sin clave y sin límite de peticiones. Solo te pedimos respetar el ETag (If-None-Match devuelve 304) y agrupar referencias con /v1/passages en lugar de una petición por versículo.

¿Qué versiones hay disponibles?

107 versiones en 67 idiomas, todas de dominio público o con licencia libre, como CC BY o CC BY-SA. La lista en vivo está en /v1/versions.

¿Por qué no está la NVI ni la NTV?

Sus editoriales se reservan todos los derechos, así que no las redistribuimos. Quien pide una de ellas recibe una versión libre del mismo idioma, y data.version indica cuál.

¿Qué tengo que mostrar en mi app?

El crédito de la versión, que viene en meta.copyright (o copyright en /v1/votd y en las rutas heredadas), junto al texto. Algunas licencias añaden condiciones, como compartir con la misma licencia (CC BY-SA) o no modificar el texto (CC BY-ND). Lee el texto completo de la versión que elijas.

¿Hay especificación OpenAPI?

Sí: /openapi.json (OpenAPI 3.1) y una referencia interactiva en /docs. Para agentes de IA, usa el MCP de la Biblia en mcp.midvash.com.