Address Validation

Match a postal address to map records and suggest a standardised form. Returns address components, coordinates and a confidence estimate.

Pay by wallet (x402) address-validate

Example

Input
{
  "address": "10 Downing Street, London, UK"
}
Answer
{
  "valid": true,
  "latitude": 51.5034878,
  "longitude": -0.1276965,
  "components": {
    "city": "City of Westminster",
    "state": "England",
    "street": "Downing Street",
    "country": "United Kingdom",
    "postal_code": "SW1A 2AA",
    "country_code": "GB",
    "house_number": "10"
  },
  "confidence": 0.66,
  "match_type": "approximate",
  "input_address": "10 Downing Street, London, UK",
  "formatted_address": "10 Downing Street, 10, Downing Street, Westminster, Covent Garden, City of Westminster, Greater London, England, SW1A 2AA, United Kingdom"
}

Inputs

FieldTypeRequiredWhat it is
addressstringYesFull address as free text
country_codestringNoISO 2-letter country code hint (optional)

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
validbooleanAlways (present in every successful answer)
latitudenumberAlways (present in every successful answer)
longitudenumberAlways (present in every successful answer)
componentsobjectUsually (present for most inputs)
confidencenumberAlways (present in every successful answer)
match_typestringUsually (present for most inputs)
formatted_addressstringAlways (present in every successful answer)
input_address—Always (present in every successful answer)

How to call it

The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.

# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
  -H "Authorization: Bearer $STRALE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "capability_slug": "address-validate",
    "inputs": {
      "address": "10 Downing Street, London, UK"
    },
    "max_price_cents": 3
  }'

Limitations

  • Rate limited to 1 request per second

    Nominatim rate limit of 1 request per second — shared across address-validate and address-geocode

  • Address matching is approximate

    Nominatim uses best-match geocoding — results may not always reflect the exact address

Bundled checks that include it