Get chapter's audio file of a reciter​
Get chapter's audio file of a reciter. Supports segments
(boolean query param; default false
). When segments=true
, verse-level timestamp entries include segments
([word_index, start_ms, end_ms]). All time values are milliseconds.
Path Parameters
The Id of the reciter
Possible values: >= 1
and <= 114
The number of the chapter
Query Parameters
If true, each verse timestamp includes a segments
array of [word_index, start_ms, end_ms] triplets. Time values are in milliseconds.
- 200
- 400
- 401
- 403
- 404
- 422
- 429
- 500
- 502
- 503
- 504
Successful response
Schema
- Array [
- ]
audio_file object required
File size in bytes.
timestamps object[]
Present when timing data is available. If segments=true
, each item may include a segments
array.
Start offset in milliseconds from the beginning of the file.
End offset in milliseconds from the beginning of the file.
Duration in milliseconds (mirrors source data; may be negative in legacy data).
Possible values: >= 3
, <= 3
Present only when segments=true
. Word-level timing triplets for the verse.
{
"audio_file": {
"id": 457,
"chapter_id": 1,
"file_size": 710784,
"format": "mp3",
"audio_url": "https://download.quranicaudio.com/qdc/abu_bakr_shatri/murattal/1.mp3",
"timestamps": [
{
"verse_key": "1:1",
"timestamp_from": 0,
"timestamp_to": 6493,
"duration": -6493,
"segments": [
[
0
]
]
}
]
}
}
segments=false (default)
{
"audio_file": {
"id": 457,
"chapter_id": 1,
"file_size": 710784,
"format": "mp3",
"audio_url": "https://download.quranicaudio.com/qdc/abu_bakr_shatri/murattal/1.mp3"
}
}
segments=true (includes timestamps + segments)
{
"audio_file": {
"id": 457,
"chapter_id": 1,
"file_size": 710784,
"format": "mp3",
"audio_url": "https://download.quranicaudio.com/qdc/abu_bakr_shatri/murattal/1.mp3",
"timestamps": [
{
"verse_key": "1:1",
"timestamp_from": 0,
"timestamp_to": 6493,
"duration": -6493,
"segments": [
[
1,
0,
630
],
[
2,
650,
1570
],
[
3,
1570,
3110
],
[
4,
3110,
5590
]
]
},
{
"verse_key": "1:2",
"timestamp_from": 6493,
"timestamp_to": 11546,
"duration": -5053,
"segments": [
[
1,
6493,
7243
],
[
2,
7243,
8123
],
[
3,
8143,
8723
],
[
4,
8723,
11193
]
]
},
{
"verse_key": "1:3",
"timestamp_from": 11546,
"timestamp_to": 15985,
"duration": -4439,
"segments": [
[
1,
11546,
12806
],
[
2,
12916,
15366
]
]
},
{
"verse_key": "1:4",
"timestamp_from": 15985,
"timestamp_to": 21521,
"duration": -5536,
"segments": [
[
1,
15985,
16505
],
[
2,
16705,
17235
],
[
3,
17265,
19155
]
]
},
{
"verse_key": "1:5",
"timestamp_from": 21521,
"timestamp_to": 27835,
"duration": -6314,
"segments": [
[
1,
21521,
22591
],
[
2,
22591,
23471
],
[
3,
23631,
25001
],
[
4,
25001,
27391
]
]
},
{
"verse_key": "1:6",
"timestamp_from": 27835,
"timestamp_to": 33388,
"duration": -5553,
"segments": [
[
1,
27835,
28265
],
[
2,
28265,
29405
],
[
3,
29405,
32545
]
]
},
{
"verse_key": "1:7",
"timestamp_from": 33388,
"timestamp_to": 53092,
"duration": -19704,
"segments": [
[
1,
33388,
34338
],
[
2,
34338,
35448
],
[
3,
35518,
36698
],
[
4,
36718,
38678
],
[
5,
38678,
39608
],
[
6,
39628,
41638
],
[
7,
41638,
43778
],
[
8,
43778,
44218
],
[
9,
44338,
51818
]
]
}
]
}
}
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
}