Free Quran API for Developers
Build your next Islamic project with the Jaloot Quran API. This free API helps you add Quran data to websites, mobile apps, WordPress plugins, and other digital projects. It uses JSON format, so you can work with the data using your favorite programming language or framework.
Are you creating a Quran reading app, an Islamic website, or an educational tool? The Jaloot API gives you access to Quran chapters, verses, transliterations, and other useful information. You can also retrieve revelation details, Mushaf page numbers, Juz information, and available Tafsir entries. With support for Arabic, English, French, and Spanish, you can build tools for readers around the world.
Jaloot API
Quran API v2 for developers building Quran applications, websites and digital products.
The Jaloot API provides structured access to Quran chapters, verses, transliterations, revelation metadata, Mushaf page references, Juz information, Basmala metadata and prostration markers.
Base URL
All Jaloot API v2 endpoints are available under this base path.
https://api.jaloot.org/v2Authentication
Authenticate every API request using your API key and secret.
API credentials required
Jaloot uses a key and secret authentication pair. Both credentials must be sent with every request.
X-API-KeyPublic identifier used to identify your application.
JALOOT-PUB-...X-API-SecretPrivate credential paired with your API key. Keep it strictly server-side.
JALOOT-SEC-...Response format
application/jsonOptionalKeep your API secret private
Never expose X-API-Secret in browser JavaScript, mobile applications, public repositories or client-side code.
Rotate the secret immediately if it becomes compromised.
Request Headers
Headers accepted by the Jaloot API.
X-API-KeystringYour public API key.
JALOOT-PUB-...RequiredX-API-SecretstringYour private API secret.
JALOOT-SEC-...RequiredAcceptstringOptional response format header.
application/jsonOptionalReference Request
A minimal authenticated request to the API.
curl "https://api.jaloot.org/v2/chapter/al-faatiha" \
-H "X-API-Key: YOUR_API_KEY" \
-H "X-API-Secret: YOUR_API_SECRET" \
-H "Accept: application/json"Endpoints
Available read-only endpoints in API v2.
/v2/chaptersReturns the collection of all 114 Quran chapters. The endpoint provides chapter metadata and does not include the complete verse text.
/v2/chapter/{identifier}Returns a complete chapter resource including metadata, verses, revelation information, page references, Basmala information and prostration markers.
Accepts a chapter number from 1 to 114 or one of the documented chapter slugs.
/v2/verse/randomNo cacheReturns one randomly selected Quran verse with its chapter, localized text and available tafsir entries. The lang query parameter is optional. Arabic (ar) is used when no language is supplied.
langstringOptionalSupported values: ar, en, fr, esLanguages
The API currently supports Arabic, English, French and Spanish.
Arabic (ar) is used by default when no language preference is supplied. Supported languages are ar, en, fr and es. The response exposes the selected language through the language object.
Language Object
Every localized response identifies the language and text direction.
codestringLanguage identifier such as ar, en, fr or es.
directionstringText direction, such as rtl for Arabic.
Chapter Slugs
Use these slugs as the identifier in /v2/chapter/{identifier}.
Chapter Resource
Fields returned by a chapter resource.
idintegerChapter number from 1 to 114.
namestringArabic chapter name.
name_transliterationstringTransliterated chapter name.
slugstringUnique chapter slug used as an identifier.
revelationobjectRevelation place, type and chronological order.
verses_countintegerTotal number of verses in the chapter.
pagesobjectStarting and ending Mushaf pages.
basmalaobjectBasmala inclusion and verse status.
prostrationsarrayProstration markers associated with the chapter.
versesarrayComplete list of verses when returned by the chapter resource.
Revelation Metadata
Each chapter includes structured revelation information.
placestringRevelation location.
مكّة المكرّمةtypestringRevelation classification.
مكيةorderintegerChronological revelation order.
5Basmala
The Basmala object indicates whether the Basmala is included and whether it is considered a verse for the chapter.
includedbooleanIndicates whether the Basmala is included in the chapter response.
is_versebooleanIndicates whether the Basmala is treated as a verse.
For example, Al-Fatiha currently returns:
included: false · is_verse: trueVerse Resource
Verse resources contain the Quranic text and Mushaf references.
numberintegerVerse number within the chapter.
textstringVerse text in the requested language.
text_simplestringSimplified Quranic text without the full diacritic notation.
recitationstringQuran recitation associated with the verse, such as Warsh.
lineintegerMushaf line reference.
juzintegerJuz containing the verse.
pageintegerMushaf page containing the verse.
tafsirsarrayAvailable tafsir entries for the requested language.
Prostrations
Chapters containing a prostration marker expose it through the prostrations array.
verse_numberintegerVerse containing the prostration marker.
recommendedbooleanWhether the prostration is recommended.
obligatorybooleanWhether the prostration is obligatory.
Response Structure
API responses expose request metadata together with the requested resource.
{
"request": {
"status": 200,
"response_time": "240.34ms",
"cache": {
"hit": true,
"key": "chapter.al-alaq.en.SF.all+Tfs",
"store": "redis",
"time": "0.54ms"
}
},
"language": {
"code": "en",
"direction": "ltr"
},
"id": 96,
"name": "The Clot",
"name_transliteration": "Al-`Alaq",
"slug": "al-alaq",
"revelation": {
"place": "Makkah Al-Mukarramah",
"type": "Meccan",
"order": 1
},
"verses_count": 19,
"pages": {
"start": 597,
"end": 597
},
"basmala": {
"included": true,
"is_verse": false,
"value": "In the name of Allah, the Most Gracious, the Most Merciful."
},
"prostrations": [
{
"verse_number": 19,
"recommended": false,
"obligatory": true,
"page": 597
}
],
"verses": [
{
"number": 1,
"transliteration": "iqraʾ bi-smi rabbika lladhī khalaqa",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "Read in the Name of your Lord who created;"
}
],
"line": 6107,
"juz": 30,
"page": 597
},
{
"number": 2,
"transliteration": "khalaqa l-ʾinsāna min ʿalaqin-i",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "created man from a clinging mass."
}
],
"line": 6108,
"juz": 30,
"page": 597
},
{
"number": 3,
"transliteration": "iqraʾ wa-rabbuka l-ʾakramu",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "Read, and your Lord is the most generous,"
}
],
"line": 6109,
"juz": 30,
"page": 597
},
{
"number": 4,
"transliteration": "alladhī ʿallama bi-l-qalami",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "who taught by the pen,"
}
],
"line": 6110,
"juz": 30,
"page": 597
},
{
"number": 5,
"transliteration": "ʿallama l-ʾinsāna mā lam yaʿlam",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "taught man what he did not know."
}
],
"line": 6111,
"juz": 30,
"page": 597
},
{
"number": 6,
"transliteration": "kallā ʾinna l-ʾinsāna la-yaṭghā",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "Indeed man becomes rebellious"
}
],
"line": 6112,
"juz": 30,
"page": 597
},
{
"number": 7,
"transliteration": "ʾan raʾāhu staghnā",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "when he considers himself without need."
}
],
"line": 6113,
"juz": 30,
"page": 597
},
{
"number": 8,
"transliteration": "ʾinna ʾilā rabbika r-rujʿā",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "Indeed to your Lord is the return."
}
],
"line": 6114,
"juz": 30,
"page": 597
},
{
"number": 9,
"transliteration": "ʾa-raʾayta lladhī yanhā",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "Tell me, he who forbids"
}
],
"line": 6115,
"juz": 30,
"page": 597
},
{
"number": 10,
"transliteration": "ʿabdan ʾidhā ṣallā",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "a servant when he prays,"
}
],
"line": 6116,
"juz": 30,
"page": 597
},
{
"number": 11,
"transliteration": "ʾa-raʾayta ʾin kāna ʿalā l-hudā",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "tell me, should he be on [true] guidance,"
}
],
"line": 6117,
"juz": 30,
"page": 597
},
{
"number": 12,
"transliteration": "ʾaw ʾamara bi-t-taqwā",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "or bid [others] to Godwariness,"
}
],
"line": 6118,
"juz": 30,
"page": 597
},
{
"number": 13,
"transliteration": "ʾa-raʾayta ʾin kadhdhaba wa-tawallā",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "tell me, should he call him a liar and turn away"
}
],
"line": 6119,
"juz": 30,
"page": 597
},
{
"number": 14,
"transliteration": "ʾa-lam yaʿlam bi-ʾanna llāha yarā",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "—does he not know that Allah sees [him]?"
}
],
"line": 6120,
"juz": 30,
"page": 597
},
{
"number": 15,
"transliteration": "kallā la-ʾin lam yantahi la-nasfaʿan bi-n-nāṣiyati",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "No indeed! If he does not cease, We shall seize him by the forelock,"
}
],
"line": 6121,
"juz": 30,
"page": 597
},
{
"number": 16,
"transliteration": "nāṣiyatin kādhibatin khāṭiʾatin",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "a lying, sinful forelock!"
}
],
"line": 6122,
"juz": 30,
"page": 597
},
{
"number": 17,
"transliteration": "fa-l-yadʿu nādiyahū",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "Then let him call out his gang!"
}
],
"line": 6123,
"juz": 30,
"page": 597
},
{
"number": 18,
"transliteration": "sa-nadʿu z-zabāniyata",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "We [too] shall call the keepers of hell."
}
],
"line": 6124,
"juz": 30,
"page": 597
},
{
"number": 19,
"transliteration": "kallā lā tuṭiʿhu wa-sjud wa-qtarib",
"translations": [
{
"title": "The Qur'an with a Phrase-by-Phrase",
"author": "Ali Quli Qarai",
"book_name": "The Qur'an with a Phrase-by-Phrase English Translation",
"text": "No indeed! Do not obey him, but prostrate and draw near [to Allah]!"
}
],
"line": 6125,
"juz": 30,
"page": 597
}
],
"pagination": null
}Random Verse Response
Example response returned by /v2/verse/random. This endpoint is not cached, so the request cache metadata is always reported with no cache key, store or cache time.
{
"request": {
"status": 200,
"response_time": "156.86ms",
"cache": {
"hit": false,
"key": null,
"store": null,
"time": null
}
},
"lang": "العربية",
"recitation": "ورش",
"chapter": {
"number": 11,
"slug": "hud",
"name": "هود"
},
"verse": {
"number": 49,
"text": "تِلْكَ مِنَ اَنۢبَآءِ اِ۬لْغَيْبِ نُوحِيهَآ إِلَيْكَۖ مَا كُنتَ تَعْلَمُهَآ أَنتَ وَلَا قَوْمُكَ مِن قَبْلِ هَٰذَاۖ فَاصْبِرِۖ اِنَّ اَ۬لْعَٰقِبَةَ لِلْمُتَّقِينَۖ",
"text_simple": "تلك من أنباء الغيب نوحيها إليك ما كنت تعلمها أنت ولا قومك من قبل هذا فاصبر إن العاقبة للمتقين",
"juz": 12,
"page": 227
},
"tafsirs": [
{
"title": "التفسير الميسر",
"author": "نخبة من العلماء",
"book_name": "التفسير الميسر",
"text": "تلك القصة التي قصصناها عليك -أيها الرسول- عن نوح وقومه هي من أخبار الغيب السالفة، نوحيها إليك، ما كنت تعلمها أنت ولا قومك مِن قبل هذا البيان، فاصبر على تكذيب قومك وإيذائهم لك، كما صبر الأنبياء من قبل، إن العاقبة الطيبة في الدنيا والآخرة للمتقين الذين يخشون الله."
},
{
"title": "تفسير الجلالين",
"author": "جلال الدين المحلي و السيوطي",
"book_name": "تفسير الجلالين",
"text": "«تلك» أي هذه الآيات المتضمنة قصة نوح «من أنباء الغيب» أخبار ما غاب عنك «نوحيها إليك» يا محمد «ما كنت تعلمها أنت ولا قومك من قبل هذا» القرآن «فاصبر» على التبليغ وأذى قومك كما صبر نوح «إن العاقبة» المحمودة «للمتقين»."
}
]
}Caching
Cacheable API responses use Redis to improve performance and reduce database load. The /v2/verse/random endpoint is intentionally not cached.
Cache information is available under request.cache. This includes the cache hit state, cache key, storage driver and cache operation time.
Errors
Errors are returned as JSON with a status code, error identifier, message and documentation URL.
{
"status": 404,
"error": "chapter_not_found",
"message": "No chapter found for identifier 'al-fatiha-typo'.",
"documentation_url": "https://admin.jaloot.org/api-documentation"
}HTTP Status Codes
Common HTTP status codes returned by the API.
The request completed successfully.
API credentials are missing or invalid.
The requested chapter could not be found.
The supplied identifier or request data is invalid.
The API rate limit has been exceeded.
An unexpected server-side error occurred.
Example Requests
Common ways to request Quran data.
Chapter by numbercurl "https://api.jaloot.org/v2/chapter/1" \
-H "X-API-Key: YOUR_API_KEY" \
-H "X-API-Secret: YOUR_API_SECRET" \
-H "Accept: application/json"Chapter by slugcurl "https://api.jaloot.org/v2/chapter/al-faatiha" \
-H "X-API-Key: YOUR_API_KEY" \
-H "X-API-Secret: YOUR_API_SECRET" \
-H "Accept: application/json"Random verseNo cachecurl "https://api.jaloot.org/v2/verse/random" \
-H "X-API-Key: YOUR_API_KEY" \
-H "X-API-Secret: YOUR_API_SECRET" \
-H "Accept: application/json"All chapterscurl "https://api.jaloot.org/v2/chapters" \
-H "X-API-Key: YOUR_API_KEY" \
-H "X-API-Secret: YOUR_API_SECRET" \
-H "Accept: application/json"lang parameter is optional. Arabic is used by default. ?lang=ar|en|es|frSecurity Recommendations
Follow these practices when integrating the Jaloot API.
Keep X-API-Secret exclusively on your server.
Never store API credentials in public Git repositories.
Never expose your API secret in browser JavaScript or mobile applications.
Generate new credentials immediately if a secret is exposed.
Always communicate with the Jaloot API over HTTPS.
Quick Reference
The essentials for getting started with Jaloot API v2.
GET /v2/chapter/{identifier}GET /v2/chaptersGET /v2/verse/random