BYTETOOLS

GurbaniNow API

Free Gurbani API with no key: any ang of the Sri Guru Granth Sahib with Gurmukhi script, transliteration, translations and larivaar rendering. Tested example included.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the GurbaniNow API?

GurbaniNow serves the Sri Guru Granth Sahib and related Sikh scripture as JSON with no API key. Requesting an ang returns every line on that page in Gurmukhi Unicode and ASCII, with larivaar spacing, transliteration and translations.

Sikh scripture presents a specific technical problem: the Gurmukhi script is served two ways, as modern Unicode and as a legacy ASCII encoding used by older fonts still common in gurdwara display software. GurbaniNow returns both on every line — `akhar` for the ASCII form and `unicode` for the Unicode one — so an integration works with either without needing a conversion table.

The `larivaar` field is the second thing that sets it apart. Traditional manuscripts write Gurbani without spaces between words, and larivaar rendering reproduces that using zero-width joiners rather than plain spaces, again in both encodings. That matters to readers who study the text in its traditional form, and it is invisible unless you know to look for it. Scripture is addressed by ang — the page in the standard 1430-page edition — with the `source` block confirming which text and how long it is, and there are separate endpoints for shabads and search.

Quick facts

Base URL
https://api.gurbaninow.com/v2
Authentication
No API key and no account.
Rate limit
No published limit. Scripture is immutable — cache permanently.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the GurbaniNow API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Fetch a page of Sri Guru Granth Sahib

GET https://api.gurbaninow.com/v2/ang/1

