Tech Specs (stuff for geeks)
Performance summary
In geek speak, this is how LiveAddress API does its magic.
-
Sub-100ms response time
Minus external latency, LiveAddress API responds with its payload in less than
100 milliseconds . This means LiveAddress won't delay you, even if your requests are synchronous. As a result, it can handle thousands of addresses per second. -
Geo-distributed
LiveAddress comes to you from three reliable and redundant US data centers located in: Phoenix, Dallas, and Ashburn, VA. These load-balanced cloud servers are operated by separate network providers, and your requests are handled by the nearest available node.
-
99.995% uptime
Our SLA guarantees 99.98% uptime, but for well over 18 months we've serviced LiveAddress API with 0 downtime. See our uptime report for details.
Compatibility
The API works with:
- Windows, Mac, Linux
- iOS
- Android
- Javascript
- PHP, Python, .NET, Java, Ruby, etc.
- C/C++, Objective C
- Microsoft® Office™
- Anything with Internet access
The API communicates with:
- REST endpoint
- JSON or XML output
Quick Start
LiveAddress API is powerful, but also really easy to use. To get started quickly, check out the API documentation. If you still have questions, you can always contact us for help.
Fields returned
LiveAddress API may return the following fields (depending on the validity of the input and applicability of the field to any given address). See the field definitions guide for details about each field.
- Input index
- Candidate index
- Addressee
- Delivery Line 1
- Delivery Line 2
- Last Line
- Delivery Point Barcode
-
Components (+16 sub-fields)
- Urbanization
- Primary number
- Street name
- Street predirection
- Street postdirection
- Street suffix
- Secondary number
- Secondary designator
- PMB designator
- PMB number
- City
- State
- ZIP Code
- ZIP+4 Code
- Delivery Point
- Delivery Point Check Digit
-
Metadata (+10 sub-fields)
- Record type
- County FIPS
- County name
- Carrier route
- Congressional district
- Building default indicator
- RDI (residential/commercial)
- Latitude
- Longitude
- Precision
-
Analysis (+9 sub-fields)
- DPV™ match code
- DPV™ footnotes
- CMRA
- Vacant
- Active
- EWS match
- Footnotes
- LACSLink code
- LACSLink indicator
Parsing addresses
LiveAddress API can parse and verify a freeform (single-line) street address. When doing so, we recommend a user verify the accuracy of each result. Remember that LiveAddress API will always return only valid results.
Technical notes
Some things to consider about this or any address API.
-
Bulk requests supported
Unlike other APIs, LiveAddress API supports up to 100 addresses in a single POST request. If you have a large amount of addresses to geocode or process, speed improves by 100x. See our docs for details.
-
Geocoding accuracy
Our data comes from the official US census file. When using the coordinates, consider the "Precision" field which indicates how precise the coordinates are, allowing you to compensate for a fuzzy match.
-
Downloads and updates
None! Because this is a web-based service, this is nothing to download or install, and there's no updates to maintain. Other providers still ship monthly updates to customers on disks, but we update automatically.
Samples/examples
Our documentation has links to sample code in various languages which you can use to get started quickly.
Precision geocoding
Like most other geocoding services, our data comes from the official US census file. Some services, like ours, will augment address data to interpolate and guess a better result. Much of the time, we are more accurate than other popular providers.
But if you're in the precision skydiving business, you'll probably want to go collect the GPS data yourself.
Sample request and response
Here's a quick look at what an API call looks like. For more details, see the complete API documentation.
REQUEST
Attached to each request is your unique authentication key. So, a request to our system might look like this (documentation):
https://api.smartystreets.com/street-address?street=1600+amphitheatre+parkway&city=mtn+view&state=ca&zipcode=&auth-id=<your auth ID>&auth-token=<your API key>RESPONSE
Actual results vary depending on the exact input of each request. For a list of all possible fields returned and their possible values, see the detailed field definitions guide in our docs.
The response to a query like the sample above would come back like:
[
{
"input_index":0,
"candidate_index":0,
"delivery_line_1":"1600 Amphitheatre Pkwy",
"last_line":"Mountain View CA 94043-1351",
"delivery_point_barcode":"940431351000",
"components":
{
"primary_number":"1600",
"street_name":"Amphitheatre",
"street_suffix":"Pkwy",
"city_name":"Mountain View",
"state_abbreviation":"CA",
"zipcode":"94043",
"plus4_code":"1351",
"delivery_point":"00",
"delivery_point_check_digit":"0"
},
"metadata":
{
"record_type":"S",
"county_fips":"06085",
"county_name":"Santa Clara",
"carrier_route":"C058",
"congressional_district":"14",
"rdi": "Commercial",
"latitude": 37.41907,
"longitude": -122.07764,
"precision": "Zip7"
},
"analysis":
{
"dpv_match_code":"Y",
"dpv_footnotes":"AABB",
"dpv_cmra":"N",
"dpv_vacant":"N",
"ews_match":false,
"footnotes":"B#N#"
}
}
]
More information about parsing the JSON/XML response can be obtained in the documentation.