Discovery
Three endpoints describe the API to tools and coding agents (Claude Code and others), so they can build correct requests without reading these pages. None of them needs a key, and none counts towards your usage.
API catalog
The entry point for automated tooling, following the IETF API Catalog draft. It returns a linkset pointing at the OpenAPI description, the interactive API reference, the manifest and the examples below.
Request
GET https://api.getaddress.io/.well-known/api-catalog
Response (application/linkset+json)
{
"linkset": [
{
"anchor": "https://api.getaddress.io",
"rel": "service-desc",
"href": "https://api.getaddress.io/openapi/v3.json",
"type": "application/vnd.oai.openapi+json;version=3.0",
"title": "getaddress.io API - OpenAPI 3.0 description"
},
{
"anchor": "https://api.getaddress.io",
"rel": "service-doc",
"href": "https://api.getaddress.io/scalar",
"type": "text/html",
"title": "Interactive API reference (Scalar)"
},
{
"anchor": "https://api.getaddress.io",
"rel": "service-meta",
"href": "https://api.getaddress.io/api/info",
"type": "application/json",
"title": "Agent-friendly API manifest"
},
{
"anchor": "https://api.getaddress.io",
"rel": "related",
"href": "https://api.getaddress.io/api/examples",
"type": "application/json",
"title": "Worked request/response examples"
}
]
}
Manifest
What the API does, where its OpenAPI description and reference live, how to authenticate and the dictionary of
error codes. An agent needs to read it once per session. Branch on an error's code, never on its wording.
Request
GET https://api.getaddress.io/api/info
Response (descriptions shortened)
{
"name": "getaddress.io API",
"description": "Australian address look-up on G-NAF: ...",
"version": "v1",
"openapi_url": "https://api.getaddress.io/openapi/v3.json",
"documentation_url": "https://api.getaddress.io/scalar",
"examples_url": "https://api.getaddress.io/api/examples",
"authentication": {
"type": "api-key",
"description": "Every request must carry an API key, passed as the 'api-key' query string parameter ..."
},
"error_codes": [
{ "code": "unauthorized", "status": 401, "description": "Missing or invalid api-key query string parameter." },
{ "code": "forbidden", "status": 403, "description": "The credential is valid but does not grant this operation ..." },
{ "code": "domain-token-scope", "status": 403, "description": "A domain token was used outside the address look-up routes ..." },
{ "code": "domain-token-rate-limit", "status": 429, "description": "The domain token's per-visitor or token-wide limit was reached ..." },
{ "code": "service-unavailable", "status": 503, "description": "The address data or the key store was briefly unreachable ..." }
]
}
Examples
Copy-pasteable requests and responses for Autocomplete (GET and POST), Get,
Usage and the two most common errors. Each example has an id, the
method and path, an optional request_body, and the
response_status and response_example to expect. Paths carry YOUR-API-KEY
where your key goes.
Request
GET https://api.getaddress.io/api/examples
Response (first example shown)
{
"examples": [
{
"id": "autocomplete",
"title": "Suggest addresses for a partial address",
"description": "Returns up to 'top' suggestions (max 6) for what the user has typed so far. ...",
"method": "GET",
"path": "/autocomplete/12%20chapel%20st%20melb?api-key=YOUR-API-KEY&top=6",
"request_body": null,
"response_status": 200,
"response_example": {
"suggestions": [
{ "address": "3/12 Chapel Street, Melbourne VIC 3000", "url": "/get/GAVIC421677561", "id": "GAVIC421677561" }
]
}
}
]
}