curl
curl 'https://api.gurbaninow.com/v2/ang/1'
JavaScript (fetch)
const res = await fetch("https://api.gurbaninow.com/v2/ang/1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://api.gurbaninow.com/v2/ang/1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "pageno": 1,
  "source": {
    "id": 1,
    "akhar": "SRI gurU gRMQ swihb jI",
    "unicode": "ਸ਼੍ਰੀ ਗੁਰੂ ਗ੍ਰੰਥ ਸਾਹਿਬ ਜੀ",
    "english": "Sri Guru Granth Sahib Ji",
    "length": 1430,
    "pageName": {
      "akhar": "AMg",
      "unicode": "ਅੰਗ",
      "english": "Ang"
    }
  },
  "count": 23,
  "page": [
    {
      "line": {
        "id": "0NVY",
        "type": 1,
        "shabadid": "DMP",
        "gurmukhi": {
          "akhar": "<> siq nwmu krqw purKu inrBau inrvYru Akwl mUriq AjUnI sYBM gur pRswid ]",
          "unicode": "ੴ ਸਤਿ ਨਾਮੁ ਕਰਤਾ ਪੁਰਖੁ ਨਿਰਭਉ ਨਿਰਵੈਰੁ ਅਕਾਲ ਮੂਰਤਿ ਅਜੂਨੀ ਸੈਭੰ ਗੁਰ ਪ੍ਰਸਾਦਿ ॥"
        },
        "larivaar": {
          "akhar": "<>​siq​nwmu​krqw​purKu​inrBau​inrvYru​Akwl​mUriq​AjUnI​sYBM​gur​pRswid​]",
          "unicode": "ੴ​ਸਤਿ​ਨਾਮੁ​ਕਰਤਾ​ਪੁਰਖੁ​ਨਿਰਭਉ​ਨਿਰਵੈਰੁ​ਅਕਾਲ​ਮੂਰਤਿ​ਅਜੂਨੀ​ਸੈਭੰ​ਗੁਰ​ਪ੍ਰਸਾਦਿ​॥"
        },
        "translation": {
          "english": {
            "default": "One Universal Creator God. The Name Is Truth. Creative Being Personified. No Fear. No Hatred. Image Of The Undying, Beyond Birth, Self-Existent. By Guru's Grace ~"
          },
          "punjabi": {
            "default": {
              "akhar": "Akwl purK ie`k hY, ijs dw nwm 'hoNd vwlw' hY jo isRStI dw rcnhwr hY, jo sB ivc ivAwpk hY, BY qoN rihq hY, vYr-rihq hY, ijs dw srUp kwl qoN pry hY, (Bwv, ijs dw srIr nws-rihq hY), jo jUnW ivc nhIN AwauNdw, ijs dw pRkwS Awpxy Awp qoN hoieAw hY Aqy jo siqgurU dI ikrpw nwl imldw hY[",
              "unicode": "ਅਕਾਲ ਪੁਰਖ ਇੱਕ ਹੈ, ਜਿਸ ਦਾ ਨਾਮ 'ਹੋਂਦ ਵਾਲਾ' ਹੈ ਜੋ ਸ੍ਰਿਸ਼ਟੀ ਦਾ ਰਚਨਹਾਰ ਹੈ, ਜੋ ਸਭ ਵਿਚ ਵਿਆਪਕ ਹੈ, ਭੈ ਤੋਂ ਰਹਿਤ ਹੈ, ਵੈਰ-ਰਹਿਤ ਹੈ, ਜਿਸ

Parameters

ParameterTypeRequiredDescription
(ang)pathRequiredPage number in the standard 1430-page edition. 1
/shabad/{id}pathOptionalOne shabad by its identifier.
/search/{query}pathOptionalSearch the scripture text.

Response fields

pagenointeger
The ang you requested.
sourceobject
Which scripture this is, with `english`, `unicode` and `akhar` names, its `length` of 1430 pages, and a `pageName` block giving the word for a page in each form.
countinteger
How many lines are on this ang.
pagearray
The lines, each wrapped in a `line` object.
page[].line.idstring
Line identifier.
page[].line.shabadidstring
Which shabad the line belongs to, so you can group lines into complete hymns.
page[].line.gurmukhiobject
The line itself, with `akhar` for legacy ASCII and `unicode` for Gurmukhi Unicode.
page[].line.larivaarobject
The same line in traditional unspaced form, using zero-width joiners, in both encodings.
page[].line.translationobject
Translations in English and Punjabi where available.
page[].line.transliterationobject
Romanised readings for pronunciation.
page[].line.typeinteger
Line type code distinguishing headers from verse lines.

What you can build with the GurbaniNow API

  • Build a Gurbani reader that works with modern and legacy fonts
  • Display scripture in traditional larivaar form
  • Present translations and transliteration alongside the original
  • Power gurdwara projection software from a live source

Common errors and how to fix them

Gurmukhi renders as gibberish

You used `akhar` with a Unicode font, or `unicode` with a legacy one.

Fix: Match the field to your font. `unicode` for modern fonts, `akhar` for legacy Gurmukhi ASCII fonts.

Larivaar shows as one unbroken word

Zero-width joiners are not being rendered.

Fix: Use a font with proper Gurmukhi shaping. The joiners are correct; the font is not handling them.

404 on an ang

Valid pages run from 1 to 1430.

Fix: The `source.length` field confirms the total. Anything outside that range does not exist.

Missing translation

Not every line has every translation.

Fix: Check the field before rendering and fall back to transliteration.

GurbaniNow API — frequently asked questions

Is the GurbaniNow API free?

Yes, free with no key or account.

Why is every line given in two scripts?

Because Gurmukhi is served both as modern Unicode and as a legacy ASCII encoding that older gurdwara display fonts still use. Returning both means an integration works either way.

What is larivaar?

The traditional way of writing Gurbani without spaces between words, as it appears in the original manuscripts. The API reproduces it with zero-width joiners, so it needs a font with proper Gurmukhi shaping to display correctly.

What is an ang?

A page in the standard 1430-page edition of the Sri Guru Granth Sahib. It is the canonical way to reference a location in the text, and the `source.length` field confirms the total.

Tools that pair with this API

GurbaniNow is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.