SCHOOL DATA API

API Data Sekolah Indonesia — Data Sekolah Swasta dan Negeri Seluruh Indonesia

Akses Indonesia School Data API dengan 543.592+ sekolah negeri dan swasta di seluruh Indonesia. Dapatkan NPSN lengkap, nama sekolah, alamat, koordinat GPS, akreditasi, dan data regional terintegrasi. Mulai gratis, upgrade untuk akses koordinat dan akreditasi.

Database sekolah Indonesia terlengkap untuk aplikasi pendidikan dan administrasi

Indonesia School Data API menyediakan akses ke database sekolah terbesar di Indonesia dengan 543.592 sekolah di semua jenjang pendidikan (SD, SMP, SMA, SMK, SLB, MI, MTs, MA) di setiap provinsi, kabupaten/kota, dan kecamatan. Sempurna untuk membangun aplikasi pendidikan, sistem administrasi sekolah, platform pencarian sekolah, dan integrasi sistem informasi pendidikan.

Setiap record sekolah mencakup informasi lengkap seperti NPSN (Nomor Pokok Sekolah Nasional), nama sekolah, jenis sekolah (SD/SMP/SMA/SMK/SLB), status (Negeri/Swasta), alamat lengkap, dan kode regional terintegrasi yang selaras dengan sistem administrasi Indonesia. Paket Premium memberikan akses ke koordinat geografis (latitude & longitude) dan data akreditasi untuk setiap sekolah.

📊 Database Sekolah Terlengkap

543.592
Total Sekolah

38
Provinsi

514
Kota/Kabupaten

7.277
Kecamatan

✨ Data Sekolah SD, SMP, SMA, SMK, SLB, MI, MTs, MA

📚

Data Lengkap

543.592+ sekolah dari SD hingga SMK di seluruh Indonesia dengan informasi detail.

🔍

Pencarian Fleksibel

Cari berdasarkan NPSN, nama sekolah, provinsi, kabupaten/kota, kecamatan, status, dan jenjang.

📍

Koordinat GPS (Premium)

Setiap sekolah termasuk koordinat GPS untuk integrasi peta dan geolocation.

🏆

Data Akreditasi (Premium)

Informasi akreditasi sekolah (A, B, C) untuk analisis kualitas pendidikan.

🏛️

Data Regional Terintegrasi

Terkoneksi dengan kode provinsi, kabupaten/kota, dan kecamatan resmi Indonesia.

Response Cepat

RESTful API dengan response JSON cepat dan integrasi mudah.

💰 Paket Sederhana

Mulai gratis, upgrade untuk fitur premium

Standard: 3.000 hits/bulan, 20 req/detik (gratis). Premium: unlimited hits, 100 req/detik dengan harga Rp 50.000/bulan (≈ $3,50). Points per hit: 0 untuk API ini—benar-benar gratis.

Standard

GRATIS

3.000 successful hits / bulan

  • • Rate limit: 20 req/s
  • Semua endpoint dasar:
  • – List & filter sekolah
  • – Search by NPSN, nama, status
  • – Data regional terintegrasi
  • • 0 points per hit
⚠️ Tidak termasuk: Koordinat GPS, akreditasi, filter akreditasi, advanced search

Premium

50.000 points / bulan

Unlimited successful hits

  • • Rate limit: 100 req/s
  • Semua fitur Standard +
  • Koordinat GPS (lat/long)
  • Data Akreditasi (A, B, C)
  • Filter by Akreditasi
  • Advanced Search endpoint
  • • Priority support
★ Premium Only: GPS coordinates, akreditasi data, advanced search

📋 Perbedaan Standard vs Premium

Standard (Gratis):

  • ✓ List all schools dengan pagination
  • ✓ Filter by province, regency, district
  • ✓ Search by NPSN, nama sekolah
  • ✓ Filter by status (Negeri/Swasta)
  • ✓ Filter by grade/type (SD, SMP, SMA, dll)
  • ✗ Koordinat GPS (premium only)
  • ✗ Data akreditasi (premium only)
  • ✗ Filter by akreditasi (premium only)
  • ✗ Advanced search endpoint (premium only)
Premium:

  • ✓ Semua fitur Standard
  • Koordinat GPS (latitude & longitude)
  • Data Akreditasi setiap sekolah
  • Filter by Akreditasi
  • Advanced Search (by nama, NPSN, alamat)
  • ✓ Unlimited hits per bulan
  • ✓ Rate limit lebih tinggi (100 req/s)
  • ✓ Priority support

