EduAPI Indonesia adalah gateway API super cepat berbasis Edge Serverless untuk mengakses ratusan ribu data master satuan pendidikan di seluruh Indonesia (dan sekolah luar negeri di bawah pembinaan Indonesia).
Data pada API ini disinkronisasikan secara berkala dari portal resmi belajar.id melalui proses otomatisasi scraper di GitHub Actions menuju database Cloudflare D1.
Semua request API dapat diarahkan ke base URL berikut:
https://api-sekolah-kita.pages.dev- β‘ Super Cepat: Berjalan di Cloudflare Edge Serverless Network dengan latensi sangat rendah.
- π Pencarian Cerdas: Pencarian instan (1ms) untuk exact match NPSN (8 digit) serta pencarian parsial nama sekolah.
- ποΈ Filter Fleksibel: Saring data berdasarkan Provinsi, bentuk pendidikan (SD, SMP, SMA, SMK, dll), atau kombinasi keduanya.
- π Rekapitulasi Data: Endpoint khusus untuk statistik persebaran jenjang pendidikan per wilayah.
- π Sinkronisasi Otomatis: Pipeline sinkronisasi yang terus memperbarui data agar tetap aktual.
Mengembalikan daftar sekolah sesuai kata kunci pencarian atau filter yang ditentukan.
- Endpoint:
/api/sekolah - Method:
GET - Query Parameters:
| Parameter | Tipe Data | Wajib | Deskripsi | Contoh |
|---|---|---|---|---|
keyword |
string |
Tidak | Cari berdasarkan NPSN (8 digit angka) atau nama sekolah (pencarian parsial). | 60723552 atau SDN 1 |
provinsi |
string |
Tidak | Saring berdasarkan nama provinsi lengkap (case-sensitive sesuai data). Gunakan LUAR NEGERI untuk sekolah luar negeri, atau LUAR NEGERI - [Nama Negara] untuk negara spesifik. |
PROV. SULAWESI SELATAN atau LUAR NEGERI - JEPANG |
bentuk |
string |
Tidak | Saring berdasarkan bentuk satuan pendidikan (jenjang). | SD, SMP, SMA, SMK, TK, MI, MTS, MA, SLB |
limit |
integer |
Tidak | Membatasi jumlah data yang dikembalikan. Default: 20, Maksimal: 50. |
10 |
offset |
integer |
Tidak | Paginasi data (memulai hasil dari indeks ke-n). Default: 0. |
40 |
Mengembalikan daftar nama provinsi, negara, jenjang yang tersedia, beserta jumlah sekolah per jenjang di setiap wilayah.
- Endpoint:
/api/rekap - Method:
GET - Respons: Objek JSON berisi daftar unik provinsi/negara/jenjang serta total data yang dipetakan per wilayah.
Menampilkan informasi tentang total data yang terindeks serta waktu pembaruan terakhir.
- Endpoint:
/api/status - Method:
GET
Berikut adalah beberapa contoh skenario penggunaan API beserta URL lengkapnya yang bisa dicoba:
Jika Anda menginputkan 8 digit angka sebagai keyword, API secara otomatis mendeteksi parameter ini sebagai NPSN dan melakukan pencarian langsung menggunakan Primary Key di database. Proses ini hanya memakan waktu sekitar 1ms.
GET https://api-sekolah-kita.pages.dev/api/sekolah?keyword=60723552Untuk mencari sekolah berdasarkan nama, masukkan penggalan nama pada parameter keyword.
GET https://api-sekolah-kita.pages.dev/api/sekolah?keyword=merdekaGunakan nama provinsi lengkap dengan prefix PROV. (contoh: PROV. DKI JAKARTA, PROV. JAWA BARAT, dll).
GET https://api-sekolah-kita.pages.dev/api/sekolah?provinsi=PROV.+JAWA+TIMURMencari sekolah dengan jenjang pendidikan tertentu, misalnya hanya SMK atau MA.
GET https://api-sekolah-kita.pages.dev/api/sekolah?bentuk=SMKAnda dapat menggabungkan pencarian teks dengan filter provinsi dan bentuk pendidikan untuk hasil yang lebih spesifik.
GET https://api-sekolah-kita.pages.dev/api/sekolah?keyword=sains&provinsi=PROV.+DI+YOGYAKARTA&bentuk=SMAUntuk menampilkan daftar sekolah Indonesia di luar negeri, Anda bisa menggunakan filter provinsi LUAR NEGERI atau menyaring spesifik per negara.
- Semua Sekolah Luar Negeri:
GET https://api-sekolah-kita.pages.dev/api/sekolah?provinsi=LUAR+NEGERI
- Spesifik Negara (contoh: Jepang):
GET https://api-sekolah-kita.pages.dev/api/sekolah?provinsi=LUAR+NEGERI+-+JEPANG
Untuk mengambil halaman berikutnya dari suatu pencarian, gunakan kombinasi limit dan offset.
- Mengambil 10 data pertama:
GET https://api-sekolah-kita.pages.dev/api/sekolah?limit=10&offset=0
- Mengambil 10 data berikutnya (Halaman 2):
GET https://api-sekolah-kita.pages.dev/api/sekolah?limit=10&offset=10
Berikut adalah format respons JSON standar yang dikembalikan oleh /api/sekolah:
{
"status": "success",
"source": "API Sekolah Mandiri",
"developer": "Syamsul Bahri",
"metadata": {
"limit_ditampilkan": 5,
"offset_saat_ini": 0,
"waktu_update_data_terakhir": "17 Mei 2026 pukul 18.26",
"waktu_update_data_terakhir_iso": "2026-05-17T11:26:31Z",
"developer": "Syamsul Bahri",
"total_data_tersedia": null,
"catatan_total": "Total hasil pencarian tidak dihitung agar kuota baca database tetap hemat.",
"has_more": true
},
"data": [
{
"npsn": "60723552",
"nama": "MIS BUTUNG",
"bentuk_pendidikan": "MI",
"bentuk_pendidikan_group": "SD SEDERAJAT",
"jenis_pendidikan": "PENDIDIKAN UMUM",
"status_satuan_pendidikan": "SWASTA",
"jenjang_pendidikan": "PENDIDIKAN DASAR",
"pembina": "KEMENTERIAN AGAMA",
"jalur_pendidikan": "FORMAL",
"nama_desa": "TANUNTUNG",
"nama_kecamatan": "KEC. HERLANG",
"nama_kabupaten": "KAB. BULUKUMBA",
"nama_provinsi": "PROV. SULAWESI SELATAN",
"alamat_jalan": "BUTUNG"
}
]
}Proyek ini bersifat open-source. Jika Anda menemukan bug atau ingin menambahkan fitur baru, silakan buka Issue atau kirimkan Pull Request.
- Developer: Syamsul Bahri
- Hubungi: WhatsApp Developer
Dibuat dengan β€οΈ untuk kemudahan akses data pendidikan di Indonesia.