Request access

Tell us what you are building. Every application is reviewed.

Receive a scoped key

An administrator verifies your request and delivers a 90-day key securely.

Build and observe

Send authenticated requests and monitor your own usage.

Make your first request

Use server-side HTTPS requests. Never expose your key in frontend code or URLs.

GET /api/v1/collections HTTP/1.1
Authorization: Bearer YOUR_API_KEY
Accept: application/json

Responses use { data: … }. Errors use { error: { message, status } }. Pagination: page and pageSize (maximum 100; search 50). Handle 401, 403, 429, and 503; honor Retry-After. No cross-origin browser API access is enabled.

Endpoints

All corpus and analytics endpoints require an approved key.

GET endpointResponseScope
/api/v1/collectionsList published collectionscorpus:read
/api/v1/collections/:id/booksBooks in a collectioncorpus:read
/api/v1/collections/:id/introductionsIntroductions and Muqaddimahcorpus:read
/api/v1/introductions/:idRead an introductioncorpus:read
/api/v1/books/:idBook and its chapterscorpus:read
/api/v1/chapters/:idPaginated narrationscorpus:read
/api/v1/hadiths/:idNarration, text, and provenancecorpus:read
/api/v1/search?q=mercySearch English textsearch:read
/api/v1/analyticsYour last 30 days of usageanalytics:read

Request API access

Access is granted after review, not automatically on submission.

We store these details for access review. Do not include passwords, API keys, or sensitive personal data. Approval and secure key delivery are handled by an administrator.

Loading security check…

Protected by Cloudflare Turnstile. Privacy · Terms

Your usage

Look up aggregate usage for your key. Keys cannot view another developer’s analytics.

Sent only as an authorization header. Never saved in browser storage. Requires analytics:read.