Licence and attribution
OpenDua’s independently authored English, transliteration, editorial metadata and dataset structure are licensed under CC BY 4.0. OpenDua makes no ownership claim over the underlying Quranic, hadith or supplication text. The recitation was recorded for OpenDua under a separate written agreement and is not offered under the dataset licence. Credit Hisn al-Muslim as the collection and paste the attribution below when reusing OpenDua material.
GET
/v2
Current API and data release information
GET
/v2/collections
All dua collections
GET
/v2/collections/{collectionId}
One collection
GET
/v2/collections/{collectionId}/chapters
Chapters in a collection
GET
/v2/collections/{collectionId}/chapters/{chapterId}
One chapter
GET
/v2/collections/{collectionId}/chapters/{chapterId}/entries
Entry summaries in a chapter
GET
/v2/collections/{collectionId}/entries
Entry summaries in a collection
GET
/v2/entries/{entryId}
One complete contextual entry
GET
/v2/duas/{duaId}
One canonical dua
GET
/v2/reciters
All reciters
GET
/v2/reciters/{reciterId}
One reciter
GET
/v2/reference-works
Structured reference works
GET
/v2/reference-works/{workId}
One reference work
GET
/v2/tags
All topical tags
GET
/v2/tags/{tagId}/entries
Paginated entries carrying a tag
GET
/v2/search?q=
Paginated Arabic, transliteration, and English search
Example request
Example response
Response schema
Limits and errors
60 requests a minute
Per IP, unauthenticated, across all read endpoints. Exceed it and you get a 429 with a Retry-After header. Need more? Bundle the dataset instead.
Errors are JSON
404 { "error": "not_found", "slug": "ayat-al-kurse" }Same envelope for 400 and 429. No HTML error pages.
Caching
Responses carry an ETag and a long max-age. Pin a version and the payload never changes under you.