API documentation
Access structured neighbourhood data for 744 Cape Town suburbs - our pilot city. The API serves pre-built JSON files - no authentication required, no rate limits, and responses are cached at the CDN edge.
Base URL
https://streetsignal.co.za/api/v1 Endpoints
Meta
API version, data source descriptions, update cycles, and schema reference.
GET /api/v1/meta.json All suburbs (summary)
Lightweight array of all 744 suburbs with key metrics: safety score, risk profile, median property valuation, school count, healthcare access, civic responsiveness, and taxi route connectivity.
GET /api/v1/suburbs.json Suburb detail
Full profile for a single suburb including safety, property, education, transport, services, healthcare, and census data.
GET /api/v1/suburbs/{slug}.json Example
Fetch the full profile for Camps Bay:
curl https://streetsignal.co.za/api/v1/suburbs/camps-bay.json Response structure:
{
"slug": "camps-bay",
"name": "Camps Bay",
"coordinates": { "lat": -33.951, "lng": 18.378 },
"police_station": "Camps Bay",
"is_proxy_precinct": false,
"safety": {
"score": 72,
"risk_profile": "Lower reported crime",
"trend": "Stable",
"is_proxy_precinct": false,
"tourist_paradox": true
},
"property": {
"median_gv": 5500000,
"percentile": 99,
"cagr": 0.054,
"median_band": "R4M – R6M"
},
"education": {
"school_count": 3,
"matric_pass_rate": 92.1
},
"transport": {
"dominant_mode": "car",
"taxi_routes": 2
},
"services": {
"civic_responsiveness_percentile": 85,
"median_resolution_days": 4
},
"healthcare": {
"facilities_within_5km": 12,
"nearest_facility_km": 1.2
},
"census": {
"population": 3890
}
} Values shown are illustrative. Fetch the endpoint for current data.
Schema reference
Summary fields (suburbs.json)
| Field | Type | Description |
|---|---|---|
slug | string | URL-safe suburb identifier |
name | string | Display name |
coordinates | object | Centroid lat/lng |
safety_score | number | null | Composite safety index (1–100, higher is safer) |
risk_profile | string | Lower / Moderate / Higher reported crime, or No data |
median_gv | number | null | Median municipal valuation (GV 2022, ZAR) |
property_percentile | number | null | Property value percentile rank (0–100) |
school_count | number | Schools within suburb boundary |
healthcare_facilities_5km | number | null | Healthcare facilities within 5 km |
civic_responsiveness_percentile | number | null | C3 service delivery responsiveness percentile |
taxi_routes | number | null | Minibus taxi routes serving the suburb |
Detail fields (suburbs/{slug}.json)
Includes all summary fields plus nested objects for safety,
property, education, transport,
services, healthcare, and census.
See the example response above for the full structure.
Data sources
- Safety: SAPS quarterly crime statistics, processed through the CHI composite safety pipeline.
- Property: City of Cape Town General Valuation Roll 2022. Municipal rates valuations, not market transaction prices.
- Education: Department of Basic Education EMIS masterlist, Western Cape Q2 2025.
- Healthcare: City of Cape Town health facility register. Haversine distance to 157 facilities.
- Transport: City of Cape Town minibus taxi route data and MyCiTi stop locations.
- Civic: City of Cape Town C3 service request complaints data (2.5 million records).
- Census: Statistics South Africa Census 2022 sub-place population crosswalk.
Full methodology documentation is available on the methodology page.
Commercial access — coming soon
Validating demandThe free static JSON API above is generous by design. A paid tier with higher volume, an SLA, and direct support is on the roadmap for mid-2026, but we are not shipping it until we know what the market actually wants.
If you have a commercial use case for StreetSignal data — whether you are an estate agency, a property developer, a financial institution, a researcher, or a product team — we want to hear from you. The pricing bands below are hypotheses to validate, not commitments. Helping us price this gets you early-access pilot spot and locked-in launch pricing.
Free
R0 / month
Available today.
- Full static JSON API (all 744 suburbs)
- No authentication, no rate limits
- CDN-cached, regenerated quarterly
- Attribution required
Starter
~R499 / month
Indicative. Launching mid-2026.
- Up to 50,000 authenticated API calls / month
- API key with usage dashboard
- Best-effort email support
- Commercial use permitted with attribution
Pro
~R1,999 / month
Indicative. Launching mid-2026.
- Up to 500,000 authenticated API calls / month
- Historical quarterly snapshots (when published)
- Raw CSV export of any suburb or ranking
- Priority support, 48h response target
Enterprise
Contact sales
Custom pricing and SLA.
- Unlimited API calls, dedicated quota
- Custom data products and integrations
- Signed SLA, named support contact
- Bulk licensing for financial institutions
Join the waitlist. Tell us what you need, how much data you'd use, and what you'd pay. We read every reply. Early pilot slots go to the first people who help us understand the demand.
Join the API waitlist via emailYour email opens pre-filled with a short structured form so we can gather consistent signal. You can edit anything before sending. We do not store your details in any third-party form service — the reply comes directly to us under POPIA.
Usage terms
The API is free for non-commercial use. Attribution to StreetSignal is required when displaying data publicly. For commercial use, custom integrations, or bulk access, see our data products or contact us at [email protected].
Data is regenerated at each site build. Responses are served as static files via Cloudflare CDN. There are no rate limits, but please cache responses on your end where possible.