Envia.com Address Validation API

Validate zip codes and locate cities for accurate address information

Operations 3

GET /locate/{country}/{city} Location by City #
GET /zipcode/{country}/{zipcode} Location by Zipcode #
GET /generic-form Get Address Form #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/envia:envia-address-validation-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

envia-address-validation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Envia Address Validation API
  contact:
    name: Envia API Support
    url: https://docs.envia.com/discuss
  license:
    name: Proprietary
    url: https://www.envia.com/terminos-y-condiciones
  termsOfService: https://www.envia.com/terminos-y-condiciones
  version: '1.0'
  description: 'Operations tagged Address Validation across 2 of this provider''s published API definitions: envia-geocodes-api-complete-documentation-api-openapi.yml, envia-queries-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://geocodes.envia.com/
  description: Production
- url: https://queries.test.envia.com/
  description: Sandbox/Test
- url: https://queries.envia.com/
  description: Production
tags:
- name: Address Validation
  description: Validate zip codes and locate cities for accurate address information
paths:
  /locate/{country}/{city}:
    get:
      tags:
      - Address Validation
      summary: Location by City
      description: '**City / Locality validation**


        Obtain a city specific information like state or zip code. Sometimes cities have multiple zip codes, this endpoint will return all available zip codes for the given city.'
      operationId: locate-city
      parameters:
      - name: country
        in: path
        required: true
        description: Country code (2 digits)
        schema:
          type: string
          example: MX
      - name: city
        in: path
        required: true
        description: City name
        schema:
          type: string
          example: Monterrey
      responses:
        '200':
          description: Successful city location
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Indicates if the request was successful
                  data:
                    type: array
                    description: List of locations matching the city
                    items:
                      type: object
                      properties:
                        city:
                          type: string
                          description: City name
                        state:
                          type: string
                          description: State code
                        country:
                          type: string
                          description: Country code
                        zipcode:
                          type: string
                          description: Zip code
                        coordinates:
                          type: object
                          description: GPS coordinates
                          properties:
                            latitude:
                              type: string
                              description: Latitude coordinate
                            longitude:
                              type: string
                              description: Longitude coordinate
              examples:
                CityFound:
                  summary: City found response
                  value:
                    success: true
                    data:
                    - city: Monterrey
                      state: NL
                      country: MX
                      zipcode: '64000'
                      coordinates:
                        latitude: '25.6866'
                        longitude: '-100.3161'
                    - city: Monterrey
                      state: NL
                      country: MX
                      zipcode: '64010'
                      coordinates:
                        latitude: '25.6866'
                        longitude: '-100.3161'
                CityNotFound:
                  summary: City not found response
                  value:
                    success: false
                    message: City not found
    servers:
    - url: https://geocodes.envia.com/
      description: Production
  /zipcode/{country}/{zipcode}:
    get:
      tags:
      - Address Validation
      summary: Location by Zipcode
      description: Get zipcode information. With only the zipcode in a country, you can obtain the city, state, and other location details. This is useful for address validation and auto-completion features.
      operationId: validate-zip-code
      parameters:
      - name: country
        in: path
        required: true
        description: Country code (2 digits)
        schema:
          type: string
          example: MX
      - name: zipcode
        in: path
        required: true
        description: Zip code or postal code
        schema:
          type: string
          example: '64060'
      responses:
        '200':
          description: Successful zip code validation
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Indicates if the request was successful
                  data:
                    type: object
                    description: Zip code validation data
                    properties:
                      zipcode:
                        type: string
                        description: The validated zip code
                      city:
                        type: string
                        description: City name
                      state:
                        type: string
                        description: State code
                      country:
                        type: string
                        description: Country code
                      coordinates:
                        type: object
                        description: GPS coordinates
                        properties:
                          latitude:
                            type: string
                            description: Latitude coordinate
                          longitude:
                            type: string
                            description: Longitude coordinate
              examples:
                ValidZipCode:
                  summary: Valid zip code response
                  value:
                    success: true
                    data:
                      zipcode: '64060'
                      city: Monterrey
                      state: NL
                      country: MX
                      coordinates:
                        latitude: '25.6866'
                        longitude: '-100.3161'
                InvalidZipCode:
                  summary: Invalid zip code response
                  value:
                    success: false
                    message: Zip code not found
    servers:
    - url: https://geocodes.envia.com/
      description: Production
  /generic-form:
    get:
      tags:
      - Address Validation
      summary: Get Address Form
      description: '**Review this information carefully** if you are planning to integrate Envia in multiple countries. Address structure may vary depending on the country the package is being shipped from. It can be by zipcode or city/locality. Use this to get the required fields and validation rules for address forms.'
      operationId: country-address-structure
      parameters:
      - name: country_code
        in: query
        required: true
        description: Two-digit country code
        schema:
          type: string
          enum:
          - US
          - MX
          - CA
          - CO
          - IN
          - CL
          - GT
          - BR
          - AR
          - PE
          example: MX
      - name: form
        in: query
        required: true
        description: Form type
        schema:
          type: string
          enum:
          - address_info
          - billing_info
          example: address_info
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                description: Address form structure
                items:
                  type: object
                  properties:
                    fieldId:
                      type: string
                      description: Field identifier
                      example: address1
                    fieldName:
                      type: string
                      description: Field name
                      example: street
                    fieldLabel:
                      type: string
                      description: Field label
                      example: Address1
                    fieldLabelLang:
                      type: string
                      description: Localized field label
                      example: createLabel.addressInfo.street
                    fieldType:
                      type: string
                      description: Field type
                      enum:
                      - text
                      - select
                      - number
                      - email
                      example: text
                    fieldPlaceholder:
                      type: string
                      description: Field placeholder
                      example: Address1
                    fieldPlaceholderLang:
                      type: string
                      description: Localized field placeholder
                      example: createLabel.addressInfo.street
                    fieldIcon:
                      type: string
                      description: Field icon class
                      example: fas fa-map-marker-alt
                    dataType:
                      type: string
                      description: Data type
                      example: string
                    visible:
                      type: boolean
                      description: Whether the field is visible
                      example: true
                    size:
                      type: string
                      description: Field size
                      enum:
                      - S
                      - M
                      - L
                      - XL
                      example: L
                    rules:
                      type: object
                      description: Validation rules
                      properties:
                        required:
                          type: boolean
                          description: Whether the field is required
                          example: true
                        min:
                          type: string
                          description: Minimum value/length
                          example: '2'
                        max:
                          type: string
                          description: Maximum value/length
                          example: '50'
                        validationType:
                          type: string
                          description: Validation type
                          enum:
                          - street
                          - value
                          - select
                          - email
                          - phone
                          example: street
                    geocodes:
                      type: boolean
                      description: Whether the field supports geocoding
                      example: false
                    on_change:
                      type: array
                      description: On change actions
                      items:
                        type: object
                        properties:
                          condition:
                            type: string
                            description: Condition for the action
                            example: /(^[0-9]{5})$/
                          action:
                            type: string
                            description: Action type
                            enum:
                            - request
                            - set_temporal_context
                            - set_fields
                            - set_options
                            example: request
                          url:
                            type: string
                            description: URL for request action
                            example: https://geocodes.envia.com/zipcode/{{values.country}}/{{values.postal_code}}
                          name:
                            type: string
                            description: Action name
                            example: geocodes
      security:
      - bearerAuth: []
    servers:
    - url: https://queries.test.envia.com/
      description: Sandbox/Test
    - url: https://queries.envia.com/
      description: Production
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  description: Full Envia API Documentation
  url: https://docs.envia.com
x-refined-from:
- envia-geocodes-api-complete-documentation-api-openapi.yml
- envia-queries-api-openapi.yml
x-provenance:
  method: searched
  source: https://docs.envia.com/reference
  harvested: '2026-10-27'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://docs.envia.com/reference/locate-city.md
  - https://docs.envia.com/reference/validate-zip-code.md
  merge:
    pages: 2
    deduped: 0
    conflicts_kept_first: 0