Skip to content
Get started

Batch Verification

client.intlAddressVerification.batchVerification(IntlAddressVerificationBatchVerificationParams { addresses, geoData, includeDetails, 2 more } params, RequestOptionsoptions?): IntlAddressVerificationBatchVerificationResponse { data, message, status }
POST/v1/intl_addver/verifications/batch

Verify a batch of international addresses in a single request. Each address can be freeform or structured, matching the same input formats accepted by the single verification endpoint.

  • Uses 1 lookup per address.
  • Requires a secret API key.
  • Returns results in the same order as the input addresses.
  • If an individual address fails, its result will contain an error field rather than a verifiedAddress.
ParametersExpand Collapse
params: IntlAddressVerificationBatchVerificationParams { addresses, geoData, includeDetails, 2 more }
addresses: Array<StructuredAddressInput { address } | FreeformAddressInput { address } >

Body param: Array of addresses to verify. Each item can be a freeform string or a structured address object.

One of the following:
StructuredAddressInput { address }

Input model for structured international address verification.

address: Address { country, line1, postalOrZip, 5 more }
country: string

The country code (ISO 3166-1 alpha-2 or alpha-3).

line1: string

The first line of the address (e.g., street address, building, etc.).

postalOrZip: string

The postal or ZIP code.

provinceOrState: string

The administrative area (e.g., state, province, region).

city?: string

The city, town, or locality of the address.

line2?: string

The second line of the address (e.g., apartment, suite, etc.).

line3?: string

The third line of the address (e.g., additional locality or delivery info).

line4?: string

The fourth line of the address (e.g., further address details).

FreeformAddressInput { address }

Input model for freeform international address verification.

address: string

The full address as a single string.

geoData?: boolean

Query param

includeDetails?: boolean

Query param

properCase?: boolean

Query param

useEnhancedChinaDataset?: boolean

Query param

ReturnsExpand Collapse
IntlAddressVerificationBatchVerificationResponse { data, message, status }
data: Data { results }
results: Array<Result>
error?: string

An error message for this address. Present when verification failed.

verifiedAddress?: VerifiedAddress { city, country, line1, 13 more }

The result of a verified international address.

city: string

The city or locality.

country: string

The country code (ISO 3166-1 alpha-2).

line1: string

The first address line.

postalOrZip: string

The postal or ZIP code.

provinceOrState: string

The province or state.

countryName?: string

The full country name.

details?: Details { building, buildingType, cityName, 30 more }

Additional details about the verified address, such as premise, thoroughfare, and locality.

building?: string

The building name or number.

buildingType?: string

The type of building (e.g., apartment, office).

cityName?: string

The full city name.

citySecondary?: string

Secondary city information.

cityType?: string

The type of city (e.g., city, town, village).

deliveryAddress?: string

The full delivery address.

dependentLocality?: string

The dependent locality (UK addresses).

doubleDependentLocality?: string

The double dependent locality (UK addresses).

organization?: string

The organization or company name.

postalOrZipPrimary?: string

The primary part of the postal or ZIP code.

postalOrZipSecondary?: string

The secondary part of the postal or ZIP code.

postBox?: string

The post box number.

premise?: string

The premise name or number.

premiseNumber?: string

The premise number.

premiseSecondary?: string

Secondary premise information.

premiseType?: string

The type of premise (e.g., house, flat).

provinceOrStateName?: string

The full name of the province or state.

provinceOrStateType?: string

The type of province or state (e.g., province, state, region).

street?: string

The street name.

streetPostDirection?: string

The directional suffix for the street (e.g., N, S, E, W).

streetPreDirection?: string

The directional prefix for the street (e.g., N, S, E, W).

streetType?: string

The type of street (e.g., St, Ave, Blvd).

subAdministrativeArea?: string

The sub-administrative area.

subBuilding?: string

The sub-building name or number (e.g., unit, suite).

SubBuildingFloor?: string

The floor of the sub-building.

subBuildingNumber?: string

The sub-building number.

subBuildingType?: string

The type of sub-building (e.g., floor, wing).

subStreet?: string

The sub-street name.

subStreetPostDirection?: string

The directional suffix for the sub-street.

subStreetPreDirection?: string

The directional prefix for the sub-street.

subStreetType?: string

