Read, search and cross-reference the Bible from your app or AI agent — and, with a user’s permission, work with their studies.
BibleBoard exposes the Bible text behind its reader as a small, keyless JSON API, and a user’s own studies and mindmaps through an MCP server. Both run on the same service, so a passage fetched over REST and one fetched by an AI assistant are identical.
Passages, full-text search and cross-references in five versions — no account, no key. Anything that belongs to a user (studies, mindmaps) needs that user’s permission: sign in through OAuth from an MCP client, or send a BibleBoard API key.
Every endpoint is a GET that returns JSON. References are forgiving: abbreviations (“jn 3:16”), ranges within a chapter (“1 Cor 13:4-7”), whole chapters (“Psalm 23”) and Spanish book names (“Salmos 23”) all work.
The versions the API serves, with language, whether search covers them, and any attribution you must show.
curl https://bibleboard.org/api/v1/translationsA verse, a range within one chapter, or a whole chapter — verse by verse (with section headings) and as plain prose, plus a citation and a link into the BibleBoard reader.
curl "https://bibleboard.org/api/v1/passages?reference=John+3:16-18&translation=BSB"{
"reference": "John 3:16-18",
"citation": "John 3:16-18 (BSB)",
"translation": { "id": "BSB", "fullName": "Berean Standard Bible", "license": "public-domain", … },
"verses": [
{ "chapter": 3, "verse": 16, "text": "For God so loved the world that He gave His one and only Son, …", "heading": "For God So Loved the World" },
…
],
"text": "For God so loved the world …",
"url": "https://bibleboard.org/read/john-3?v=BSB&verse=16"
}Full-text search on the reader’s own engine: word stems (“loved” finds “love”), small typos, and "double-quoted phrases" as exact matches. Best matches first. Available for BSB, KJV, NET and RVR.
curl "https://bibleboard.org/api/v1/search?q=love+your+enemies&translation=KJV&limit=5"Related verses for a verse or a short range, most-voted first, from OpenBible.info’s community-voted dataset. A range merges its verses’ references.
curl "https://bibleboard.org/api/v1/cross-references?reference=Romans+8:28&limit=5"Service status as application/health+json. Never cached.
curl https://bibleboard.org/api/v1/healthConnect an AI assistant to BibleBoard over the Model Context Protocol at https://bibleboard.org/mcp. Bible tools work without an account; tools that read a user’s own studies ask that user to sign in and approve the app.
Streamable HTTP at https://bibleboard.org/mcp: POST JSON-RPC 2.0, answered as application/json. The server is stateless (no session id, no server-sent stream; GET returns 405) and speaks protocol versions 2025-11-25, 2025-06-18 and 2025-03-26.
Its server card is at https://bibleboard.org/.well-known/mcp/server-card.json.
curl -s https://bibleboard.org/mcp \
-H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_passage","arguments":{"reference":"Psalm 23","translation":"KJV"}}}'Use the URL above as a remote (HTTP) MCP server. Sign-in happens in the browser the first time a signed-in tool is used.
Every tool is read-only and returns structured JSON (also as text). A bad reference or unknown id comes back as a tool error the model can read and correct.
Public tools need nothing. Calling a sign-in tool without credentials returns HTTP 401 with a WWW-Authenticate header pointing at the protected-resource metadata, which MCP clients follow automatically.
BibleBoard is an OAuth 2.1 authorization server: dynamic client registration (no pre-registration), authorization code with PKCE (S256), refresh tokens with offline_access. The user signs in and approves the app on a consent screen. Access tokens last an hour; revoke one at any time.
A BibleBoard API key (bb_…) also works, as x-api-key or a Bearer token. Keys are issued on request; OAuth is the self-serve route.
Every error is JSON with a stable code, a message, a hint that says how to fix the call, and a link back here. 400 means the request needs changing, 404 that the version doesn’t contain the passage (the Hebrew is Old Testament only), 503 that the text couldn’t be loaded — retry.
{
"error": {
"code": "invalid_reference",
"message": "Could not read \"Jhn\" as a Bible reference.",
"hint": "Use book chapter:verse, e.g. \"John 3:16\" …",
"docs": "https://bibleboard.org/developers"
}
}Responses carry Cache-Control (an hour, then served stale while refreshing) and are cached at Cloudflare’s edge. The text only changes when we re-publish a version, so cache freely on your side too.
No key is needed; each client IP may make 120 requests per 60 seconds across the API and the MCP server. Every response states the policy in a RateLimit-Policy header (IETF RateLimit fields) and X-RateLimit-Limit. Over the limit you get 429 with a rate_limited error, Retry-After, and RateLimit showing zero remaining — wait that many seconds and retry.
The API is versioned in the path: /api/v1. Within v1 we only add — new endpoints, new optional parameters, new response fields — so ignore fields you don’t know.
A breaking change ships as /api/v2. The older version keeps working for at least 6 months after that; during that time its responses carry a Deprecation header (RFC 9745), a Sunset header with the shutdown date (RFC 8594), and a Link to this page with rel="deprecation". The change is also announced on bibleboard.org/updates.
The MCP server follows the same rule: tools and their inputs only grow; a tool is removed only after 6 months of being marked deprecated in its description.
The API serves only versions we may redistribute. Other versions in the reader stay in the reader.
The /translations response carries each version’s license and attribution, so a client can show it without hard-coding this table.
The ESV (its API terms don’t allow redistribution), the Greek New Testament (Nestle-Aland is copyrighted), and the Reina Valera Gómez and Biblia Libre. Asking for them returns 400 translation_not_available.
Cross-references come from OpenBible.info under CC BY; credit them when you display the list (each response includes an attribution string).
Machine-readable: OpenAPI 3.1 · API catalog · llms.txt · User documentation