Developer APICase Study

A Multi-Source Address Enrichment API for Real Estate and Insurance

How we built a production API that enriches any US address with flood risk, demographics, and broadband data from 5 redundant government sources.

5
Data Sources
<500ms
Response Time
Full
Redundancy
All US
Coverage

The Challenge

Real estate platforms, insurance underwriters, and property management companies need enriched address data — flood risk zones, demographic profiles, broadband availability — but getting this data is a nightmare of government APIs, each with different formats, authentication methods, and reliability issues.

The FEMA National Flood Hazard Layer API returns XML in one format. The Census Bureau's American Community Survey requires raw URL construction (it rejects encoded URL parameters). FCC broadband data uses yet another schema. Each source has its own rate limits, downtime patterns, and data quirks.

Companies were either paying enterprise vendors thousands per month for aggregated data, or building fragile in-house integrations that broke whenever a government API changed its format. There was a clear gap for a clean, affordable API that handles the complexity behind a single endpoint.

The Solution

Claude architected and built the entire API service:

5 Data Sources with Redundancy Each data category has a primary source with an automatic fallback: - Flood risk: FEMA National Flood Hazard Layer (NFHL) as primary, OpenFEMA NFIP Policies as fallback. If the primary GIS query times out or returns no data, the system automatically queries the fallback source and normalizes the response to the same schema. - Demographics: Census American Community Survey (ACS). Claude discovered that the Census API rejects URLSearchParams-encoded requests — it requires raw URL construction, a quirk that would have taken hours to debug without AI assistance. - Broadband: FCC broadband availability data by location - Geocoding: Address normalization and coordinate resolution - Property basics: Parcel-level data where available

Clean REST API A single endpoint accepts any US address and returns enriched data across all five categories. The response is normalized — regardless of which underlying source provided the data, the API returns a consistent JSON schema. Developers don't need to understand FEMA flood zone codes or Census tract identifiers.

Production Infrastructure - Node.js service running as a systemd unit on Vultr - SSL via Let's Encrypt with auto-renewal - API key authentication with rate limiting - Health monitoring integrated with the shared dashboard - Nginx Proxy Manager routing at addressapi.portofcams.com

Error Handling and Resilience Government APIs are notoriously unreliable. The service implements: - Automatic failover between primary and fallback sources - Graceful degradation (returns available data even if one source is down) - Response caching for repeated lookups - Detailed error logging for source-specific debugging

The Results

Address API launched as a production-ready enrichment service:

  • 5 integrated data sources with full redundancy — no single point of failure
  • Sub-500ms response times for enriched address lookups including flood, demographics, and broadband
  • All-US coverage with automatic fallback when primary sources are unavailable
  • Clean developer experience — one endpoint, one API key, consistent JSON responses
  • SSL-secured with Let's Encrypt auto-renewal (next renewal June 2026)
  • Zero maintenance since deployment — the systemd service has required no manual intervention

The API was built, tested, and deployed to production in three development sessions. Every line of code — HTTP handlers, source integrations, error handling, deployment scripts — was written with Claude as the engineering partner.

Claude's Role

Claude designed the multi-source architecture with automatic failover, built every data source integration (debugging the Census API's URL encoding quirk), implemented the response normalization layer, configured systemd deployment, and set up SSL with Let's Encrypt. It served as the sole engineer across three build sessions.

Tech Stack

Node.jsExpressSystemdNginxLet's EncryptREST APIVultr VPS

Want results like these?

Let's talk about what AI can do for your business.