Australian address lookup and geocoding API
Add address autocomplete to your forms, match existing addresses to G-NAF records, and get coordinates for mapping. Each matched address includes its G-NAF identifier, latitude and longitude, ABS mesh block and structured address fields in one response. It is also an MCP server, so AI agents in Claude, ChatGPT, Cursor or your own code can use it directly.
10,000 free lookups each month. No credit card required. The free tier does not expire.
Try an Australian address
Start with a street number, then select a result to see its G-NAF identifier, coordinates and address fields.
Number first, then the street. Add a suburb to narrow it, and units work too: 1001/109 clarendon st.
Address data you can use across your systems
- A G-NAF id
- The address identifier from the Geocoded National Address File (G-NAF). Store it with your records to link entries that refer to the same G-NAF address, even when their text is formatted differently.
- Coordinates
- Latitude and longitude from the matched G-NAF record. Plot addresses on a map or use their coordinates in your own distance calculations and location searches.
- An ABS mesh block
- A geographic code for linking an address to Australian Bureau of Statistics (ABS) areas and related datasets. Included in the address response, with no separate lookup required.
- Structured components
- Unit, level, street number, street name, street type, suburb, state and postcode in separate fields. Populate forms and store address components without splitting a formatted address yourself.
From address entry to location data
Four endpoints for suggesting addresses, matching existing records, finding likely matches and retrieving an address by its identifier.
GET /v1/addresses?q=Suggest as somebody typesShow address suggestions as a customer types. Each result includes its identifier, coordinates and address fields, so selecting one needs no additional detail lookup.
GET /v1/addresses/resolve?q=Resolve one you already holdMatch an address from a form or an imported record to G-NAF. Supports common abbreviations and incomplete formatting, such as missing commas or an omitted state.
GET /v1/addresses/similar?q=Find likely matches for a misspellingFind candidate addresses for misspelled input such as 1 gorge rd sydenhum, so your application can help the user choose the right match.
GET /v1/addresses/{id}Read it back laterRetrieve an address using the identifier you stored, without submitting the original address text again. In Australia that identifier is the G-NAF Address Detail PID.
Works with AI agents, over MCP
The API is a Model Context Protocol server as well. One MCP endpoint offers the same four calls as tools to any AI agent that speaks it: Claude, ChatGPT, Cursor, VS Code or one you build. The same key and the same price as the API, and a hosted agent signs in with OAuth and never sees a key at all.
claude mcp add --transport http locio https://api.locio.com.au/mcp \ --header "Authorization: Bearer lc_live_..."
Guides
Worked examples that end in a working page, with code to copy.
- Address autocomplete in plain JavaScript
- Address autocomplete in React with the Locio package
- Address autocomplete in React
- Address autocomplete in Vue with the Locio package
- Address autocomplete in Vue
- Stand up a React site with Australian address search
- Normalise shipping addresses at checkout
- Put a searched address on a map with MapLibre
- Validate and geocode Australian addresses in PHP
- Australian address autocomplete for WooCommerce
- Address validation and geocoding in Go
- Use Locio from Claude Code, Claude Desktop and Cursor
- Give an agent address tools with the Anthropic API
- Clean a spreadsheet of addresses with an agent
Where the data comes from
Locio uses the Geocoded National Address File (G-NAF), published by Geoscape Australia. Address identifiers, coordinates and components come from the matched G-NAF record, giving your application a common reference for address and location data.
Matching identifies a record in G-NAF. If an address cannot be matched, your application should let the user review or correct it.