Skip to content

Quran

The 114 surahs, their ayas in Uthmani and standard spelling, translations by edition, surah names in every language, and a search over the ayas by words and meaning.

GET/quran/surahs
Parameter
lang optional Language of surah_name. Arabic without it.
Terminal window
curl "https://islamenc.com/api/quran/surahs?lang=en"
[
{ "surah_no": 1, "surah_name": "Al-Faatiha", "ar_uthmani_name": "ﰀ", "ayas_count": 7 },
{ "surah_no": 2, "surah_name": "Al-Baqara", "ar_uthmani_name": "ﰁ", "ayas_count": 286 }
]

ar_uthmani_name is a glyph from the Uthmanic surah-names font; render it with that font or ignore it.

GET/quran/surahs/{surahNo}
Parameter
surahNo path 1 to 114.
lang optional Return the translations in this language (every edition the language has). Without it, Arabic only.
langKey optional Return one edition by its key, such as english_hilali_khan (see translation keys below).
Terminal window
curl "https://islamenc.com/api/quran/surahs/112?lang=en"
{
"surah": { "surah_no": 112, "surah_name": "الإخلَاص", "ar_uthmani_name": "ﰝ", "ayas_count": 4 },
"ayahs": [
{
"id": 12458,
"aya_no": 1,
"aya_no_uthmani": "١",
"aya_uthmani": "قُلۡ هُوَ ٱللَّهُ أَحَدٌ",
"aya_imlaei": "قُلْ هُوَ اللَّهُ أَحَدٌ",
"translations": [
{
"id": 872051,
"translationKey": {
"key": "english_hilali_khan",
"title": "الترجمة الإنجليزية - تقي الدين الهلالي ومحسن خان",
"language": { "isoCode": "en", "arabicName": "إنجليزي", "englishName": "English", "nativeName": "English", "direction": "ltr" }
},
"content": "1. Say (O Muhammad صلى الله عليه وسلم): \"He is Allâh, (the) One.",
"footnotes": null
}
]
}
]
}
Field
aya_uthmani The Uthmani text with its pause marks and small letters, as in the Madinah mushaf. Needs a Quranic font (KFGQPC Uthmanic, Amiri Quran) to render well.
aya_imlaei The same aya in standard modern spelling: searchable, and readable in any Arabic font.
aya_no_uthmani The aya number in Arabic-Indic digits.
translations[].content The translated text; some editions keep the aya number inside it. footnotes holds the edition’s notes when it has them.

404 when the surah number is outside 1 to 114.

GET/quran/translation-keys

The editions available, 70 of them, each tied to a language.

[
{ "key": "afar_hamza", "title": "الترجمة العفرية - محمود عبدالقادر حمزة", "language": { "isoCode": "aa", "englishName": "Afar", "direction": "ltr" }, "last_version": "1.0" },
{ "key": "english_hilali_khan", "title": "الترجمة الإنجليزية - تقي الدين الهلالي ومحسن خان", "language": { "isoCode": "en", "englishName": "English", "direction": "ltr" }, "last_version": "1.0" }
]

Use key as langKey on the surah endpoint to get exactly that edition.

GET/quran/surah-names
Parameter
language optional ISO code; 404 if unknown.
surah_no optional 1 to 114; 404 if unknown.
q optional Case-insensitive substring of the name.

Without parameters, all 114 names in all 78 languages (8,892 rows, ~540 KB). Filter by language for one list.

Terminal window
curl "https://islamenc.com/api/quran/surah-names?language=fr"
[ { "surah_no": 1, "language": "fr", "surah_name": "Al-Fatiha" }, ... ]
GET/quran/search

The ayas of the hybrid search: by words and by meaning, Arabic and translations together.

Parameter
q required The question or words.
limit optional 1 to 50, default 10.
lang optional Language of the translation returned with each aya (default en).
Terminal window
curl "https://islamenc.com/api/quran/search?q=الصبر&limit=2&lang=en"
{
"query": "الصبر",
"semantic": true,
"results": [
{
"type": "aya",
"score": 0.7873,
"surah_no": 70,
"aya_no": 5,
"surah_name": "المَعَارج",
"aya_uthmani": "فَٱصۡبِرۡ صَبۡرٗا جَمِيلًا",
"translation": "5. So be patient (O Muhammad صلى الله عليه وسلم), with a good patience.",
"matched_lang": "ar"
}
],
"timings": { "embed": 212, "meili": 120, "rerank": 0, "db": 7, "total": 339 }
}

semantic is false when the answer was found by words alone (the question’s embedding was not ready in time); the same question a moment later is searched by meaning. matched_lang says which text matched: the Arabic or a translation.

For filters by surah, more result types and paging, call /hybrid-search?type=aya directly.