Voor moskeebesturen en ontwikkelaars
Bouwen op Hasanats
Deze pagina somt niet alleen op wat er open staat. Ze zegt wat wij willen dat je ermee doet, en waar wij zelf de rem op zetten.
Alles hieronder is echt aangeroepen tegen app.hasanats.com, en wat er toen uitkwam staat erbij. Een route die wij niet zelf hebben zien werken, staat hier niet. Er is geen sleutel nodig voor wat op deze pagina staat, behalve waar het er uitdrukkelijk bij staat.
Drie dingen die wij graag zien gebeuren
Je moskee zet haar eigen gebedstijden op haar eigen website
Voor een bestuur of een vrijwilliger met toegang tot de site van de moskee
Hiervoor is dit gebouwd. De meeste moskeesites hebben de tijden ofwel niet, ofwel als een foto van een blad van vorig jaar. Dit blokje klopt elke dag en je zet het er met een regel HTML in. Er komt geen script bij, geen account, geen cookie.
Zoek de naam van je moskee op
Je hebt de slug nodig, dat is het stukje in de URL van je profiel. Zoek op naam of stad.
curl 'https://app.hasanats.com/api/masjids/search?q=taoubat'Plak het kader op je pagina
Vervang de slug door die van jouw moskee. Kies zelf de hoogte.
<iframe
src="https://app.hasanats.com/embed/tijden/taoubat-moskee-antwerpen"
title="Gebedstijden"
width="100%" height="320"
style="border:0" loading="lazy"></iframe>- Wat je ermee mag
- Op je eigen site zetten, ook op een site met reclame of een webwinkel erop. Wij vragen geen geld en wij houden geen bezoekers per persoon bij.
- Wat wij terugvragen
- Laat de voetlink naar het volledige profiel staan. Dat is de hele tegenprestatie. Klopt er iets niet aan de tijden, meld het dan via de knop op je profiel: wij herstellen liever de bron dan dat jij een kopie bijhoudt die opnieuw scheefloopt.
Je rekent zelf gebedstijden uit
Voor een ontwikkelaar, een school of een scherm in de gang
Deze route rekent uit coordinaten, een datum en een tijdzone. Er komt geen moskeegids aan te pas, dus er zit geen licentie van iemand anders op. Zes methodes en twee madhabs, en de qibla-hoek krijg je er gratis bij.
Let op de vorm van het lichaam: date, coords en timezone zijn alle drie verplicht. Een platte {lat, lng, date} geeft 400 met invalid_prayer.
De aanroep
curl -X POST https://app.hasanats.com/api/prayer/times \
-H 'content-type: application/json' \
-d '{"date":{"year":2026,"month":9,"day":9},
"coords":{"lat":51.209,"lng":4.391,"timezone":2},
"method":"MWL","madhab":"shafi"}'Wat er terugkomt
{"success":true,"data":{
"times":{"fajr":"05:09","sunrise":"07:08","dhuhr":"13:40",
"asr":"17:15","maghrib":"20:12","isha":"22:03"},
"qibla":123.9,"method":"MWL",
"methods":["MWL","ISNA","EGYPT","KARACHI","MAKKAH","DIYANET"]},
"error":null}- Wat je ermee mag
- Alles. Dit is rekenwerk op openbare astronomie, geen databank van iemand anders.
- Wat wij terugvragen
- Noem Hasanats bij het getal, zodat wie twijfelt kan nagaan waar het vandaan komt. En hou het bij de plaatsen die je echt toont: een moskee is een set coordinaten, geen lus over de hele gids.
Een assistent of een onderzoeker gebruikt de gids
Voor AI-crawlers, journalisten, overheden en onderzoek
Voor orientatie is er llms.txt: wat deze site is, hoeveel moskeeen erin staan, per land, en hoe de profielpagina's in elkaar zitten. Dat bestand wordt bij elke build uit de gids zelf opgebouwd, dus de cijfers erin kunnen niet verouderen tegenover de data.
Wil je cijfers over de gids zelf, dekking per land of tellingen per gemeente, dan loopt dat via /api/partner/v1/ met een sleutel op naam. Zonder sleutel krijg je 401. Dat is geen storing, dat is de deur. Een sleutel vraag je aan via dev@digitalfarmers.co: wij noteren wie je bent, welke cijfers je nodig hebt en waarvoor, en de sleutel vervalt vanzelf.
Wat je niet krijgt, is de gids in bulk. De reden staat hieronder bij de bronnen, en ze is niet dat wij zuinig zijn.
- Wat je ermee mag
- Aggregaten citeren, met Hasanats als bron erbij en met de datum van je opvraging.
- Wat wij terugvragen
- Verwijs naar het profiel van de moskee zelf in plaats van de gegevens over te schrijven. Dan ziet een bezoeker de correctie die het bestuur vorige week heeft doorgegeven, en jij ook.
De bronnen onder de gids, en wat dat betekent
De gids telt 6192 moskeeen (stand 2026-09-11). Daarvan raken 5738 records de Mawaqit-gids aan en 674 records OpenStreetMap; 220 staan in allebei. Bovenop die laag staat onze eigen laag: claims van besturen, correcties van bezoekers, aankondigingen, het khutbah-archief en de tijden die wij zelf berekenen.
De OpenStreetMap-records staan onder de Open Database License 1.0. Die licentie vraagt attributie met een zichtbare link, en ze vraagt dat een afgeleide databank die je publiek maakt zelf onder ODbL komt. Toont een pagina de data, dan is dat een Produced Work en volstaat de vermelding. Deel je de databank, dan is dat iets anders. Daarom staan de losse opzoekingen hierboven wel open en de bulk niet.
De Mawaqit-records liggen strakker. Hun voorwaarden verbieden reproductie en herpublicatie zonder schriftelijke toestemming, en hun API is naar eigen zeggen niet publiek. Zolang dat niet op papier geregeld is, geven wij die laag niet door, ook niet stukje bij beetje. Dat is een keuze tegen ons eigen gemak in.
Wat dit voor jou betekent, in een zin: een moskee tonen mag, de gids overnemen niet.
Kaartgegevens en adressen: © OpenStreetMap contributors, ODbL 1.0 · Mawaqit
Wat wij bewust niet documenteren
Deze paden bestaan, en je zou ze kunnen vinden. Wij zetten ze hier met de reden erbij, zodat je niet hoeft te gokken waarom ze in de lijst hierboven ontbreken.
| Pad | Waarom niet |
|---|---|
/api/quran/{soera} | Geeft de Nederlandse vertaling van Sofjan S. Siregar terug. Wij hebben daar geen toestemming voor op papier (docs/RECHTEN-EN-LICENTIES.md, 8/9/2026), dus wij geven ze niet door als herbruikbare bron. |
/api/masjids/nearby | Gaf op 9/9/2026 {"masjids":[],"error":true} terug: leeg, met een foutvlag. Een route die wij kapot gemeten hebben, zetten wij niet in een gids. |
/api/masjids/nearby-lite | Werkt wel, maar geeft coordinaten in bulk terug. Dat is de gids zelf, en die mogen wij niet doorgeven (zie de bronnen hierboven). Bulk loopt via een partnersleutel. |
/api/recitations/{id}/audio | Recitaties onder CC BY-SA 4.0. De share-alike-verplichting op ons eigen materiaal is nog niet uitgeklaard, dus wij nodigen niemand uit om ze door te geven. |
/api/gezondheid, /api/capabilities | Bestaan op de API, maar zijn op 9/9/2026 niet bereikbaar via app.hasanats.com (404, de Next-schil proxyt ze niet). Wij documenteren geen pad dat wij zelf niet konden ophalen. |
Alles wat wij hebben nagemeten
De status en de sleutels zijn wat er die dag echt uitkwam. Bouw je hierop, controleer dan /api/version: die zegt op welk commit de site en de API draaien.
| Route | Status | Wat er terugkomt | Vorm vast? |
|---|---|---|---|
GET /api/masjids/search?q= | 200 | masjids | nee |
GET /embed/tijden/{slug} | 200 | HTML | nee |
POST /api/prayer/times | 200 | success, data, errordata: times, qibla, method, methods | nee |
GET /llms.txt | 200 | text/plain | nee |
GET /api/v1/bronnen | 200 | success, data, errordata: bronnen, aantal | ja, /v1/ |
GET /api/partner/v1/stats | 401 | success, error, data | ja, /v1/ |
GET /api/partner/v1/coverage?country= | 401 | success, error, data | ja, /v1/ |
GET /api/quran/surahs | 200 | success, data, errordata: number, arabicName, transliteration, englishMeaning, dutchMeaning, revelationPlace, ayahCount | nee |
GET /api/asma | 200 | success, data, errordata: names, total, reviewed, canonical, note | nee |
GET /api/council | 200 | success, data, errordata: telling, leden, aantal, nagekeken, ondertekenaars | nee |
GET /api/health | 200 | success, data, errordata: status | nee |
GET /api/version | 200 | success, data, errordata: companion, api, inSync | nee |
Wat wij niet beloven
Alleen een pad met een versienummer erin draagt een belofte over zijn vorm. Vandaag is dat /api/partner/v1/. Al de rest is een meting van de dag hierboven: het werkt, het is bedoeld om te blijven werken, maar wij kunnen het aanpassen zonder eerst een nieuw nummer uit te geven.
De twee dingen waarvan wij wel willen dat je erop kan rekenen zijn het tijdenblokje en de berekening van gebedstijden. Moet daar iets aan wijzigen, dan zetten wij het hier eerst en houden wij het oude gedrag nog een tijd naast het nieuwe.
Gebedstijden zijn een berekening, geen wet. Publiceert een moskee haar eigen tijden, dan wint die van elke berekening, ook van de onze. Toon ze daarom altijd met de datum erbij en nooit als een vast rooster.
Een sleutel, een fout of een vraag
Mail dev@digitalfarmers.co. Voor een partnersleutel: wie je bent, welke cijfers je nodig hebt en waarvoor. Voor een fout in de gegevens van een moskee gaat het sneller via de knop op het profiel zelf, want die komt bij het bestuur terecht.
Ben je van Mawaqit of van een moskeenetwerk en wil je dat wij iets anders doen met jullie gegevens: schrijf ons, wij passen aan.
Deze pagina is een weergave te goeder trouw van wat wij gemeten hebben, geen advies van een jurist.