Skip to main content

SDKs

Two official clients wrap the API so you can call methods instead of writing GraphQL. Both are MIT licensed and published.

LanguagePackageSource
Rubybibleql-ruby on RubyGemslporras/bibleql-ruby
Node.js / TypeScriptbibleql-js on npmlporras/bibleql-js
Gemfile
gem "bibleql-ruby"
npm
npm install bibleql-js

Then see Configuring the SDKs for where to initialize the client.

There is also an examples repository showing both in use.

Coverage

Neither SDK covers the whole schema yet. Where a method is missing, use the GraphQL or cURL form — every example on this site shows both.

QueryRubyNode.js
translations
translation
books
languages
passage
chapter
verse
randomVerse
search
verseOfTheDay
bibleIndex
semanticSearch
concordance
concordanceIndex

The concordance family is not yet in either client. Concordance shows the GraphQL directly.

Both are server-side only

Never ship an API key to a browser

bibleql-js is built for Node.js and its README says explicitly not to use it in frontend code. Bundling it into a browser app exposes your key to anyone who opens devtools.

If you need Bible text in a client application, call BibleQL from your own backend and proxy the result.

Typed errors

Both map API failures to exception classes, so you can branch on type rather than parsing messages:

ConditionRubyNode.js
Bad keyBibleQL::AuthenticationErrorAuthenticationError
Rate limitedBibleQL::RateLimitErrorRateLimitError
Not foundBibleQL::NotFoundErrorNotFoundError
Server errorBibleQL::ServerErrorServerError
TimeoutBibleQL::TimeoutErrorTimeoutError
Network failureBibleQL::ConnectionErrorConnectionError
GraphQL errorBibleQL::QueryErrorQueryError

See Errors for the underlying wire format.

Check the default endpoint

Both SDKs currently default to a Render-hosted URL rather than https://bibleql.org/graphql. If you want to pin the canonical endpoint, set it explicitly — api_url in Ruby, apiUrl in Node. Each SDK page shows how.