Get Qur’an verses
Returns the Uthmani Arabic text of a verse, or of a range of up to 50 verses in one surah, with the surah name, juz and place of revelation. With locale en it adds an English translation. The text comes from the Quran Foundation API.
/quran/versesAuthorizationBearer token · headerrequiredAn API key from qaf.ai Settings › API keys.
verseKeystringrequiredSurah and verse, like "2:255", or a range within one surah, like "2:255-257"; at most 50 verses.
localestringen adds an English translation and surah name; ar returns Arabic only.
arenThe verses and their surah.
surahNamestringrequiredSurah name localized to the requested output language.
surahNameArabicstringrequiredCanonical Arabic surah name.
surahNumberintegerrequiredverseStartintegerrequiredverseEndintegerrequiredverseTextstringrequiredComplete Arabic verse text without ornate brackets.
translationstring | nullrequiredAPI-sourced translation in the output language when available.
Show propertiesHide properties
stringnulljuzintegerrequiredJuz containing the first verse in the requested range.
revelationstringrequiredmakkimadaniunknownThe API key is missing, invalid or revoked.
codestringrequiredUNAUTHORIZEDstatusintegerrequiredmessagestringrequiredThe key's account can't use the API.
codestringrequiredFORBIDDENstatusintegerrequiredmessagestringrequiredA field is invalid. data.fieldErrors lists the problems by field.
codestringrequiredINPUT_VALIDATION_FAILEDstatusintegerrequiredmessagestringrequireddataobjectShow propertiesHide properties
formErrorsstring[]requiredfieldErrorsobjectrequiredToo many requests; data.reason says which limit was reached. For minute, the account's requests per minute, retry after Retry-After seconds. For day, the account's daily search cap, Retry-After is the time until the cap resets. For invalid_keys, the key doesn't exist or was revoked and this address has sent too many such keys, so fix the key rather than retrying. The X-RateLimit headers describe the account's minute window, so an invalid_keys refusal, which comes before any key is known, has none.
codestringrequiredRATE_LIMITEDstatusintegerrequiredmessagestringrequireddataobjectShow propertiesHide properties
retryAfterintegerrequiredSeconds to wait.
reasonstringrequiredWhich limit was reached: minute, the account's requests per minute; day, its searches per day; or invalid_keys, a key that doesn't exist or was revoked, from an address that has sent too many such keys.
minutedayinvalid_keysSomething went wrong on our side.
codestringrequiredINTERNAL_SERVER_ERRORstatusintegerrequiredmessagestringrequiredQaf could not complete the request in time, or a service it relies on is unavailable. Retry shortly.
codestringrequiredSERVICE_UNAVAILABLEstatusintegerrequiredmessagestringrequired