Home  /  Blog  /  Free Quran API Guide

Free Quran API: The Complete Developer Guide

Quran8 min readMay 2026

If you want to put the Quran in an app or a website, you do not have to host the data yourself. A free Quran API gives you Arabic, translations, audio, tafsir, and search over a single endpoint. Here is how to use one well.

What you can do with a Quran API

A good Quran API gives you five things:

UmmahAPI ships all five for free. No key needed for casual use. The examples below use it as the base URL, but the patterns work with any Quran API.

Get a single ayah

The most common request. Pass a surah number and an ayah number.

// Ayat al-Kursi (2:255)
const res = await fetch(
  'https://ummahapi.com/api/quran/surah/2/ayah/255'
);
const data = await res.json();

console.log(data.text);          // Arabic (Uthmani)
console.log(data.translations); // English, Urdu, ...
console.log(data.audio);        // audio URLs by reciter

Get a whole surah

Useful for surah readers and recitation apps.

// Al-Fatiha
fetch('https://ummahapi.com/api/quran/surah/1')
  .then(r => r.json())
  .then(s => {
    s.ayahs.forEach(a => console.log(a.text));
  });

List all 114 surahs

Most apps need this for a sidebar or a picker.

fetch('https://ummahapi.com/api/quran/surahs')
  .then(r => r.json())
  .then(({ surahs }) => {
    surahs.forEach(s => {
      console.log(s.number, s.name, s.englishName, s.ayahCount);
    });
  });

Random ayah (for "Verse of the Day")

fetch('https://ummahapi.com/api/quran/random')
  .then(r => r.json())
  .then(ayah => {
    document.querySelector('#verse').textContent = ayah.text;
  });

Search the Quran by keyword

Searches across translations. Returns matching ayahs with surah and ayah numbers.

fetch('https://ummahapi.com/api/quran/search?q=mercy')
  .then(r => r.json())
  .then(({ results }) => console.log(results.length));

Audio recitation

The single ayah and surah endpoints already include audio URLs. UmmahAPI returns recitations from eight reciters: Alafasy, Abdul Basit, Sudais, Husary, Ajamy, Shaatri, Maher Mu'aiqly, and Yasser Al Dosari. Pass ?reciter=alafasy to filter to one.

const r = await fetch(
  'https://ummahapi.com/api/quran/surah/36/ayah/1?reciter=alafasy'
);
const { audio } = await r.json();
new Audio(audio).play();

Tafsir (scholarly explanation)

Most Quran APIs do not include tafsir. UmmahAPI includes three: Ibn Kathir, Ma'arif al-Qur'an, and Muyassar.

fetch('https://ummahapi.com/api/tafsir/ibn_kathir/surah/2/ayah/255')
  .then(r => r.json())
  .then(t => console.log(t.text));

Word by word

For learning apps. Returns each Arabic word with transliteration and meaning.

fetch('https://ummahapi.com/api/quran/words/1/1')
  .then(r => r.json())
  .then(({ words }) => words.forEach(w =>
    console.log(w.arabic, w.transliteration, w.meaning)
  ));

Tip. Pass ?script=indopak to get the IndoPak script instead of Uthmani. Pass ?script=tajweed for HTML with tajweed coloring.

Rate limits

UmmahAPI is generous: 5,000 requests every 15 minutes without a key, unlimited with a free key. Get a key in under a minute, no credit card.

FAQ

Is the Quran API really free?

Yes. UmmahAPI is free forever for individuals and commercial projects. No paywall, no tier system.

Which Arabic script should I use?

Use Uthmani (the default) for Arab and global audiences. Use IndoPak for South Asian audiences. Use Tajweed when you want colored markup for recitation rules.

How do I show the Quran on a website without coding?

Use the verse of the day widget. One script tag and one div is all it takes.

Build with the Quran today

Free Quran API with audio, translations, tafsir, and search. No signup needed for casual use.

Read the docs

Related

API ReferenceQuran API API ReferenceTafsir API TutorialBuild a Quran App with React Embeddable WidgetVerse of the Day Widget