ready-to-use endpoints in this product, with JSON responses and consistent error handling.
The School API covers 93,500+ Indonesian schools (SD, SMP, SMA, SMK, SLB) searchable by NPSN or name. Each record includes state/private status, accreditation, address, postal code, coordinates and region codes, sourced from the Kemendikbud reference data.
Data as of · Source: Kemendikbud reference data
Directory of 93,500+ schools across Indonesia (SD, SMP, SMA, SMK, SLB) with NPSN (national school ID), address, accreditation, and coordinates.
ready-to-use endpoints in this product, with JSON responses and consistent error handling.
Can be tried with the 3,000 credit signup bonus, then used in production through one API Indonesia key.
https://use.apiindonesia.id/api/v1/sekolahReturns a paginated list of schools with name/NPSN search plus region, level, status, and accreditation filters.
The Schools API is built for education, financing, admissions, research, and onboarding products that need to identify Indonesian schools by NPSN, level, address, accreditation, and coordinates.
Registration forms ask users to search for a school instead of typing free text.
The app needs to group schools by region, level, or accreditation.
Your team often cleans up school-name variations from manual input.
Directory data is good for search and reference. For the latest legally sensitive administrative status, keep your internal verification process.
This section separates the product page from the docs. The docs explain how to call endpoints; this page explains why the endpoints make sense for your feature.
curl "https://use.apiindonesia.id/api/v1/sekolah?district_id=3273190&grade=SMA&status=Negeri&accreditation=A&q=SMA" \
-H "x-api-key: YOUR_API_KEY"{
"data": [
{
"npsn": "20219557",
"name": "SMA NEGERI 3 BANDUNG",
"jenis": "SMA",
"status": "Negeri",
"province_id": "32",
"regency_id": "3273",
"district_id": "3273190",
"village_id": "3273190004",
"address": "Jl. Belitung No. 8",
"postal_code": "40113",
"lat": -6.9106,
"lng": 107.6183,
"phone": "0224235154",
"email": null,
"website": null,
"accreditation": "A",
"source_name": "kemendikbud-reference",
"source_url": "https://referensi.data.kemdikbud.go.id/",
"source_synced_at": "2026-09-18T00:00:00Z",
"is_active": 1
}
],
"meta": {
"total": 27,
"page": 1,
"per_page": 50,
"total_pages": 1
}
}Call GET /api/v1/sekolah/{npsn} for one school, including province, regency/city, district and village names. The q parameter on the list endpoint also accepts an exact NPSN.
The list endpoint supports provinsi_id, kabupaten_id, district_id, jenis (SD, SMP, SMA, SMK, SLB), status (Negeri or Swasta) and accreditation, with pagination.
There are 93,500+ schools from the Kemendikbud reference data. Each row carries source_url and source_synced_at so you know when it was last synced.