Indonesia School Data API docs

Complete API for accessing school database across Indonesia with comprehensive filtering and search options.

🔐 Authentication: Semua request memerlukan header x-api-co-id dengan API key Anda. Dapatkan API key gratis di dashboard.

Base URL & Authentication

Base URL:

https://use.api.co.id/regional/indonesia/schools

Authentication:

All requests require an API key in the x-api-co-id header

GET
{{base-url}}/regional/indonesia/schools?page=1

Get all schools in Indonesia with pagination. Query parameters: page (optional, default: 1). Pagination size is fixed at 100 items per page.

Example Response (Premium User)
{
  "is_success": true,
  "message": "Success",
  "data": [
    {
      "npsn": "10100101",
      "name": "SD NEGERI 1 BANDA ACEH",
      "grade": "SD",
      "status": "N",
      "accreditation": "A",
      "address": "JL. CUT NYAK DIEN NO. 1",
      "province_code": "11",
      "province_name": "ACEH",
      "regency_code": "1171",
      "regency_name": "KOTA BANDA ACEH",
      "district_code": "1171010",
      "district_name": "BAITURRAHMAN",
      "lang": -5.548056,
      "long": 95.319167
    }
  ],
  "paging": {
    "page": 1,
    "size": 100,
    "total_item": 543592,
    "total_page": 5436
  }
}

GET
{{base-url}}/regional/indonesia/schools?province_code=32&page=1

Get schools filtered by province code. Parameters: province_code (required, e.g., 32 for Jawa Barat, 31 for DKI Jakarta), page (optional).

GET
{{base-url}}/regional/indonesia/schools?regency_code=3273&page=1

Get schools filtered by regency/city code. Parameters: regency_code (required, e.g., 3273 for Kota Bandung), page (optional). Can be combined with province_code.

GET
{{base-url}}/regional/indonesia/schools?district_code=3273010&page=1

Get schools filtered by district code. Parameters: district_code (required), page (optional). Can be combined with province and regency filters.

GET
{{base-url}}/regional/indonesia/schools?npsn=10100101

Get school by NPSN (National School Registration Number) with exact match. Parameter: npsn (required).

GET
{{base-url}}/regional/indonesia/schools?name=SD NEGERI&page=1

Search schools by name with case-insensitive partial match. Parameters: name (required), page (optional).

GET
{{base-url}}/regional/indonesia/schools?status=N&page=1

Filter schools by status. Parameters: status (required: N = Negeri/Public, S = Swasta/Private), page (optional).

GET
{{base-url}}/regional/indonesia/schools?grade=SD&page=1

Filter schools by grade/type with case-insensitive partial match. Parameters: grade (required, e.g., SD, SMP, SMA, SMK, MI, MTs, MA), page (optional).

GET
{{base-url}}/regional/indonesia/schools?accreditation=A&page=1
PREMIUM

Premium endpoint: Filter schools by accreditation. Parameters: accreditation (required: A, B, C, etc.), page (optional). Requires premium subscription.

GET
{{base-url}}/regional/indonesia/schools/search?query=SD NEGERI
PREMIUM

Premium endpoint: Advanced search across school name, NPSN, and address. Parameters: query (required), page (optional). Requires premium subscription.

Example Response
{
  "status": "success",
  "timestamp": "2026-01-16 10:30:45",
  "result": [
    {
      "npsn": "10100101",
      "name": "SD NEGERI 1 BANDA ACEH",
      "grade": "SD",
      "status": "N",
      "accreditation": "A",
      "address": "JL. CUT NYAK DIEN NO. 1",
      "province_code": "11",
      "province": "ACEH",
      "regency_code": "1171",
      "regency": "KOTA BANDA ACEH",
      "district_code": "1171010",
      "district": "BAITURRAHMAN",
      "lat": -5.548056,
      "long": 95.319167
    }
  ],
  "paging": {
    "page": 1,
    "size": 100,
    "total_item": 25000,
    "total_page": 250
  }
}

GET
{{base-url}}/regional/indonesia/schools?province_code=32&regency_code=3273&status=N&grade=SD&page=1

Example of combining multiple filters for precise search. All filters can be combined: province_code, regency_code, district_code, status, grade, accreditation (premium), name, npsn, page.

Example: Get public SD schools in Kota Bandung
GET /regional/indonesia/schools?province_code=32®ency_code=3273&status=N&grade=SD&page=1

Integration with Indonesia Regional API

