| Layer | What it does | Example |
|---|---|---|
| Formatting check | Ensures the address meets carrier requirements (e.g. field length limits, required postal code format) | Address line 1 is too long for PostNL → Sendcloud automatically moves overflow to address line 2 |
| Content validation | Verifies the address actually exists in the real world using an external address provider | "city": "Amstredan" → automatically corrected to "city": "Amsterdam" |
Address validation is available on the Shipments API v3 only. It is not available in API v2.
How it works
There are three integration patterns depending on your use case. Choose the one that best fits your workflow.Option 1: Validate an address before creating a shipment
Best for: WMS and ERP systems that want to verify address data before announcing a shipment to a carrier. In this flow, you call the validate endpoint first, inspect the result, correct any issues on your side, and only then create a shipment.Send a request for validation
Send the address to the Validate an address endpoint.
Example request method and URL
Example request body
Inspect the response
Example response
| Field | What it means |
|---|---|
input_address_is_valid | Whether the submitted address passed validation. If this value is false, check the reasons array for details on the validation failure (for example: POSTAL_CODE_MISSING, ADDRESS_NOT_VALID). If this value is null, an upstream connection issue occurred and the service could not reach the third-party validation providers. |
recommended: true | This is the best address match found. Use this for your shipment. There will only ever be one recommended result, or none. |
recommended: false | An alternative result that passed some checks but was not the best match. Can generally be ignored. |
changed_attributes | Fields that were corrected from your input (e.g. city, postal_code). If empty and recommended: true, the original address was already correct. |
validation_result.is_valid | Whether the address passed validation. |
validation_result.reasons | List of reasons the address failed (e.g. ADDRESS_NOT_VALID, POSTAL_CODE_MISSING). Empty if the address is valid. |
Adjust your shipment
If a
recommended: true result is returned, use that corrected address for your shipment.Create your shipment
Create the shipment via the Shipments API using the corrected address.
Option 2: Validate an address at checkout to suggest a correct address to your consumers
Best for: Individual sellers and platforms that want to guide end consumers into entering valid addresses during checkout. In this flow, you collect partial address input from the consumer (for example, house number and postal code for Dutch addresses), call the validation endpoint, and surface the corrected or confirmed address back to the consumer before they confirm their order. This approach ensures that by the time an order is placed, the address has already been verified, reducing failed deliveries before a single shipment is created.Collect address data
Collect the relevant address fields from the consumer in your checkout (e.g. postal code + house number for NL).
Validate the address
Call the Validate an address endpoint with the input.The response will include a fully resolved address (street name, city, etc.) that you can present to the consumer for confirmation.
Request method and URL
Example request body with NL postal code and house number lookup
Option 3: Inline address validation during shipment creation
Best for: Small sellers or merchants who want the simplest possible integration with minimal extra effort. In this flow, you don’t call the validation endpoint separately. Instead, you pass"validation_methods": ["here"] directly in your shipment creation request. Sendcloud will validate and, where possible, correct the address as part of the announcement.
Create a shipment
Create a shipment via the Shipments API and include
"validation_methods": ["here"] in the request body.Request method and URL
Example request body
When a matching address is found
If the address can be corrected (e.g. a misspelled city), Sendcloud will automatically apply the fix.In this example,
"city": "Einhoven" would be automatically corrected to "city": "Eindhoven".Supported content validation methods
| Method | Description |
|---|---|
here | Real-world address content validation using the HERE address provider. Verifies that the address exists and corrects recognisable typos or errors. |
validation_methods you include.
Pricing
The formatting check is included for all merchants at no additional cost. Content validation (thehere method) is free when announcing shipments on any non-enterprise subscription plan or through the shipment announcement flow with a transactional contract.
For merchants on an enterprise plan, content validation is available as a paid add-on — applicable both when using the standalone validation endpoint and when announcing shipments with a direct contract.
For full pricing details, refer to the Sendcloud pricing page.