Content API

Every word on Buruja, as JSON.

All of it is free to use, as sadaqah jariyah. No key, no account, no rate limit. It is read-only, served from a CDN, and CORS is open, so you can call it straight from a browser, an app, or a script.

Start here

Everything hangs off one base URL. Pin to /api/v1/ and the paths below will not move.

GET https://buruja.com/api/v1/index.json

That manifest lists every section, how many items it holds, and the URL shape to reach them. Each section then has an index.json (the list) and one file per item.

# list every companion
GET https://buruja.com/api/v1/companions/index.json

# then fetch one by its slug
GET https://buruja.com/api/v1/companions/bilal-ibn-rabah.json

# a day of The 365
GET https://buruja.com/api/v1/the-365/tazkiyah/index.json
GET https://buruja.com/api/v1/the-365/tazkiyah/002.json

# a whole surah, with Arabic, English and Swedish
GET https://buruja.com/api/v1/verses/2.json

Example

const BASE = "https://buruja.com/api/v1";

const list = await fetch(`${BASE}/companions/index.json`).then(r => r.json());

const first = await fetch(
  `${BASE}/companions/${list[0].slug}.json`
).then(r => r.json());

console.log(first.name);

Versioning & caching

  • Pin to /api/v1/. Within v1, paths will not move and shapes will not change. New fields may be added, so parse leniently. A breaking change would ship as /api/v2/.
  • /data/ serves the very same files, but it is the site's internal path and is free to change. Prefer /api/v1/ in anything you build.
  • Responses are cacheable: max-age=300, s-maxage=3600, stale-while-revalidate=86400, with an ETag on every response for cheap conditional requests.
  • Every section index is a JSON array, with one exception: hadith/riyad returns { books: [...] }.

Sections

19 sections, 1,962 indexed items (plus all 6,236 ayat of the Qur'an by surah).

SectionItemsItem URL
Dhikr & Du'a
adhkar
26/api/v1/adhkar/{slug}.json
The 99 Names of Allah
asma
31/api/v1/asma/{slug}.json
Bedtime Stories
bedtime
28/api/v1/bedtime/{slug}.json
The Companions
companions
183/api/v1/companions/{slug}.json
Dhikra reflections
dhikra
14/api/v1/dhikra/{slug}.json
40 Hadith Nawawi
hadith/nawawi
42/api/v1/hadith/nawawi/{slug}.json
40 Hadith Qudsi
hadith/qudsi
40/api/v1/hadith/qudsi/{slug}.json
Riyad as-Salihin
hadith/riyad
20/api/v1/hadith/riyad/ch-{id}.json
Qur'an by juz
juz
30/api/v1/juz/{n}.json
Juz Amma
juz-amma
37/api/v1/juz-amma/{slug}.json
The New Muslim Path
new-muslims
28/api/v1/new-muslims/{slug}.json
Stories of the Prophets
prophets
29/api/v1/prophets/{slug}.json
The Seerah
seerah
104/api/v1/seerah/{slug}.json
Striking Examples
striking-examples
27/api/v1/striking-examples/{slug}.json
Tafsir by surah
tafsir
114/api/v1/tafsir/{surah}.json
The 365: Sunnah
the-365/sunnah
365/api/v1/the-365/sunnah/{slug}.json
The 365: Tazkiyah
the-365/tazkiyah
365/api/v1/the-365/tazkiyah/{slug}.json
The 365: Verses
the-365/verses
365/api/v1/the-365/verses/{slug}.json
Qur'an by surah
verses
114/api/v1/verses/{surah}.json

Search

A prebuilt index of the whole site, if you want to add search to your own project.

GET https://buruja.com/api/v1/search-index.json

Using it well

  • It is free, for anyone, forever. A link back to buruja.com is appreciated but never required.
  • Please cache what you fetch. Every response carries an ETag, so conditional requests are cheap.
  • The Qur'an, its translations and the hadith come from verified sources. If you build something that teaches, keep the attributions intact.
  • Content is added and corrected over time. Paths are stable; fields may be added.