Quran Gallery Développeurs
API gratuite des horaires de prière, sans clé
Quatre points d'accès publics renvoient les horaires de prière en JSON, un flux de calendrier, la recherche de ville et les mosquées proches. Sans compte, sans clé API, sans frais.
Sans clé APIJSON et iCalGratuit
URL de base
https://qurangallery.com/prayer
Tous les points d'accès ci-dessous se trouvent sous cette adresse. Une entrée invalide renvoie 400 et trop de requêtes renvoient 429. L'API n'envoie pas d'en-têtes CORS : appelez-la depuis votre serveur, pas depuis une page de navigateur sur un autre site.
Horaires de prière pour un lieu
GET /prayer/api/times
Fajr, lever du soleil, Dhuhr, Asr, Maghrib et Isha du jour pour un couple de coordonnées, plus le Fajr de demain. Chaque horaire est un instant ISO 8601 en UTC. Un horaire qui n'existe pas à cette latitude ce jour-là est omis.
Paramètres
latobligatoire- Latitude en degrés décimaux.
lngobligatoire- Longitude en degrés décimaux.
methodfacultatif- Identifiant de la méthode de calcul, par exemple muslim-world-league, north-america ou karachi. Par défaut : la méthode de la ville la plus proche.
madhabfacultatif- Hanafi ou Shafi, qui fixe l'horaire d'Asr. Par défaut : l'usage courant du pays de la ville la plus proche.
hlrfacultatif- Règle des hautes latitudes : auto, middle-of-the-night, seventh-of-the-night ou twilight-angle. Par défaut : auto.
fafacultatif- Angle personnalisé du Fajr en degrés, de 10 à 25. Par défaut : l'angle de la méthode.
iafacultatif- Angle personnalisé de l'Isha en degrés, de 10 à 25. Par défaut : l'angle de la méthode.
Exemple
curl 'https://qurangallery.com/prayer/api/times?lat=21.4225&lng=39.8262'const res = await fetch('https://qurangallery.com/prayer/api/times?lat=21.4225&lng=39.8262');
const { date, times, fajrTomorrow } = await res.json();Réponse
{
"date": "2026-10-31",
"times": [
{ "name": "fajr", "time": "2026-10-31T02:06:00.000Z", "isCurrent": false, "isNext": true },
{ "name": "sunrise", "time": "2026-10-31T03:23:00.000Z", "isCurrent": false, "isNext": false },
{ "name": "dhuhr", "time": "2026-10-31T09:04:00.000Z", "isCurrent": false, "isNext": false },
{ "name": "asr", "time": "2026-10-31T12:20:00.000Z", "isCurrent": false, "isNext": false },
{ "name": "maghrib", "time": "2026-10-31T14:45:00.000Z", "isCurrent": false, "isNext": false },
{ "name": "isha", "time": "2026-10-31T16:15:00.000Z", "isCurrent": false, "isNext": false }
],
"fajrTomorrow": "2026-11-01T02:06:00.000Z"
}Flux de calendrier (iCal)
GET /prayer/api/calendar/feed.ics
Un flux .ics auquel s'abonner, avec les horaires de prière et les dates islamiques du mois à venir par défaut, et jusqu'à 12 mois avec le paramètre months. Ajoutez l'URL comme abonnement dans Google Agenda, Calendrier Apple ou Outlook.
Paramètres
latobligatoire- Latitude en degrés décimaux.
lngobligatoire- Longitude en degrés décimaux.
methodfacultatif- Identifiant de la méthode de calcul, par exemple muslim-world-league, north-america ou karachi. Par défaut : la méthode de la ville la plus proche.
madhabfacultatif- Hanafi ou Shafi, qui fixe l'horaire d'Asr. Par défaut : l'usage courant du pays de la ville la plus proche.
authorityfacultatif- Autorité du calendrier hégirien pour les événements, par exemple umm_al_qura ou diyanet. Par défaut : l'autorité du pays de la ville la plus proche.
monthsfacultatif- Nombre de mois couverts par le flux, de 1 à 12. Par défaut : 1.
alarmfacultatif- Minutes avant chaque prière pour déclencher le rappel, de 0 à 120. 0 désactive l'alarme. Par défaut : 10.
a_<prayer>facultatif- Minutes d'alarme pour une seule prière, de 0 à 120, qui remplacent alarm. Remplacez <prayer> par fajr, dhuhr, asr, maghrib ou isha, par exemple a_fajr=15.
o_<prayer>facultatif- Décale une prière de ce nombre de minutes, de -60 à 60. Remplacez <prayer> par fajr, dhuhr, asr, maghrib ou isha, par exemple o_isha=5. Par défaut : 0.
sunrisefacultatif- Mettre à 1 pour ajouter le lever du soleil au flux. Par défaut : désactivé.
travelfacultatif- Mettre à 1 pour noter sur Dhuhr, Asr et Isha que la prière est raccourcie à 2 rak'at en voyage. Par défaut : désactivé.
ramadanfacultatif- Mettre à 1 pour ajouter Fin du suhoor (au Fajr), Iftar (au Maghrib) et Tarawih (15 minutes après Isha, une heure) les jours du Ramadan. Les jours suivent le paramètre authority. Par défaut : désactivé.
jumuahfacultatif- Mettre à 1 pour nommer l'événement du Dhuhr « Jumu'ah » le vendredi. Par défaut : désactivé.
jumuahLeadfacultatif- Minutes avant la Jumu'ah pour son rappel, de 0 à 120 ; 0 = aucun. Remplace le rappel du Dhuhr le vendredi et nécessite jumuah=1. Par défaut : le rappel du Dhuhr.
busyfacultatif- Mettez 1 pour marquer les événements de prière comme occupés (TRANSP:OPAQUE). Par défaut : libres (TRANSP:TRANSPARENT).
hlrfacultatif- Règle des hautes latitudes : auto, middle-of-the-night, seventh-of-the-night ou twilight-angle. Par défaut : auto.
fafacultatif- Angle personnalisé du Fajr en degrés, de 10 à 25. Par défaut : l'angle de la méthode.
iafacultatif- Angle personnalisé de l'Isha en degrés, de 10 à 25. Par défaut : l'angle de la méthode.
Exemple
curl 'https://qurangallery.com/prayer/api/calendar/feed.ics?lat=21.4225&lng=39.8262'Réponse
Un document text/calendar (iCalendar) d'un mois d'événements par défaut, jusqu'à 12 mois avec months.
Recherche de ville
GET /prayer/api/location/search
Transforme un nom de lieu en coordonnées, code pays et fuseau horaire. Elle cherche d'abord dans notre propre liste de villes. Une requête sans résultat renvoie un tableau vide.
Paramètres
qobligatoire- Le nom du lieu, 200 caractères au maximum.
Exemple
curl 'https://qurangallery.com/prayer/api/location/search?q=Makkah'const res = await fetch('https://qurangallery.com/prayer/api/location/search?q=Makkah');
const places = await res.json();Réponse
[
{
"lat": 21.4266,
"lon": 39.8256,
"displayName": "Makkah, Saudi Arabia",
"countryCode": "SA",
"timezone": "Asia/Riyadh"
}
]Mosquées proches
GET /prayer/api/mosques/nearby
Les mosquées autour d'un point, de la plus proche à la plus lointaine, d'après les données OpenStreetMap. La distance est en mètres. La réponse est 503 quand les services de données cartographiques sont indisponibles.
Paramètres
latobligatoire- Latitude en degrés décimaux.
lngobligatoire- Longitude en degrés décimaux.
radiusfacultatif- Rayon de recherche en mètres, de 100 à 50000. Par défaut : 2000.
Exemple
curl 'https://qurangallery.com/prayer/api/mosques/nearby?lat=21.4225&lng=39.8262&radius=2000'const res = await fetch('https://qurangallery.com/prayer/api/mosques/nearby?lat=21.4225&lng=39.8262&radius=2000');
const mosques = await res.json();Réponse
[
{
"id": 1234567,
"name": "Example Mosque",
"lat": 21.4231,
"lng": 39.8269,
"address": "Example Street 12",
"distance": 96.4
}
]Limites de requêtes
Les limites comptent les requêtes par adresse IP sur une fenêtre d'une minute. Au-delà, vous recevez HTTP 429.
- Horaires de prière : pas de limite propre. Mettez en cache la réponse de chaque lieu pour la journée au lieu de l'appeler à chaque affichage de page.
- Flux de calendrier : 30 requêtes par minute.
- La recherche de ville et les mosquées proches partagent un même quota : 30 requêtes par minute.
Questions Fréquentes
L'API des horaires de prière est-elle gratuite, faut-il une clé API ?
Oui, elle est gratuite et ne demande ni clé, ni compte, ni inscription. Envoyez une requête GET au point d'accès avec les paramètres ci-dessus. Merci de respecter les limites et de mettre les résultats en cache.
Comment obtenir les horaires de prière à partir d'un nom de ville ?
Appelez la recherche de ville avec q, prenez lat et lon du premier résultat, puis passez-les comme lat et lng au point d'accès des horaires de prière.
Quelle méthode de calcul et quelle règle d'Asr l'API utilise-t-elle par défaut ?
Sans method, elle utilise la méthode de la ville la plus proche de vos coordonnées. Sans madhab, elle utilise la règle d'Asr usuelle du pays de cette ville. Envoyez method et madhab pour fixer les deux.
Pourquoi une prière manque-t-elle dans la réponse ?
Près des pôles, en été ou en hiver, le soleil peut ne jamais atteindre l'angle du Fajr ou de l'Isha : il n'y a alors pas d'horaire à donner. L'API omet cette prière au lieu de renvoyer une date invalide.
Puis-je appeler l'API en JavaScript depuis le navigateur ?
L'API n'envoie pas d'en-têtes CORS : une page d'un autre site ne peut donc pas lire la réponse. Appelez-la depuis votre serveur, ou utilisez le widget intégrable, qui ne demande aucun code.
À quelle fréquence demander les horaires de prière ?
Une fois par lieu et par jour suffit. Conservez la réponse et calculez les comptes à rebours dans votre propre code. Le Fajr de demain est inclus pour les heures après l'Isha.
Comment ajouter les horaires de prière à une application de calendrier ?
Abonnez-vous à l'URL du flux de calendrier avec vos coordonnées. Les calendriers Google, Apple et Outlook l'actualisent selon leur propre rythme, et il couvre les 30 prochains jours.
Développeurs
Pas de code ? Intégrez le widget
Collez un seul iframe pour afficher sur votre site les horaires de prière d'une ville ou un calendrier mensuel, en 7 langues. Aucune clé n'est nécessaire non plus.
