Search Dapo Progress(cari progress pengiriman dapodik sekolah)

by RFour · Aug 2, 2026 ·javascript

I'm lazy to type it again because I accidently refresh the tab, basically the number that are used in kabupaten and kacamatan and school is province id and and kabupaten id and kacamatan id.

SekolahSearchSchoolStalk
dapo-progres.jsjavascript
1const axios = require('axios');
2
3const client = axios.create({
4  baseURL: 'https://dapo.kemendikdasmen.go.id',
5  headers: {
6    'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36',
7    'Accept': '*/*'
8  }
9});
10
11async function getToken() {
12  await client.get('/');
13  const res = await client.get('/env.js');
14  const raw = res.data;
15  const token = raw.match(/VITE_API_TOKEN["']?\s*:\s*["']([^"']+)["']/)?.[1];
16  const url = raw.match(/VITE_STRAPI_URL["']?\s*:\s*["']([^"']+)["']/)?.[1];
17  return { token, url };
18}
19
20async function fetch(path, params) {
21  const { token, url } = await getToken();
22  const qs = new URLSearchParams(params).toString();
23  const res = await client.get(url + path + (qs ? '?' + qs : ''), {
24    headers: { 'Authorization': 'Bearer ' + token }
25  });
26  return res.data;
27}
28
29function provinsi(jenjang, status) {
30  const params = {};
31  if (jenjang) params.jenjang = jenjang;
32  if (status) params.status_sekolah = status;
33  fetch('/api/progress-pengiriman/provinsi', params)
34    .then(data => console.log(JSON.stringify(data, null, 2)))
35    .catch(console.error);
36}
37
38function kabupaten(kode, jenjang, status) {
39  fetch('/api/progress-pengiriman/kabupaten', {
40    kode_provinsi: kode || '050000',
41    jenjang: jenjang || 'SMP',
42    status_sekolah: status || 'Swasta'
43  }).then(data => console.log(JSON.stringify(data, null, 2))).catch(console.error);
44}
45
46function kecamatan(kode, jenjang, status) {
47  fetch('/api/progress-pengiriman/kecamatan', {
48    kode_kabupaten: kode || '052000',
49    jenjang: jenjang || 'SMP',
50    status_sekolah: status || 'Swasta'
51  }).then(data => console.log(JSON.stringify(data, null, 2))).catch(console.error);
52}
53
54function school(kode, jenjang) {
55  fetch('/api/progress-pengiriman/kecamatan/school', {
56    kode_kecamatan: kode || '052001',
57    jenjang: jenjang || 'SMP'
58  }).then(data => console.log(JSON.stringify(data, null, 2))).catch(console.error);
59}
60
61/*
62provinsi();
63provinsi('SMA');
64provinsi('SD', 'Negeri');
65kabupaten('050000', 'SMP', 'Swasta');
66kabupaten('050000', 'SMA', 'Negeri');
67kecamatan('052000', 'SMP', 'Swasta');
68kecamatan('052000', 'SMA', 'Negeri');
69school('052001', 'SMP');
70school('052001', 'SMA');
71*\
raw