Discover/Go API
live

Go APIreferensi.data.kemendikdasmen.go.id

Access Indonesian Ministry of Education data: provinces, kabupaten, kecamatan, institutions, foundations, and program services via 10 structured endpoints.

Endpoint health
verified 4d ago
get_provinces_by_education_level
get_kecamatan_by_kabupaten
get_institution_details
get_program_layanan
search_institution
10/10 passing latest checkself-healing
Endpoints
10
Updated
26d ago

What is the Go API?

This API exposes 10 endpoints covering Indonesia's Ministry of Education reference portal (referensi.data.kemendikdasmen.go.id), returning structured data on educational institutions, administrative regions, foundations, and program services. The get_institution_details endpoint alone returns over 15 fields per school including NPSN, GPS coordinates, accreditation documents, land area, internet access, and contact information. Browse from province down to individual school or jump directly to a record by its 8-digit NPSN.

Try it
Education level.
api.parse.bot/scraper/a60999c7-2b3e-4ab7-8d56-75aff579c21c/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/a60999c7-2b3e-4ab7-8d56-75aff579c21c/get_provinces_by_education_level?level=dikdas' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace referensi-data-kemendikdasmen-go-id-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Kemendikdasmen SDK — browse Indonesian school hierarchy and search institutions."""
from parse_apis.kemendikdasmen_reference_data_api import (
    Kemendikdasmen, EducationLevel, ProgramType, InstitutionNotFound
)

client = Kemendikdasmen()

# List provinces for primary/middle education, capped at 5
for prov in client.provinces.list(level=EducationLevel.DIKDAS, limit=5):
    print(prov.name, prov.code, prov.total)

# Drill into one province's kabupaten via constructible navigation
jakarta = client.province(code="010000")
for kab in jakarta.kabupaten.list(level=EducationLevel.DIKDAS, limit=3):
    print(kab.name, kab.sd_count, kab.smp_count)

# Search institutions by name, take the first result
result = client.searchresults.search(query="SD Negeri", limit=1).first()
if result:
    print(result.name, result.npsn, result.kabupaten_kota)

# Get full institution details by NPSN
try:
    school = client.institutions.get(npsn="20104477")
    print(school.identity.nama, school.identity.status_sekolah)
    print(school.contact.email, school.location.latitude)
except InstitutionNotFound as exc:
    print(f"School not found: {exc.npsn}")

# List educational programs by type
for prog in client.programregions.list(program_type=ProgramType.PAUD, limit=3):
    print(prog.name, prog.count)

print("exercised: provinces.list / province.kabupaten.list / searchresults.search / institutions.get / programregions.list")
All endpoints · 10 totalmissing one? ·

Get list of provinces with institution counts for a specific education level. Returns all Indonesian provinces with counts broken down by institution type (SD/SMP for dikdas, SMA/SMK for dikmen, etc.).

Input
ParamTypeDescription
levelstringEducation level.
Response
{
  "type": "object",
  "fields": {
    "provinces": "array of province objects with name, code, institution counts, and URL"
  }
}

About the Go API

Geographic Hierarchy and Institution Discovery

The API mirrors the portal's four-level administrative hierarchy. Start with get_provinces_by_education_level — pass a level value of dikdas, dikmen, paud, kesetaraan, or lainnya to receive all 34+ Indonesian provinces with institution counts broken down by type. Drill into a province using its 6-digit prov_code with get_kabupaten_by_province, then into a kabupaten with get_kecamatan_by_kabupaten, and finally list individual schools with list_institutions_by_kecamatan. That last endpoint supports additional filters: jalur (education path), bentuk (institution type), and status, all defaulting to 0 for all values. Each level returns name, code, and URL fields that chain into the next level.

Institution Detail and Search

get_institution_details accepts an 8-digit npsn (National School Registration Number) and returns a structured object with five sub-objects: identity (school name, address, status, education level), contact (phone, email, website), location (latitude and longitude), documents (founding documents, accreditation), and facilities (land area, internet, electricity). For discovery without a known NPSN, search_institution accepts a free-text name query or a raw NPSN string and returns matching records across all provinces with kabupaten and kecamatan context.

Foundations, Residuals, and Programs

get_yayasan exposes educational foundations (Yayasan) in a drillable hierarchy. Without parameters it returns a province-level list; supplying code and level_idx (1 = kabupaten, 2 = kecamatan, 3 = institutions) descends through the tree. Two residual endpoints — get_residu_update_data and get_residu_tidak_aktif — return province-level counts of institutions that have not updated their records across semesters, and institutions flagged inactive by year, respectively. These are useful for data-quality monitoring and administrative tracking. get_program_layanan returns province-level breakdowns of program participation across four types: paud, kesetaraan, terampil, and slb.

