Bible Atlas API

This API is public, free, and requires no API key. Bible Atlas itself uses this API on this website and as an extension in other platforms. The goal of this API is to make it easy for developers to get the people, places, events, and visualizations connected to any Bible verse, and to embed them in their own apps. The API is designed to be simple and intuitive, with clear endpoints and consistent responses, so you can build any type of client application with the data you need.

One request per selection

Book codes are the three-letter USFM codes. Pass several verse numbers to get one merged, deduplicated answer for a whole selection.

GET /api/v1/verse-context?usfm=GEN&chapter=9&verses=8,9

Every entity and visualization comes with its own page link, an image for a card, and an embed path ready for an iframe.

{
  "reference": "Genesis 9:8-9",
  "entities": [
    {
      "type": "event",
      "name": "God makes a covenant with Noah",
      "href": "/god-makes-a-covenant-with-noah",
      "embed": { "path": "/embed/graph/god-makes-a-covenant-with-noah" }
    },
    { "type": "person", "name": "God", "href": "/god" },
    { "type": "person", "name": "Noah", "href": "/noah" }
  ],
  "visualizations": [
    { "label": "Cross references", "href": "/visualizations/cross-references?ref=Gen.9.8" },
    { "label": "The Noahic Covenant", "href": "/visualizations/covenants#covenant-noahic" }
  ]
}

Render a card

Each entity and visualization in the response carries a page link and an image, which is everything a card needs.

GET /api/v1/verse-context?usfm=GEN&chapter=9&verses=8,9
<a href="https://bible-atlas.com/noah">
  <img src="https://bible-atlas.com/og/person.png" alt="" />
  <span>Noah</span>
</a>

Embed the verse directly

You can embed any verse directly into your app with an iframe. Just point the iframe at the verse URL, and Bible Atlas will display the best available embed for that verse. The embed automatically fills the width of its container and includes the verse reference, related entities, and visualizations. You can also customize the embed with query parameters, such as ?theme=dark for dark mode or ?height=500 to set a 500-pixel height.

GET /embed/verse/{book}/{chapter}/{verse}
<iframe src="https://bible-atlas.com/embed/verse/genesis/9/8"></iframe>
yourapp.com/read/genesis/9

That iframe, live. Genesis 9:8 resolves to the graph of God's covenant with Noah.

Command line

The bible-atlas package wraps the API for scripts and agents. It prints JSON, needs no key, and runs on Node.js 20 or newer. Errors go to stderr as code: message, with a nonzero exit code.

npx bible-atlas verse GEN 9 8

Use from Claude Code

Add Bible Atlas as an MCP server to search its Bible, people, places, and history data from Claude Code.

claude mcp add --transport http bible-atlas https://bible-atlas.com/mcp

Read the MCP connection guide