Get random ayah
Get a random verse. You can get random verse from a specific chapter
,page
, juz
, hizb
, rub-el-hizb
, ruku
, manzil
, or from whole Quran.
Query Parameters
Default value: en
Language to fetch word translation in specific language.
Possible values: [true
, false
]
Default value: true
Include words of each ayah?
0 or false will not include words.
1 or true will include the words.
comma separated ids of translations to load for each ayah.
Id of recitation if you want to load audio of each ayah.
Comma separated ids of tafisrs to load for each ayah if you want to load tafisrs.
Comma separated list of word fields if you want to add more fields for each word.
Comma separated list of translation fields if you want to add more fields for each translation.
comma separated list of ayah fields.
- 200
- 400
- 401
- 403
- 404
- 422
- 429
- 500
- 502
- 503
- 504
Successful response
Schema
- Array [
- ]
- Array [
- ]
verse object required
Chapter number of this verse
key of the verse, key is generated using chapter number and ayah number. e.g 1:1 is first ayah of first surah.
Ayah text in Uthmani Script.
Uthmani script is an old-fashion script used by the third Caliph, Uthman, to produce the first standard quran manuscript.
Uthmani script diacritic marks
Ayah text in Imla'ei script.
Imla'ei script, is the modern Arabic writing style which is currently in use.
Possible values: >= 1
and <= 604
page_number is deperacted, please use v1_page
instead.
words object[]
Word position within ayah
Word text in Uthmanic script
Word text in simple/Imlaei script
Possible values: >= 1
and <= 604
page_number is deperacted, please use v1_page
instead.
Line number in the Muhsaf for this word
glyph code that you can use to render the word using QCF v1 font.
glyph code that you can use to render the word using QCF v2 font.
translation object required
transliteration object required
Possible values: >= 1
and <= 604
Madani Muhsaf Page number for v1 font. If v1_page
value is 2, that means you'll use page 2 font file to render this word using v1 glyph codes.
Possible values: >= 1
and <= 604
Madani Muhsaf Page number for v2 font. If v2_page
value is 2, that means you'll use page 2 font file to render this ayah using v2 glyph codes.
audio object
translations object[]
Text of the translation, text could have HTML tags for formatting and footnotes.
Glyphs codes for QCF v1 fonts
Glyphs codes for QCF v2 fonts
Possible values: >= 1
and <= 604
Madani Muhsaf Page number for v1 font. If v1_page
value is 2, that means you'll use page 2 font file to render this ayah using v1 glyph codes.
Possible values: >= 1
and <= 604
Madani Muhsaf Page number for v2 font. If v2_page
value is 2, that means you'll use page 2 font file to render this ayah using v2 glyph codes.
{
"verse": {
"id": 1,
"chapter_id": 1,
"verse_number": 1,
"verse_key": "1:1",
"verse_index": 1,
"text_uthmani": "بِسْمِ ٱللَّهِ ٱلرَّحْمَـٰنِ ٱلرَّحِيمِ",
"text_uthmani_simple": "بسم الله الرحمن الرحيم",
"text_imlaei": "بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ",
"text_imlaei_simple": "بسم الله الرحمن الرحيم",
"text_indopak": "بِسۡمِ اللهِ الرَّحۡمٰنِ الرَّحِيۡمِ",
"text_uthmani_tajweed": "بِسْمِ <tajweed class=ham_wasl>ٱ</tajweed>للَّهِ <tajweed class=ham_wasl>ٱ</tajweed><tajweed class=laam_shamsiyah>ل</tajweed>رَّحْمَ<tajweed class=madda_normal>ـٰ</tajweed>نِ <tajweed class=ham_wasl>ٱ</tajweed><tajweed class=laam_shamsiyah>ل</tajweed>رَّح<tajweed class=madda_permissible>ِي</tajweed>مِ <span class=end>١</span>",
"juz_number": 1,
"hizb_number": 1,
"rub_number": 1,
"page_number": 1,
"image_url": "//c22506.r6.cf1.rackcdn.com/1_1.png",
"image_width": 675,
"words": [
{
"id": 1,
"position": 1,
"audio_url": "wbw/001_001_001.mp3",
"char_type_name": "word",
"translation": {
"text": "In (the) name",
"language_name": "english"
},
"transliteration": {
"text": "bis'mi",
"language_name": "english"
}
}
]
}
}
{
"verse": {
"id": 1,
"verse_number": 1,
"page_number": 1,
"verse_key": "1:1",
"juz_number": 1,
"hizb_number": 1,
"rub_el_hizb_number": 1,
"sajdah_type": null,
"sajdah_number": null,
"words": [
{
"id": 1,
"position": 1,
"audio_url": "wbw/001_001_001.mp3",
"char_type_name": "word",
"line_number": 2,
"page_number": 1,
"code_v1": "ﭑ",
"translation": {
"text": "In (the) name",
"language_name": "english"
},
"transliteration": {
"text": "bis'mi",
"language_name": "english"
}
}
],
"translations": [
{
"resource_id": 131,
"text": "In the Name of Allah—the Most Compassionate, Most Merciful."
}
],
"tafsirs": [
{
"id": 82641,
"language_name": "english",
"name": "Tafsir Ibn Kathir",
"text": "<h2 class=\"title\">Which was revealed in Makkah</h2><h2 class=\"title\">The Meaning of Al-Fatihah and its Various Names</h2>"
}
]
}
}
Will be returned when the request is invalid e.g. request is missing required headers or with invalid query parameters.
Schema
Possible values: [gateway_timeout
, service_unavailable
, bad_gateway
, internal_server_error
, unprocessable_entity
, not_found
, forbidden
, unauthorized
, invalid_request
, invalid_token
, insufficient_scope
, service_error
, invalid_path
, rate_limit_exceeded
]
{
"message": "string",
"type": "gateway_timeout",
"success": true
}
{
"message": "The request is missing required headers or is invalid",
"type": "invalid_request",
"success": false
}
Will be returned when the request is unauthorized.
Schema
Possible values: [gateway_timeout
, service_unavailable
, bad_gateway
, internal_server_error
, unprocessable_entity
, not_found
, forbidden
, unauthorized
, invalid_request
, invalid_token
, insufficient_scope
, service_error
, invalid_path
, rate_limit_exceeded
]
{
"message": "string",
"type": "gateway_timeout",
"success": true
}
{
"message": "The request requires user authentication",
"type": "unauthorized",
"success": false
}
Forbidden error. Can either be due to access token not being passed, having been expired or the caller trying to access a resource without enough permissions.
Schema
Possible values: [gateway_timeout
, service_unavailable
, bad_gateway
, internal_server_error
, unprocessable_entity
, not_found
, forbidden
, unauthorized
, invalid_request
, invalid_token
, insufficient_scope
, service_error
, invalid_path
, rate_limit_exceeded
]
{
"message": "string",
"type": "gateway_timeout",
"success": true
}
{
"message": "The server understood the request, but refuses to authorize it",
"type": "forbidden",
"success": false
}
Not Found. The resource being accessed does not exist.
Schema
Possible values: [gateway_timeout
, service_unavailable
, bad_gateway
, internal_server_error
, unprocessable_entity
, not_found
, forbidden
, unauthorized
, invalid_request
, invalid_token
, insufficient_scope
, service_error
, invalid_path
, rate_limit_exceeded
]
{
"message": "string",
"type": "gateway_timeout",
"success": true
}
{
"message": "The requested resource could not be found",
"type": "not_found",
"success": false
}
Validation Error. The request includes one or more invalid params. Please check the request params and try again.
Schema
Possible values: [gateway_timeout
, service_unavailable
, bad_gateway
, internal_server_error
, unprocessable_entity
, not_found
, forbidden
, unauthorized
, invalid_request
, invalid_token
, insufficient_scope
, service_error
, invalid_path
, rate_limit_exceeded
]
{
"message": "string",
"type": "gateway_timeout",
"success": true
}
{
"message": "The request was well-formed but was unable to be followed due to semantic errors",
"type": "unprocessable_entity",
"success": false
}
Rate-limit exceeded
Schema
Possible values: [gateway_timeout
, service_unavailable
, bad_gateway
, internal_server_error
, unprocessable_entity
, not_found
, forbidden
, unauthorized
, invalid_request
, invalid_token
, insufficient_scope
, service_error
, invalid_path
, rate_limit_exceeded
]
{
"message": "string",
"type": "gateway_timeout",
"success": true
}
{
"message": "Too many requests, please try again later",
"type": "rate_limit_exceeded",
"success": false
}
Server Error. Something went wrong, try again later.
Schema
Possible values: [gateway_timeout
, service_unavailable
, bad_gateway
, internal_server_error
, unprocessable_entity
, not_found
, forbidden
, unauthorized
, invalid_request
, invalid_token
, insufficient_scope
, service_error
, invalid_path
, rate_limit_exceeded
]
{
"message": "string",
"type": "gateway_timeout",
"success": true
}
{
"message": "The server encountered an internal error and was unable to complete your request",
"type": "internal_server_error",
"success": false
}
Bad Gateway
Schema
Possible values: [gateway_timeout
, service_unavailable
, bad_gateway
, internal_server_error
, unprocessable_entity
, not_found
, forbidden
, unauthorized
, invalid_request
, invalid_token
, insufficient_scope
, service_error
, invalid_path
, rate_limit_exceeded
]
{
"message": "string",
"type": "gateway_timeout",
"success": true
}
{
"message": "The server was acting as a gateway or proxy and received an invalid response from the upstream server",
"type": "bad_gateway",
"success": false
}
Service Unavailable
Schema
Possible values: [gateway_timeout
, service_unavailable
, bad_gateway
, internal_server_error
, unprocessable_entity
, not_found
, forbidden
, unauthorized
, invalid_request
, invalid_token
, insufficient_scope
, service_error
, invalid_path
, rate_limit_exceeded
]
{
"message": "string",
"type": "gateway_timeout",
"success": true
}
{
"message": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance",
"type": "service_unavailable",
"success": false
}
Gateway Timeout
Schema
Possible values: [gateway_timeout
, service_unavailable
, bad_gateway
, internal_server_error
, unprocessable_entity
, not_found
, forbidden
, unauthorized
, invalid_request
, invalid_token
, insufficient_scope
, service_error
, invalid_path
, rate_limit_exceeded
]
{
"message": "string",
"type": "gateway_timeout",
"success": true
}
{
"message": "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server",
"type": "gateway_timeout",
"success": false
}