Quran API

Religious API · Works globally · Islamic scripture · Arabic text and translations

TL;DR

The Quran API (Al Quran Cloud) provides access to the complete text of the Quran in Arabic, along with translations in 40+ languages and audio recitations by various reciters. The API organizes content by surah (chapter) and ayah (verse). You can fetch entire chapters, individual verses, search for specific verses, and get recitation audio URLs. The API supports multiple translation editions (M. Asad, Pickthall, Yusuf Ali, Sahih International, etc.), tafsir (commentary) resources, and returns clean JSON responses. No API key is required for any endpoint.

Quick start: https://api.alquran.cloud/v1/surah/1

No API key needed — just make a request!

How to Use This API

1. Get a Surah in Arabic

https://api.alquran.cloud/v1/surah/36

Surah numbers range from 1 (Al-Fatiha) to 114 (An-Nas). Returns all verses in Arabic.

2. Get Surah with Translation

https://api.alquran.cloud/v1/surah/36/en.asad
https://api.alquran.cloud/v1/surah/1/en.pickthall

Append the language and edition code to get translated text alongside Arabic.

3. Get a Single Verse (Ayah)

https://api.alquran.cloud/v1/ayah/262
https://api.alquran.cloud/v1/ayah/262/en.sahih

Verses use a global numbering system (1-6236). Ayah 1 is the Bismillah of Al-Fatiha.

4. Search the Quran

https://api.alquran.cloud/v1/search/mercy/en.asad
https://api.alquran.cloud/v1/search/forgiveness/en.pickthall

Full-text search across verses. Results include surah info, verse numbers, and matched text.

5. Get Audio Recitation

https://api.alquran.cloud/v1/surah/36/ar.abdulbasit
https://api.alquran.cloud/v1/surah/36/ar.ahmedajamy

Many reciters available. Each verse includes an audio URL and audioSecondary URL.

6. Get Multiple Editions at Once

https://api.alquran.cloud/v1/surah/1/editions/en.asad,en.pickthall,en.yusufali

Compare translations side by side using the editions endpoint.

7. Response Format

{
  "code": 200,
  "status": "OK",
  "data": {
    "number": 1,
    "name": "\u0633\u0648\u0631\u0629 \u0627\u0644\u0641\u0627\u062a\u062d\u0629",
    "englishName": "Al-Faatiha",
    "englishNameTranslation": "The Opening",
    "numberOfAyahs": 7,
    "ayahs": [
      {
        "number": 1,
        "text": "\u0628\u0650\u0633\u0652\u0645\u0650...",
        "numberInSurah": 1,
        "juz": 1,
        "manzil": 1,
        "page": 1,
        "ruku": 1,
        "hizbQuarter": 1,
        "sajda": false
      }
    ],
    "edition": {
      "identifier": "quran-uthmani",
      "language": "ar",
      "name": "Uthmani",
      "type": "quran"
    }
  }
}

8. JavaScript — Fetch Surah with Translation

fetch('https://api.alquran.cloud/v1/surah/1/en.asad')
  .then(r => r.json())
  .then(d => {
    const surah = d.data;
    console.log(`Surah ${surah.number}: ${surah.englishName}`);
    console.log(`Translation: ${surah.englishNameTranslation}`);
    surah.ayahs.forEach(a => {
      console.log(`[${a.numberInSurah}] ${a.text}`);
    });
  });

9. Python — Search and Display

import requests

resp = requests.get('https://api.alquran.cloud/v1/search/mercy/en.asad')
results = resp.json()['data']['matches']
print(f"Found {len(results)} verses containing 'mercy':")
for match in results[:5]:
    print(f"  [{match['surah']['number']}:{match['numberInSurah']}] {match['text']}")

10. Python — Compare Translations

import requests

resp = requests.get(
    'https://api.alquran.cloud/v1/ayah/1/editions/en.asad,en.pickthall,en.yusufali'
)
data = resp.json()['data']
for edition in data:
    print(f"{edition['edition']['name']}: {edition['text']}")
Try it: https://api.alquran.cloud/v1/surah/1/en.asad

Frequently Asked Questions

What translations are available?
Over 40 languages including English (M. Asad, Pickthall, Yusuf Ali, Sahih International, Shakir, Daryabadi), Urdu (Maulana Muhammad Junagarhi), French (Muhammad Hamidullah), Spanish, Turkish, German, Indonesian, Bengali, and many more. Use /v1/edition?language=en&type=translation to list all.
Can I get audio recitations?
Yes! Use /surah/{number}/editions/ar.abdulbasit (or ar.ahmedajamy, ar.alsaadi, ar.alafasy, ar.minshawi, etc.). Each verse includes an audio URL pointing to an MP3 file and an audioSecondary URL.
How do I search the Quran?
Use the search endpoint: /v1/search/{query}/{language}. It returns matching verses from the specified translation. Encode spaces as %20 or use a plus sign for multi-word queries.
How are verses numbered?
Verses use a global numbering system (1-6236) where ayah 1 is the Bismillah of Surah Al-Fatiha and ayah 6236 is the last verse of Surah An-Nas. Each verse also has a numberInSurah field for its position within the chapter.
What edition types exist?
Three types: quran (Uthmani Arabic text), translation (translated text in various languages), and tafsir (commentary/exegesis). Combine editions with commas in the URL.
Is there a rate limit?
No documented rate limit. The API is designed for public use and educational applications. For high-traffic apps, cache verses locally rather than making repeated requests.
Can I use this commercially?
Yes, the Quran API is free for any use including commercial applications and mobile apps. No attribution is strictly required but is appreciated.

What You Can Build