referensi.data.kemendikdasmen.go.id APIreferensi.data.kemendikdasmen.go.id ↗
Access Indonesian Ministry of Education data: provinces, kabupaten, kecamatan, institutions, foundations, and program services via 10 structured endpoints.
curl -X GET 'https://api.parse.bot/scraper/a60999c7-2b3e-4ab7-8d56-75aff579c21c/get_provinces_by_education_level?level=dikdas' \ -H 'X-API-Key: $PARSE_API_KEY'
Get list of provinces with institution counts for a specific education level. Returns all Indonesian provinces with counts broken down by institution type.
| Param | Type | Description |
|---|---|---|
| level | string | Education level. Accepted values: dikdas (primary/middle), dikmen (high school), paud (early childhood), kesetaraan (equivalency), lainnya (other). |
{
"type": "object",
"fields": {
"provinces": "array of province objects with name, code, institution counts, and URL"
},
"sample": {
"data": {
"provinces": [
{
"No": "1",
"Total": "4063",
"Nama Provinsi": "D.K.I. Jakarta",
"SD (Sederajat)": "2720",
"SMP (Sederajat)": "1343",
"Nama Provinsi_url": "https://referensi.data.kemendikdasmen.go.id/pendidikan/dikdas/010000/1",
"Nama Provinsi_code": "010000"
}
]
},
"status": "success"
}
}About the referensi.data.kemendikdasmen.go.id API
This API exposes 10 endpoints covering Indonesia's Ministry of Education reference portal (referensi.data.kemendikdasmen.go.id), returning structured data on educational institutions, administrative regions, foundations, and program services. The get_institution_details endpoint alone returns over 15 fields per school including NPSN, GPS coordinates, accreditation documents, land area, internet access, and contact information. Browse from province down to individual school or jump directly to a record by its 8-digit NPSN.
Geographic Hierarchy and Institution Discovery
The API mirrors the portal's four-level administrative hierarchy. Start with get_provinces_by_education_level — pass a level value of dikdas, dikmen, paud, kesetaraan, or lainnya to receive all 34+ Indonesian provinces with institution counts broken down by type. Drill into a province using its 6-digit prov_code with get_kabupaten_by_province, then into a kabupaten with get_kecamatan_by_kabupaten, and finally list individual schools with list_institutions_by_kecamatan. That last endpoint supports additional filters: jalur (education path), bentuk (institution type), and status, all defaulting to 0 for all values. Each level returns name, code, and URL fields that chain into the next level.
Institution Detail and Search
get_institution_details accepts an 8-digit npsn (National School Registration Number) and returns a structured object with five sub-objects: identity (school name, address, status, education level), contact (phone, email, website), location (latitude and longitude), documents (founding documents, accreditation), and facilities (land area, internet, electricity). For discovery without a known NPSN, search_institution accepts a free-text name query or a raw NPSN string and returns matching records across all provinces with kabupaten and kecamatan context.
Foundations, Residuals, and Programs
get_yayasan exposes educational foundations (Yayasan) in a drillable hierarchy. Without parameters it returns a province-level list; supplying code and level_idx (1 = kabupaten, 2 = kecamatan, 3 = institutions) descends through the tree. Two residual endpoints — get_residu_update_data and get_residu_tidak_aktif — return province-level counts of institutions that have not updated their records across semesters, and institutions flagged inactive by year, respectively. These are useful for data-quality monitoring and administrative tracking. get_program_layanan returns province-level breakdowns of program participation across four types: paud, kesetaraan, terampil, and slb.
- Build a school finder that lets users drill from province to kecamatan and view institution lists with address and status.
- Aggregate institution counts by education level across all provinces using get_provinces_by_education_level for a national dashboard.
- Geocode schools by pulling latitude and longitude from get_institution_details to plot them on a map.
- Monitor data quality by querying get_residu_update_data to identify provinces with the most institutions missing recent updates.
- Track educational foundation (Yayasan) distribution across kabupaten using get_yayasan with level_idx drilling.
- Identify inactive institutions by province and year using get_residu_tidak_aktif for administrative audits.
- Analyze special education and non-formal program reach by province with get_program_layanan filtered to slb or kesetaraan.
| 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 referensi.data.kemendikdasmen.go.id have an official public developer API?+
What does get_institution_details return beyond basic identity fields?+
identity fields (name, address, status, education level), it returns a location object with GPS coordinates, a documents object covering founding documents and accreditation status, a facilities object with land area, electricity, and internet access, and a contact object with phone, email, and website. All are returned in a single call given an 8-digit NPSN.Does the API support filtering institutions by accreditation grade or founding year?+
documents object in get_institution_details and supports status/type filters in list_institutions_by_kecamatan, but there is no parameter to filter across institutions by accreditation grade or founding year directly. You can fork this API on Parse and revise it to add those filtering endpoints.Can I retrieve all institutions in a province without stepping through kabupaten and kecamatan?+
search_institution does return cross-province results for a name or NPSN query, but bulk province-level institution lists are not a single-call operation. You can fork this API on Parse and revise it to add a direct province-to-institution endpoint.How granular is the program service data returned by get_program_layanan?+
program_type (paud, kesetaraan, terampil, or slb). It does not break down counts to kabupaten or individual institution level in a single call; for that granularity you would need to combine it with the geographic hierarchy endpoints.