Reliability & maintenanceVerified

The Go API is a managed, monitored endpoint for referensi.data.kemendikdasmen.go.id — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when referensi.data.kemendikdasmen.go.id changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official referensi.data.kemendikdasmen.go.id API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
10/10 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a school finder that lets users drill from province to kecamatan and view institution lists with address and status.
  • Aggregate institution counts by education level across all provinces using get_provinces_by_education_level for a national dashboard.
  • Geocode schools by pulling latitude and longitude from get_institution_details to plot them on a map.
  • Monitor data quality by querying get_residu_update_data to identify provinces with the most institutions missing recent updates.
  • Track educational foundation (Yayasan) distribution across kabupaten using get_yayasan with level_idx drilling.
  • Identify inactive institutions by province and year using get_residu_tidak_aktif for administrative audits.
  • Analyze special education and non-formal program reach by province with get_program_layanan filtered to slb or kesetaraan.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does referensi.data.kemendikdasmen.go.id have an official public developer API?+
The portal does not publish a documented public REST API or developer program. Data access is provided through this Parse API.
What does get_institution_details return beyond basic identity fields?+
Beyond identity fields (name, address, status, education level), it returns a location object with GPS coordinates, a documents object covering founding documents and accreditation status, a facilities object with land area, electricity, and internet access, and a contact object with phone, email, and website. All are returned in a single call given an 8-digit NPSN.
Does the API support filtering institutions by accreditation grade or founding year?+
Not currently. The API returns accreditation data as part of the documents object in get_institution_details and supports status/type filters in list_institutions_by_kecamatan, but there is no parameter to filter across institutions by accreditation grade or founding year directly. You can fork this API on Parse and revise it to add those filtering endpoints.
Can I retrieve all institutions in a province without stepping through kabupaten and kecamatan?+
Not currently. The hierarchy requires going province → kabupaten → kecamatan before listing institutions. search_institution does return cross-province results for a name or NPSN query, but bulk province-level institution lists are not a single-call operation. You can fork this API on Parse and revise it to add a direct province-to-institution endpoint.
How granular is the program service data returned by get_program_layanan?+
It returns province-level aggregates: each record includes the province name, a URL, and a total program count for the chosen program_type (paud, kesetaraan, terampil, or slb). It does not break down counts to kabupaten or individual institution level in a single call; for that granularity you would need to combine it with the geographic hierarchy endpoints.
Page content last updated . Spec covers 10 endpoints from referensi.data.kemendikdasmen.go.id.
Related APIs in EducationSee all →
pddikti.kemdiktisaintek.go.id API
Search and retrieve comprehensive information about Indonesian higher education institutions, including details about students, lecturers, universities, and their study programs from the official national education database. Quickly look up specific universities, academic staff profiles, and available degree programs to research educational options or verify institution credentials.
kys.udiseplus.gov.in API
Search for schools across India by geographic region and management type, then access detailed information about any school including academic performance, facilities, and enrollment data. Navigate through states, districts, and blocks to find schools that match your criteria and compare their profiles.
myschool.ng API
Search for Nigerian schools by type, explore courses and admission requirements, and stay updated with the latest education news all in one place. Find detailed information about schools and their programs to make informed decisions about your education.
opendays.com API
Search and discover open day events at educational institutions, view detailed event information and institution profiles, and browse the complete calendar of upcoming visits. Find the perfect school or university open day by searching institutions or exploring all available options with their program details and dates.
egyankosh.ac.in API
Search and browse educational materials from IGNOU's digital repository, retrieve course unit details, and access PDFs directly. Navigate through communities and collections to find study resources organized by subject and course structure.
lapor.go.id API
Access Indonesia's official public complaints and get details about resolved cases and government institutions handling them. Search specific institutions and browse complaint data to understand how various agencies respond to citizen concerns.
jdih.kemenkeu.go.id API
Search and retrieve Indonesian Ministry of Finance legal documents with detailed information including document types, metadata, and downloadable files. Browse legal products by category and access comprehensive details about regulations, policies, and official legal materials from Indonesia's financial authority.
ibass.jamb.gov.ng API
Search Nigerian educational institutions and discover their specific course requirements, including UTME subjects and O'level prerequisites, to make informed decisions about your tertiary education options. Find institutions by type and browse the detailed admission criteria for your desired programs all in one place.