Docs / Get started
Limits & quotas
The API is free. Limits protect the masjids' data from being copied in bulk, and they are generous for an app that shows masjids to people.
The quota of a new project
| Limit | Default | Window |
|---|---|---|
| Requests | 3,600 per hour | the UTC hour, reset on the hour |
| Distinct masjids | 300 per day | the UTC day, reset at midnight UTC |
| Burst, per key | 600 per minute | one minute |
All the keys of a project share its quota. The burst limit applies to each key on its own.
When a limit is reached
The call answers 429 with a Retry-After header, in seconds:
RATE_LIMIT_EXCEEDED: one key sent too many requests in the last minute.PROJECT_QUOTA_EXCEEDED: the project used its hourly or daily quota. The body'squotaIncreaseUrlopens the request form for that project.
Wait for Retry-After before you call again: retrying earlier is refused too.
Stay under them
- Cache on your side. Prayer times change once a day: fetch a month with
GET /v1/masjids/{id}/prayer-times/monthlyand keep it, rather than calling on every screen view. - Call from your server when you can, and share the answer between your users.
- Do not walk search or nearby to rebuild the directory: it is what the masjid limit is there to stop, and it breaks the developer terms.
Need more?
There is no paid plan. A higher quota is a matter of trust: ask from your console with your use, your audience and a link to the app. A person reads every request.