Skip to main content

Quickstart

1. Get an API key

Request one from the API key request form. Requests are reviewed by hand, and you will get an email once yours is approved.

Keys are prefixed by environment: bql_live_ for production and bql_test_ for development. A key only works in the environment it was issued for.

2. Put it in your environment

Never paste a key into source control.

export BIBLEQL_API_KEY="bql_live_your_key_here"

3. Make a request

query {
passage(translation: "eng-web", reference: "John 3:16") {
reference
text
translationName
}
}

You should get back:

{
"data": {
"passage": {
"reference": "John 3:16",
"text": "For God so loved the world, that he gave his one and only Son, that whoever believes in him should not perish, but have eternal life.",
"translationName": "World English Bible"
}
}
}

4. Understand what came back

GraphQL returns exactly the fields you asked for, wrapped in a top-level data object.

  • reference is the parsed reference, normalized.
  • text is every matched verse joined with newlines — handy for display.
  • translationName is the human-readable translation name.

Had you asked for verses { verse text } instead of text, you would have received each verse separately. Nothing is returned unless you name it.

Errors arrive in a top-level errors array rather than as an HTTP error status — see Errors.

Next steps

Endpoint

Every example on this site posts to https://bibleql.org/graphql. There is no GET variant.