Atlas · API
Every address a storm
was reported near, or might reach next.
Atlas United risk models for every U.S. address: address-level storm forecasts for the next 24 hours to 10 days, plus every reported storm near that address back to 2003. Pay per address, no contract. Free previews on every dataset.
1 ENDPOINT · FREE PREVIEWS · BEARER TOKEN FOR REAL PULLS · JSON OR CSV · FORECASTS REFRESH 4×/DAY
I · Quickstart
Free preview. Then addresses=true.
Previews need no token at all. Sign up, add a balance, get a key, and pass it only when you're ready for the real, billed pull.
# Past Storm Leads by Address: free preview, no token needed curl "https://data.truefixr.com/v1/data?dataset=storms&state=TX&county=Travis" # Response { "dataset": "storms", "county": "Travis", "total_leads": 1079, "storm_types": {"THUNDERSTORM_WIND": 502, "HEAVY_RAIN": 277, "HAIL": 300} } # Same URL, add addresses=true, for the real pull curl "https://data.truefixr.com/v1/data?dataset=storms&state=TX&county=Travis&addresses=true" \ -H "Authorization: Bearer YOUR_API_KEY" # Only want one storm type? Filter with peril= -- free on preview, cheaper on the real pull (fewer addresses returned) curl "https://data.truefixr.com/v1/data?dataset=storms&state=TX&county=Travis&peril=HAIL" # Real severity too, not just type -- e.g. hail 2.5in and up (see severity_by_type in the preview for what's actually on file) curl "https://data.truefixr.com/v1/data?dataset=storms&state=TX&county=Travis&peril=HAIL&min_severity=2.5" # Everything for ONE address -- its own storm history + that county's current forecast risk, one call curl "https://data.truefixr.com/v1/data?dataset=address&lat=30.3445&lon=-97.9157" # ML Storm Forecast by Address: storm type + structure replacement value and people, free preview curl "https://data.truefixr.com/v1/data?dataset=risk&state=TX&county=Travis&peril=HAIL"
1 endpointFree previews5 cents per addressYour API key for pullsNo SDK requiredPrepaid balance
II · Five products
Forecast the storm. Look back at what was reported.
Same endpoint, same shape. dataset= switches between products. Every product has a free preview that shows counts and the exact price first.
ML Storm Forecast by Address
Probabilistic address-level forecasts for 10 perils from per-peril machine-learning models, 24 hours to 10 days ahead, refreshed 4 times a day. Each address record leads with the structure replacement value and estimated people at that address, plus a forecast time and a risk label. Ten perils: TORNADO, HAIL, WIND, FLASH_FLOOD, HEAVY_RAIN, WINTER, ICE, COASTAL_SURGE, HURRICANE, WILDFIRE.
You get: structure_value (replacement cost, not market value), people, full_address, city, state, zip, county, lat, lon, storm_type, forecast_time, risk_label, storm_hits.
Price: $0.05 per address. Free preview first.
Forecasts describe what could happen, not what will happen. Not a prediction of damage to any structure. The free preview shows counts, per-peril totals and the exact cost; the county grade is a teaser label, not a property score.
Model-Based Weather by Address
Point weather for any U.S. coordinate: current conditions, active severe weather alerts and a short-term rain outlook. The lean response is free with no account. Add details=true for the full pull of over 170 variables, including hail size, rotation, lightning, reflectivity and cloud measures.
You get: location, valid_time, alerts, temperature_f, dewpoint_f, humidity_pct, wind_speed_mph, wind_gust_mph, wind_direction_deg, precip_in, precip_type, pressure_mb, visibility_mi. With details=true, the full variable set.
Price: Lean response free. $0.0002 per call with details=true. Batch: $0.0002 per location, up to 500 per call.
Conditions, not a hazard or damage assessment. Forecast snapshots carry fewer fields than current conditions.
Model-Based Hourly Forecast by Address
Forecast hours from 0 to 48 ahead for any U.S. coordinate. The response snaps to the nearest available hour and reports forecast_hour_used. With details=true it returns about 40 core fields plus tornado_rotation_score.
You get: forecast_hour_used, forecast_note, valid_time, alerts, temperature_f, dewpoint_f, humidity_pct, wind_speed_mph, wind_gust_mph, precip_in, visibility_mi, pressure_mb, tornado_rotation_score.
Price: $0.0002 per call.
Forecast hours carry fewer fields than current conditions. Forecasts describe what could happen, not what will happen.
Storm History by Address: Reported and Radar-Detected Events Since 2003
One property, all 11 reported-event categories (hail, wind, flood, lightning, tornado, hurricane, winter storm, extreme heat and cold, drought, wildfire, coastal) from 2003 to today, as one citable report with a reference ID. Optional date_of_loss=YYYY-MM-DD answers whether an event was reported or radar-detected near the address on that date, and lists events before and after it. A summary cut, hazard_score, is $0.50 per property.
You get: One line per event: date, type, magnitude with units where measured, distance in miles and county. Significant thresholds: hail 0.75 in, wind 50 mph, winter storm 6 in.
Price: $0.05 per event line, $10 minimum per report. The free preview shows the exact line count and price.
A record of reported and radar-detected events, not a damage assessment. It does not confirm a claim or a loss.
Past Storm Leads by Address: Reported and Radar-Detected, Last 365 Days
Storms that already happened, by address. Address-level records of events reported or radar-detected at or near each address over the last 365 days, filterable by county, peril and measured severity.
You get: full_address, city, state, zip, county, lat, lon, storm_type, event_time, severity, severity_unit, distance_mi, storm_hits.
Price: $0.05 per address. The free preview shows counts, severity ranges, addresses with repeat storms and the exact cost.
A record of reported and radar-detected events, not a damage assessment, inspection or repair estimate. Severity describes the storm, not damage to a structure.
III · Storm History by Address · dataset=history
2003 to present. One report, 11 event categories.
Free preview shows the real line count and total price before anyone pays. A record of reported and radar-detected events, not a damage assessment.
history.sh
# Free preview -- real line count and total price, no token needed curl "https://data.truefixr.com/v1/data?dataset=history&address=891+Lake+Hollow+Blvd+SW,+Marietta,+GA+30064" # Response { "real_line_count": 362, "estimated_cost_usd": 18.1, "by_peril": {"hail": 65, "wind": 123, "flood": 10, "lightning": 7, "tornado": 2, "winter": 67} } # Real pull -- $0.05 per line, $10.00 minimum per report curl "https://data.truefixr.com/v1/data?dataset=history&address=891+Lake+Hollow+Blvd+SW,+Marietta,+GA+30064&addresses=true" \ -H "Authorization: Bearer YOUR_API_KEY" # Date-of-loss lookup -- a yes/no on whether a storm was reported or radar-detected near the address on that date curl "https://data.truefixr.com/v1/data?dataset=history&address=891+Lake+Hollow+Blvd+SW,+Marietta,+GA+30064&date_of_loss=2026-06-14"
IV · Model-Based Weather and Hourly Forecast by Address · dataset=weather
Any US point. Right now.
Current conditions, or forecast hours 0 to 48 ahead with hours_ahead=. Free lean response by default; details=true for the full pull, billed per call, not per address. Batch endpoint covers up to 500 locations in one call.
weather.sh
# Model-Based Weather by Address: free lean response, no account needed curl "https://data.truefixr.com/v1/data?dataset=weather&lat=31.07&lon=-97.65" # Response { "temperature_f": 74.2, "wind_speed_mph": 13.5, "wind_gust_mph": 20.4, "precip_type": "none", "humidity_pct": 29.4 } # Full pull -- $0.0002 per call, not per address curl "https://data.truefixr.com/v1/data?dataset=weather&lat=31.07&lon=-97.65&details=true" \ -H "Authorization: Bearer YOUR_API_KEY" # Model-Based Hourly Forecast by Address: forecast hour 12, $0.0002 per call curl "https://data.truefixr.com/v1/data?dataset=weather&lat=31.07&lon=-97.65&details=true&hours_ahead=12" \ -H "Authorization: Bearer YOUR_API_KEY" # Batch -- up to 500 locations in one call, conditions + active severe-alert status for each curl -X POST "https://data.truefixr.com/v1/weather/batch" \ -H "Content-Type: application/json" \ -d '{"locations": [{"lat": 31.07, "lon": -97.65}, {"lat": 38.90, "lon": -77.04}]}'
V · Reference
One path. Every combination.
There's nothing else to browse. Pick a data set, pick a mode, and the real request and response update below.
# Free -- no token needed curl "https://data.truefixr.com/v1/data?dataset=storms&county=Travis&state=TX" # Response { "dataset": "storms", "county": "Travis", "state": "TX", "last_updated": "2026-09-22T21:50:03Z", "total_leads": 1079, "storm_types": { "THUNDERSTORM_WIND": 502, "HEAVY_RAIN": 277, "HAIL": 300 } }
# Past Storm Leads by Address. Billed: $0.05 per address returned curl "https://data.truefixr.com/v1/data?dataset=storms&county=Dallas&state=TX&peril=HEAVY_RAIN&addresses=true&limit=1" \ -H "Authorization: Bearer YOUR_API_KEY" # Response { "county": "dallas", "state": "TX", "total_leads": 1229944, "returned": 1, "peril_filter_applied": "HEAVY_RAIN", "leads": [ { "full_address": "2121 Uhl Rd, , TX 75154", "lat": 32.5476, "lon": -96.8457, "storm_type": "HEAVY_RAIN", "event_time": "2026-10-01 16:12:00", "severity": 2.28, "severity_unit": "in", "distance_mi": 1.93, "storm_hits": 1 } ], "reference_id": "TFX-202610-0116AECD" }
# Free -- no token needed curl "https://data.truefixr.com/v1/data?dataset=risk&county=Lexington&state=SC" # Response { "dataset": "risk", "county": "Lexington", "state": "SC", "window": "10d", "grade": "C", "grade_label": "Elevated risk", "total_leads": 1000, "generated": "2026-09-22T21:25:14Z", "data_age_hours": 2.4 }
# Billed: $0.05 per address returned curl "https://data.truefixr.com/v1/data?dataset=risk&county=Dallas&state=TX&window=24h&addresses=true&limit=1" \ -H "Authorization: Bearer YOUR_API_KEY" # Response { "county": "Dallas", "state": "TX", "window": "24h", "total_leads": 809, "returned": 1, "exposure_value_usd": 204622180150, "exposure_people": 1550820, "value_basis": "Replacement cost of structure (not market value)", "leads": [ { "full_address": "405 Evergreen Trail, Cedar Hill, TX 75104", "structure_value": 300882, "people": 3.5, "storm_type": "HEAVY_RAIN", "forecast_time": "2026-10-04T12:27:00Z", "risk_label": "Extreme", "storm_hits": 2 } ], "reference_id": "TFX-202610-6A3B8262" }
Calling the endpoint with no params at all returns the same menu, as JSON: what dataset values exist, what they mean, and this pricing.
| Parameter | Used with | What it does |
|---|---|---|
| dataset | all | Switches the product: risk, weather, history, storms, address, hazard_score, coverage. |
| state, county | storms, risk, coverage | County preview, free, no token. state alone with dataset=coverage lists every real county name. |
| addresses=true | storms, risk, history | The real, billed pull of address-level records. Requires the Authorization: Bearer header. |
| peril | storms, risk | Filter to one storm type, e.g. HAIL. Free on preview, cheaper on the real pull (fewer addresses returned). |
| min_severity | storms | Real severity, not just type, e.g. hail 2.5in and up. See severity_by_type in the preview for what's actually on file. |
| lat, lon | address, weather, history | One point. dataset=address returns its own storm history plus that county's current forecast risk, one call. |
| address | history | A plain address string; geocoding happens server-side. |
| date_of_loss | history | YYYY-MM-DD. A real yes/no on whether a storm was reported or radar-detected near the address on that date, plus the real events immediately before and after it. |
| hours_ahead | weather | 0 to 48. Returns forecast hours instead of current conditions (Model-Based Hourly Forecast by Address) and reports forecast_hour_used. |
| details=true | weather | Full pull, billed per call ($0.0002), not per address. Default is the free lean response (10 core fields). |
| POST /v1/weather/batch | weather | Up to 500 locations in one call, JSON body with a locations array of lat/lon pairs. |
This table is a summary of the samples on this page. Responses are JSON or CSV.
Don't know a county name? Check coverage first
# Free, no token. Every state we cover curl "https://data.truefixr.com/v1/data?dataset=coverage" # Free, no token. Every real county name in that state curl "https://data.truefixr.com/v1/data?dataset=coverage&state=TX" # Response { "state": "TX", "storms_county_count": 301, "risk_county_count": 254, "storms_counties": ["anderson", "andrews", "angelina", "..."] }
VI · How it works
Look first. Pay for what you take.
Preview any county
Call the endpoint with a county and state. Get counts, storm types and per-peril totals back, zero cost, zero token.
?dataset=storms&county=TravisGet a key, add a balance
Sign up, fund your balance, get your key. No procurement call, no integration meeting.
Authorization: Bearer YOUR_API_KEYPull the real addresses
Add addresses=true. You get the real, address-level records and your balance drops by exactly what came back.
&addresses=trueVII · Account and keys
Developer API. Get Free API Access.
Free to preview. $0.05 per address on the real pull. No plans, no seats.
- New accountEmail, name and company (optional) get you a key. Starting balance: Free, or a balance to unlock paid pulls. Free preview access; add a balance any time from Manage account to unlock paid pulls. Sign up on the get started page.
- PricingPer address: $0.05. Preview calls: Free. Auto-reload is optional, off unless you tick it when you add money. With it off, calls pause at $0. $25 minimum. No cap beyond that, your bank decides what clears.
- Your API keyKey issued: save it somewhere real, this is the only time it's shown in full. Also emailed to you. Keys look like
tfx_live_... - Manage accountPaste your key to see your balance, usage, and add funds. Shows current balance, this month's addresses, spent, and plan (Pay-as-you-go).
- Add funds$25, $50, $100 or Other. Charged and added, receipt emailed to you. Powered by Stripe: card never touches our servers. By providing your card information, you allow TrueFixR to charge your card for future payments in accordance with their terms.
- Rotate keyThink this key leaked? Rotate it: the old one stops working immediately. The new key is also emailed.
- Recover keyWe'll email it to the address on file, whether or not it exists. If that address has a key, it's on its way. Nothing shown either way, on purpose.
VIII · Get started
Build on real storm data.
Five products, one endpoint. Free previews, pay per address, prepaid balance.
Questions about volume, billing or formats? Use the Contact us button above.
Private briefing