Australian address verification, against G-NAF
Address verification matches a free-text address to the national address file. You get back its correct form, its parts, its coordinates and how well it matched. Send the address you hold. WattleAddr returns the G-NAF record, a verdict you can branch on, and a status for every field.
A verdict you can branch on
verified
Every element you supplied agrees with the record, and no other candidate fits. Accept it.
corrected
It agrees as far as it goes. You abbreviated or left something out. With extended_corrections: true it can also mean we fixed one part the rest of the address backs up, named in changed_elements. Accept the canonical form, or re-prompt for the fields marked missing.
ambiguous
An element was contradicted, part of the input was discarded to get a match, a runner-up fits equally well, or you gave a building address and the building has units. Review it. Never auto-accept it.
unverified
Nothing matched, or the match scored too low to rely on. Where the only candidate contradicted or discarded part of what you sent, no record comes back at all (matched: false) and you are not charged (billed: false). The assessment still tells you which fields failed. Reject and flag.
Alongside the verdict: elements gives each field its own status (verified, changed, missing), so a checkout can re-prompt for the one field that is wrong. match_level says how precisely the record was identified. match_score is 0 to 100, for logging and review queues. The record itself has separate components and coordinates, and names the G-NAF release it came from.
Verify an address you already hold
-H "Authorization: Bearer YOUR_KEY" -H "Content-Type: application/json" \
-d '{"address": "23 wakool ave deer park", "session": "clean-1"}'
"elements": { "street_number": "verified", "street_name": "verified", "postcode": "missing", … },
"match": { "formatted": "23 Wakool Av, Deer Park VIC 3023", "components": { … }, "geo": { … } } }
The full request and response schema, and a live version you can call without a key, are in the interactive reference. The quickstart’s verify section explains each field, and the accuracy guide says how the matching is measured and where it is weakest. The Why WattleAddr page answers what is verified and what is not, next to the other questions to ask any address API.
Have a whole file of addresses to check? Bulk address verification takes a CSV, or up to 100 addresses in one API call.
What verification is not
A verified address exists in G-NAF and we know where it is. That is not a promise that Australia Post will deliver to it. Deliverability comes from Australia Post’s PAF through AMAS-approved software, which WattleAddr does not provide. G-NAF holds physical addresses only, so PO Boxes, Locked Bags and Parcel Lockers return a notice instead of a match, and are not charged. If mail lodgement is the job, read AMAS and PAF vs G-NAF first.
Short answers
What is Australian address verification?
Address verification checks a free-text address against an authoritative dataset, returns the canonical form with its parts separated, and says how well what you sent matched. For Australia the authoritative open dataset of physical addresses is G-NAF. WattleAddr’s verify endpoint returns the best G-NAF match, a verdict (verified, corrected, ambiguous or unverified), a status for every field, a match score and level, and coordinates. Verification and validation are used interchangeably; both mean this.
Is address verification the same as checking mail can be delivered?
No. Verification against G-NAF tells you an address exists, how it is correctly written, and where it is. Whether Australia Post will deliver to it is a different question answered by Australia Post’s PAF through AMAS-approved software, which assigns a DPID. WattleAddr does not provide PAF, DPIDs or barcodes, and G-NAF contains no PO Boxes.
How do I decide whether to accept a verified address?
Branch on the verdict. Accept verified. Accept corrected, or re-prompt for the fields marked missing. If you send extended_corrections: true and a corrected result lists a field in changed_elements, we fixed that field, for example a neighbouring suburb, so show it to the person or review it. From 1 February 2027 one-part corrections are the default, and extended_corrections: false turns them off. Review ambiguous instead of auto-accepting, because a field was contradicted, two records fit equally well, or the address is a building with units and no unit was given (the alternatives list them; verify prefers the building when you supply no unit). Reject and flag unverified. The elements object says which field disagreed, so a form can ask for that one field instead of the whole address. Do not branch on the older confidence field. It is deprecated.
What does verification cost?
A verify call is one lookup when it matches, and free when it does not: a query the dataset cannot answer is never charged. Lookups are included in every plan (5,000 a month on Free, no card), and prices are in Australian dollars with GST included.
Verify your first address in a minute
Free tier, no card. The interactive reference needs no key.