Geocoding

Geocode (United Kingdom shorthand)

Backward-compatible wrapper for /geocode?country=gbr. Provide town, street and hno; matches against the Royal Mail PAF reference data and returns rooftop coordinates plus the PAF udprn (Unique Delivery Point Reference Number) and, when the address matches OS Open UPRN, the uprn (Unique Property Reference Number). These are surfaced as extra fields on the GeocodeResponse body.

Credits: This endpoint currently authenticates at the default Stripe-plan transaction amount (1); the trial pool decrements 1 regardless of endpoint weight. Billing parity with /geocode-usa (geocode=1) is pending and will be aligned in a later release. Anonymous callers consume one free slot per IP — per-product daily free limits apply (check remaining via /geocode-credits); anonymous access is rate-limited per IP.

UK host: call this endpoint on https://paf.acuris-geo.com. Requests sent to api.acuris-geo.com return 400 {"error": "country_not_served_by_this_endpoint", "use_instead": "https://paf.acuris-geo.com"}.

get/geocode-uk

Request

  • Base URL: https://api.acuris-geo.com
  • URL: https://api.acuris-geo.com/geocode-uk
  • Auth: one of:
    • API key in header X-Acuris-Key
    • HTTP bearer
    • API key in header X-API-Key
    • API key in query parameter key
    • none

Query parameters

keystring

Legacy API key query parameter (?key=...). Prefer Authorization: Bearer <key> or X-API-Key: <key> header auth instead.

streetstring required
hnostring required

House number

townstring required

Post town

Response

Geocode result with coordinates and accuracy_type precision tier. For UK matches the body also carries udprn and (when available) uprn.

latnumber float
lngnumber float
formatted_addressstring
streetstring
citystring

Present for countries with regions (USA, CAN).

townstring

Alternative to city for countries without regions.

statestring
postcodestring
hnostring
house_number_not_foundboolean

The house number you sent is not on file for the matched street — either flagged by the matcher itself, or caught by the input-vs-returned comparison (a fallback row carried a different number). standardized keeps YOUR house number in this case; match tier is capped at street_level.

postcode_correctedboolean
matched_via_aliasboolean

True when a locality alias (USPS city / CAN community) was used.

usps_citystring
locality_notestring
city_mismatch_ignoredboolean

Canada only — matched by province + street + HNO, city name ignored.

accuracy_typestring nullable required

What the returned coordinate represents. null on no_match.

This is an OPEN set. New tiers are added as reference data improves. Clients MUST pass unrecognized values through rather than throwing, and SHOULD branch on point_coordinate rather than on these literals.

A point coordinate identifies one address:

  • rooftop — a point on the building itself.
  • arrival_point — the address's entrance, gate or curb-side access point. A point for this address, typically a few metres from the roof — deliberately not claimed as the building footprint.

Everything else is derived rather than observed — a segment or an area, not an address:

  • street_interpolated — HNO estimated along a street segment polyline (SEG cascade) from the position of neighbouring house numbers.
  • street_centroid — street confirmed; exact HNO not located. Singapore: block numbers are not linear along a road and a letter-suffixed block (e.g. 700D) is a separate building with its own postcode, so Singapore never returns street_interpolated. An unconfirmed block (or a street with no block) answers street_centroid at the street's centre, and standardized.postcode is left empty unless you supplied a postcode that exists on that street — a postcode names one building, and another building's postcode is never shown as yours.
  • landmark_proximity — India only. The address itself resolved no further than its postcode/locality, so the coordinate is that of a LANDMARK the caller named in the input ("opp. Swami Samarth Math"). It is a point on a neighbouring place, never the address, and it is only ever used when it out-ranks what would otherwise be returned. The landmark used is named back to you in landmark_used (name, matched_from, scope, source).
  • postcode_centroid — only postcode matched.
  • locality_centroid — only city/locality matched.
  • admin_centroid — only admin region (state/province) matched.
point_coordinateboolean

true when the coordinate identifies one address (rooftop or arrival_point), false for any derived/area tier. Branch on this rather than on accuracy_type literals — it stays correct when new tiers are added. Optional but always emitted on a match.

match_type'rooftop' | 'parcel_centroid' | 'interpolated' | 'street_level' | 'zip_centroid' | 'city_centroid' | 'no_match' | 'non_deliverable' required

Internal/legacy precision tier with the score table below. New clients should prefer accuracy_type for branching.

Unlike accuracy_type, this enum is CLOSED — the score table is fixed and no further values will be added. An arrival_point coordinate is reported here as rooftop, because the address is premise-verified either way; only accuracy_type states what the coordinate is. Score table:

  • rooftop → 1.0
  • parcel_centroid → 0.9
  • interpolated → 0.8
  • street_level → 0.6
  • zip_centroid → 0.4
  • city_centroid → 0.2
  • no_match → 0.0
  • non_deliverable → 0.0 — the input is a PO Box / Rural Route / Postfach etc. and can never resolve to a street address (USA/CAN/MEX/DEU/AUT/CHE detection). Returned on the 400 body (with non_deliverable_type) unless iso20022: true opted in to a labelled 200.
match_scorenumber float required
input_correctedboolean required
balanceinteger

Remaining geocode transactions after keyed call.

validation_creditsinteger
free_remaininginteger

Changes

No recorded changes to this operation across all 1 revision of this API.