Try the Australian address API, right here
Every call below hits the live WattleAddr API — no key, no signup. Edit the query and watch the real request and JSON response. When you’re ready, take the machine-readable spec into your own tools. Your own calls need a key: add Authorization: Bearer YOUR_KEY to each request shown here. The quickstart shows where a key comes from.
/v1/addresses/autocompletenever billed · call it on every keystrokeAll endpoints
Four endpoints, fully described in the OpenAPI 3.1 spec. Paste that URL into Swagger UI, Scalar, Stoplight or Postman, or run it through an OpenAPI client generator to scaffold an SDK in your language.
| Method | Path | Billed? | Purpose |
|---|---|---|---|
GET | /v1/addresses/autocomplete | No | Type-ahead suggestions for a partial query |
GET | /v1/addresses/{id} | Once per session | Full structured record for a chosen suggestion |
POST | /v1/addresses/verify | On a match | Match free-text to the best canonical address, with a per-field verdict |
GET | /v1/status | No | Service health & current G-NAF release (no auth) |
Notices & errors
A notice explains a successful-but-empty result — it is not an error. A query for a PO Box, GPO Box, Post Office Box, Locked Bag or Private Bag returns 200 with notice.code = "postal_address_unsupported" and an empty suggestions array, because G-NAF holds physical addresses only. Try one in the field above. Error codes are stable and safe to switch on: bad_request (400), unauthorized and invalid_key (401), quota_exceeded, test_mode_expired and feature_unavailable (402), forbidden_referrer, forbidden_ip and forbidden_key_type (403), not_found (404), rate_limited (429, honour Retry-After). What each means and what to do is on the error codes page; the response schemas are in the spec.
Prefer a written walkthrough? See the quickstart. Questions? hello@wattleaddr.com.au