FlutterIslamic AppsJSON DataAPIsOpen Source

Islamic App Resources: Data Sources & Packages 🌙

June 22, 202612 min read
Islamic App Resources Cover

This document is a consolidated directory of data assets, external databases, and developer packages required to build Islamic applications. The focus is entirely on providing data sources (Quran, Hadith, Azkar, Tafseer, Audio, Timings) and calculation libraries.

1. Local Data Assets (JSON Files)

You can find all these pre-formatted, production-ready JSON data files in the official GitHub repository:

File Name Description
surahs.json Complete list of all 114 Surahs with translations, verse counts, revelation type (Meccan/Medinan), and starting page.
azkar.json Morning, evening, and daily Azkar with target repetition counts and references.
hisn_almuslim.json Full supplications from the book Hisn Al-Muslim (Fortress of the Muslim).
names_of_alluh.json The 99 Beautiful Names of Allah (Asma-ul-Husna) with Arabic text, transliteration, and English meanings.
reciters.json Metadata for Quran reciters including English/Arabic names and base audio streaming server URLs.
prayers.json Quranic and prophetic prayers (Duas).
alsonn.json Recommended daily Sunnah practices and etiquettes.
islamic_questions.json A library of Q&A for Islamic quiz applications.
hadiths/books.json Sahih Al-Bukhari books and chapters list.
hadiths/hadiths.json Full Sahih Al-Bukhari Hadiths collection with Arabic text, English translation, narrator, and book reference.
tafser/muyassar.json Simplified Tafseer (التفسير الميسر) - short, clear explanations of Quranic verses. (~2.94 MB)
tafser/saady.json Tafseer Al-Saadi (تفسير السعدي) - modern, easy-to-understand, focus on spiritual lessons. (~6.60 MB)
tafser/katheer.json Tafseer Ibn Kathir (تفسير ابن كثير) - classical Hadith-based exegesis. (~15.90 MB)
tafser/qortoby.json Tafseer Al-Qurtubi (تفسير القرطبي) - focus on legal rulings and linguistics. (~20.30 MB)
tafser/tabary.json Tafseer Al-Tabari (تفسير الطبري) - the ultimate classical narration-based Tafseer. (~35.92 MB)
tafser/baghawy.json Tafseer Al-Baghawi (تفسير البغوي) - classic narration-based summary. (~8.17 MB)
tafser/waseet.json Tafseer Al-Waseet by Tantawi (التفسير الوسيط لطنطاوي) - modern comprehensive exegesis. (~19.49 MB)
tafser/tanweer.json Tafsir Al-Tahrir wa'l-Tanwir by Ibn Ashur (تفسير التحرير والتنوير) - advanced linguistic/rhetorical Tafseer. (~28.83 MB)
tafser/earab.json Quranic Grammar/I'rab (إعراب القرآن) - grammatical analysis of each verse. (~5.40 MB)
tafser/maany.json Vocabulary/Word Meanings (معاني الكلمات) - word-by-word meanings. (~844 KB)
tafser/nozool-wahidy.json Asbab al-Nuzul by Al-Wahidi (أسباب النزول للواحدي) - circumstances/reasons of revelation. (~2.14 MB)

Local Schema Snippets

Quran Chapter Schema (`surahs.json`)

{
  "id": 1,
  "name": "الفاتحة",
  "english_name": "Al-Fatihah",
  "english_translation": "The Opening",
  "verses_count": 7,
  "revelation_type": "Meccan",
  "page": 1
}

Hadith Schema (`hadiths/hadiths.json`)

{
  "hadithNumber": "1",
  "bookNumber": "1",
  "chapterNumber": "1",
  "chapterName": "باب كَيْفَ كَانَ بَدْءُ الْوَحْيِ...",
  "narrator": "عَنْ عُمَرَ بْنِ الْخَطَّابِ...",
  "hadithText": "إنما الأعمال بالنيات...",
  "englishHadithText": "The reward of deeds depends..."
}

Tafseer Schema (`tafser/*.json`)

{
  "id": 1,
  "sura": 1,
  "aya": 1,
  "text": "سورة الفاتحة سميت هذه السورة بالفاتحة؛ لأنه يفتتح بها القرآن العظيم..."
}

2. External Islamic Data Sources & APIs

If you need dynamic API access or other types of datasets (like Tafseer, word-by-word timing, or audio mp3 streams), use these resources:

📖 Quran Text & Translations

API & Web
  • Tanzil Quran Text: The most accurate, verified Quran text database. Offers simple text, Uthmanic text, and translations.
    Website: http://tanzil.net/download/
  • Alquran.cloud API: A free JSON API offering the entire Quran text, audio recitations, translations, Tafseers, and page-by-page metadata.
    API Endpoint: https://api.alquran.cloud/v1/quran/quran-uthmani
  • Quran.com API: Developer API powering Quran.com. Provides verse-by-verse audio, translations, and word-by-word data.
    Developer Portal: https://api-docs.quran.com

🔊 Quran Audio Recitations

Audio mirrors
  • EveryAyah Audio Database: Direct links to audio files split by ayah (verse) for dozens of reciters, perfect for verse-by-verse playback.
    Audio Files Root: http://everyayah.com/data/
    URL Pattern: {reciter}/{surah_padded}{ayah_padded}.mp3

⏱️ Quran Word-by-Word Timing

JSON & Timings

📚 Hadith Collections

Hadith APIs

3. Useful Developer Packages

For dynamic features (such as calculating prayer times, reading device sensors for Qibla, or converting calendar dates) without packaging large static assets, use these libraries:

🕌 Prayer Times & Qibla

prayers_times pub.dev

Dynamic mathematical calculations of daily prayer times based on GPS coordinates.

adhan pub.dev

Highly accurate astronomical prayer calculation library supporting multiple calculation methods.

flutter_qiblah pub.dev

Magnetic sensors integration for device Kaaba orientation compasses.

📅 Calendar & Conversions

hijri pub.dev

Gregorian-to-Hijri calendar conversions, formatting, and mathematical structures.

jhijri pub.dev

Alternative, highly accurate astronomical Hijri date computation library.

📖 Quran & Typography

quran pub.dev

Programmatic access to verses, pages, translations, and surah metadata.

qcf_quran_plus pub.dev

Standard Uthmanic vector fonts, pages, and layouts (King Fahd Complex standard).

🎙️ Audio & Speech Recognition

audioplayers / just_audio Flutter

Low-latency and highly customizable audio players for streaming recitations.

sherpa_onnx pub.dev

On-device offline automatic speech recognition (ASR) engine for recitation validation.

record pub.dev

Records voice inputs from the device microphone for on-device ASR models.

4. Developer Integration Tips

1

Location Fallbacks for Prayer Times

When using geolocator, always offer manual offline city pickers. GPS coordinates might not be retrieved inside deep structures or if permission is refused, which shouldn't render the app useless.

2

Qibla Magnetic Declination

For flutter_qiblah, raw magnetometer readings target Magnetic North. To display a precise bearing, query the device coordinates to compute the magnetic declination and orient towards True North.

3

Audio Streaming and Caching

Recitation files from `EveryAyah` are bandwidth intensive. Combine players like just_audio with folder storage to download and cache surah packages locally for subsequent offline plays.

4

Arabic Script Fonts

Standard system fonts (Roboto, San Francisco) will display misaligned diacritics and lack Quranic symbols. Include and define the official KFGQPC Hafs font package inside your application for proper rendering.

Abdalrahman Reda

Written by Abdalrahman Reda

Software Engineer specialized in Flutter and Python Backend development. Writing about technology, coding practices, and creating impactful applications.