# Lapor — 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.

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

**Category:** Government & Public Data | **Website:** [www.lapor.go.id/](https://www.lapor.go.id/) | **Docs:** [parse.bot/marketplace/45cf3af9-1d1a-42ce-97e8-cf9692347465/lapor-go-id-api](https://parse.bot/marketplace/45cf3af9-1d1a-42ce-97e8-cf9692347465/lapor-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-lapor-go-id-api-45cf3af9/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_institution_detail

Get detailed information about a specific government institution by its slug. Returns the institution name, rating, followers count, and associated success stories. Additional fields (address, phone, email, website, sub_units) are included when available on the institution's page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Institution slug identifier (e.g., 'kementerian-kesehatan'). Obtain slugs from search_institutions endpoint. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-lapor-go-id-api-45cf3af9/get_institution_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### list_complaints

List resolved complaints (Kisah Sukses / Success Stories) from LAPOR!. Returns a paginated list of complaints that have been successfully resolved. Each complaint includes title, description excerpt, author, comments count, and support count. All results carry status SELESAI (resolved). Paginate by incrementing the page parameter; has_next_page indicates whether more pages exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-lapor-go-id-api-45cf3af9/list_complaints \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### search_institutions

Search connected government institutions on LAPOR!. Returns a paginated list of institutions matching the query keyword. Each institution includes name, slug, type, parent institution, and SMS prefix. Omitting the query returns all institutions. total_pages reflects the full result set size.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based) |
| `query` | string | No | Search keyword to filter institutions by name. Omitting returns all institutions. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-lapor-go-id-api-45cf3af9/search_institutions \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>"}'
```
