● API Reference v1.0
Cape Town Open Data.
Ready for APIs and AI.
Clean, structured endpoints built on City of Cape Town municipal data. Designed for dashboards, AI assistants, civic tools, and MCP-compatible workflows.
12+
Endpoints
100+
Suburbs
2.5M+
Records
MCP
AI Ready
Authentication
API Key
All requests require an API key in the x-api-key header.
Header
x-api-key: your-api-key-here
No key yet? Get a free API key →
MCP Protocol
JSON-RPC 2.0 over HTTP
GoLook uses the Model Context Protocol (MCP). All requests are POST to a single base URL.
Base URL
https://ko7resv8v7.execute-api.us-east-1.amazonaws.com/
Request Structure
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "get_latest_dam_levels", "arguments": {} } }
Endpoints
MCP
get_latest_dam_levels
Latest Cape Town dam levels — % capacity, storage (ML), and status for all 13 dams.
▼
Parameters
Example
Response
| Parameter | Type | Required | Description |
|---|---|---|---|
| dam_name | string | optional | Filter to one dam, e.g. Theewaterskloof |
JavaScript
const res = await fetch(MCP_URL, { method: "POST", headers: { "Content-Type": "application/json", "x-api-key": API_KEY }, body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "tools/call", params: { name: "get_latest_dam_levels", arguments: {} } }) });
JSON Response
{ "as_of_date": "2026-01-29", "dams": [{ "dam_name": "Theewaterskloof", "current_level_pct": 56.52, "status": "watch" }] }
MCP
get_rainfall
Monthly rainfall totals (mm) per gauge station from 2000 to present.
▼
Parameters
Stations
| Parameter | Type | Required | Description |
|---|---|---|---|
| station_name | string | required | Exact station name, e.g. Wemmershoek |
| period_from | string | optional | Start period YYYY-MM |
| period_to | string | optional | End period YYYY-MM |
| limit | integer | optional | Max records. Default 24. |
WemmershoekSteenbrasVoelvleiTheewaterskloofWoodheadDe VilliersNewlandsWynbergConstantia NekPlattekloofBlackheath UpperBlackheath LowerGlen GarryTygerbergFaureBrooklandsAtlantisMoltenoKloof NekBerg River
MCP
get_water_consumption
Median monthly residential water consumption (kl/month) by suburb.
▼
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| suburb | string | required | Suburb name, e.g. Constantia |
| period_from | string | optional | Start period YYYY-MM |
| period_to | string | optional | End period YYYY-MM |
| limit | integer | optional | Max records. Default 50. |
MCP
get_valuation_by_suburb
City of Cape Town general valuation roll — GV2012 through GV2022 median property values per suburb.
▼
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| suburb | string | required | Suburb name, e.g. Sea Point, Constantia |
MCP
get_valuations_by_range
Find all suburbs within a property valuation range for a given GV year.
▼
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| gv_year | string | required | One of 2012, 2015, 2018, 2022 |
| min_value | integer | optional | Minimum valuation in rands |
| max_value | integer | optional | Maximum valuation in rands |
| limit | integer | optional | Max results. Default 50. |
MCP
get_healthcare_facilities
Cape Town clinics, CDCs, district and private hospitals with coordinates.
▼
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| facility_class | string | optional | e.g. Clinic, District Hospital |
| facility_type | string | optional | CITY OF CAPE TOWN, PAWC, STATE, PRIVATE |
| name | string | optional | Partial name match |
| limit | integer | optional | Max results. Default 100. |
MCP
get_schools
Western Cape schools dataset with optional filters by name, district, EMIS, and school type.
▼
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | optional | Partial school name match |
| district | string | optional | e.g. METRO CENTRAL |
| school_type | string | optional | e.g. Primary School |
| limit | integer | optional | Max results |
MCP
get_service_requests
Cape Town municipal service request complaints aggregated by suburb, complaint type, and month. 2.5M+ records.
▼
Parameters
Example
| Parameter | Type | Required | Description |
|---|---|---|---|
| suburb | string | required | Suburb UPPERCASE, e.g. HOUT BAY |
| start | string | required | Start date YYYY-MM-DD |
| end | string | required | End date YYYY-MM-DD |
JavaScript
const res = await fetch(MCP_URL, { method: "POST", headers: { "x-api-key": API_KEY }, body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "tools/call", params: { name: "get_service_requests", arguments: { suburb: "PHILIPPI", start: "2024-01-01", end: "2024-12-31" } } }) });
MCP
get_libraries
Cape Town public library locations with member counts (MBRS), floor area (AREA_SQM), and category (COMMUNITY or REGIONAL).
▼
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | optional | Library name UPPERCASE, e.g. FISH HOEK |
| limit | integer | optional | Max results. Default 50. |
MCP
get_beaches_and_resorts
Cape Town beach and resort tariffs including day visitor prices and 2024/25 and 2025/26 seasonal pricing.
▼
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| resort_beach | string | optional | Beach name UPPERCASE, e.g. BIKINI BEACH, STRAND |
| limit | integer | optional | Max results. Default 50. |
MCP
get_electricity_billing
Cape Town electricity billing data by location. Returns monthly billing amounts by billing class (Commercial, Domestic, Departmental) from 2021 to 2026.
▼
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| location | string | optional | Location UPPERCASE, e.g. ADMIRALS PARK, SEA POINT |
| limit | integer | optional | Max results. Default 50. |
MCP
get_swimming_pool_tariffs
Cape Town municipal swimming pool tariffs.
▼
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| swimming_pool | string | optional | Pool name UPPERCASE |
| limit | integer | optional | Max results. Default 50. |
MCP
get_properties_by_suburb_and_value_band
Get Cape Town Properties By Suburb and Value Band
▼
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| suburb | string | optional | Property Value Bands (UPPERCASE) |
| limit | integer | optional | Max results (default 50) |
MCP
get_municipal_courts
Get Cape Town Municipal Courts
▼
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| crt_name | string | optional | Municipal Courts (UPPERCASE) |
| limit | integer | optional | Max results (default 50) |