JuzzQuran APIjuzzquran.com ↗
Access 75 Quran reciters and MP3 audio URLs for all 114 surahs from JuzzQuran.com. Filter by recitation style including Murattal, Mujawwad, Warsh, and Tajweed.
What is the JuzzQuran API?
The JuzzQuran API exposes 2 endpoints covering 75 Quran reciters and direct MP3 audio URLs for all 114 surahs. Use list_reciters to browse reciters by style, country, and pace, then call get_reciter_audio with a reciter's index to retrieve per-surah audio URLs alongside surah metadata including Arabic name, English meaning, verse count, and revelation type.
curl -X GET 'https://api.parse.bot/scraper/d5b9f1c0-a1b4-4c8d-8c58-7d9622345de5/list_reciters?style=Mujawwad' \ -H 'X-API-Key: $PARSE_API_KEY'
List all 75 Quran reciters available on JuzzQuran with their metadata. Optionally filter by recitation style. Each reciter includes an index that can be passed to get_reciter_audio to retrieve surah audio URLs. One HTTP round trip; returns the full list in a single call with no pagination.
| Param | Type | Description |
|---|---|---|
| style | string | Filter reciters by recitation style. Omitting returns all reciters. |
{
"type": "object",
"fields": {
"total": "integer count of reciters returned",
"reciters": "array of reciter objects, each containing index, slug, name, arabic_name, country, style, pace, image_url, has_full_surah_audio, and profile_url"
},
"sample": {
"data": {
"total": 75,
"reciters": [
{
"name": "Abdul Basit, Murattal",
"pace": "Murattal · measured",
"slug": "abdul-basit-murattal",
"index": 0,
"style": "Murattal",
"country": "Egypt",
"image_url": "https://juzzquran.com/images/reciters/abdul-basit.webp",
"arabic_name": "عبد الباسط عبد الصمد",
"profile_url": "https://juzzquran.com/reciters/abdul-basit-murattal",
"has_full_surah_audio": true
}
]
},
"status": "success"
}
}About the JuzzQuran API
Reciters and Styles
The list_reciters endpoint returns up to 75 reciter objects in a single call. Each object includes index, slug, name, arabic_name, country, style, pace, image_url, and has_full_surah_audio. The optional style parameter filters results to a specific recitation tradition — valid options include Murattal, Mujawwad, Haram, Warsh, and Tajweed. Omitting the parameter returns all reciters. The index value from this response is what you pass to the audio endpoint.
Surah Audio Retrieval
The get_reciter_audio endpoint accepts a zero-based reciter_index (0–74) and returns a reciter metadata object alongside a surahs array of exactly 114 entries. Each surah entry carries surah_number, surah_name, surah_arabic, surah_english (the meaning in English), verse_count, revelation_type (Meccan or Medinan), and audio_url. The surahs_with_audio field tells you how many entries have a non-null audio_url, since some reciters may not have recordings for every surah.
Coverage and Gaps
All 114 canonical surahs are represented in every response, but audio_url may be null for surahs a given reciter has not recorded. The has_full_surah_audio flag on each reciter in list_reciters signals whether a complete set is available before you make a second call. Reciter metadata includes a profile_url pointing to the reciter's page on JuzzQuran for further reference.
The JuzzQuran API is a managed, monitored endpoint for juzzquran.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when juzzquran.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official juzzquran.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Quran audio player that lets users browse reciters by style and stream MP3 files for any surah
- Catalog all available reciters for a given style (e.g. Warsh) using the
stylefilter inlist_reciters - Display a reciter's profile image, country, and pace alongside their audio library in a mobile app
- Identify which reciters have a complete 114-surah recording set using the
has_full_surah_audioflag - Build a surah reference index that shows
verse_count,revelation_type, Arabic name, and English meaning - Cross-reference surah audio availability per reciter to surface gaps in a recitation database
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does JuzzQuran have an official developer API?+
What does `get_reciter_audio` return for surahs a reciter hasn't recorded?+
audio_url is null. The top-level surahs_with_audio integer tells you how many entries have a valid URL, so you can quickly gauge completeness without iterating the full array.Can I filter reciters by country or pace rather than style?+
list_reciters endpoint currently supports filtering only by style. Country and pace are present as fields (country, pace) in each reciter object, so you can filter client-side after retrieving the full list. You can fork this API on Parse and revise it to add server-side filtering by those fields.Does the API expose individual ayah (verse) audio URLs, not just full-surah recordings?+
get_reciter_audio. Verse-level audio is not exposed. You can fork it on Parse and revise to add an endpoint returning per-ayah audio if JuzzQuran surfaces that data.