198 million verified US addresses — enriched with flood zones, census tracts, county codes, coordinates, and timezone in a single API call. Under 5ms. One key. Works from anywhere in the world.
Not just valid or invalid — a complete data package. Every address comes back verified, geocoded, and enriched with 8 fields. Ready for compliance, routing, risk scoring, or any workflow that needs to act on a location.
No SDK to install, no OAuth dance, no configuration files. One HTTPS request from any language, any country. If you can call a REST API, you're ready in minutes.
Pure REST + JSON. No SDK, no configuration, no query language to learn. Send a street address, get back county code, census tract, coordinates, flood zone, timezone, and confidence score — every time, from any stack.
# Verify and enrich an address curl "https://geoclear.io/api/address\ ?street=350+Fifth+Ave\ &city=New+York&state=NY" \ -H "X-Api-Key: gc_live_your_key" # Autocomplete as user types curl "https://geoclear.io/api/suggest\ ?q=350+fifth&state=NY&limit=5" \ -H "X-Api-Key: gc_live_your_key" # Bulk verify up to 1000 addresses curl -X POST "https://geoclear.io/api/address/bulk" \ -H "X-Api-Key: gc_live_your_key" \ -H "Content-Type: application/json" \ -d '{"addresses":[...]}'
// npm install node-fetch (or use built-in fetch) const GC_KEY = process.env.GC_API_KEY; async function verifyAddress(street, city, state) { const url = `https://geoclear.io/api/address ?street=${encodeURIComponent(street)} &city=${encodeURIComponent(city)} &state=${state}`; const res = await fetch(url, { headers: { 'X-Api-Key': GC_KEY } }); return res.json(); } const result = await verifyAddress( '350 Fifth Ave', 'New York', 'NY' ); console.log(result.county_fips); // "36061"
import requests, os GC_KEY = os.environ["GC_API_KEY"] def verify_address(street, city, state): resp = requests.get( "https://geoclear.io/api/address", params={ "street": street, "city": city, "state": state }, headers={"X-Api-Key": GC_KEY} ) resp.raise_for_status() return resp.json() data = verify_address("350 Fifth Ave", "New York", "NY") print(data["census_tract"]) # "010700"
{ "ok": true, "address": "350 5th Ave", "city": "New York", "state": "NY", "zip": "10118", "county": "New York", "county_fips": "36061", "census_tract": "010700", "lat": 40.7484, "lon": -73.9967, "timezone": "America/New_York", "fema_zone": "X", "plus4": "1901", "rdi": "Commercial", "confidence": 97, "status": "verified" }
Search any US address. Results are live — served directly from production, showing exactly what your application would receive.
Every lookup returns a complete intelligence package — not just whether an address exists, but everything your product needs to act on it. No extra calls, no joins, no lookups.
Start free. Scale as you grow. No per-seat fees, no setup costs, no long-term contracts. USD pricing — open to teams anywhere in the world.
Need unpredictable volume? Pay-as-you-go at $0.001/lookup — no monthly commitment. | Need more than 5M/month? Talk to us about Enterprise →
Used by teams in insurance, logistics, fintech, and real estate — building on US location data from anywhere in the world. Free tier: 10,000 lookups/month. No credit card. No lock-in.