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.