Quran - API
Quran API with media audio Syekh. Mishary Rashid Al-Afasy murrotal.
Deployment
This API has lived at: https://api.quran.gading.dev
https://api.quran.gading.dev
Terms of using Live API that hosted inFYI, this Live API already has a rate limiter of 10req/5min/address
and 150req/5min for the whole server
. So, you can't rely on this Live API for continuous use. But, you can cache the API result into local/client storage, and your app doesn't need to request the API frequently.
On the other side, it's highly recommended to deploy this API with yourself, just click the Deploy button below, or clone this repository and deploy it wherever cloud/server you want.
Deploy your own!
What is the reason behind I limit the incoming requests in this Live API?
Yeah, of course I'm glad that this API is known and used by many people. But unfortunately, Vercel Team noticed that my Personal Account has reached its limit. So, that the reason is.
Introduction
This API data source comes from the combination of several parameters from api.alquran.cloud and quran.kemenag.go.id by merging its data to one JSON file with new structure for the better use and performance. Futhermore, this api uses indexed querying techniques with 0(1)
access time which is greatly affects performance.
Features
- Arabic Transliteration
- English and Indonesia translation
- Verses meta (juz, sajda, manzil, etc)
- Tafsir surahs and verses (for now, only Bahasa Indonesia)
- Audio (Syekh. Mishary Rashid Al-Afasy murrotal edition)
- Your requests ?
Data Source
- api.alquran.cloud = Quran, Meta Verses, Audio.
- quran.kemenag.go.id = Indonesia translations and tafsir verses (short/long).
- Al-Quran-ID-API = Indonesia tafsir surah [note: ambiguous revelation type on surah 13 and 55 in this source. So, I changed it to medinan (according to sahih international data)]
Endpoint usage
-
/surah
= Returns the list of surahs in Al-Quran. -
/surah/{surah}
= Returns spesific surah. Example: /surah/110 -
/surah/{surah}/{ayah}
= Returns spesific ayah with requested surah. Example: /surah/2/255 -
/juz/{juz}
= Returns spesific juz with all ayah.Example: /juz/2
Recommended fonts for Al-qur'an
Available Commands
npm start
= run server.npm run dev
= run develop server.npm run crawl
= collect new data from the data source, then unifying it in one JSON file.
Performance Measurement & Comparison
api.alquran.cloud
Fetching on Surah 7 with audio, en translation & transliteration, id translation . Result: 1200++ ms
api.quran.gading.dev
Fetching on Surah 7 with audio, en translation & transliteration, id translation & tafsir (a lot more data and hosted on free serverless). Result: 400++ ms
LICENSE
MIT
Support Me
Global
Indonesia
- Bank Syariah Mandiri [REK: 7142365973 (SUTAN GADING F NASUTION)]
- Trakteer
- Karyakarsa
Copyright © 2020 by Sutan Gading Fadhillah Nasution