Perform address verification and correction using U.S. Postal Service databases. Get address data in standard format and find ZIP+4 Codes even for addresses with missing data.
Request Details
Example Request Url
https://geodata.cdxtech.com/api/geoverifysingle?key={key}&address={address}&delimiter={delimiter}&format={format}
Description | Required | Default Value | Example | |
key | Authentication Key | key=dd76pxfi4feydh4bz_dtrjyf6flu4-987asdjhajkd555usds28ad984yhz | ||
address | Single Line Address | address=9 Spring St, New Brunswick, NJ 08901 | ||
delimiter | City, State Zipcode Delimiter | , | delimiter=, | |
format | Output Formatting | json | format=json (supported formats: json, xml, csv) |
Coding Examples
Here are some coding examples to get you started. Please feel free to contact support if you need additional assistance.
string key = "{your-key}";
string address = "9 Spring St, New Brunswick, NJ 08901";
string delimiter = ",";
string format = "json";
HttpResponseMessage message = null;
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri("https://geodata.cdxtech.com");
StringBuilder url = new StringBuilder("/api/geoverifysingle?");
url.Append("key=").Append(key);
url.Append("&address=").Append(address);
url.Append("&delimiter=").Append(delimiter);
url.Append("&format=").Append(format);
message = client.GetAsync(url.ToString()).Result;
}
import requests
def get_geoverify_single(api_key, address, delimiter, response_format="json"):
"""Verify a single address entry using the API."""
base_url = "https://geodata.cdxtech.com"
endpoint = "/api/geoverifysingle"
url = f"{base_url}{endpoint}"
params = {
"key": api_key,
"address": address,
"delimiter": delimiter,
"format": response_format,
}
response = requests.get(url, params=params)
response.raise_for_status()
try:
return response.json()
except ValueError:
return response.text
if __name__ == "__main__":
key = "{your-key}"
address = "9 Spring St, New Brunswick, NJ 08901"
delimiter = ","
fmt = "json"
data = get_geoverify_single(key, address, delimiter, fmt)
import json
if isinstance(data, (dict, list)):
print(json.dumps(data, indent=2))
else:
print(data)
// Cargo.toml
// [dependencies]
// reqwest = { version = "0.11", features = ["blocking", "json"] }
// serde = { version = "1.0", features = ["derive"] }
// serde_json = "1.0"
use std::error::Error;
fn get_geoverify_single(
api_key: &str,
address: &str,
delimiter: &str,
response_format: &str,
) -> Result> {
let client = reqwest::blocking::Client::new();
let resp = client
.get("https://geodata.cdxtech.com/api/geoverifysingle")
.query(&[
("key", api_key),
("address", address),
("delimiter", delimiter),
("format", response_format),
])
.send()?
.error_for_status()?;
let json: serde_json::Value = resp.json()?;
Ok(json)
}
fn main() -> Result<(), Box> {
let api_key = "{your-key}";
let address = "9 Spring St, New Brunswick, NJ 08901";
let delimiter = ",";
let fmt = "json";
match get_geoverify_single(api_key, address, delimiter, fmt) {
Ok(data) => println!("Response JSON:\n{}", serde_json::to_string_pretty(&data)?),
Err(err) => eprintln!("Error fetching data: {}", err),
}
Ok(())
}
async function getGeoVerifySingle({ key, address, delimiter, format = "json" }) {
const baseUrl = "https://geodata.cdxtech.com";
const endpoint = "/api/geoverifysingle";
const params = new URLSearchParams({ key, address, delimiter, format });
const url = `${baseUrl}${endpoint}?${params.toString()}`;
const response = await fetch(url);
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
const text = await response.text();
try {
return JSON.parse(text);
} catch {
return text;
}
}
// Example usage:
(async () => {
const key = "{your-key}";
const address = "9 Spring St, New Brunswick, NJ 08901";
const delimiter = ",";
const format = "json";
try {
const data = await getGeoVerifySingle({ key, address, delimiter, format });
console.log("Response:", data);
} catch (err) {
console.error("Error fetching data:", err);
}
})();
Dim key As String = "{your-key}"
Dim address = "9 Spring St, New Brunswick, NJ 08901"
Dim delimiter = ","
Dim format As String = "json"
Dim message As HttpResponseMessage = Nothing
Using client As New HttpClient()
client.BaseAddress = New Uri("https://geodata.cdxtech.com")
Dim url As New StringBuilder("/api/geoverifysingle?")
url.Append("key=").Append(key)
url.Append("&address=").Append(address)
url.Append("&delimiter=").Append(delimiter)
url.Append("&format=").Append(format)
message = client.GetAsync(url.ToString()).Result
End Using
The following is for the VBA-WEB Excel template available at http://vba-tools.github.io/VBA-Web/
Dim Client As New WebClient
Dim Request As New WebRequest
Dim key As String
Dim address AS Strinfg
Dim delimiter As String
Dim format As String
key = "{your-key}"
address = "9 Spring St, New Brunswick, NJ 08901"
delimiter = ","
format = "json"
Client.BaseUrl = "https://geodata.cdxtech.com/api/"
Request.Method = WebMethod.HttpGet
Request.ResponseFormat = WebFormat.Json
Request.Resource = "geoverifysingle?key={key}&address={address}&delimiter={delimiter}&format={format}"
Request.AddUrlSegment "key", key
Request.AddUrlSegment "address", address
Request.AddUrlSegment "citystatezip", cityStateZip
Request.AddUrlSegment "format", format
Set Response = Client.Execute(Request)
Output Examples
Here are some output data examples. You can also use the Report Generator tab to export specific data files.
{
"service": "GeoVerifySingle"
"url": "https://geodata.cdxtech.com/api/geoverifysingle?key={your-key}&address=9%20Spring%20St,%20New%20Brunswick,%20NJ%2008901&delimiter=,&format=json",
"status": "Success",
"tokenCharge": 5,
"message": null,
"totalResults": 1,
"results": [{
"addressIn": "9 Spring St",
"cityStateZipIn": " New Brunswick NJ 08901",
"addressOut": "9 SPRING ST",
"streetAddressOut": "9 SPRING ST",
"cityStateZipOut": "NEW BRUNSWICK, NJ 08901-2107",
"fullAddressOut": "9 SPRING ST, NEW BRUNSWICK, NJ 08901-2107",
"city": "NEW BRUNSWICK",
"state": "NJ",
"zipcode": "08901",
"zip4": "2107",
"addressType": "S",
"county": "MIDDLESEX",
"countyFIPs": "023",
"stateFIPs": "34",
"timeZone": "EST",
"dpbc": "089012107093",
"congressionalDistrict": "06",
"nineDigitZipcode": "08901-2107",
"boxTypes": null,
"boxType": "",
"boxNumber": "",
"preferredCity": "NEW BRUNSWICK",
"preferredState": "NJ",
"errorMessage": null
}],
"usage": {
"used": 100,
"remaining": 1000
},
"duration": 0.028353999999999997,
"timeStamp": "2017-02-02T18:04:26.8745007-05:00"
}
<Root>
<Service>GeoVerifySingle</Service>
<Url>https://geodata.cdxtech.com/api/geoverifysingle?key={your-key}&address=9%20Spring%20St,%20New%20Brunswick,%20NJ%2008901&delimiter=,&format=xml</Url>
<Status>Success</Status>
<TokenCharge>5</TokenCharge>
<Message />
<TotalResults>1</TotalResults>
<Results>
<AddressIn>9 Spring St</AddressIn>
<CityStateZipIn> New Brunswick NJ 08901</CityStateZipIn>
<AddressOut>9 SPRING ST</AddressOut>
<StreetAddressOut>9 SPRING ST</StreetAddressOut>
<CityStateZipOut>NEW BRUNSWICK, NJ 08901-2107</CityStateZipOut>
<FullAddressOut>9 SPRING ST, NEW BRUNSWICK, NJ 08901-2107</FullAddressOut>
<City>NEW BRUNSWICK</City>
<State>NJ</State>
<Zipcode>08901</Zipcode>
<Zip4>2107</Zip4>
<AddressType>S</AddressType>
<County>MIDDLESEX</County>
<CountyFIPs>023</CountyFIPs>
<StateFIPs>34</StateFIPs>
<TimeZone>EST</TimeZone>
<DPBC>089012107093</DPBC>
<CongressionalDistrict>06</CongressionalDistrict>
<NineDigitZipcode>08901-2107</NineDigitZipcode>
<BoxTypes />
<BoxType>
</BoxType>
<BoxNumber>
</BoxNumber>
<PreferredCity>NEW BRUNSWICK</PreferredCity>
<PreferredState>NJ</PreferredState>
<ErrorMessage />
</Results>
<Usage>
<Used>100</Used>
<Remaining>1000</Remaining>
</Usage>
<Duration>0.0033978999999999997</Duration>
<TimeStamp>2017-02-02T18:04:40.8111946-05:00</TimeStamp>
</Root>