A straight comparison of pricing, data depth, enrichment coverage, and API design — so you can choose the right address API for your use case.
GeoClear is built specifically for risk-aware applications — insurance, mortgage, real estate, and compliance — while SmartyStreets focuses on address standardization and USPS delivery validation.
| Capability | GeoClear | SmartyStreets |
|---|---|---|
| Address lookup & verification | ✓ 120M+ US addresses | ✓ USPS-certified |
| Geocoding (lat/lon) | ✓ Included | ✓ Included |
| Address autocomplete | ✓ Included in all plans | ~ Paid add-on |
| FEMA flood zone | ✓ Zone + SFHA + panel number | ✗ Not available |
| Wildfire risk | ✓ Score + risk class (USGS) | ✗ Not available |
| Earthquake risk | ✓ PGA + risk class | ✗ Not available |
| Drought risk | ✓ USDM classification | ✗ Not available |
| FEMA NRI composite score | ✓ 18-hazard composite | ✗ Not available |
| Census tract / block | ✓ Included | ~ Pro plan only |
| County FIPS | ✓ Included | ✓ Included |
| Timezone | ✓ IANA tz string | ~ Separate endpoint |
| RDI (Residential Delivery) | ✓ Included | ✓ Included (USPS source) |
| FAA drone airspace | ✓ UAS classification | ✗ Not available |
| Bulk processing | ✓ Up to 100 per request + CSV | ✓ Up to 100 per request |
| Nearby address search | ✓ Radius-based | ✗ Not available |
| Free tier | ✓ 10K lookups/mo, no card | ~ 250 lookups/mo only |
| Response format | ✓ Clean JSON, single schema | ~ Nested arrays, USPS codes |
| API key auth | ✓ X-Api-Key header | ✓ auth-id + auth-token |
| MCP (AI agent integration) | ✓ Model Context Protocol server | ✗ Not available |
SmartyStreets prices by "subscription credits" with confusing conversion rates. GeoClear prices by lookup count with a predictable monthly cap.
The core lookup maps 1-to-1. Here's the before/after for a single address lookup:
// SmartyStreets US Street Address API fetch(`https://us-street.api.smarty.com/street-address ?auth-id=YOUR_AUTH_ID &auth-token=YOUR_AUTH_TOKEN &street=1600+Pennsylvania+Ave+NW &city=Washington &state=DC`) .then(r => r.json()) .then(data => { // data is an array, even for single lookups const result = data[0]; const lat = result.metadata.latitude; const lon = result.metadata.longitude; const county = result.metadata.county_name; // flood zone: NOT available in SmartyStreets // wildfire, earthquake: NOT available });
// GeoClear Address API fetch(`https://geoclear.io/api/address ?street=1600+Pennsylvania+Ave+NW &city=Washington &state=DC`, { headers: { 'X-Api-Key': 'YOUR_GC_KEY' } }) .then(r => r.json()) .then(result => { // Single object, not an array const lat = result.latitude; const lon = result.longitude; const county = result.county; // Enrichment included by default: const flood = result.enrichment.flood_zone; const wildfire = result.enrichment.wildfire_risk; const earthquake = result.enrichment.earthquake_risk; });
// Deep risk data — flood zone, SFHA, wildfire, earthquake, NRI fetch(`https://geoclear.io/v1/address/risk ?street=123+Main+St &city=Los+Angeles &state=CA`, { headers: { 'X-Api-Key': 'YOUR_GC_KEY' } }) .then(r => r.json()) .then(risk => { console.log(risk.flood.zone); // "AE" console.log(risk.flood.in_sfha); // true console.log(risk.wildfire.risk_class); // "Very High" console.log(risk.wildfire.score); // 87 console.log(risk.nri.risk_rating); // "Relatively High" console.log(risk.earthquake.pga); // 0.42 });
auth-id + auth-token with X-Api-Key: gc_live_... headerus-street.api.smarty.com to geoclear.ioGet your free API key, run 10K lookups, and compare the data quality yourself — no card, no sales call.