Overview
The US Street Address API offers a solution for validating, standardizing, and enhancing US street addresses. It processes address inputs to correct errors, append missing information such as ZIP+4 codes, and provide geocoding coordinates. This API is designed to support applications that rely on accurate address data, including e-commerce platforms for order fulfillment, customer relationship management (CRM) systems for data hygiene, and logistics operations for shipping efficiency.
The API's core functionality involves taking an unverified address and returning a standardized, verified version, along with additional data points like latitude and longitude. For instance, an input like "1600 Amphitheatre Pkwy, Mtn View, CA" could be corrected and standardized to include the full street name, correct city spelling, state, ZIP+4 code, and precise geographical coordinates. This process helps reduce failed deliveries, improve marketing campaign targeting, and ensure compliance with various data standards.
Businesses utilize this API to minimize operational costs associated with incorrect addresses, such as returned mail or misdirected shipments. By validating addresses at the point of entry, organizations can maintain higher data quality across their systems. The API supports various use cases, from real-time user input validation on web forms to batch processing of existing address databases for cleansing purposes. Its RESTful architecture and multi-language SDKs aim to simplify integration for developers across different technology stacks. The API also provides specific error codes for invalid addresses, enabling developers to implement robust error handling routines. For example, if an address cannot be validated, the API will return a descriptive error, allowing the application to prompt the user for corrected information or flag the record for manual review.
Key features
- Address Validation and Standardization: Corrects spelling errors, standardizes street names, and ensures addresses conform to USPS standards. This includes adding directional prefixes/suffixes and proper abbreviations.
- ZIP+4 Appending: Automatically appends the 4-digit extension to the standard 5-digit ZIP code, improving mail deliverability and precision.
- Geocoding: Provides precise latitude and longitude coordinates for each validated address, enabling mapping and location-based services. This feature is critical for logistics planning and geomarketing.
- Delivery Point Validation (DPV): Confirms that an address is a deliverable mail point according to the USPS database, distinguishing between valid addresses and non-existent ones.
- Residential/Commercial Indicator: Identifies whether an address is primarily residential or commercial, useful for shipping carriers that have different rates or services for each type.
- Vacant Indicator: Flags addresses that are currently vacant according to USPS records, which can assist in reducing wasted mail or delivery attempts.
- Multi-language SDKs: Supports integration with Python, JavaScript, PHP, Ruby, C#, Java, and Go, facilitating rapid development.
- RESTful API: Utilizes standard HTTP methods and JSON responses, making it compatible with most web development frameworks.
Pricing
The US Street Address API offers tiered pricing based on monthly lookup volume. A free developer tier is available for initial testing and low-volume applications.
| Lookup Volume (Monthly) | Price (USD/month) | Notes |
|---|---|---|
| Up to 250 | Free | Developer tier for testing |
| 10,000 | $25 | Starting paid plan |
| 50,000 | $75 | Volume discounts apply |
| 100,000 | $125 | |
| Custom | Contact Vendor | For volumes exceeding 100,000 lookups |
Pricing data is accurate as of May 2026. For detailed and up-to-date pricing information, refer to the Smarty address validation pricing page.
Common integrations
- E-commerce Platforms: Integrate into checkout flows to validate shipping addresses, reducing cart abandonment due to address entry errors and minimizing redelivery costs. Platforms like Shopify or Magento can benefit from real-time validation.
- CRM Systems: Cleanse and maintain accurate customer address data within CRM platforms such as Salesforce or HubSpot, improving data quality for marketing and support operations.
- Shipping and Logistics Software: Ensure precise address information for package delivery, optimizing route planning and reducing misdeliveries for carriers and logistics providers.
- Database Management Systems: Batch process large datasets of addresses to correct and standardize records, enhancing overall data integrity.
- Government and Municipal Applications: Verify constituent addresses for service delivery, voter registration, or emergency response systems.
- Real Estate Applications: Validate property addresses for listings, appraisals, and market analysis, ensuring accuracy in property records.
Alternatives
- Loqate: Offers global address verification, geocoding, and data enrichment services.
- Melissa: Provides global data quality solutions, including address, name, email, and phone validation.
- Lob: Focuses on address verification and print & mail APIs, particularly for postal mail automation.
- Google Maps Geocoding API: Offers geocoding for addresses worldwide, converting addresses into geographic coordinates and vice versa, as detailed in the Google Geocoding API overview.
- USPS Web Tools APIs: Provides address information directly from the United States Postal Service, including ZIP Code lookup and address validation services.
Getting started
To begin using the US Street Address API, you typically make an HTTP GET request to the API endpoint with your address query and authentication credentials. The API will respond with standardized address data, including geocodes if available.
The following JavaScript example demonstrates how to make a basic request to validate a US street address. This example assumes you have obtained an authentication ID and token from your Smarty account.
const authId = 'YOUR_AUTH_ID'; // Replace with your Smarty Auth ID
const authToken = 'YOUR_AUTH_TOKEN'; // Replace with your Smarty Auth Token
const street = '1600 Amphitheatre Pkwy';
const city = 'Mountain View';
const state = 'CA';
const zipcode = '94043';
const url = `https://us-street.api.smarty.com/street-address?auth-id=${authId}&auth-token=${authToken}&street=${encodeURIComponent(street)}&city=${encodeURIComponent(city)}&state=${encodeURIComponent(state)}&zipcode=${encodeURIComponent(zipcode)}`;
fetch(url)
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return response.json();
})
.then(data => {
if (data && data.length > 0) {
const validatedAddress = data[0];
console.log('Validated Address:', validatedAddress.delivery_line_1, validatedAddress.last_line);
console.log('Components:', validatedAddress.components);
console.log('Metadata (Latitude, Longitude):', validatedAddress.metadata.latitude, validatedAddress.metadata.longitude);
} else {
console.log('Address not found or invalid.');
}
})
.catch(error => console.error('Error fetching address:', error));
This code snippet constructs a URL with the address components and your authentication details, then uses the fetch API to send the request. Upon receiving a successful response, it logs the validated address lines, components, and geocoding metadata. Comprehensive documentation, including API reference and SDK examples for other languages like Python and cURL, can be found in the US Street Address API documentation.