Developers / REST / v1
Directory API
Read-only JSON over HTTPS. No key, no sign-up, CORS enabled, so you can call it from a browser, a bot or a script.
Overview
- Base URL
- https://cuet.sayed.app/api/v1
- Format
- JSON, UTF-8
- Auth
- None
- CORS
- Access-Control-Allow-Origin: *
- Rate limit
- 60 requests / minute / IP
- Caching
- Responses are cached up to 24 h
GET/api/v1/students/{id}
One student by their 7-digit ID.
GET/api/v1/search
Search by name (all words must match, any order) or by ID prefix.
GET/api/v1/batches
Every batch with its session and per-department student counts.
GET/api/v1/batches/{batch}/{dept}
Full class list for one department in one batch, ordered by ID.
GET/api/v1/departments
Departments with codes, slugs and the batches they have.
Student object
{
"data": {
"id": "2504001",
"name": "TASNIM FARIHA",
"department": {
"code": "04",
"slug": "cse",
"short": "CSE",
"name": "Computer Science & Engineering"
},
"batch": "25",
"session": "2025-26",
"class_roll": 1,
"admission_roll": "24367",
"admission_merit": "119",
"url": "https://cuet.sayed.app/2504001"
}
}Errors
Errors use HTTP status codes and a body like {"error":{"code":"not_found","message":"…"}}.
Usage terms
Personal and non-commercial use is free, no acknowledgment needed.
Commercial use or integrating the data into another system requires acknowledgment, e.g. a visible credit with a link to cuet.sayed.app. See the terms.
Please cache responses rather than re-fetching the same data. For a full export, emailhello@sayed.page from an@cuet.ac.bd or @student.cuet.ac.bd address instead of crawling the API.
The data is compiled from public sources and may contain mistakes; it is not an official CUET record.