Reference data
These endpoints do no retrieval and call no model. They are fast, they are deterministic, and their responses are safe to cache aggressively.
GET /v1/quran/{surah}/{ayah}
Qur'anic text in the Uthmani script. The ayah may be a single verse or a range of up to 50.
curl "https://api.rafiqai.app/v1/quran/2/255" -H "Authorization: Bearer $RAFIQ_API_KEY"
curl "https://api.rafiqai.app/v1/quran/2/255-257" -H "Authorization: Bearer $RAFIQ_API_KEY"
{
"surah": 2,
"verses": [
{ "key": "2:255", "surah": 2, "ayah": 255, "arabic": "ٱللَّهُ لَآ إِلَـٰهَ إِلَّا هُوَ ٱلْحَىُّ ٱلْقَيُّومُ..." }
]
}
GET /v1/prayer-times
| Parameter | Required | Notes |
|---|---|---|
city | Yes | e.g. London |
country | Yes | e.g. UK |
method | No | Calculation method id. Defaults to the convention for that country. |
curl "https://api.rafiqai.app/v1/prayer-times?city=London&country=UK" \
-H "Authorization: Bearer $RAFIQ_API_KEY"
{
"location": { "city": "London", "country": "UK" },
"date": "01 Sep 2026",
"timezone": "Europe/London",
"method": { "id": 2, "name": "Islamic Society of North America" },
"school": 0,
"timings": { "Fajr": "04:31", "Dhuhr": "13:03", "Asr": "16:44", "Maghrib": "19:52", "Isha": "21:22" }
}
Call GET /v1/prayer-times/methods for the list of calculation methods, if you want
to offer your users a choice.
GET /v1/hijri
Today's Hijri date.
{ "hijri": { "day": 18, "month": 2, "monthName": "Safar", "year": 1448 } }
On Hijri dates and prayer times
Both depend on local moon sighting and on the convention a community follows. Treat these as a sound default, not as a ruling — and let your users override the calculation method if your audience spans several conventions.