Official SDK for the AddressVerify API: validate U.S. residential addresses, classify home types, and get estimated property values in real time.
- 🏠 Address validation: confirm an address is a real, deliverable U.S. residence
- 🏷️ Home-type classification:
SINGLE_FAMILY,MULTI_FAMILY,APARTMENT,CONDO,TOWNHOUSE,MANUFACTURED,LOT - 💰 Property values: estimated home value, plus optional expanded property data
- 📦 Zero runtime dependencies: uses native
fetch(Node 18+) - 🟦 Fully typed: first-class TypeScript types
npm install addressverifyCreate a free account at app.addressverify.io and copy your API key from the dashboard. The free tier includes 50 free API calls to get started.
import { AddressVerify } from "addressverify";
const av = new AddressVerify({ apiKey: process.env.ADDRESSVERIFY_API_KEY! });
// Single-line address
const result = await av.verify("123 Main St, New York, NY 10001");
console.log(result.addressValid); // true
console.log(result.homeType); // "SINGLE_FAMILY"
console.log(result.homeValue); // 273900const result = await av.verify({
street: "20 Marie St",
city: "Iberia",
state: "MO",
zip: "65486",
});Pass { expanded: true } to receive parsed address components, property details, tax
assessment, and listing data (available on all plans at no extra cost):
const result = await av.verify("20 Marie St, Iberia, MO 65486", { expanded: true });
console.log(result.propertyInfo?.bedrooms); // 4
console.log(result.taxAssessment?.taxAssessedValue); // 150210
console.log(result.listing?.listingStatus); // "recentlySold"Non-2xx responses throw an AddressVerifyError with the HTTP status and parsed body:
import { AddressVerify, AddressVerifyError } from "addressverify";
try {
await av.verify("not a real address");
} catch (err) {
if (err instanceof AddressVerifyError) {
console.error(err.status); // e.g. 422
console.error(err.body); // API error payload
}
}| Status | Meaning |
|---|---|
400 |
Bad Request: invalid or missing parameters |
401 |
Unauthorized: invalid API key |
422 |
Invalid address (e.g. missing street number) |
429 |
Too Many Requests: rate limit exceeded |
new AddressVerify({
apiKey: "...", // required
baseUrl: "https://api.addressverify.io" // optional override
});verify() also accepts an AbortSignal for cancellation/timeouts:
await av.verify("123 Main St, New York, NY 10001", {
signal: AbortSignal.timeout(5000),
});- Home Verify (homeowner + person & property lookup,
…/isHomeOwner/homeOwner): coming to the SDK. Already available on the REST API.
- 🌐 Website: https://addressverify.io
- 📚 API docs: https://addressverify.io/docs
- 🔑 Get an API key: https://app.addressverify.io/user/register
MIT © AddressVerify
{ "address": "20 Marie St, Iberia, MO 65486", "addressValid": true, "homeType": "SINGLE_FAMILY", "homeValue": 371000, // present only with { expanded: true } "addressInfo": { "streetAddress": "20 Marie St", "zipcode": "65486", "city": "Iberia", "state": "MO" }, "propertyInfo": { "bathrooms": 2, "bedrooms": 4, "livingArea": 2072, "yearBuilt": 2001, "lotSize": "1.84 acres" }, "taxAssessment": { "taxAssessedValue": 150210, "taxAssessmentYear": "2024" }, "listing": { "lastSoldDate": "2025-05-22", "isPreforeclosureAuction": false, "listingStatus": "recentlySold" } }