pddikti.kemdiktisaintek.go.id APIpddikti.kemdiktisaintek.go.id ↗
Access Indonesia's PDDikti database via API. Search students, lecturers, universities, and study programs. Returns accreditation, enrollment status, and more.
curl -X GET 'https://api.parse.bot/scraper/7adc51d7-b63d-45f5-87a7-49a7987989c3/search?keyword=Universitas+Indonesia&category=all' \ -H 'X-API-Key: $PARSE_API_KEY'
Search across all categories (students, lecturers, universities, study programs) or a specific category in Indonesia's higher education database. When category is 'all', results are grouped by type (mahasiswa, dosen, pt, prodi). When a specific category is chosen, results are returned in a flat 'results' array. Pagination is not supported server-side; all matching results are returned.
| Param | Type | Description |
|---|---|---|
| keywordrequired | string | Search keyword (name of student, lecturer, university, or study program). |
| category | string | Category to search in. |
{
"type": "object",
"fields": {
"pt": "array of university results (present when category=all)",
"dosen": "array of lecturer results (present when category=all)",
"prodi": "array of study program results (present when category=all)",
"results": "array of results (present when a specific category is used)",
"mahasiswa": "array of student results (present when category=all)"
},
"sample": {
"data": {
"pt": [
{
"id": "def==",
"kode": "001002",
"nama": "UNIVERSITAS INDONESIA",
"nama_singkat": "UI"
}
],
"dosen": [
{
"id": "xyz==",
"nama": "NAZARUDIN",
"nidn": "0324058301",
"nuptk": "4856761662130182",
"nama_pt": "UNIVERSITAS INDONESIA",
"nama_prodi": "SASTRA INDONESIA",
"sinkatan_pt": "UI"
}
],
"prodi": [
{
"id": "ghi==",
"pt": "UNIVERSITAS INDONESIA",
"nama": "SASTRA INDONESIA",
"jenjang": "S1",
"pt_singkat": "UI"
}
],
"mahasiswa": [
{
"id": "abc==",
"nim": "195120407111047",
"nama": "TSABITA AFIFAH KHOIRUNNISA",
"nama_pt": "UNIVERSITAS BRAWIJAYA",
"nama_prodi": "HUBUNGAN INTERNASIONAL",
"sinkatan_pt": "UB"
}
]
},
"status": "success"
}
}About the pddikti.kemdiktisaintek.go.id API
The PDDikti API provides access to Indonesia's official Pangkalan Data Pendidikan Tinggi across 5 endpoints, covering students, lecturers, universities, and study programs. The search endpoint returns results grouped by type (mahasiswa, dosen, pt, prodi) in a single call, while detail endpoints like get_student_detail and get_university_programs expose granular fields including enrollment status, accreditation, lecturer-to-student ratios, and geographic coordinates.
Search and Discovery
The search endpoint accepts a keyword string and an optional category parameter. When category is omitted or set to all, the response contains four arrays — mahasiswa (students), dosen (lecturers), pt (universities), and prodi (study programs) — each with encrypted id fields used to call the detail endpoints. When a specific category is passed, results are returned under a flat results array instead.
Student and Lecturer Detail
get_student_detail takes an encrypted student_id from the search results and returns fields including nim (student number), nama, jenjang (degree level), nama_pt, kode_prodi, and encrypted IDs (id_pt, id_sms) that chain into the university detail endpoint. get_lecturer_detail returns jabatan_akademik (academic position), status_aktivitas, status_ikatan_kerja (employment type), and pendidikan_tertinggi (highest education level), along with university and study program affiliation.
University Detail and Programs
get_university_detail returns institutional metadata: alamat (address), email, website, no_tel, no_fax, pembina (supervising ministry), kelompok (institution group), and geolocation via bujur_pt (longitude). get_university_programs accepts a university_id and an optional semester code in YYYYS format (e.g. 20231 for the odd semester of 2023), and returns a total count plus a programs array with degree level, accreditation, student count, lecturer count, and lecturer-student ratio for each program.
- Verify a student's enrollment status and degree level using
get_student_detailfields likejenjangandnim. - Build a university directory by querying
get_university_detailfor address, website, and geolocation data. - Compare study programs at a university by semester using
get_university_programsto inspect accreditation and lecturer-student ratios. - Look up a lecturer's academic position and employment type via
jabatan_akademikandstatus_ikatan_kerjafields. - Aggregate institution groups and supervising ministries across multiple universities using the
kelompokandpembinafields. - Search for all universities or study programs matching a keyword to support higher education research or journalism.
- Chain
search→get_student_detail→get_university_detailto resolve a student's full institutional context from a single name query.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does PDDikti have an official public developer API?+
What does the `search` endpoint return when no category is specified?+
category is omitted or set to all, the response contains four typed arrays: mahasiswa (students), dosen (lecturers), pt (universities), and prodi (study programs). Each item in those arrays includes an encrypted id you pass to the corresponding detail endpoint. If you specify a category, results come back as a single flat results array instead.Does the API return historical semester data or transcript records for students?+
get_student_detail returns current enrollment metadata — name, student number, university, study program, and degree level — but not semester-by-semester records or grade history. get_university_programs does accept a semester parameter to retrieve program snapshots per term. You can fork this API on Parse and revise it to add an endpoint targeting historical student academic records if that data becomes available.What is the `semester` parameter format for `get_university_programs`?+
semester parameter uses the format YYYYS, where YYYY is the four-digit academic year and S is either 1 (odd/ganjil semester) or 2 (even/genap semester). For example, 20231 targets the odd semester of 2023. If omitted, the endpoint returns data for the current or most recent available semester.Does the API cover private universities and vocational institutions, or only state universities?+
kelompok and pembina fields in get_university_detail indicate the institution group and supervising ministry, which can help distinguish between types. The API does not currently expose a filter parameter to restrict search results to a specific institution group. You can fork it on Parse and revise to add that filtering endpoint.