# Referensi Kemendikdasmen — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search and browse Indonesian educational institutions by location hierarchy, view detailed institution information, and access foundation data from the Ministry of Education's official reference portal. Find schools, colleges, and educational programs across provinces, districts, and sub-districts while checking institution status and service program details.

**Category:** Education | **Website:** [referensi.data.kemendikdasmen.go.id/](https://referensi.data.kemendikdasmen.go.id/) | **Docs:** [parse.bot/marketplace/502c1247-002c-447a-98bb-3747334e0b10/referensi-data-kemendikdasmen-go-id-api](https://parse.bot/marketplace/502c1247-002c-447a-98bb-3747334e0b10/referensi-data-kemendikdasmen-go-id-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-referensi-data-kemendikdasmen-go-id-api-502c1247/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_institution_details

Get comprehensive details of a single educational institution by NPSN. Returns identity, documents, facilities, contact, and location information.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `npsn` | string | Yes | NPSN (National School Registration Number), 8-digit string (e.g. 20104477). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-referensi-data-kemendikdasmen-go-id-api-502c1247/get_institution_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"npsn":"<string>"}'
```

### get_kabupaten_by_province

Get list of Kabupaten/Kota within a province for a specific education level. Each entry includes institution counts by type.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `level` | string | No | Education level. |
| `prov_code` | string | Yes | Province code (6-digit string, e.g. 010000 for DKI Jakarta). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-referensi-data-kemendikdasmen-go-id-api-502c1247/get_kabupaten_by_province \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"level":"<string>","prov_code":"<string>"}'
```

### get_kecamatan_by_kabupaten

Get list of Kecamatan within a Kabupaten for a specific education level. Each entry includes institution counts by type.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `kab_code` | string | Yes | Kabupaten/Kota code (6-digit string, e.g. 010100). |
| `level` | string | No | Education level. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-referensi-data-kemendikdasmen-go-id-api-502c1247/get_kecamatan_by_kabupaten \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"kab_code":"<string>","level":"<string>"}'
```

### get_program_layanan

Get list of educational programs and services by type, broken down by province. Each province shows its program count for the selected type.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `program_type` | string | No | Program type. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-referensi-data-kemendikdasmen-go-id-api-502c1247/get_program_layanan \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"program_type":"<string>"}'
```

### get_provinces_by_education_level

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.).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `level` | string | No | Education level. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-referensi-data-kemendikdasmen-go-id-api-502c1247/get_provinces_by_education_level \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"level":"<string>"}'
```

### get_residu_tidak_aktif

Get institutions flagged as inactive by province. Shows counts broken down by year of inactivity.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-referensi-data-kemendikdasmen-go-id-api-502c1247/get_residu_tidak_aktif \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_residu_update_data

Get institutions with data update residuals by province. Shows counts of institutions that have not updated their data across multiple semesters.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-referensi-data-kemendikdasmen-go-id-api-502c1247/get_residu_update_data \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_yayasan

Get hierarchical list of educational foundations (Yayasan). Without parameters returns province-level list. With code and level_idx drills into sub-regions.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `code` | string | No | Region code to drill into (e.g. 010000 for DKI Jakarta). From previous level results. |
| `level_idx` | string | No | Hierarchy level: 1 for kabupaten, 2 for kecamatan, 3 for institutions. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-referensi-data-kemendikdasmen-go-id-api-502c1247/get_yayasan \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"code":"<string>","level_idx":"<string>"}'
```

### list_institutions_by_kecamatan

Get list of educational institutions within a Kecamatan. Returns NPSN, name, address, kelurahan, and status for each institution.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bentuk` | string | No | Institution type filter (0 for all). |
| `jalur` | string | No | Education path filter (0 for all). |
| `kec_code` | string | Yes | Kecamatan code (6-digit string, e.g. 010101). |
| `level` | string | No | Education level. |
| `status` | string | No | Status filter (0 for all). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-referensi-data-kemendikdasmen-go-id-api-502c1247/list_institutions_by_kecamatan \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"bentuk":"<string>","jalur":"<string>","kec_code":"<string>","level":"<string>","status":"<string>"}'
```

### search_institution

Search for institutions by name or NPSN. Returns matching institutions across all provinces with NPSN, name, kecamatan, kabupaten/kota, and status.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query - institution name or NPSN number (e.g. 'SD Negeri' or '20104477'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-referensi-data-kemendikdasmen-go-id-api-502c1247/search_institution \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```
