● 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
ParameterTypeRequiredDescription
dam_namestringoptionalFilter 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
ParameterTypeRequiredDescription
station_namestringrequiredExact station name, e.g. Wemmershoek
period_fromstringoptionalStart period YYYY-MM
period_tostringoptionalEnd period YYYY-MM
limitintegeroptionalMax 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
ParameterTypeRequiredDescription
suburbstringrequiredSuburb name, e.g. Constantia
period_fromstringoptionalStart period YYYY-MM
period_tostringoptionalEnd period YYYY-MM
limitintegeroptionalMax records. Default 50.
MCP
get_valuation_by_suburb
City of Cape Town general valuation roll — GV2012 through GV2022 median property values per suburb.
Parameters
ParameterTypeRequiredDescription
suburbstringrequiredSuburb 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
ParameterTypeRequiredDescription
gv_yearstringrequiredOne of 2012, 2015, 2018, 2022
min_valueintegeroptionalMinimum valuation in rands
max_valueintegeroptionalMaximum valuation in rands
limitintegeroptionalMax results. Default 50.
MCP
get_healthcare_facilities
Cape Town clinics, CDCs, district and private hospitals with coordinates.
Parameters
ParameterTypeRequiredDescription
facility_classstringoptionale.g. Clinic, District Hospital
facility_typestringoptionalCITY OF CAPE TOWN, PAWC, STATE, PRIVATE
namestringoptionalPartial name match
limitintegeroptionalMax results. Default 100.
MCP
get_schools
Western Cape schools dataset with optional filters by name, district, EMIS, and school type.
Parameters
ParameterTypeRequiredDescription
namestringoptionalPartial school name match
districtstringoptionale.g. METRO CENTRAL
school_typestringoptionale.g. Primary School
limitintegeroptionalMax results
MCP
get_service_requests
Cape Town municipal service request complaints aggregated by suburb, complaint type, and month. 2.5M+ records.
Parameters
Example
ParameterTypeRequiredDescription
suburbstringrequiredSuburb UPPERCASE, e.g. HOUT BAY
startstringrequiredStart date YYYY-MM-DD
endstringrequiredEnd 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
ParameterTypeRequiredDescription
namestringoptionalLibrary name UPPERCASE, e.g. FISH HOEK
limitintegeroptionalMax 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
ParameterTypeRequiredDescription
resort_beachstringoptionalBeach name UPPERCASE, e.g. BIKINI BEACH, STRAND
limitintegeroptionalMax 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
ParameterTypeRequiredDescription
locationstringoptionalLocation UPPERCASE, e.g. ADMIRALS PARK, SEA POINT
limitintegeroptionalMax results. Default 50.
MCP
get_swimming_pool_tariffs
Cape Town municipal swimming pool tariffs.
Parameters
ParameterTypeRequiredDescription
swimming_poolstringoptionalPool name UPPERCASE
limitintegeroptionalMax results. Default 50.
MCP
get_properties_by_suburb_and_value_band
Get Cape Town Properties By Suburb and Value Band
Parameters
ParameterTypeRequiredDescription
suburbstringoptionalProperty Value Bands (UPPERCASE)
limitintegeroptionalMax results (default 50)
MCP
get_municipal_courts
Get Cape Town Municipal Courts
Parameters
ParameterTypeRequiredDescription
crt_namestringoptionalMunicipal Courts (UPPERCASE)
limitintegeroptionalMax results (default 50)