API Reference

Base URL: https://www.dingofind.com

Authentication

All endpoints (except /v1/health) require a Bearer token in the Authorization header.

# Include on every request
Authorization: Bearer YOUR_API_KEY

API keys are prefixed with the first 8 characters for identification (e.g. ab12cd34...). Keep your key secret — it carries your usage quota.

Errors

All errors return JSON with an error field describing the problem.

{
  "error": "rate limit exceeded"
}
StatusMeaning
400Missing or invalid query parameter
401Missing or invalid API key
403Endpoint requires a higher tier
429Daily rate limit exceeded
500Internal server error

Rate limits

Limits are per API key, per calendar day (UTC). When you exceed the limit, all subsequent requests return 429 until midnight UTC.

TierDaily limit
Free1,000
Starter10,000
Growth100,000
Pro500,000
EnterpriseUnlimited

GET /v1/autocomplete Free+

Returns up to limit address suggestions matching the query. Supports partial input, typos, and street-type abbreviations.

ParameterTypeDescription
q required string The address query. Partial input is fine — designed for keystroke-by-keystroke search.
limit optional integer Number of results to return. Default: 5. Max: 20.
Example request
GET /v1/autocomplete?q=1+george+st+sydney&limit=3
Example response
{
  "suggestions": [
    {
      "gnaf_pid":     "GANSW705988020",
      "full_address": "1 GEORGE ST SYDNEY NSW 2000",
      "suburb":       "SYDNEY",
      "state":        "NSW",
      "postcode":     "2000",
      "latitude":     -33.865012,
      "longitude":    151.209400
    }
  ]
}

Growth+ tier responses additionally include: mesh_block, sa1_code, lga_name, federal_elec.

GET /v1/validate Free+

Validates a full address string against the GNAF dataset. Returns a confidence score and the canonical address if found.

ParameterTypeDescription
address required string The full address to validate.
Example response
{
  "valid":        true,
  "confidence":   0.97,
  "gnaf_pid":     "GANSW705988020",
  "full_address": "1 MARTIN PL SYDNEY NSW 2000"
}

GET /v1/parse Starter+

Parses a free-text address string into structured components.

ParameterTypeDescription
address required string The address to parse.
Example response
{
  "gnaf_pid":      "GAVIC412702472",
  "unit_number":   "UNIT 4",
  "level_number":  "LEVEL 2",
  "street_number": "123",
  "street_name":   "COLLINS",
  "street_type":   "STREET",
  "suburb":        "MELBOURNE",
  "state":         "VIC",
  "postcode":      "3000"
}

GET /v1/reverse Growth+

Returns all addresses within radius metres of the given coordinates, sorted by distance.

ParameterTypeDescription
lat required float Latitude in decimal degrees (WGS84).
lon required float Longitude in decimal degrees (WGS84).
radius optional float Search radius in metres. Default: 100. Max: 2000.
Example response
{
  "lat":     -33.8688,
  "lon":     151.2093,
  "radius":  100.0,
  "count":   12,
  "results": [
    { "gnaf_pid": "GANSW706001234", "latitude": -33.8689, "longitude": 151.2092 }
  ]
}

POST /v1/batch Pro+

Validate up to 100 addresses in a single request. Returns results in the same order as the input array.

Request body
{
  "addresses": [
    "1 George St Sydney NSW 2000",
    "123 Collins St Melbourne VIC 3000"
  ]
}
Response
{
  "results": [
    { "valid": true,  "confidence": 0.97, "gnaf_pid": "GANSW...", "full_address": "..." },
    { "valid": true,  "confidence": 0.99, "gnaf_pid": "GAVIC...", "full_address": "..." }
  ]
}

GET /v1/health No auth

Returns API status and address count. No authentication required. Use for uptime monitoring.

Response
{
  "status":            "ok",
  "version":           "0.1.0",
  "address_count":     15860127,
  "last_pipeline_run": "2026-04-13 08:32:45"
}

Address object

All address objects returned by the API share this structure. Enrichment fields are only populated on Growth+ tier.

FieldTypeDescription
gnaf_pidstringUnique GNAF identifier for the address (e.g. GANSW705988020)
full_addressstringCanonical address string in UPPERCASE
suburbstringSuburb / locality name
statestringState/territory abbreviation: NSW, VIC, QLD, SA, WA, TAS, ACT, NT
postcodestring4-digit postcode
latitudefloatWGS84 decimal latitude
longitudefloatWGS84 decimal longitude
mesh_blockstring?ABS 2021 Mesh Block code Growth+
sa1_codestring?ABS 2021 SA1 code Growth+
lga_namestring?Local Government Area name Growth+
federal_elecstring?Federal electoral division name Growth+

Tier comparison

FeatureFreeStarterGrowthPro
Autocomplete
Validate
Parse
Enrichment (SA1, LGA…)
Reverse geocode
Batch (up to 100)
Daily requests1,00010,000100,000500,000
Price / month$0$9$29$79