Address Validation API

A complete REST API for address validation, normalization, geocoding, and autocomplete. Designed for developers who need reliable, explainable address data.

Available Endpoints

All endpoints accept JSON requests and return JSON responses. Authentication is via Bearer token.

Base URL: https://api.addrex.io · Docs: https://docs.addrex.dev · Console: console.addrex.io (coming soon)

MethodEndpointDescription
POST/v1/validateValidate and standardize a single address with geocoding.
POST/v1/normalizeParse and standardize an address without validation.
POST/v1/geocodeGet coordinates for a validated address.
GET/v1/autocompleteGet address suggestions as the user types.
POST/v1/reverseConvert coordinates to a street address.
POST/v1/addresses/extractExtract and validate multiple addresses from free-form text.
POST /v1/validate

Validate & Geocode

The primary endpoint for address validation. Accepts a raw address, validates it against our national reference dataset, standardizes the format, and optionally returns geocoding data.

Input Fields

  • line1 - Street address (required)
  • line2 - Unit, suite, apt (optional)
  • city - City name (required)
  • state - State code (required)
  • zip - ZIP code (optional but recommended)

Response Fields

  • status - VALIDATED, NOT_IN_REFERENCE, or INVALID
  • confidence - Match confidence score (0-1)
  • match_code - EXACT, PARTIAL, or NO_MATCH
  • reason_codes - Array of change/issue codes
Request
curl -X POST https://api.addrex.io/v1/validate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "address": {
      "line1": "123 Main St",
      "line2": "Apt 4B",
      "city": "New York",
      "state": "NY",
      "zip": "10001"
    },
    "options": {
      "geocode": true,
      "include_reason_codes": true
    }
  }'
Response
{
  "id": "req_abc123",
  "status": "VALIDATED",
  "confidence": 0.95,
  "input": {
    "line1": "123 Main St",
    "line2": "Apt 4B",
    "city": "New York",
    "state": "NY",
    "zip": "10001"
  },
  "standardized": {
    "line1": "123 Main St",
    "line2": "Apt 4B",
    "city": "New York",
    "state": "NY",
    "zip5": "10001",
    "zip4": "1234"
  },
  "geocode": {
    "lat": 40.7484,
    "lon": -73.9967,
    "quality": "ROOFTOP",
    "accuracy_meters": 5
  },
  "match_code": "EXACT",
  "reason_codes": [],
  "changes": ["ZIP4_ADDED"]
}
GET /v1/autocomplete

Autocomplete

Provide type-ahead address suggestions as users type. Reduces form friction and improves data quality at the point of entry.

Query Parameters

  • query - Partial address string (required)
  • limit - Max suggestions to return (default: 5)
  • state - Filter by state (optional)

Note

Autocomplete requests are billed separately from validation requests. See our pricing page for details.

Request
curl -G https://api.addrex.io/v1/autocomplete \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-urlencode "query=123 main" \
  --data-urlencode "limit=5"
Response
{
  "suggestions": [
    {
      "text": "123 Main St, New York, NY 10001",
      "highlight": "123 Main",
      "place_id": "pl_xyz789"
    },
    {
      "text": "123 Main Ave, Brooklyn, NY 11201",
      "highlight": "123 Main",
      "place_id": "pl_abc456"
    }
  ]
}

SDKs Coming Soon

We're building official SDKs for JavaScript, Python, Ruby, Go, and PHP. In the meantime, our REST API works with any HTTP client.

JavaScriptPythonRubyGoPHP

Want early access? Let us know.

Built for production use

Low Latency
Typical response times under 100ms. Our infrastructure is optimized for real-time validation at scale.
High Availability
99.9% uptime SLA for Business and Enterprise plans. Redundant infrastructure across multiple regions.
Rate Limits
Generous rate limits with clear headers. Need more? Enterprise plans include custom limits.

Ready to integrate?

Get your API key and start validating addresses in minutes.