# SPKLU



Every public EV charging station in Indonesia — the directory, and the nearest one to any point.



## SPKLU Directory

Every public EV charging station in Indonesia — 3,000+ stations across all 34 provinces, with charger types, wattage, and per-unit detail.

- Method: `GET`
- Path: `/v1/transport/spklu`

**Parameters**

| Name | Type | | Description |
|---|---|---|---|
| `province` | string | optional | Exact province name, e.g. `DKI Jakarta`. |
| `city` | string | optional | City or regency, substring match. |
| `type` | string | optional | `standard`, `medium`, `fast`, or `ultrafast`. |
| `q` | string | optional | Search name or address. |
| `limit` | integer | optional | 1 to 100 stations. |
| `max_age` | integer (seconds) | optional | Ask for data no older than this. Clamped to the product's own floor, so it can narrow the window but never force a refresh on every call. |

**Example request**

```bash
curl https://api.diraz.ae/v1/transport/spklu \
  -H "Authorization: Bearer drz_live_…"
```

**Example response**

```json
{
  "data": {
    "total_indexed": 3029,
    "stations": [
      {
        "id": 1,
        "name": "SPKLU PLN UID JAKARTA RAYA",
        "address": "Jl. M.I. Ridwan Rais No.1, Gambir",
        "province": "DKI Jakarta",
        "city": "Kota ADM Jakarta Pusat",
        "lat": -6.18039,
        "lon": 106.833191,
        "type": "medium",
        "watt": "22 kW",
        "total_chargers": 2,
        "total_connectors": 2,
        "operational": true,
        "charger_boxes": [
          { "id": "CSE_UP3_MENTENG", "name": "CS AC Charger", "type": "medium", "watt": "22 kW", "chargers": 1, "connectors": 1 }
        ]
      }
    ]
  },
  "meta": { "request_id": "req_7Q2fK4mZ", "as_of": "2026-08-22T04:05:00.000Z", "age_seconds": 42, "next_update_at": "2026-08-23T04:05:00.000Z" }
}
```

## SPKLU Nearest

The nearest EV charging stations to any point — the question an EV driver's phone asks.

- Method: `GET`
- Path: `/v1/transport/spklu/nearest`

**Parameters**

| Name | Type | | Description |
|---|---|---|---|
| `lat` | number | required | Decimal degrees, `-90` to `90`. |
| `lon` | number | required | Decimal degrees, `-180` to `180`. |
| `radius_km` | number | optional | Search radius. Beyond this nothing is returned. |
| `limit` | integer | optional | 1 to 50 stations. |
| `max_age` | integer (seconds) | optional | Ask for data no older than this. Clamped to the product's own floor, so it can narrow the window but never force a refresh on every call. |

**Example request**

```bash
curl https://api.diraz.ae/v1/transport/spklu/nearest \
  -H "Authorization: Bearer drz_live_…"
```

**Example response**

```json
{
  "data": {
    "origin": { "lat": -6.2088, "lon": 106.8456 },
    "radius_km": 10,
    "stations": [
      {
        "id": 1,
        "name": "SPKLU PLN UID JAKARTA RAYA",
        "address": "Jl. M.I. Ridwan Rais No.1, Gambir",
        "province": "DKI Jakarta",
        "city": "Kota ADM Jakarta Pusat",
        "lat": -6.18039,
        "lon": 106.833191,
        "type": "medium",
        "watt": "22 kW",
        "total_chargers": 2,
        "total_connectors": 2,
        "operational": true,
        "charger_boxes": [],
        "distance_km": 3.4
      }
    ]
  },
  "meta": { "request_id": "req_7Q2fK4mZ", "as_of": "2026-08-22T04:05:00.000Z", "age_seconds": 42, "next_update_at": "2026-08-23T04:05:00.000Z" }
}
```