Aller au contenu

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

lat obligatoire
Latitude en degrés décimaux.
lng obligatoire
Longitude en degrés décimaux.
method facultatif
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.
madhab facultatif
Hanafi ou Shafi, qui fixe l'horaire d'Asr. Par défaut : l'usage courant du pays de la ville la plus proche.
hlr facultatif
Règle des hautes latitudes : auto, middle-of-the-night, seventh-of-the-night ou twilight-angle. Par défaut : auto.
fa facultatif
Angle personnalisé du Fajr en degrés, de 10 à 25. Par défaut : l'angle de la méthode.
ia facultatif
Angle personnalisé de l'Isha en degrés, de 10 à 25. Par défaut : l'angle de la méthode.

Exemple

curl
curl 'https://qurangallery.com/prayer/api/times?lat=21.4225&lng=39.8262'
fetch
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

lat obligatoire
Latitude en degrés décimaux.
lng obligatoire
Longitude en degrés décimaux.
method facultatif
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.
madhab facultatif
Hanafi ou Shafi, qui fixe l'horaire d'Asr. Par défaut : l'usage courant du pays de la ville la plus proche.
authority facultatif
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.
months facultatif
Nombre de mois couverts par le flux, de 1 à 12. Par défaut : 1.
alarm facultatif
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.
sunrise facultatif
Mettre à 1 pour ajouter le lever du soleil au flux. Par défaut : désactivé.
travel facultatif
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é.
ramadan facultatif
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é.
jumuah facultatif
Mettre à 1 pour nommer l'événement du Dhuhr « Jumu'ah » le vendredi. Par défaut : désactivé.
jumuahLead facultatif
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.
busy facultatif
Mettez 1 pour marquer les événements de prière comme occupés (TRANSP:OPAQUE). Par défaut : libres (TRANSP:TRANSPARENT).
hlr facultatif
Règle des hautes latitudes : auto, middle-of-the-night, seventh-of-the-night ou twilight-angle. Par défaut : auto.
fa facultatif
Angle personnalisé du Fajr en degrés, de 10 à 25. Par défaut : l'angle de la méthode.
ia facultatif
Angle personnalisé de l'Isha en degrés, de 10 à 25. Par défaut : l'angle de la méthode.

Exemple

curl
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.

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

q obligatoire
Le nom du lieu, 200 caractères au maximum.

Exemple

curl
curl 'https://qurangallery.com/prayer/api/location/search?q=Makkah'
fetch
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

lat obligatoire
Latitude en degrés décimaux.
lng obligatoire
Longitude en degrés décimaux.
radius facultatif
Rayon de recherche en mètres, de 100 à 50000. Par défaut : 2000.

Exemple

curl
curl 'https://qurangallery.com/prayer/api/mosques/nearby?lat=21.4225&lng=39.8262&radius=2000'
fetch
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.