.NET SDK
.NET SDK for autocomplete, full address look-up and usage. Targets .NET Standard 2.0 and .NET 8.
Install
dotnet add package getAddress.Au.Sdk
Dependency Injection
services.AddSingleton(new GetAddressAu.ApiKeys("{your-api-key}", "{your-admin-key}"));
services.AddHttpClient<GetAddressAu.Api>();
The admin key is only needed for usage. Keep both keys on your server — browser code uses a domain token.
Autocomplete
Autocomplete and get address.
public async Task Autocomplete(GetAddressAu.Api api)
{
var autocompleteResult = await api.Autocomplete("200 george st");
if (autocompleteResult.IsSuccess)
{
foreach (var suggestion in autocompleteResult.Success.Suggestions)
{
var getResult = await api.Get(suggestion);
if (getResult.IsSuccess)
{
var address = getResult.Success;
var label = address.AddressLabel;
var suburb = address.LocalityName;
var state = address.State;
var postcode = address.Postcode;
//....
}
}
}
else
{
var errorMessage = autocompleteResult.Failed.Message;
}
}
Autocomplete is free and rate limited. Each successful Get counts one look-up against your plan; a 404 costs nothing. A suggestion's Id is the address's G-NAF address_detail_pid, so it is safe to store and pass to api.Get(id) later.
Filter
var result = await api.Autocomplete("george st", new GetAddressAu.AutocompleteOptions
{
Filter = new GetAddressAu.AutocompleteFilter { State = "NSW", Postcode = "2000" }
});
Nearest
The addresses nearest a point, with their distance in metres — see the Nearest API.
var nearest = await api.Nearest(-33.8612, 151.2107, top: 3, radius: 0.5); // one look-up
var closest = nearest.Success.Suggestions[0];
var metres = closest.Distance;
Companies
Australian businesses by name, ABN or ACN — see the Companies and Company APIs.
var companies = await api.Companies("bbc hardw", top: 5, state: "VIC"); // free, rate limited
var company = await api.Company(companies.Success.Suggestions[0]); // one look-up
var record = company.Success; // Name, Acn, EntityType, GstRegistered, OtherNames
var byAcn = await api.Company("000 003 378"); // an ABN or ACN, spaces allowed
Locations
Suburbs, states and postcodes — see the Location API.
var locations = await api.Locations("northb"); // free, rate limited
var place = await api.GetLocation(locations.Success.Suggestions[0]); // one look-up
var centre = place.Success.Coordinates;
var nearest = await api.NearestLocations(-33.8612, 151.2107, top: 3); // one look-up
var metres = nearest.Success.Suggestions[0].Distance;
Typeahead
Completes a suburb, postcode, street or state — see the Typeahead API. Free.
var suburbs = await api.Typeahead("bon"); // BONDI JUNCTION, BONDI BEACH, BONDI …
var streets = await api.Typeahead("pi", new GetAddressAu.TypeaheadOptions
{
Search = new() { GetAddressAu.TypeaheadOptions.Fields.Street },
Filter = new GetAddressAu.TypeaheadFilter { Locality = "SYDNEY" }
}); // PIER, PITT
Validate
Confirms a one-line address — see the Validate API. One look-up only when found.
var result = await api.Validate("12 Acland St, St Kilda VIC 3182");
if (result.Success.Status == GetAddressAu.ValidateStatus.Found)
{
var address = result.Success.Address; // as Get returns it
}
else if (result.Success.Status == GetAddressAu.ValidateStatus.Ambiguous)
{
var ids = result.Success.Candidates; // Get(id) each
}
Distance
Straight-line metres between two addresses or two points — see the Distance API. Free.
var between = await api.Distance("GANSW721316793", "GAVIC419664638");
var points = await api.Distance(-33.8612, 151.2107, -33.8605, 151.2073);
var metres = between.Success.Metres;
Failures
Errors the API reports are results, not exceptions. Failed.Status is the HTTP status (0 when no response arrived), Failed.Message says what went wrong, and a 429 carries Failed.RetryAfterSeconds.
if (!result.IsSuccess && result.Failed.IsRateLimited)
{
await Task.Delay(TimeSpan.FromSeconds(result.Failed.RetryAfterSeconds ?? 60));
}
Usage
var today = await api.Usage();
var oneDay = await api.Usage(1, 9, 2026);
var range = await api.Usage(new DateTime(2026, 9, 1), new DateTime(2026, 9, 14));
Without Dependency Injection
var api = new GetAddressAu.Api(new HttpClient(), new GetAddressAu.ApiKeys("{your-api-key}"));