---
title: "Address Validation & Location Lookup API"
slug: address-validation
url: https://apyhub.com/quadlem/service/address-validation
provider: "Quadlem, LLC"
categories: [Geolocation]
tags: [address-validation, postal-address, data-validation, shipping-address, address-check]
auth: api_key
version: 2.1.0
service_type: sync
endpoints: 2
atoms: 50
mcp: true
---

# Address Validation & Location Lookup API

Validate postal addresses from query params or a JSON body. Returns a status code, success flag, and module blocks for basic address checks.

## Endpoints

| Method | URL | Description | Atoms |
| --- | --- | --- | --- |
| GET | `https://api.eu.apyhub.com/quadlem/address-validation/address-validate` | What it does Validates a postal address from query parameters using OpenStreetMap/Nominatim data. T… | 50 |
| POST | `https://api.eu.apyhub.com/quadlem/address-validation` | What it does Validates a postal address submitted as fields in a JSON body, using OpenStreetMap/Nom… | 50 |

## Endpoint reference

### Address Validation

`GET https://api.eu.apyhub.com/quadlem/address-validation/address-validate` · 50 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `city` | query | string | no |  |
| `state` | query | string | no |  |
| `street` | query | string | no |  |
| `address` | query | string | no |  |
| `country` | query | string | no |  |
| `postcode` | query | string | no |  |

#### Quickstart

Use the following request to validate an address and retrieve the closest matching location along with confidence and risk information.

```bash
curl -X GET "https://api.eu.apyhub.com/quadlem/address-validation/address-validate?address=1600+Pennsylvania+Ave+NW&city=Washington&state=DC&country=US&postcode=20500" \
  -H "apy-token: $APY_TOKEN"
```

#### What you'll get back

A successful request returns the validation result, confidence score, resolved address details, geographic coordinates, and a breakdown of which address components matched.

```json
{
  "success": true,
  "code": 200,
  "valid": true,
  "status": "close",
  "confidence": 73,
  "risk_score": 0.05,
  "resolved": {
    "label": "Example City, Example State, 141001, India",
    "city": "Example City",
    "state": "Example State",
    "postcode": "141001",
    "country": "India",
    "lat": 30.9090157,
    "lng": 75.851601
  },
  "matches": {
    "house_number": false,
    "road": false,
    "city": true,
    "state": true,
    "postcode": false,
    "country": false
  }
}
```

> **Note:** This example shows a partial, typo-tolerant match. The full response also includes additional metadata such as `input`, `disclaimer`, `model_version`, and `request_id`.

### Address Validation

`POST https://api.eu.apyhub.com/quadlem/address-validation` · 50 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `city` | body | string | no | Example: `Washington`. |
| `state` | body | string | no | Example: `DC`. |
| `street` | body | string | no | Example: `1600 Pennsylvania Avenue NW`. |
| `address` | body | string | no | Example: `1600 Pennsylvania Avenue NW, Washington DC`. |
| `country` | body | string | no | Example: `US`. |
| `postcode` | body | string | no | Example: `20500`. |

#### Quickstart

Use the following request to validate an address by submitting structured address fields in the request body and retrieve the closest matching location.

```bash
curl -X POST "https://api.eu.apyhub.com/quadlem/address-validation" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "city": "Washington",
    "state": "DC",
    "street": "1600 Pennsylvania Avenue NW",
    "address": "1600 Pennsylvania Avenue NW, Washington DC",
    "country": "US",
    "postcode": "20500"
  }'
```

#### What you'll get back

A successful request returns the validation result, confidence score, resolved address details, geographic coordinates, and a breakdown of which address components matched.

```json
{
  "success": true,
  "code": 200,
  "valid": true,
  "status": "close",
  "confidence": 73,
  "risk_score": 0.05,
  "resolved": {
    "label": "Example City, Example Tahsil, Example City, Example State, 141001, India",
    "city": "Example City",
    "state": "Example State",
    "postcode": "141001",
    "country": "India",
    "lat": 30.9090157,
    "lng": 75.851601
  },
  "matches": {
    "house_number": false,
    "road": false,
    "city": true,
    "state": true,
    "postcode": false,
    "country": true
  }
}
```

> **Note:** This example demonstrates a partial, typo-tolerant match. The full response also includes additional metadata such as `input`, `disclaimer`, `model_version`, and `request_id`.

## About

## What it does
Address Validation checks a postal address from either query parameters or a JSON body and returns a simple validation envelope with `success` and `code`.

Send an address as `street`, `address`, `city`, `state`, `country`, or `postcode`, depending on what you have available. The GET endpoint accepts those fields as query parameters; the POST endpoint accepts the same address parts inside `body`. The response is an object with a numeric `code`, a boolean `success`, and additional module blocks.

Use Address Validation when you need to confirm user-entered shipping addresses before checkout, clean up address data before storing it, or gate downstream workflows on a basic validity check. It fits forms, customer onboarding, and logistics systems where you want a fast pass/fail result without parsing a larger geocoding payload.

## Usage

Base URL: `https://api.eu.apyhub.com` (default region — see
`GET https://apyhub.com/api/public/regions` for the rest).

Authenticate with an ApyHub API key in the `apy-token` header.
Full docs and a live playground: https://apyhub.com/quadlem/service/address-validation