This API is connected to the Indonesia Regional API for location data. You can use the province_code, regency_code, and district_code returned in the response to fetch detailed location information from the Regional API.

Example Integration

GET https://use.api.co.id/regional/indonesia/provinces/{province_code}
GET https://use.api.co.id/regional/indonesia/regencies/{regency_code}
GET https://use.api.co.id/regional/indonesia/districts/{district_code}

Error Responses

401 Unauthorized – Missing API Key

Error response when API key is missing or invalid.

Response
{
  "is_success": false,
  "message": "Unauthorized: API key is required"
}

403 Forbidden – Premium Only

Error response when accessing premium-only endpoints (accreditation filter, advanced search) without premium subscription.

Response
{
  "is_success": false,
  "message": "This endpoint is for premium members only"
}

400 Bad Request – Invalid Parameters

Error response when query parameters are invalid (e.g., page must be >= 1).

Pertanyaan Umum tentang API Data Sekolah Indonesia

Temukan jawaban untuk pertanyaan umum seputar API data sekolah Indonesia, penggunaan, dan integrasi.

Apa itu API Data Sekolah Indonesia?

API Data Sekolah Indonesia adalah layanan API yang menyediakan database terlengkap tentang sekolah di Indonesia dengan 543.592 sekolah dari semua jenjang pendidikan (SD, SMP, SMA, SMK, SLB, MI, MTs, MA) di seluruh provinsi, kabupaten/kota, dan kecamatan. Endpoint dasar tersedia gratis, sementara fitur premium seperti koordinat GPS, data akreditasi, filter akreditasi, dan advanced search memerlukan subscription.

Bagaimana cara menggunakan API Data Sekolah Indonesia?

Untuk menggunakan layanan ini, Anda perlu mendaftar dan mendapatkan API key terlebih dahulu di dashboard. Setelah mendapatkan API key, sertakan dalam header request sebagai x-api-co-id: YOUR_API_KEY. Anda dapat mengakses berbagai endpoint seperti /regional/indonesia/schools untuk mendapatkan daftar sekolah, dengan filter berdasarkan province, regency, district, status, grade, dan lainnya. Semua endpoint mengembalikan data dalam format JSON dengan pagination support.

Apa perbedaan antara paket Standard (Gratis) dan Premium?

Standard (Gratis): Menyediakan akses ke semua endpoint dasar (list, filter by province/regency/district, search by NPSN/name, filter by status/grade) dengan 3.000 hits per bulan, rate limit 20 req/s, dan 0 points per hit. Premium: Menawarkan semua fitur Standard plus akses ke koordinat GPS (latitude & longitude), data akreditasi setiap sekolah, filter by akreditasi, dan Advanced Search endpoint (search by nama, NPSN, alamat), unlimited hits per bulan, rate limit 100 req/s, dengan harga Rp 50.000/bulan.

Apakah endpoint dasar benar-benar gratis?

Ya, endpoint dasar benar-benar gratis dengan 0 points per hit. Paket Standard memberikan 3.000 successful hits per bulan dan 20 request per detik tanpa biaya. Anda bisa list schools, filter by province/regency/district, search by NPSN/name, dan filter by status/grade. Cocok untuk pengembangan, testing, dan aplikasi dengan volume rendah. Namun, data koordinat GPS dan akreditasi akan menampilkan "this data only available on premium package" untuk user non-premium.

Apa saja fitur yang hanya tersedia di Premium?

Fitur premium meliputi: 1) Koordinat GPS (latitude & longitude) untuk setiap sekolah, berguna untuk integrasi peta dan geolocation. 2) Data Akreditasi (A, B, C) untuk analisis kualitas pendidikan. 3) Filter by Akreditasi untuk mencari sekolah berdasarkan akreditasi tertentu. 4) Advanced Search endpoint (/regional/indonesia/schools/search) untuk pencarian lebih cepat across nama, NPSN, dan alamat. User non-premium akan melihat pesan "this data only available on premium package" atau error 403 Forbidden saat mengakses fitur premium.

Bagaimana cara mengakses koordinat GPS dan data akreditasi?

Koordinat GPS (lang dan long) dan data akreditasi (accreditation) secara otomatis dikembalikan dalam response untuk user premium. User non-premium akan melihat nilai "this data only available on premium package" untuk field tersebut. Untuk upgrade ke premium, kunjungi dashboard dengan harga Rp 50.000 per bulan. Setelah upgrade, semua response akan otomatis menampilkan data lengkap tanpa perubahan kode.

