Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 

Repository files navigation

🏫 EduAPI Indonesia β€” API Data Sekolah Kita

License: MIT Cloudflare Pages Cloudflare D1 JavaScript Contributor: Syamsul Bahri

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.


πŸš€ Base URL

Semua request API dapat diarahkan ke base URL berikut:

https://api-sekolah-kita.pages.dev

πŸ—ΊοΈ Fitur Utama

  • ⚑ 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.

πŸ“– Dokumentasi Endpoint API

1. Pencarian & Filter Sekolah

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

2. Rekapitulasi Wilayah & Jenjang

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.

3. Status Sinkronisasi

Menampilkan informasi tentang total data yang terindeks serta waktu pembaruan terakhir.

  • Endpoint: /api/status
  • Method: GET

πŸ’‘ Panduan & Cara Penggunaan Pencarian

Berikut adalah beberapa contoh skenario penggunaan API beserta URL lengkapnya yang bisa dicoba:

A. Pencarian Cepat Berdasarkan NPSN (Paling Direkomendasikan)

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=60723552

B. Pencarian Parsial Berdasarkan Nama Sekolah

Untuk mencari sekolah berdasarkan nama, masukkan penggalan nama pada parameter keyword.

GET https://api-sekolah-kita.pages.dev/api/sekolah?keyword=merdeka

C. Penyaringan (Filtering) Berdasarkan Provinsi

Gunakan 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+TIMUR

D. Penyaringan Berdasarkan Bentuk Pendidikan (Jenjang)

Mencari sekolah dengan jenjang pendidikan tertentu, misalnya hanya SMK atau MA.

GET https://api-sekolah-kita.pages.dev/api/sekolah?bentuk=SMK

E. Kombinasi Pencarian & Multi-Filter

Anda 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=SMA

F. Sekolah di Luar Negeri (Berdasarkan Negara)

Untuk 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

G. Paginasi Hasil Pencarian

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

πŸ“¦ Struktur Respons JSON

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"
    }
  ]
}

🀝 Kontribusi & Dukungan

Proyek ini bersifat open-source. Jika Anda menemukan bug atau ingin menambahkan fitur baru, silakan buka Issue atau kirimkan Pull Request.


Dibuat dengan ❀️ untuk kemudahan akses data pendidikan di Indonesia.

About

Api sekolah Indonesia - 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).

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors