Use BDApi4All to fetch Bangladesh geo data, prayer times, holidays, exchange rates, validators, and Bengali utilities from one consistent REST API.
Run every endpoint live with generated request URLs and code samples.
Search geo IDs and copy JSON rows for your own app.
Import the full API spec into Swagger, Postman, Insomnia, or generators.
Download Postman, Insomnia, and VS Code REST request files.
Track the platform plan broken into small developer-focused milestones.
All API requests should be prefixed with the following base URL:
https://bdapi4all.vercel.app/api/v1Every response follows a strict, predictable JSON format, making it easy to parse and handle errors.
{
"success": true,
"version": "v1",
"timestamp": "2025-01-15T10:30:00Z",
"data": {
"id": 47,
"name_en": "Dhaka",
"name_bn": "ঢাকা"
}
}{
"success": false,
"version": "v1",
"timestamp": "2025-01-15T10:30:00Z",
"error": {
"code": "NOT_FOUND",
"message": "Resource not found",
"docs": "https://bdapi4all.vercel.app/docs/errors#not_found"
}
}Responses include an X-Request-ID header. Send your own X-Request-ID header to keep the same ID through client, proxy, and API logs.
BDApi4All is open and free to use without a key. Optional API keys raise your rate limit and enable per-key usage analytics.
Add the key as the X-API-Key header or the apikey query parameter.
curl "https://bdapi4all.vercel.app/api/v1/districts" \
-H "X-API-Key: bdapi_..."Keys are issued by the project administrator. Public requests work without a key; the API Keys dashboard is for administrators.
Encyclopedia list and search endpoints support payload shaping and multi-field sorting.
Use fields=id,name_en,verified to return only the top-level fields your app needs.
Use sort=name_en,-updated_at for ascending name and descending update time.