const axios = require('axios'); const client = axios.create({ baseURL: 'https://dapo.kemendikdasmen.go.id', headers: { 'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 Chrome/137.0.0.0 Mobile Safari/537.36', 'Accept': '*/*' } }); async function getToken() { await client.get('/'); const res = await client.get('/env.js'); const raw = res.data; const token = raw.match(/VITE_API_TOKEN["']?\s*:\s*["']([^"']+)["']/)?.[1]; const url = raw.match(/VITE_STRAPI_URL["']?\s*:\s*["']([^"']+)["']/)?.[1]; return { token, url }; } function carisekolah(q, cb) { getToken().then(({ token, url }) => { client.get(url + '/api/detail-sekolah/search?q=' + encodeURIComponent(q), { headers: { 'Authorization': 'Bearer ' + token } }).then(r => { const data = r.data.data || []; cb(JSON.stringify(data, null, 2)); }).catch(() => cb(null)); }).catch(() => cb(null)); } function infosekolah(npsn, cb) { getToken().then(({ token, url }) => { client.get(url + '/api/detail-sekolah?npsn=' + npsn, { headers: { 'Authorization': 'Bearer ' + token } }).then(r => { const data = r.data.data || []; cb(JSON.stringify(data, null, 2)); }).catch(() => cb(null)); }).catch(() => cb(null)); } carisekolah('sman 72 jakarta', console.log); infosekolah('20100796', console.log);