API Reference › Property Search
Address Autocomplete
POST /v1/api/property-search/autocomplete/
Cost: Free.
Rate limit: 30 requests per minute per account.
Mode: Sync
Resolve a free-text address string to canonical property records. Use this before calling /lookup/ to validate that an address exists in our database, and to get back the canonical city/zip values our lookup endpoint expects.
FREE: zero credits charged. This is a pre-flight validation tool. Use it as much as needed before paying for a full lookup.
When to use it
- Before /lookup/ on messy data: CRM exports, hand-typed lists, web form submissions, any address you're not 100% sure about. Run it through autocomplete first; only pay for /lookup/ on resolved addresses.
- Neighborhood-vs-USPS city: Customers often type neighborhood names ("Williamsburg", "Park Slope", "Highland Park") that USPS canonicalizes to a different city label ("Long Island City", "Brooklyn", "Los Angeles"). Our /lookup/ endpoint requires the canonical city; this endpoint tells you what it is.
- Typo / suffix variation: "123 Main" vs "123 Main St" vs "123 Main Street", autocomplete normalizes all to the canonical form.
- Address verification at scale: validating thousands of addresses without burning credits.
Rate limit
30 requests per minute per account. If you exceed this you'll get a 429 Too Many Requests with an Autocomplete rate limit exceeded message, back off and retry. The throttle is purely a fair-use guard so individual accounts can't monopolize the underlying address-resolution capacity.
What you get back
An array of up to 10 best-match property records. Each record contains:
- Display: title (the full one-line label, e.g. "742 Evergreen Terrace, Brooklyn, NY, 11211").
- Canonical address parts: street_address, house, street, city, state, zip, county. The address field is the full formatted display string (e.g. "742 Evergreen Terrace, Brooklyn, NY, 11211"), do not re-pass it as address on /lookup/.
- Geographic identifiers: state_fips, county_fips, fips (combined 5-digit code), and apn (Assessor's Parcel Number). These are public US-government identifiers, useful for cross-referencing county records.
- Geometry: latitude, longitude, and location (WKT POINT format) for mapping.
If no matches, results is an empty array.
Picking a result programmatically
Every result is a property address, so results[0] is the best match. Pass street_address as address, and city, state, zip as-is to /lookup/:
# Pseudocode
match = resp["results"][0] if resp["results"] else None
if match:
POST /v1/api/property-search/lookup/ {
"address": match["street_address"], # NOT match["address"]
"city": match["city"],
"state": match["state"],
"zip_code": match["zip"],
}
Related endpoints: APN Autocomplete · TraceAI Assist · List Saved Templates
Fields
search (required): The address string to resolve. Minimum 2 characters. Whitespace and casing don't matter, the resolver handles both.
Responses
200: Success.
400: Missing search field
429: Rate limit reached: 30 requests per minute per account.
503: Upstream temporarily unavailable