Versículos, capítulos, búsqueda de texto y comparación entre versiones. JSON limpio, CORS habilitado, empieza gratis sin registro.
El API es gratuito. La API key solo multiplica tu límite diario.
X-RateLimit-*Base: https://evanbible.com/api/v1 · Solo GET · JSON UTF-8 · Access-Control-Allow-Origin: *
Sin API key: 500 peticiones/día por IP. Con key gratuita: 5,000/día. Envíala con el header X-API-Key: TU_KEY o el parámetro ?key=TU_KEY. Cada respuesta incluye X-RateLimit-Limit y X-RateLimit-Remaining.
| Ruta | Descripción |
|---|---|
GET /api/v1/versions | Lista de versiones con idioma y nombre. |
GET /api/v1/{ver}/books | Los 66 libros de la versión. |
GET /api/v1/{ver}/{libro} | Información del libro: capítulos y versículos. |
GET /api/v1/{ver}/{libro}/{cap} | Capítulo completo. |
GET /api/v1/{ver}/{libro}/{cap}/{vers} | Un versículo, o rango con guion: 16-18. |
GET /api/v1/{ver}/search?q=palabra | Búsqueda. Parámetros: q (mín. 3), book, page, limit (máx. 50). |
GET /api/v1/{ver}/random | Versículo aleatorio — ideal para "versículo del día". |
GET /api/v1/compare/{libro}/{cap}/{vers}?versions=RV60,KJV,NVIES | El mismo versículo en hasta 8 versiones. |
Tres formas equivalentes: número canónico (1–66, Génesis=1 … Apocalipsis=66), nombre en el idioma de la versión (juan, génesis — acentos opcionales, sin distinguir mayúsculas) o su abreviación. Los prefijos también resuelven: apoc → Apocalipsis.
Formato {"ok": false, "error": "mensaje"} con su código HTTP: 400 parámetros inválidos, 401 key inválida, 404 no encontrado, 429 límite diario alcanzado.
La lista completa de versiones está en Biblias disponibles o en /api/v1/versions.
Un solo archivo Markdown con todo el API: endpoints, esquemas de respuesta, numeración de libros y códigos de versión. Compártelo con ChatGPT, Claude o tu agente y podrá consumir el API de inmediato. También disponible como /llms.txt.
Copiar, pegar y funciona.
curl "https://evanbible.com/api/v1/rv60/salmos/23/1-6"
const res = await fetch('https://evanbible.com/api/v1/rv60/random');
const data = await res.json();
document.querySelector('#verso').textContent =
`"${data.text}" — ${data.reference} (${data.version})`;
const q = encodeURIComponent('esperanza');
const res = await fetch(`https://evanbible.com/api/v1/rv60/search?q=${q}&limit=10`);
const { total, results } = await res.json();
results.forEach(r => console.log(`${r.reference}: ${r.text}`));
$ctx = stream_context_create(['http' => [
'header' => "X-API-Key: TU_API_KEY\r\n"
]]);
$json = file_get_contents(
'https://evanbible.com/api/v1/compare/juan/3/16?versions=RV60,KJV,NVIES',
false, $ctx
);
$data = json_decode($json, true);
foreach ($data['versions'] as $ver => $texto) {
echo "[$ver] $texto\n";
}
Sin tarjeta, sin registro complicado. Correo → API key → listo.