💡
The root url for audio is different!
Reciter IDName
1Mishary Rashid Al Afasy
2Abu Bakr Al Shatri
3Nasser Al Qatami
4Yasser Al Dosari
5Hani Ar Rifai

Audio of a Verse

Request format

Make a GET request to /audio/<surahNo>/<ayahNo>.json

Example

Endpoint: /audio/2/1.json

Raw Url: https://quranapi.pages.dev/api/audio/2/1.json (opens in a new tab)

Response

{
   "1": {
      "reciter": "Mishary Rashid Al Afasy",
      "url": "https://the-quran-project.github.io/Quran-Audio/Data/1/2_1.mp3",
      "originalUrl": "https://everyayah.com/data/Alafasy_128kbps/002001.mp3"
   },
   "2": {
      "reciter": "Abu Bakr Al Shatri",
      "url": "https://the-quran-project.github.io/Quran-Audio/Data/2/2_1.mp3",
      "originalUrl": "https://everyayah.com/data/Abu_Bakr_Ash-Shaatree_128kbps/002001.mp3"
   },
   "3": {
      "reciter": "Nasser Al Qatami",
      "url": "https://the-quran-project.github.io/Quran-Audio/Data/3/2_1.mp3",
      "originalUrl": "https://everyayah.com/data/Nasser_Alqatami_128kbps/002001.mp3"
   },
   "4": {
      "reciter": "Yasser Al Dosari",
      "url": "https://the-quran-project.github.io/Quran-Audio/Data/4/2_1.mp3",
      "originalUrl": "https://everyayah.com/data/Yasser_Ad-Dussary_128kbps/002001.mp3"
   },
   "5": {
      "reciter": "Hani Ar Rifai",
      "url": "https://the-quran-project.github.io/Quran-Audio/Data/5/2_1.mp3",
      "originalUrl": "https://everyayah.com/data/Hani_Rifai_192kbps/002001.mp3"
   }
}

The previous url: quranaudio.pages.dev/<reciterNo>/<surahNo>_<ayahNo>.mp3 is still available. But there are only 3 reciters in that. It is because of the 25k total file limit from cloudflare pages.


Use the links to get the audio file. Example:

https://the-quran-project.github.io/Quran-Audio/Data/2/1_2.mp3 (opens in a new tab)



Audio of a Chapter

As the audio recitation of a chapter is larger in size, I couldn't use CloudFlare Pages for this. (As the maximum file size is 25MiB)
Instead, the files are stored in Github. But there is also the original url from where the recitation was taken.

It's best to use the original URL if possible. However, if you can't access it, you can use the url property instead.

Request format

Make a GET request to /audio/<surahNo>.json

Example

Endpoint: /audio/2.json
Raw Url: https://quranapi.pages.dev/api/audio/2.json (opens in a new tab)

Response

{
   "1": {
      "reciter": "Mishary Rashid Al Afasy",
      "url": "https://github.com/The-Quran-Project/Quran-Audio-Chapters/raw/refs/heads/main/Data/1/2.mp3",
      "originalUrl": "https://server8.mp3quran.net/afs/002.mp3"
   },
   "2": {
      "reciter": "Abu Bakr Al Shatri",
      "url": "https://github.com/The-Quran-Project/Quran-Audio-Chapters/raw/refs/heads/main/Data/2/2.mp3",
      "originalUrl": "https://server11.mp3quran.net/shatri/002.mp3"
   },
   "3": {
      "reciter": "Nasser Al Qatami",
      "url": "https://github.com/The-Quran-Project/Quran-Audio-Chapters/raw/refs/heads/main/Data/3/2.mp3",
      "originalUrl": "https://server6.mp3quran.net/qtm/002.mp3"
   },
   "4": {
      "reciter": "Yasser Al Dosari",
      "url": "https://github.com/The-Quran-Project/Quran-Audio-Chapters/raw/refs/heads/main/Data/4/2.mp3",
      "originalUrl": "https://server11.mp3quran.net/yasser/002.mp3"
   },
   "5": {
      "reciter": "Hani Ar Rifai",
      "url": "https://github.com/The-Quran-Project/Quran-Audio-Chapters/raw/refs/heads/main/Data/5/2.mp3",
      "originalUrl": "https://server8.mp3quran.net/hani/002.mp3"
   }
}