United States Postal Service Addresses API

Address validation and standardization operations

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

united-states-postal-service-addresses-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: USPS Addresses API
  description: The USPS Addresses API validates and corrects address information, eliminating errors, improving package delivery service and package pricing. Supports address standardization, city and state lookup, and ZIP Code validation.
  version: '3.0'
  contact:
    name: USPS API Support
    url: https://developers.usps.com/
    email: https://emailus.usps.com/s/web-tools-inquiry
  x-generated-from: documentation
servers:
- url: https://apis.usps.com
  description: Production
- url: https://apis-tem.usps.com
  description: Testing Environment for Mailers (TEM)
security:
- bearerAuth: []
tags:
- name: Addresses
  description: Address validation and standardization operations
paths:
  /addresses/v3/address:
    get:
      operationId: validateAddress
      summary: USPS Addresses Validate Address
      description: Validates and standardizes a US address to USPS specifications. Returns the corrected address with ZIP+4, delivery point, and associated metadata.
      tags:
      - Addresses
      parameters:
      - name: streetAddress
        in: query
        required: true
        description: Primary street address line.
        schema:
          type: string
        example: 2 Massachusetts Ave NE
      - name: secondaryAddress
        in: query
        required: false
        description: Secondary address line (apartment, suite, unit, etc.).
        schema:
          type: string
        example: Suite 100
      - name: city
        in: query
        required: false
        description: City name.
        schema:
          type: string
        example: Washington
      - name: state
        in: query
        required: false
        description: Two-letter state abbreviation.
        schema:
          type: string
          maxLength: 2
        example: DC
      - name: ZIPCode
        in: query
        required: false
        description: 5-digit ZIP Code.
        schema:
          type: string
          pattern: ^\d{5}$
        example: '20212'
      - name: ZIPPlus4
        in: query
        required: false
        description: ZIP+4 Code (4-digit extension).
        schema:
          type: string
          pattern: ^\d{4}$
        example: '0001'
      responses:
        '200':
          description: Address successfully validated and standardized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Address'
              examples:
                ValidateAddress200Example:
                  summary: Default validateAddress 200 response
                  x-microcks-default: true
                  value:
                    firm: ''
                    streetAddress: 2 MASSACHUSETTS AVE NE
                    streetAddressAbbreviation: ''
                    secondaryAddress: ''
                    city: WASHINGTON
                    cityAbbreviation: ''
                    state: DC
                    postalCode: ''
                    province: ''
                    ZIPCode: '20212'
                    ZIPPlus4: '0001'
                    urbanization: ''
                    classificationCode: D
                    DPVConfirmation: Y
                    DPVCMRA: N
                    DPVFootnotes: AABB
        '400':
          description: Bad request - invalid address parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - invalid or missing bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests - rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /addresses/v3/city-state:
    get:
      operationId: getCityState
      summary: USPS Addresses Get City and State by ZIP
      description: Returns the city and state associated with a given 5-digit ZIP Code.
      tags:
      - Addresses
      parameters:
      - name: ZIPCode
        in: query
        required: true
        description: 5-digit ZIP Code to look up.
        schema:
          type: string
          pattern: ^\d{5}$
        example: '20212'
      responses:
        '200':
          description: City and state returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CityState'
              examples:
                GetCityState200Example:
                  summary: Default getCityState 200 response
                  x-microcks-default: true
                  value:
                    city: WASHINGTON
                    state: DC
                    ZIPCode: '20212'
        '400':
          description: Bad request - invalid ZIP Code.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /addresses/v3/zipcode:
    get:
      operationId: getZIPCode
      summary: USPS Addresses Get ZIP Code
      description: Returns the ZIP Code and ZIP+4 associated with an address. Useful for address completion and postage calculation.
      tags:
      - Addresses
      parameters:
      - name: streetAddress
        in: query
        required: true
        description: Primary street address line.
        schema:
          type: string
        example: 2 Massachusetts Ave NE
      - name: secondaryAddress
        in: query
        required: false
        description: Secondary address line.
        schema:
          type: string
      - name: city
        in: query
        required: true
        description: City name.
        schema:
          type: string
        example: Washington
      - name: state
        in: query
        required: true
        description: Two-letter state abbreviation.
        schema:
          type: string
          maxLength: 2
        example: DC
      responses:
        '200':
          description: ZIP Code returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZIPCodeResult'
              examples:
                GetZIPCode200Example:
                  summary: Default getZIPCode 200 response
                  x-microcks-default: true
                  value:
                    streetAddress: 2 MASSACHUSETTS AVE NE
                    city: WASHINGTON
                    state: DC
                    ZIPCode: '20212'
                    ZIPPlus4: '0001'
        '400':
          description: Bad request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    ZIPCodeResult:
      type: object
      description: ZIP Code lookup result.
      properties:
        streetAddress:
          type: string
          description: Standardized street address.
          example: 2 MASSACHUSETTS AVE NE
        city:
          type: string
          description: City name.
          example: WASHINGTON
        state:
          type: string
          description: Two-letter state abbreviation.
          example: DC
        ZIPCode:
          type: string
          description: 5-digit ZIP Code.
          example: '20212'
        ZIPPlus4:
          type: string
          description: ZIP+4 Code.
          example: '0001'
    CityState:
      type: object
      description: City and state lookup result.
      properties:
        city:
          type: string
          description: City name.
          example: WASHINGTON
        state:
          type: string
          description: Two-letter state abbreviation.
          example: DC
        ZIPCode:
          type: string
          description: The queried ZIP Code.
          example: '20212'
    Error:
      type: object
      description: API error response.
      properties:
        apiVersion:
          type: string
          description: API version that returned the error.
          example: '3.0'
        error:
          type: object
          description: Error details.
          properties:
            code:
              type: string
              description: Error code.
              example: ADDR_ERR_001
            message:
              type: string
              description: Human-readable error message.
              example: Address not found
            errors:
              type: array
              description: List of field-level validation errors.
              items:
                type: object
                properties:
                  status:
                    type: string
                    description: HTTP status code as string.
                    example: '400'
                  title:
                    type: string
                    description: Error title.
                    example: Invalid ZIP Code
                  detail:
                    type: string
                    description: Error detail message.
                    example: The ZIP Code provided is not valid.
    Address:
      type: object
      description: USPS standardized address response.
      properties:
        firm:
          type: string
          description: Company or organization name.
          example: ''
        streetAddress:
          type: string
          description: Standardized primary street address.
          example: 2 MASSACHUSETTS AVE NE
        streetAddressAbbreviation:
          type: string
          description: Abbreviated street address.
          example: ''
        secondaryAddress:
          type: string
          description: Standardized secondary address.
          example: ''
        city:
          type: string
          description: City name.
          example: WASHINGTON
        cityAbbreviation:
          type: string
          description: City abbreviation if applicable.
          example: ''
        state:
          type: string
          description: Two-letter state code.
          example: DC
        postalCode:
          type: string
          description: Postal code for territories.
          example: ''
        province:
          type: string
          description: Province for international addresses.
          example: ''
        ZIPCode:
          type: string
          description: 5-digit ZIP Code.
          example: '20212'
        ZIPPlus4:
          type: string
          description: ZIP+4 extension code.
          example: '0001'
        urbanization:
          type: string
          description: Puerto Rico urbanization name if applicable.
          example: ''
        classificationCode:
          type: string
          description: Address classification code (D=Default, S=Seasonal).
          example: D
        DPVConfirmation:
          type: string
          description: Delivery Point Validation confirmation (Y/S/D/N).
          example: Y
        DPVCMRA:
          type: string
          description: Commercial Mail Receiving Agency indicator.
          example: N
        DPVFootnotes:
          type: string
          description: DPV footnote codes.
          example: AABB
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 Bearer Token obtained from the USPS OAuth API.
externalDocs:
  description: USPS Addresses API Documentation
  url: https://developers.usps.com/addressesv3