Skip to content
Public demo — no signup, no API key

Address validation API demo

Paste any US address and read the response the API returns. Street-level coordinates, congressional and state legislative districts (in the ten states that redrew for 2026, both the seated district and the one the address votes in this November), Census tract estimates, and a trust score computed per the published scoring spec.

Try:

Rate limited to 5 requests/min per IP. After 3 calls per hour, a Cloudflare Turnstile bot-check keeps the demo fast. Data sources: US Census Geocoder + Census ACS 5-year. Want per-key limits instead of per-IP, plus USPS DPV/CMRA/vacancy on your own license?Grab a free API key.

Trust score

Grade

Paste an address on the left. We geocode, enrich, and score in about 1 second.

Letter bands · 0–100

F
D
C
B
A
040607590100

Growth+ signal · locked

Fraud risk 0.00 – 1.00

Upgrade

The free demo uses Census signals only. Growth+ API keys unlock a deterministic fraud risk score built from 6 weighted USPS-grade signals — the full chargeback-correlated model used in production checkouts.

  • cmra+0.40
  • undeliverable+0.35
  • vacant+0.20
  • general_delivery+0.15
  • partial_match+0.10
  • po_box+0.05

Emits checkout.risk_detected webhook at score ≥ 0.60.

Unlock fraud risk →
Full JSON response
{
  "input": { "streetAddress": "1200 Main St", "city": "Dallas", "state": "TX", "ZIPCode": "75202" },
  "geocode": {
    "coordinates": { "lat": 32.779519, "lng": -96.804202, "accuracy": "street_interpolated" },
    "census": { "tract": "003102", "block": "1021", "county_fips": "48113", "state_fips": "48" },
    "match_type": "Exact",
    "source": "census_geocoder"
  },
  "demographics": {
    "census_tract": "48113003102",
    "demographics": {
      "median_household_income": 136518,
      "population": 1823,
      "vacancy_rate": 0.084,
      "owner_occupied_pct": 0.386,
      "median_year_built": 1966
    },
    "vintage": "2024_acs5",
    "source": "census_acs_5yr"
  },
  "districts": {
    "congressional": {
      "geoid": "4830", "name": "Congressional District 30", "district": "30", "vintage": "119",
      "representative": { "name": "Jasmine Crockett", "party": "D", "url": "https://crockett.house.gov" }
    },
    "congressional_2026": {
      "geoid": "4833", "name": "Congressional District 33", "district": "33",
      "status": "in_effect_under_challenge", "status_as_of": "2026-08-20", "source": "state_enactment",
      "note": "Texas PLANC2333 (89th Legislature, 2nd C.S., 2025); in effect for 2026 under a U.S. Supreme Court stay while the merits appeal continues. Seats on 2026-cycle lines are filled at the November 2026 election — no representative is matched to this district."
    },
    "state_senate": { "geoid": "48023", "name": "State Senate District 23", "district": "023", "vintage": "2024" },
    "state_house": { "geoid": "48114", "name": "State House District 114", "district": "114", "vintage": "2024" },
    "basis": "Point-in-polygon assignment against US Census Bureau TIGER/Line district boundaries maintained in our own tables. Authoritative for outreach, mail targeting and file segmentation; a parcel on a boundary line needs the local election office."
  },
  "trust": {
    "score": 100,
    "grade": "A",
    "label": "high_trust",
    "description": "High-trust address. Matched exactly on the Census road network, stable tract, no adverse ACS signals.",
    "signals": []
  },
  "summary": "This address scored 100/100 (A — high trust). Census Geocoder returned street-level coordinates (32.77952, -96.80420). The surrounding census tract has a median household income of $136,518. Tract vacancy rate is 8.4%. Tract population: 1,823. No adverse signals detected."
}

The response, field by field

One request returns five blocks. Each states its source.

Input and match

The demo echoes your address back unchanged and reports the match type from the Census geocoder: Exact when the road network matches the house number, Non_Exact when it interpolates. The demo does not rewrite the address into postal form; standardization runs on the keyed endpoint, which returns the normalized street line and a resolution verdict.

Geocode

Latitude and longitude from the US Census Bureau geocoder, with the Census tract and block containing the point and the match type the geocoder returned. The accuracy field names the method, not a measured precision: coordinates are interpolated along the matched street segment, not the rooftop.

Districts

Congressional, state senate and state house districts, assigned by point-in-polygon against US Census Bureau TIGER/Line district boundaries, with the seated representative and party where one exists. In the ten states that redrew for 2026 a second congressional entry appears, carrying that state's enacted map, its litigation status, and the date that status was checked. No representative is attached to it, because those seats are filled in November.

Tract estimates

Median household income, population, housing units, vacancy and owner-occupancy shares, and median year built, from the Census Bureau's five-year American Community Survey. Every figure describes the surrounding tract, not the individual household or property.

Score

One number, one letter, and the signals that set them. Each signal subtracts a defined amount, and every signal that fired is returned with the score. The weights, thresholds and letter cutoffs are published in the scoring spec; any grade can be recomputed by hand.

Drop into your stack

Same endpoint, three languages. No auth header needed on /api/demo/intelligence.

curl "https://api.revaddress.com/api/demo/intelligence?streetAddress=1200+Main+St&city=Dallas&state=TX&ZIPCode=75202"

# {
#   "trust": { "score": 100, "grade": "A", "label": "high_trust", "signals": [] },
#   "geocode": { "coordinates": { "lat": 32.779519, "lng": -96.804202, "accuracy": "street_interpolated" }, ... },
#   "districts": {
#     "congressional":      { "district": "30", "representative": { "name": "Jasmine Crockett", ... } },
#     "congressional_2026": { "district": "33", "status": "in_effect_under_challenge", ... },
#     "state_senate": { "district": "023", ... }, "state_house": { "district": "114", ... }
#   },
#   "summary": "This address scored 100/100 (A — high trust). ..."
# }

FAQ

Is the address validation API demo free?

Yes. The demo calls a public endpoint with no API key and no account. It is rate limited per IP, with a bot check after the first few calls. A free API key raises the limits and moves them from per-IP to per-key.

What does the demo return for one address?

Street-level coordinates with the Census block and tract they fall in, a plus code, the match type from the Census geocoder, congressional and state legislative districts with the seated representative, five-year American Community Survey estimates for the surrounding tract, and a trust score computed per the published scoring spec. The demo echoes the address back unchanged; standardization runs on the keyed endpoint.

Where does the district assignment come from?

Point-in-polygon assignment against US Census Bureau TIGER/Line district boundaries. In the states that redrew for 2026, the demo also returns the district the address votes in this November, taken from that state's own enacted map and stamped with its litigation status.

Does the demo perform USPS address verification?

No. The demo runs on US Census Bureau data: it geocodes the address and returns the match type, but no USPS delivery-point confirmation, ZIP+4, or vacancy flag. It is not a CASS certification and it does not run NCOA. USPS-verified fields need a USPS license connected to an API key.