Data Sekolah (NPSN)
Freeindonesia:sekolah
Cari sekolah berdasarkan nama atau NPSN, dan lihat alamat, status, jenjang, akreditasi, serta kontak sekolah dari Data Referensi Kemendikdasmen.
Belum punya key? Daftar gratis
GET/v1/indonesia:sekolah/cari
Cari sekolah berdasarkan nama atau NPSN.
Cache 86400 dtk
1 kuota / request
indonesia.sekolah.cari
cURL
curl -H "x-api-key: ga_live_..." "https://kajidata.artonlabs.com/v1/indonesia:sekolah/cari?q=SMA+NEGERI+1+BOGOR&limit=5"
Python
import requests
response = requests.get(
"https://kajidata.artonlabs.com/v1/indonesia:sekolah/cari",
params={"q": "SMA NEGERI 1 BOGOR", "limit": "5"},
headers={"x-api-key": "ga_live_..."},
timeout=30,
)
body = response.json()
print(body["data"] if body["ok"] else body["error"])
JavaScript
const params = new URLSearchParams({"q": "SMA NEGERI 1 BOGOR", "limit": "5"});
const response = await fetch(`https://kajidata.artonlabs.com/v1/indonesia:sekolah/cari?${params}`, {
headers: { "x-api-key": "ga_live_..." },
});
const body = await response.json();
console.log(body.ok ? body.data : body.error);
PHP
<?php
$ch = curl_init('https://kajidata.artonlabs.com/v1/indonesia:sekolah/cari?' . http_build_query(['q' => 'SMA NEGERI 1 BOGOR', 'limit' => '5']));
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['x-api-key: ga_live_...'],
CURLOPT_TIMEOUT => 30,
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body['ok'] ? $body['data'] : $body['error']);
Go
package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
)
func main() {
params := url.Values{}
params.Set("q", "SMA NEGERI 1 BOGOR")
params.Set("limit", "5")
req, _ := http.NewRequest("GET", "https://kajidata.artonlabs.com/v1/indonesia:sekolah/cari?"+params.Encode(), nil)
req.Header.Set("x-api-key", "ga_live_...")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
var body map[string]any
json.NewDecoder(res.Body).Decode(&body)
fmt.Println(body["data"])
}
Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://kajidata.artonlabs.com/v1/indonesia:sekolah/cari?q=SMA+NEGERI+1+BOGOR&limit=5"))
.header("x-api-key", "ga_live_...")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Ruby
require "net/http"
require "json"
uri = URI("https://kajidata.artonlabs.com/v1/indonesia:sekolah/cari")
uri.query = URI.encode_www_form({"q" => "SMA NEGERI 1 BOGOR", "limit" => "5"})
request = Net::HTTP::Get.new(uri)
request["x-api-key"] = "ga_live_..."
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
body = JSON.parse(response.body)
puts body["ok"] ? body["data"] : body["error"]
C#
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "ga_live_...");
var json = await client.GetStringAsync("https://kajidata.artonlabs.com/v1/indonesia:sekolah/cari?q=SMA+NEGERI+1+BOGOR&limit=5");
Console.WriteLine(json);
GET/v1/indonesia:sekolah/npsn
Profil lembaga satu sekolah berdasarkan NPSN.
Cache 604800 dtk
1 kuota / request
indonesia.sekolah.npsn
cURL
curl -H "x-api-key: ga_live_..." "https://kajidata.artonlabs.com/v1/indonesia:sekolah/npsn?npsn=20100235"
Python
import requests
response = requests.get(
"https://kajidata.artonlabs.com/v1/indonesia:sekolah/npsn",
params={"npsn": "20100235"},
headers={"x-api-key": "ga_live_..."},
timeout=30,
)
body = response.json()
print(body["data"] if body["ok"] else body["error"])
JavaScript
const params = new URLSearchParams({"npsn": "20100235"});
const response = await fetch(`https://kajidata.artonlabs.com/v1/indonesia:sekolah/npsn?${params}`, {
headers: { "x-api-key": "ga_live_..." },
});
const body = await response.json();
console.log(body.ok ? body.data : body.error);
PHP
<?php
$ch = curl_init('https://kajidata.artonlabs.com/v1/indonesia:sekolah/npsn?' . http_build_query(['npsn' => '20100235']));
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['x-api-key: ga_live_...'],
CURLOPT_TIMEOUT => 30,
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body['ok'] ? $body['data'] : $body['error']);
Go
package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
)
func main() {
params := url.Values{}
params.Set("npsn", "20100235")
req, _ := http.NewRequest("GET", "https://kajidata.artonlabs.com/v1/indonesia:sekolah/npsn?"+params.Encode(), nil)
req.Header.Set("x-api-key", "ga_live_...")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
var body map[string]any
json.NewDecoder(res.Body).Decode(&body)
fmt.Println(body["data"])
}
Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://kajidata.artonlabs.com/v1/indonesia:sekolah/npsn?npsn=20100235"))
.header("x-api-key", "ga_live_...")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Ruby
require "net/http"
require "json"
uri = URI("https://kajidata.artonlabs.com/v1/indonesia:sekolah/npsn")
uri.query = URI.encode_www_form({"npsn" => "20100235"})
request = Net::HTTP::Get.new(uri)
request["x-api-key"] = "ga_live_..."
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
body = JSON.parse(response.body)
puts body["ok"] ? body["data"] : body["error"]
C#
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "ga_live_...");
var json = await client.GetStringAsync("https://kajidata.artonlabs.com/v1/indonesia:sekolah/npsn?npsn=20100235");
Console.WriteLine(json);