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.jsonThat 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.jsonExample
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 anETagon every response for cheap conditional requests. - Every section index is a JSON array, with one exception:
hadith/riyadreturns{ books: [...] }.
Sections
19 sections, 1,962 indexed items (plus all 6,236 ayat of the Qur'an by surah).
| Section | Items | Item 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.jsonUsing it well
- It is free, for anyone, forever. A link back to
buruja.comis 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.