Apa saja query parameters yang tersedia?

Endpoint schools mendukung berbagai query parameters: province_code (filter by province), regency_code (filter by regency/city), district_code (filter by district), npsn (exact match by NPSN), name (search by school name, case-insensitive partial match), status (N = Negeri, S = Swasta), grade (e.g., SD, SMP, SMA), accreditation (A, B, C – premium only), dan page (pagination). Pagination size fixed di 100 items per page. Semua filters dapat dikombinasikan untuk pencarian yang lebih spesifik.

Seberapa lengkap data yang tersedia?

Database kami mencakup 543.592 sekolah dari semua jenjang pendidikan (SD, SMP, SMA, SMK, SLB, MI, MTs, MA) di seluruh Indonesia. Setiap record mencakup NPSN, nama sekolah, jenis/grade, status (Negeri/Swasta), alamat lengkap, dan kode regional terintegrasi (province, regency, district). Untuk premium, tersedia juga koordinat GPS dan data akreditasi. Data terintegrasi dengan Indonesia Regional API untuk informasi lokasi yang lebih detail.

Apa saja yang bisa saya lakukan dengan layanan ini?

Layanan ini dapat digunakan untuk berbagai keperluan: Aplikasi Pendidikan: platform pencarian sekolah, sistem informasi pendidikan. E-learning: integrasi dengan platform pembelajaran online. Pemetaan Pendidikan: analisis distribusi sekolah dengan koordinat GPS (premium). Analisis Kualitas: evaluasi akreditasi sekolah (premium). Administrasi: sistem pendaftaran siswa, zonasi sekolah. Dashboard & Analytics: visualisasi data pendidikan nasional. API ini mendukung filter lengkap dan terintegrasi dengan Indonesia Regional API untuk data lokasi.

Bagaimana format response API?

Semua endpoint list mengembalikan response dalam format JSON dengan struktur konsisten: is_success (boolean), message (string), data (array), dan paging (object dengan page, size, total_item, total_page). Advanced search endpoint (/schools/search – premium) menggunakan format sedikit berbeda dengan status, timestamp, dan result. Response selalu dalam format yang dapat diprediksi dan mudah diintegrasikan.

Berapa lama waktu respons layanan ini?

Layanan ini dirancang dengan performa tinggi. Waktu respons biasanya di bawah 200ms untuk sebagian besar request. API ini dapat menangani 20 request per detik untuk paket Standard dan 100 request per detik untuk paket Premium. Rate limiting diterapkan untuk menjaga kualitas layanan untuk semua pengguna. Database dioptimalkan untuk query cepat bahkan dengan filter kompleks.

Bagaimana cara upgrade dari paket Standard ke Premium?

Anda dapat upgrade kapan saja langsung dari dashboard. Paket Premium menawarkan hits tak terbatas, rate limit lebih tinggi (100 req/s), akses ke koordinat GPS, data akreditasi, filter akreditasi, dan advanced search, dengan harga tetap Rp 50.000 per bulan (sekitar $3,50). Proses upgrade sangat mudah dan tidak memerlukan perubahan kode—semua response akan otomatis menampilkan data premium. Tidak ada setup fee atau biaya tersembunyi.

Apakah ada limit untuk pagination?

Ya, pagination size fixed di 100 items per page dan tidak dapat dikonfigurasi. Setiap response yang mendukung pagination akan menyertakan object paging dengan informasi: page (current page), size (items per page, selalu 100), total_item (total items), dan total_page (total pages). Gunakan parameter page untuk navigasi ke halaman berikutnya. Dengan 543.592 sekolah, total page sekitar 5.436 halaman.

Bagaimana integrasi dengan Indonesia Regional API?

API ini terintegrasi dengan Indonesia Regional API. Setiap school record mencakup province_code, regency_code, dan district_code yang dapat digunakan untuk fetch data lokasi detail dari Regional API. Contoh: GET /regional/indonesia/provinces/{province_code}, GET /regional/indonesia/regencies/{regency_code}, GET /regional/indonesia/districts/{district_code}. Dengan kombinasi kedua API, Anda dapat membangun sistem pendidikan yang komprehensif dengan data lokasi dan sekolah yang lengkap.

Bangun aplikasi pendidikan dengan data sekolah lengkap

Mulai gratis dengan 0 points per hit. Akses database 543.592 sekolah terbesar di Indonesia dengan mudah. Upgrade untuk koordinat GPS dan data akreditasi.

Dapatkan API Key Anda

Scroll to Top