The type of sub-street.

superAdministrativeArea?: string

The super-administrative area.

telephone?: string

The telephone number associated with the address.

errors?: Errors { city, generic, line1, 3 more }

Errors encountered during address verification.

city?: Array<string>

Errors related to the city.

generic?: Array<string>

Generic errors not tied to a specific field.

line1?: Array<string>

Errors related to the first address line.

line2?: Array<string>

Errors related to the second address line.

postalOrZip?: Array<string>

Errors related to the postal or ZIP code.

provinceOrState?: Array<string>

Errors related to the province or state.

firmName?: string

The firm or company name, if available.

formattedAddress?: string

The formatted address string.

geoData?: GeoData { geoAccuracy, latitude, longitude }

Geocoding result for the verified address.

geoAccuracy?: string

The geocode accuracy.

latitude?: string

The latitude of the address.

longitude?: string

The longitude of the address.

line2?: string

The second address line.

line3?: string

The third address line, if available.

status?: Status

The verification status of an address.

One of the following:
"verified"
"corrected"
"failed"
summary?: Summary { contextIdentificationMatchLevel, lexiconIdentificationMatchLevel, matchScore, 6 more }

A summary of the verification process and match levels.

contextIdentificationMatchLevel?: string

Context identification match level.

lexiconIdentificationMatchLevel?: string

Lexicon identification match level.

matchScore?: number

The match score (0-100).

message?: string

Additional message about the verification.

parsingStatus?: string

The parsing status of the address.

postCodeStatus?: string

The status of the postal code.

postProcessedVerificationMatchLevel?: string

The match level after post-processing.

preProcessedVerificationMatchLevel?: string

The match level before post-processing.

verificationStatus?: string

The overall verification status.

zipPlus4?: string

The ZIP+4 code (for US addresses).

message: string
status: "success" | "error"
One of the following:
"success"
"error"

Batch Verification

import PostGrid from 'postgrid-node';

const client = new PostGrid({
  addressVerificationAPIKey: process.env['POSTGRID_ADDRESS_VERIFICATION_API_KEY'], // This is the default and can be omitted
});

const response = await client.intlAddressVerification.batchVerification({
  addresses: [
    {
      address: {
        country: 'country',
        line1: 'line1',
        postalOrZip: 'postalOrZip',
        provinceOrState: 'provinceOrState',
      },
    },
  ],
});

