---
title: "Validate an address"
method: POST
path: "/v2/addresses/validate"
tags: ["addresses"]
---

# Validate an address

`POST /v2/addresses/validate`

<aside class="access" aria-label="Endpoint access">
      <table class="access__table">
        <thead>
          <tr>
            <th class="access__table-header">Products</th>
            <th class="access__table-header">Plans</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td class="access__table-cell access__product">
              <img class="access__logo" src="/static/logos/shipstation-api-logo.svg" alt="ShipStation API Logo" loading="lazy" decoding="async"/>
              <div class="access__sub">Formerly ShipEngine</div>
            </td>
            <td class="access__table-cell access__plans">
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-free.md" class="access__plan access__plan--off">Free</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-advanced-enterprise.md" class="access__plan">Advanced</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-advanced-enterprise.md" class="access__plan">Enterprise</a>
            </td>
          </tr>
          <tr>
            <td class="access__table-cell">
              <img class="access__logo" src="/static/logos/shipstation-logo.svg" alt="ShipStation Logo" loading="lazy" decoding="async"/>
            </td>
            <td class="access__table-cell access__plans">
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-free-starter.md" class="access__plan access__plan--off">Free</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-free-starter.md" class="access__plan access__plan--off">Starter</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-standard-premium.md" class="access__plan access__plan--off">Standard</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-standard-premium.md" class="access__plan access__plan--off">Premium</a>
            </td>
          </tr>
        </tbody>
      </table>
      <footer class="access__footer">
        <a class="access__help" href="/apis/@shipstation-v2/docs/getting-started/products-and-plans.md">
          Learn about products and plans
          <img src="/static/icons/external-link.svg" alt="External Link Icon" style="width: 16px;" loading="lazy" decoding="async"/>
        </a>
      </footer>
    </aside>

Address validation ensures accurate addresses and can lead to reduced shipping costs by preventing address correction surcharges.
ShipStation API cross references multiple databases to validate addresses and identify potential deliverability issues.

## Request body

- object[] — An address validation request body
  - `name` string — The name of a contact person at this address
  - `phone` string — The phone number of a contact person at this address
  - `company_name` string, nullable — If this is a business address, then the company name should be specified here
  - `address_line1` string, required — The first line of the street address
  - `address_line2` string, nullable — The second line of the street address
  - `address_line3` string, nullable — The third line of the street address
  - `city_locality` string, required — The name of the city or locality
  - `state_province` string, required — The state or province
  - `postal_code` string — postal code
  - `country_code` string, required — The two-letter ISO 3166-1 country code
  - `address_residential_indicator` string — Indicates whether this is a residential address

## Response `200`

The request was a success.

- object[] — An address validation response body
  - `status` 'unverified' | 'verified' | 'warning' | 'error', required — The address validation status
  - `original_address` object, required — The original address that was sent for validation
    - `name` string
    - `phone` string
    - `company_name` string, nullable
    - `address_line1` string
    - `address_line2` string, nullable
    - `address_line3` string, nullable
    - `city_locality` string
    - `state_province` string
    - `postal_code` string
    - `country_code` string
    - `address_residential_indicator` string
  - `matched_address` object, nullable, required — The matched address found by the ShipStation API API
    - `name` string
    - `phone` string
    - `company_name` string, nullable
    - `address_line1` string
    - `address_line2` string, nullable
    - `address_line3` string, nullable
    - `city_locality` string
    - `state_province` string
    - `postal_code` string
    - `country_code` string
    - `address_residential_indicator` string
  - `messages` object[], required — The list of messages that were generated during the address validation request
    - `code` string, required — The message code
    - `message` string, required — The message text
    - `type` 'info' | 'warning' | 'error', required — The message type
    - `detail_code` string, required — The detailed message code

## Other responses

- `400` — The request contained errors.
- `500` — The request was successful.

---

[API](https://skmtc.net/shipstation/apis/shipstation-api-v2.md) · [All operations](https://skmtc.net/shipstation/apis/shipstation-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/shipstation/shipstation-api-v2/revisions/d3d8c21cd227/schema)
