The short answer
Shippo v2 returns a recommendation and change reasons in a shipping-oriented interface; Smarty exposes candidate-level US postal analysis. Compare secondary-unit decisions and account access, then plan an explicit schema conversion rather than renaming one success field.
| Provider | A good reason to choose it | Important caveat |
|---|---|---|
| Shippo | A checkout or shipping system that wants explicit address-change reasons before creating labels in the same platform. | The v2 validation request is GET and differs from legacy Address creation with validate=true. A partially_valid result and a recommended correction need a decision, not an automatic success label. |
| Smarty | US address operations that need to inspect postal and secondary-unit evidence instead of accepting a normalized string as the only result. | US Street and International are different interfaces and entitlements. A returned candidate must be interpreted using its analysis fields; an empty candidate array is not an application transport error. |
Side-by-side differences
| Requirement | Shippo | Smarty |
|---|---|---|
| Validation approach | Validation with a recommended corrected address | US postal-address candidates and analysis |
| Coverage boundary | US/global service; confirm country and account coverage | US Street endpoint; International is a separate product |
| Decision signal | Validation value/reasons plus recommendation confidence | Candidate and DPV-related analysis, not a single global score |
| Apartment/unit handling | Preserve address_line_2 and review changed_attributes | Preserve street2 and interpret secondary-address evidence |
| Workflow | v2 GET validation; legacy POST validation is different | Single-address GET or multi-address POST with server credentials |
| Cost driver | Standalone service entitlement and agreed address volume | Address lookups, product and licensed features |
Pricing: make the units comparable
| Provider | Billing model | What to check |
|---|---|---|
| Shippo | Address Validation access and pricing through sales | Shippo directs Address Validation API pricing and access inquiries to sales. Do not substitute shipping-label fees or assume the standalone v2 service is included in an existing token's entitlement. |
| Smarty | Product-specific lookup subscriptions | Select US or International verification and the required feature/license tier. Batch requests contain multiple addresses; do not calculate price using only the number of HTTP requests. |
For 10,000 address checks, include retries and customer edits, not just completed orders. Count input addresses rather than batch HTTP calls. Compare the same country mix and postal evidence; a geocoding credit and a delivery-verification check do not buy the same result.
For a buying decision, calculate total spend divided by accepted outputs at your expected volume. Keep free evaluation access, paid production access, annual commitments and overages separate. We have not measured a cost or speed winner for this pair.
What changes in the integration?
| Shippo | Smarty | |
|---|---|---|
| Method and URL | GET https://api.goshippo.com/v2/addresses/validate | GET https://us-street.api.smarty.com/street-address |
| Authentication | Authorization: ShippoToken token | Server-side auth-id and auth-token; embedded credentials have different restrictions |
| Inputs | address_line_1, optional address_line_2, city_locality, state_province, postal_code and country_code | street, optional street2, city/state/zipcode, candidates and auth credentials; POST supports multiple addresses |
| Output | original_address, recommended_address, analysis.validation_result, changed_attributes and geodata when available. | Candidate array with components, metadata and postal analysis, including DPV-related fields where supplied. |
Shippo: migration check
Replace legacy street1/city/zip mapping with v2 address_line_1/city_locality/postal_code. Parse analysis.validation_result rather than the legacy validation_results.is_valid field, and keep addresses out of request logs.
Smarty: migration check
Handle zero, one and multiple candidates explicitly. Preserve leading-zero ZIP codes and separate missing-unit evidence from a street match; batch IDs must map back to original input records.
How to test them fairly
- Use provider-approved test fixtures or addresses you have permission to process. Include international formats, accents, rural addresses and unit numbers. Do not generate arbitrary postal addresses or send private customer records without authorization.
- Define expected outcomes for known-good records and approved negative cases before the run. Keep unsupported countries and missing evidence separate from invalid addresses.
- Measure component correction, unit preservation and false rejection separately. A geocoder's building-level match is not confirmation of postal deliverability or of the person living there.
- Record whether the API suggests a correction, confirms a delivery point or merely finds a location. Require customer confirmation when a suggested change could route a parcel elsewhere.
- Count billed address checks, repeated checkout attempts, optional geocoding and batch records. Compare latency and cost per accepted decision on the same country mix. No validation result guarantees a successful future delivery.
Record the plan, request settings, time window and acceptance rules with every run. That makes a later result interpretable when a vendor changes a model, source set or pricing tier.
Prefer a common request format?
POST /api/v1/address-validation/validateReview the request contract and tell us the coverage you need. Access requires enablement; this endpoint does not execute or bill requests yet.
View endpoint and request accessSources and review dates
Documentation reviewed October 28, 2026. These are integration and plan comparisons, not measured speed or accuracy rankings. Availability, licensing and prices should be confirmed for the chosen plan.
- Shippo v2 address validation and migration
- Shippo legacy validation reference
- Shippo Addresses API product
- Smarty US Street reference
- Smarty product pricing
Corrections: email faizank@docsalot.dev with an official source.