console.log(response.data);
{
  "data": {
    "results": [
      {
        "error": "error",
        "verifiedAddress": {
          "city": "city",
          "country": "country",
          "line1": "line1",
          "postalOrZip": "postalOrZip",
          "provinceOrState": "provinceOrState",
          "countryName": "countryName",
          "details": {
            "building": "building",
            "buildingType": "buildingType",
            "cityName": "cityName",
            "citySecondary": "citySecondary",
            "cityType": "cityType",
            "deliveryAddress": "deliveryAddress",
            "dependentLocality": "dependentLocality",
            "doubleDependentLocality": "doubleDependentLocality",
            "organization": "organization",
            "postalOrZipPrimary": "postalOrZipPrimary",
            "postalOrZipSecondary": "postalOrZipSecondary",
            "postBox": "postBox",
            "premise": "premise",
            "premiseNumber": "premiseNumber",
            "premiseSecondary": "premiseSecondary",
            "premiseType": "premiseType",
            "provinceOrStateName": "provinceOrStateName",
            "provinceOrStateType": "provinceOrStateType",
            "street": "street",
            "streetPostDirection": "streetPostDirection",
            "streetPreDirection": "streetPreDirection",
            "streetType": "streetType",
            "subAdministrativeArea": "subAdministrativeArea",
            "subBuilding": "subBuilding",
            "SubBuildingFloor": "SubBuildingFloor",
            "subBuildingNumber": "subBuildingNumber",
            "subBuildingType": "subBuildingType",
            "subStreet": "subStreet",
            "subStreetPostDirection": "subStreetPostDirection",
            "subStreetPreDirection": "subStreetPreDirection",
            "subStreetType": "subStreetType",
            "superAdministrativeArea": "superAdministrativeArea",
            "telephone": "telephone"
          },
          "errors": {
            "city": [
              "string"
            ],
            "generic": [
              "string"
            ],
            "line1": [
              "string"
            ],
            "line2": [
              "string"
            ],
            "postalOrZip": [
              "string"
            ],
            "provinceOrState": [
              "string"
            ]
          },
          "firmName": "firmName",
          "formattedAddress": "formattedAddress",
          "geoData": {
            "geoAccuracy": "geoAccuracy",
            "latitude": "latitude",
            "longitude": "longitude"
          },
          "line2": "line2",
          "line3": "line3",
          "status": "verified",
          "summary": {
            "contextIdentificationMatchLevel": "contextIdentificationMatchLevel",
            "lexiconIdentificationMatchLevel": "lexiconIdentificationMatchLevel",
            "matchScore": 0,
            "message": "message",
            "parsingStatus": "parsingStatus",
            "postCodeStatus": "postCodeStatus",
            "postProcessedVerificationMatchLevel": "postProcessedVerificationMatchLevel",
            "preProcessedVerificationMatchLevel": "preProcessedVerificationMatchLevel",
            "verificationStatus": "verificationStatus"
          },
          "zipPlus4": "zipPlus4"
        }
      }
    ]
  },
  "message": "message",
  "status": "success"
}
Returns Examples
{
  "data": {
    "results": [
      {
        "error": "error",
        "verifiedAddress": {
          "city": "city",
          "country": "country",
          "line1": "line1",
          "postalOrZip": "postalOrZip",
          "provinceOrState": "provinceOrState",
          "countryName": "countryName",
          "details": {
            "building": "building",
            "buildingType": "buildingType",
            "cityName": "cityName",
            "citySecondary": "citySecondary",
            "cityType": "cityType",
            "deliveryAddress": "deliveryAddress",
            "dependentLocality": "dependentLocality",
            "doubleDependentLocality": "doubleDependentLocality",
            "organization": "organization",
            "postalOrZipPrimary": "postalOrZipPrimary",
            "postalOrZipSecondary": "postalOrZipSecondary",
            "postBox": "postBox",
            "premise": "premise",
            "premiseNumber": "premiseNumber",
            "premiseSecondary": "premiseSecondary",
            "premiseType": "premiseType",
            "provinceOrStateName": "provinceOrStateName",
            "provinceOrStateType": "provinceOrStateType",
            "street": "street",
            "streetPostDirection": "streetPostDirection",
            "streetPreDirection": "streetPreDirection",
            "streetType": "streetType",
            "subAdministrativeArea": "subAdministrativeArea",
            "subBuilding": "subBuilding",
            "SubBuildingFloor": "SubBuildingFloor",
            "subBuildingNumber": "subBuildingNumber",
            "subBuildingType": "subBuildingType",
            "subStreet": "subStreet",
            "subStreetPostDirection": "subStreetPostDirection",
            "subStreetPreDirection": "subStreetPreDirection",
            "subStreetType": "subStreetType",
            "superAdministrativeArea": "superAdministrativeArea",
            "telephone": "telephone"
          },
          "errors": {
            "city": [
              "string"
            ],
            "generic": [
              "string"
            ],
            "line1": [
              "string"
            ],
            "line2": [
              "string"
            ],
            "postalOrZip": [
              "string"
            ],
            "provinceOrState": [
              "string"
            ]
          },
          "firmName": "firmName",
          "formattedAddress": "formattedAddress",
          "geoData": {
            "geoAccuracy": "geoAccuracy",
            "latitude": "latitude",
            "longitude": "longitude"
          },
          "line2": "line2",
          "line3": "line3",
          "status": "verified",
          "summary": {
            "contextIdentificationMatchLevel": "contextIdentificationMatchLevel",
            "lexiconIdentificationMatchLevel": "lexiconIdentificationMatchLevel",
            "matchScore": 0,
            "message": "message",
            "parsingStatus": "parsingStatus",
            "postCodeStatus": "postCodeStatus",
            "postProcessedVerificationMatchLevel": "postProcessedVerificationMatchLevel",
            "preProcessedVerificationMatchLevel": "preProcessedVerificationMatchLevel",
            "verificationStatus": "verificationStatus"
          },
          "zipPlus4": "zipPlus4"
        }
      }
    ]
  },
  "message": "message",
  "status": "success"
}