Skip to main content

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)

FieldTypeDescription
slugstringURL-safe suburb identifier
namestringDisplay name
coordinatesobjectCentroid lat/lng
safety_scorenumber | nullComposite safety index (1–100, higher is safer)
risk_profilestringLower / Moderate / Higher reported crime, or No data
median_gvnumber | nullMedian municipal valuation (GV 2022, ZAR)
property_percentilenumber | nullProperty value percentile rank (0–100)
school_countnumberSchools within suburb boundary
healthcare_facilities_5kmnumber | nullHealthcare facilities within 5 km
civic_responsiveness_percentilenumber | nullC3 service delivery responsiveness percentile
taxi_routesnumber | nullMinibus 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 demand

The 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

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 email

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