getBible

api.getbible.net

A getBible static API: every resource is a file served exactly as published. public, metered · tokens unlimited

Endpoints

Every path starts with a version segment. Each endpoint is an independent tree with its own documentation page, changing on its own schedule.

VersionBase URLDocumentationOpenAPI
v2https://api.getbible.net/v2//v2/openapi.json
v3https://api.getbible.net/v3//v3/openapi.json

Machine-readable index of the endpoints and their OpenAPI documents: versions.json.

How to call it

Plain HTTPS GET requests, from any origin. Responses are JSON, plus .sha and .txt files as plain text. Nothing here accepts query strings or request bodies.

curl https://api.getbible.net/v2/path/to/document.json

Access

This endpoint is public and metered. Anonymous callers share a budget per client address; callers with a bearer token are not limited at all.

Budget (per address)Value
Sustained rate50 requests per second, bursts up to 250
Per hourabout 100000 requests
Per dayabout 1000000 requests
Concurrent connections100

Budgets are enforced as token buckets, so steady traffic under the quota is never touched and bursts above it are slowed with a 429 rather than cut off.

Using a token

Send it as a bearer credential. Tokens never go in the URL.

curl -H "Authorization: Bearer gb..." https://api.getbible.net/v2/path/to/document.json

Tokens are issued to applications and partners by the getBible team; ask through getBible.net.

Errors

Every error is an RFC 9457 problem document with the media type application/problem+json:

{"type":"https://getbible.net/problems/not-found","title":"Not Found","status":404,"code":"not_found","detail":"No such resource on this API. ...","instance":"urn:request:..."}
StatusCodeMeaning
400bad_requestA query string or malformed request was sent.
401unauthorizedA bearer token is required and was missing or invalid.
404not_foundNo such document in this version.
405method_not_allowedOnly GET, HEAD and OPTIONS are accepted.
429rate_limitedThe public budget for your address is used up; a Retry-After header is included.
503unavailableTemporary outage; retry after a moment.