Useful to people. Readable by tools.

The same reviewed records generate these pages and the public feeds. No API key or account is required. Read the feed once and filter locally; there is no backend search endpoint.

Predictable routes

  • Full feed: /data/v1/businesses.json, with a businesses array and release metadata.
  • One record: /data/v1/businesses/{id}.json.
  • Category: /data/v1/categories/{category-slug}.json.
  • Township: /data/v1/localities/mount-barker-sa.json.
  • Nearby providers: /data/v1/localities/nearby-serving-mount-barker.json.

Schema version 1.1.0

id is stable across name changes. URLs use this ID. business_group_id groups branches; it is not an ABN or legal-entity identifier. name, category, offerings, website and optional phone describe a business or branch. address includes its verified locality and optional public street address; locality is null when a service-only provider’s base is not established. location_type distinguishes township premises, locality-only records, consulting locations, nearby premises and service-only providers. The home page offers the same location-type filter.

sources includes official URLs and check dates. field_sources maps each factual field to those URLs. Categories, schema types and maintenance relationship disclosures are editorial labels. checked_at records the completed source review; valid_until is the latest permitted reuse date before rechecking, not a guarantee of accuracy.

null and empty arrays mean unknown or not established, not false. Feeds omit unreviewed, overdue and withheld records on each build. Do not use a record as current beyond valid_until. The static site cannot revalidate itself between releases; see the check date and confirm directly. HTTP query parameters do not filter a static feed.

Filter examples

curl -fsS https://mount-barker-sa-local.vercel.app/data/v1/businesses.json \
  | jq '.businesses[] | select(.category == "Trades")'

curl -fsS https://mount-barker-sa-local.vercel.app/data/v1/businesses.json \
  | jq '.businesses[] | select(.location_type == "service_area_business")'

CSV and JSONL

JSONL has one complete record per line. CSV flattens the address and uses JSON text for offerings, service areas, sources and field provenance. Unknown scalar fields are blank. CSV formula prefixes are escaped for spreadsheet safety.

Using these facts responsibly

Link to the canonical listing and official business source, preserve checked dates and scope labels, and fetch a fresh release before reuse. This is an initial selection, not a complete business register. No open-content licence from source websites is assumed. Third-party logos, images, reviews and promotional descriptions are not included or relicensed.

Optional agent discovery notes point to the same public data. These notes and structured data do not guarantee search visibility or AI citations.