Bible Gateway API: Search the Bible
Finds Bible verses on Bible Gateway that contain the search words or relate to a topic. Returns the verse text and links in Bible order.
Unofficial. Not affiliated with or endorsed by Bible Gateway.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Part optional
part Part of the Bible to search, for example "new_testament".
old_testament
One of
whole_bible,old_testament,new_testament. Defaultwhole_bible.- Query, required
query Words or a topic to search for, for example "love is patient".
forgiveness
- Max Results optional
max_results Maximum verses to return, for example 25.
10
Whole number from 1 to 100. Default
25.- Translation optional
translation Bible translation name or abbreviation, for example "King James Version" or "KJV".
King James Version
Default
NIV.
Input as JSON
{ "part": "old_testament", "query": "forgiveness", "max_results": 10, "translation": "King James Version"}Output
{ "verses": [ { "link": "https://www.biblegateway.com/passage/?search=Psalm%20130%3A4&version=KJV" , "text": "But there is forgiveness with thee, that thou mayest be feared.", "reference": "Psalm 130:4" }, { "link": "https://www.biblegateway.com/passage/?search=Daniel%209%3A9&version=KJV" , "text": "To the Lord our God belong mercies and forgivenesses, though we have rebelled against him;", "reference": "Daniel 9:9" } ], "total_matches": 2}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"biblegateway.com/search_bible","input":{"part":"old_testament","query":"forgiveness","max_results":10,"translation":"King James Version"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "biblegateway.com/search_bible" , "input": { "part": "old_testament", "query": "forgiveness", "max_results": 10, "translation": "King James Version" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "biblegateway.com/search_bible" , "input": { "part": "old_testament", "query": "forgiveness", "max_results": 10, "translation": "King James Version" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run biblegateway.com/search_bible# with {"part":"old_testament","query":"forgiveness","max_results":10,"translation":"King James Version"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "query" ], "properties": { "part": { "enum": [ "whole_bible", "old_testament", "new_testament" ], "type": "string", "default": "whole_bible", "description": "Part of the Bible to search, for example \"new_testament\"." }, "query": { "type": "string", "minLength": 1, "description": "Words or a topic to search for, for example \"love is patient\"." }, "max_results": { "type": "integer", "default": 25, "maximum": 100, "minimum": 1, "description": "Maximum verses to return, for example 25." }, "translation": { "type": "string", "default": "NIV", "description": "Bible translation name or abbreviation, for example \"King James Version\" or \"KJV\"." } }}Output schema
{ "type": "object", "required": [ "total_matches", "verses" ], "properties": { "verses": { "type": "array", "items": { "type": "object", "required": [ "reference", "text", "link" ], "properties": { "link": { "type": "string" }, "text": { "type": "string" }, "reference": { "type": "string" } } } }, "total_matches": { "type": [ "integer", "null" ], "description": "Total matching verses within the selected part, when shown." } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
biblegateway.com/search_bible- Returns
- total matches; verses with reference, text, link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method biblegateway.com/search_bible with the inputs above.
Ask your agent
- Find every verse that mentions the phrase "love is patient" in the New Testament, using the NIV, and show me the first 10 results with their references.
- Search the whole Bible in the King James Version for verses about forgiveness and list the total number of matches.
- I need Old Testament verses containing the word "shepherd" in the ESV, capped at 15 results, sorted in Bible order.
- On biblegateway.com, look up verses on faithfulness in the New Living Translation and give me up to 50 results with links.
- Pull up New Testament passages that relate to the topic of anxiety, using the NIV translation, and return the verse text along with each reference.
See more
All Bible Gateway methodsReads up to one chapter of a Bible passage in a chosen Bible Gateway translation. Licensed translations may show only part of the requested passage.
biblegateway.com/get_passageGets Bible Gateway's Verse of the Day in the requested translation (NIV by default). The date is the one Bible Gateway assigns, which may differ from the local date.
biblegateway.com/get_verse_of_the_dayFinds Quran.com verses matching a word or topic, with Arabic text and a translation in the selected language, in Quran.com search order.
quran.com/search_quranFinds free public-domain Project Gutenberg books by title, author or topic, with authors, languages, subjects, recent downloads, and reading and download links. Public-domain status is based on the United States.
gutenberg.org/search_free_booksFinds poems matching a topic or occasion, or poems by a named poet, in Poetry Foundation search order. Older magazine poems without public text have no first two lines; untagged poems have no themes or occasions.
poetryfoundation.org/search_poemsSearches Britannica for encyclopedia articles and returns their titles, short descriptions, article links and images when shown. Excludes other search formats such as videos, questions and stories.
britannica.com/search_articlesFinds Open Library books by search words, optionally narrowed by author and subject, sorted by relevance or publication age. Returns work-level results; free_online means at least one edition is marked public or borrowable, not that a loan is available now.
openlibrary.org/search_booksSearches The Verge articles by keyword, with optional date filters, sorting and pagination. Only the first 100 matches from The Verge search are used.
theverge.com/search_news