One route. A free preview on every dataset. Every example below was run against the live API, and every response is real, trimmed for space.
New here? Start with the AI guide. Copy a prompt, paste it into ChatGPT or Claude, and get a plain answer about any address. No code needed. This page is the technical reference for developers. The glossary below explains the words.
APIA way for one piece of software to ask another for information. You send a question about an address and get the answer back.
API keyYour personal password for paid calls. You send it along with each question so the system knows whose balance to use. Keep it private.
RequestOne question you send to the API, such as asking for the storm history of one address.
JSONThe format answers come back in: plain text with labels and values. Software and AI tools read it easily, and so can you.
EndpointA web address you send requests to. Ours is https://data.truefixr.com/v1/data.
DatasetOne kind of answer you can ask for, such as risk, history or weather. You pick it with dataset=NAME.
Storm History by AddressOne citable report of the storms reported or radar-detected near a property since 2003. Other tools call it a hail history report or a date of loss report. Here it is dataset=history.
AtlasCastAtlas United's forecasting model suite: a separate machine-learning model for each of ten perils, address-level, 24 hours to 10 days ahead. It is the engine behind ML Storm Forecast by Address. It could happen, it is not a promise.
x402A way to pay per call with no account: an AI agent pays a small amount in USDC on Base each time it asks.
MCPA standard plug that lets AI tools like Claude, ChatGPT and Cursor use outside services. Ours is at https://mcp.atlasunited.io/mcp.
Not a developer? Just ask your AI.
Copy this into Claude or ChatGPT, fill in the bracket, and let it walk you through.
Paste this into Claude or ChatGPT
I am not a programmer. Please explain TrueFixR's storm data API to me in plain words, then help me do this: [WRITE WHAT YOU WANT, for example "check 50 property addresses for storm history"].
Base URL: https://data.truefixr.com
Docs: https://truefixr.com/docs.html
Free menu of every dataset and price: https://data.truefixr.com/v1/data
My API key is YOUR_KEY. Paid calls need the header Authorization: Bearer YOUR_KEY. Free previews need no key.
Start with the free previews, tell me the exact price before any paid call, and never make a paid call without asking me. Give me short, step-by-step instructions for a non-programmer.
Five products
Address-level storm data. Pay per address.
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.
AtlasCast, an Atlas United product
ML Storm Forecast by Address
Probabilistic, address-level storm forecasts, 24 hours to 10 days ahead, for 10 perils: tornado, hail, wind, flash flood, heavy rain, winter, ice, coastal surge, hurricane and wildfire. A separate machine-learning model runs for each peril. Models are trained and validated chronologically on held-out reported events, and use only information available at forecast issue time. Forecasts refresh 4 times a day.
You get
Per address: structure replacement value in USD (replacement cost, not market value) and the estimated people there, plus the full address, forecast time, storm type, risk label and past storm reports. Every paid response carries a reference_id receipt.
Price
$0.05 per address. limit= caps the rows; limit=10 is a 50 cent sample.
Free preview
Free. County, window, counts per storm type and the exact cost, with the county A to F grade shown as a teaser only.
What it is not
Forecasts describe what could happen, not what will happen. Not a prediction of damage to any structure. The county grade is a whole-county label, not a property score.
dataset=risk&addresses=true
Atlas United
Model-Based Weather by Address
Point weather for any U.S. address or coordinate: current conditions, active severe weather alerts and a short-term rain outlook.
You get
The free lean answer: temperature, dewpoint, humidity, wind speed, gust and direction, precipitation and type, pressure, visibility and alerts. With details=true, over 170 variables, including hail size, storm rotation, lightning, reflectivity, instability, cloud layers, winds by level, soil, snow and vegetation.
Price
Free lean response. $0.0002 per call with details=true, or $0.0002 per location in a batch of up to 500.
Free preview
The lean response is the free preview. No account.
What it is not
Weather conditions, not a hazard or damage assessment.
dataset=weather&details=true
Atlas United
Model-Based Hourly Forecast by Address
Hour-by-hour forecast weather for any U.S. address or coordinate, 0 to 48 hours ahead. The answer says which forecast hour it used.
You get
Temperature, dewpoint, humidity, wind, gust, precipitation, visibility, pressure, hail size, lightning rate and a tornado rotation score for the hour you ask about, about 40 core fields with details=true, plus forecast_hour_used and a forecast note.
Price
$0.0002 per call with details=true. The lean answer is free.
Free preview
The lean response is free, no account.
What it is not
Forecast hours carry fewer fields than current conditions. Weather, not a hazard or damage assessment.
dataset=weather&hours_ahead=0-48
TrueFixR
Storm History by Address: Reported and Radar-Detected Events Since 2003
One property, 11 reported-event categories (hail, wind, flood, lightning, tornado, hurricane, winter storm, extreme heat and cold, drought, wildfire and coastal), 2003 to today, as one citable report. Every matched event is one line with date, type, magnitude where measured, distance and county. Add a date of loss for a yes or no on whether an event was reported or radar-detected within your radius that day.
You get
A formatted report with a reference_id, one line per event, plus the summary view (hazard score, $0.50 per property): per category the event count, most recent date, years since the last event and, for hail, wind and winter, the most severe event.
Price
$0.05 per event line, $10 minimum per report. Hazard score summary: $0.50 per property, flat.
Free preview
Free. Line count, exact cost, counts for all 11 categories and the date-of-loss answer.
What it is not
A record of reported and radar-detected events, not a damage assessment. It does not support or deny any claim.
dataset=history
TrueFixR
Past Storm Leads by Address: Reported and Radar-Detected, Last 365 Days
Address-level records of storms reported or radar-detected at or near each address in the last 365 days, filtered by county, peril and severity. Sorted by severity, then recency.
You get
Per address: full address, coordinates, storm type, event time, severity with its unit (such as hail inches or wind mph), distance from the event and a hit count for repeat exposure. A reference_id comes with every paid pull.
Price
$0.05 per address.
Free preview
Free. County total, counts per storm type, severity ranges with their units, repeat addresses and the exact cost.
What it is not
A record of reported and radar-detected events, not a damage assessment. Severity describes the storm, not damage to a structure.
dataset=storms&addresses=true
Free previews on every product. Forecasts describe what could happen, not what will happen. Not affiliated with NOAA or the NWS.
1 Quickstart
Three steps.
Get a key
You do not need one for the first call. Free previews work with no account. When you want real address records, get an API key and add a prepaid balance.
Make a call
Ask about one point. This is a free preview, so there is no key and no charge.
const params = new URLSearchParams({
"dataset": "address",
"lat": "32.78",
"lon": "-96.80",
});
const res = await fetch(`https://data.truefixr.com/v1/data?${params}`);
console.log(await res.json());
Read the answer
storm_event_count is how many storm events were reported or radar-detected near that point. storm_types splits them by type. current_forecast_risk is the county forecast label, A to F, context only.
Your appGET /v1/data?dataset=address&lat=32.78&lon=-96.80
TrueFixR APIfinds storm events near the point and the county forecast label
Wrong or missing key on a paid pull? You get a 402 with the price, not a 401. See Errors and limits.
3 Base URL and the menu
One route. It describes itself.
Base URL: https://data.truefixr.com. Main route: GET /v1/data?dataset=NAME. Call it with no parameters and it returns a free menu of every dataset, its example call and its price.
curl
curl https://data.truefixr.com/v1/data
Response 200 (menu, trimmed)
{
"what_is_this": "TrueFixR and AtlasCast real weather data, one endpoint. Call with no params (this response) to see everything available. Every dataset has a free preview (no account needed) and a paid full pull.",
"quick_picks": {
"did a storm hit this address before": {
"call": "GET /v1/data?dataset=address&lat=32.78&lon=-96.80"
}
},
"datasets": {
"storms": {
"summary": "Storms that already happened. Reported and radar-detected events near an address, up to 365 days back.",
"example": "GET /v1/data?dataset=storms&county=Dallas&state=TX&peril=HAIL"
},
"risk": {
"paid_gives": "The real address-level forecast records. Billed per real address, $0.05 each.",
"example": "GET /v1/data?dataset=risk&county=Dallas&state=TX"
}
},
"batch_endpoints": {
"/v1/weather/batch": {
"method": "POST",
"max_locations": 500
}
}
}
Your code, or an AI agent, can read this menu to learn what is available without reading any docs.
4 Datasets
Eleven datasets, one route.
Every block shows the request, the real free preview, the paid pull with its exact price, and what to watch for. Switch the tabs for curl, Python or JavaScript.
dataset
Free preview
Paid pull
storms (Past Storm Leads by Address)
Counts
$0.05 per address
risk (ML Storm Forecast by Address)
Counts and cost, county grade as teaser
$0.05 per address
history (Storm History by Address)
Line count and price
$0.05 per line, $10.00 minimum
hazard_score (Storm History summary)
Counts by peril
$0.50 per property
address (one-property check)
Counts and county label
$0.05 per address
weather (Model-Based Weather by Address; with hours_ahead, Model-Based Hourly Forecast by Address)
Lean response, free
$0.0002 per call (details=true)
facilities
Counts
$0.05 per facility
wildfire (county-level)
Count and summary
$0.05 per county
at_risk
Totals by window
$0.05 per record
coverage
Free always
daily
Free always
storms
Free preview
Past Storm Leads by Address: reported and radar-detected storm events near a place, up to 365 days back.
In plain EnglishPast Storm Leads by Address: storms reported or radar-detected near each address, up to a year back. The free preview tells you how many. Paying gets you the actual records.
What other tools call this: storm leads, storm tracking.
Narrow with peril=HAIL, min_severity=, max_severity= or days=. Narrower filters mean fewer addresses and a lower price.
total_leads is the number of distinct addresses that match. A paid pull returns at most 2,000 addresses unless you raise limit (up to 5,000), so check estimated_cost_usd first. Here it shows $100.00 because the cap is 2,000 addresses.
When a storm type has severity in two units, severity_by_type shows mixed_units. Add severity_unit= or the filter returns a 400.
A storm event means a storm was reported or radar-detected there. It is not an inspection or a damage assessment.
risk
Free preview
ML Storm Forecast by Address: the coming days, what could happen, not what has happened.
In plain EnglishML Storm Forecast by Address: the addresses in the forecast for a county and window (24 hours to 10 days), each with its structure replacement value, estimated people, storm type and risk label. It says what could happen, not what will. The free preview adds the county grade as a teaser.
What other tools call this: storm forecast, addresses in the forecast. You send your own alerts from it.
The forecast is probabilistic. It is refreshed 4 times a day. Check generated and data_age_hours.
grade runs A (no or low risk), B (moderate), C (elevated), D (severe), F (extreme).
Narrow with peril=FLASH_FLOOD. The ten forecast perils are TORNADO, HAIL, WIND, FLASH_FLOOD, HEAVY_RAIN, WINTER, ICE, COASTAL_SURGE, HURRICANE and WILDFIRE.
history
Free preview
One property, 11 reported-event categories, 2003 to present, in one report.
In plain EnglishThe storm history report for one property (a hail history report, with wind and nine more kinds of weather): every reported storm event near it since 2003, in one report. The same kind of report other tools sell as a date of loss report. The free preview shows how many lines it has and the exact price first.
What other tools call this: hail history report, storm history report, date of loss report.
Request
GET/v1/data?dataset=history
curl
curl -G "https://data.truefixr.com/v1/data" \
-d dataset=history \
--data-urlencode "address=891 Lake Hollow Blvd SW, Marietta, GA 30064"
Python (requests)
import requests
r = requests.get(
"https://data.truefixr.com/v1/data",
params={
"dataset": "history",
"address": "891 Lake Hollow Blvd SW, Marietta, GA 30064",
},
)
print(r.json())
JavaScript (Node 18+)
const params = new URLSearchParams({
"dataset": "history",
"address": "891 Lake Hollow Blvd SW, Marietta, GA 30064",
});
const res = await fetch(`https://data.truefixr.com/v1/data?${params}`);
console.log(await res.json());
It is one full report. There is no hail-only or wind-only purchase.
The preview shows the line count and the exact price before you pay anything.
hazard_score
Free preview
Storm History summary: one property's record, summarized by category.
In plain EnglishThe short form of Storm History by Address: a storm summary of one property. For each kind of storm: how often it has hit nearby, the worst one, the latest one, and how many years since the last.
What other tools call this: storm history summary, hail and wind history summary.
Request
GET/v1/data?dataset=hazard_score
curl
curl -G "https://data.truefixr.com/v1/data" \
-d dataset=hazard_score \
--data-urlencode "address=891 Lake Hollow Blvd SW, Marietta, GA 30064"
Python (requests)
import requests
r = requests.get(
"https://data.truefixr.com/v1/data",
params={
"dataset": "hazard_score",
"address": "891 Lake Hollow Blvd SW, Marietta, GA 30064",
},
)
print(r.json())
JavaScript (Node 18+)
const params = new URLSearchParams({
"dataset": "hazard_score",
"address": "891 Lake Hollow Blvd SW, Marietta, GA 30064",
});
const res = await fetch(`https://data.truefixr.com/v1/data?${params}`);
console.log(await res.json());
The free preview gives event counts per peril. The paid pull adds the most recent event date and years since the last event for every peril.
Most severe event size appears only for perils that have a size on file, such as hail and wind. Flood, lightning and tornado are count only.
The price is flat per property. It does not grow with the number of events.
address
Free preview
One property: its storm events over the past year, with the county forecast label as context, in one call.
In plain EnglishA check on one property: the storms reported or radar-detected right at it in the last year. The county forecast label is context only; for address-level forecasts use dataset=risk.
What other tools call this: property storm check, address storm history lookup.
Matches storm events within about 150 meters of the point.
You are billed once per address, no matter how many events it has.
current_forecast_risk uses the same A to F grade as risk.
weather
Free
Model-Based Weather by Address (add hours_ahead=0-48 for Model-Based Hourly Forecast by Address), with a short-term rain outlook and severe alerts.
In plain EnglishModel-Based Weather by Address: the weather right now at any US address: temperature, wind, rain, plus any active severe weather alerts. The basic version is free. With hours_ahead you get Model-Based Hourly Forecast by Address.
What other tools call this: current conditions, wind speed. Includes any active severe alert.
rank takes exposure_value_usd, exposure_people or unique_addresses. limit sets how many rows come back.
It is always free. There is no paid tier for this dataset.
Without rank you get the full nested response, which is large.
5 Batch routes
Up to 500 locations in one call.
Two POST routes for portfolios. Send your own location list each time. These routes have no free preview, so they need a key (or an x402 payment) from the first call.
POST
/v1/weather/batch
Current weather and active alerts for each location. $0.0002 per location. Max 500 locations.
POST
/v1/portfolio/risk
County forecast status for each location (county-level, not address-level). Optional "window":"24h". $0.05 per location. Max 500 locations.
Request body
JSON body
{
"locations": [
{ "lat": 30.27, "lon": -97.74, "label": "optional, your own reference" }
],
"window": "24h"
}
Limit: 500 locations per call. Split larger lists into several calls.
6 Date of loss
Was a storm reported near that day?
Add date_of_loss=YYYY-MM-DD to a history call. You get a plain yes or no: is a severe-weather event on file near the property on that date? The free preview answers yes or no within the radius you set (default 5 miles; minimum 1 mile). The answer can change with the radius. The paid report adds the events just before and after that date, with a reference ID you can cite.
It says whether a storm was reported or radar-detected near the address on that date. It does not confirm a loss or damage. It is not an inspection and not a damage assessment.
curl
curl -G "https://data.truefixr.com/v1/data" \
-d dataset=history \
--data-urlencode "address=891 Lake Hollow Blvd SW, Marietta, GA 30064" \
-d date_of_loss=2026-04-14
Python (requests)
import requests
r = requests.get(
"https://data.truefixr.com/v1/data",
params={
"dataset": "history",
"address": "891 Lake Hollow Blvd SW, Marietta, GA 30064",
"date_of_loss": "2026-04-14",
},
)
print(r.json())
JavaScript (Node 18+)
const params = new URLSearchParams({
"dataset": "history",
"address": "891 Lake Hollow Blvd SW, Marietta, GA 30064",
"date_of_loss": "2026-04-14",
});
const res = await fetch(`https://data.truefixr.com/v1/data?${params}`);
console.log(await res.json());
A date with no event on file
Response 200 (free preview, trimmed)
{
"dataset": "history",
"geocoded_address": "891 Lake Hollow Blvd SW, Marietta, GA 30064, USA",
"radius_mi": 5.0,
"real_line_count": 362,
"estimated_cost_usd": 18.1,
"date_of_loss": "2026-04-14",
"date_of_loss_supported": false,
"answer": "No severe-weather event is on file within 5.0 miles of this address on 2026-04-14."
}
A date with an event on file
Response 200 (free preview, trimmed)
{
"dataset": "history",
"geocoded_address": "891 Lake Hollow Blvd SW, Marietta, GA 30064, USA",
"radius_mi": 5.0,
"real_line_count": 362,
"estimated_cost_usd": 18.1,
"date_of_loss": "2017-09-11",
"date_of_loss_supported": true,
"answer": "A severe-weather event is on file within 5.0 miles of this address on 2017-09-11."
}
Price for the paid report: $0.05 per report line, $10.00 minimum per report. Add addresses=true and your key.
7 Errors and limits
What went wrong, and what to do.
Code
Meaning
What to do
400
A required parameter is missing or does not fit the dataset.
Read the detail text. It names what is missing.
402
Payment required. The call is a paid pull and has no valid key or payment.
Add a Bearer key, or pay with x402. The body states the price.
422
A parameter has the wrong type, such as text where a number belongs.
Fix the value named in loc.
429
Too many free previews. The limit is 60 requests per minute per IP address, for calls with no key.
Wait a minute and retry. Space out calls, or use a key.
The price is accepts[0].amount in atomic USDC (6 decimals): 50000 means $0.05 (price in USD = amount / 1,000,000). The same object is sent in the PAYMENT-REQUIRED response header as base64 JSON. If you are a human, or your agent does not support x402, create a prepaid API key at atlasunited.io/api and send it as Authorization: Bearer <key>.
422: a wrong type
Response 422 (trimmed)
{
"detail": [
{
"type": "float_parsing",
"loc": [
"query",
"lat"
],
"msg": "Input should be a valid number, unable to parse string as a number",
"input": "abc"
}
]
}
8 MCP and OpenAPI
For tools and AI assistants.
MCP server
Connect Claude, ChatGPT, Cursor and other MCP clients.