CoverageSupported U.S. severe-weather coverage area
Concept
Details
data
Successful endpoint payload.
meta.request_id
Request identifier for support and debugging.
meta.rate_limit
Per-minute limit, remaining requests, and reset timestamp.
meta.lookup_quota
Monthly weather lookup usage. Present on observed and forecast lookup responses.
meta.pagination
Collection, limit, returned count, next cursor, and whether summary scope is complete or page-level.
AI usage
The public OpenAPI spec includes the customer-facing weather lookup and report
routes. Give it to an AI coding assistant to generate typed clients, integration
tests, lookup workflows, or report generation flows.
Using this OpenAPI spec, write a TypeScript function that previews hail and wind
report candidates for a U.S. address on an event date, generates a PDF report for
selected event IDs, and handles 400, 401, 403, and 429 responses.
Access limits
Plan
Lookups
Rate
Radius
Lookup access
Free
250/mo
10/min
5 mi
Current-day lookup. No date, hour, time range, or forecast archive selectors.
Basic
10k/mo
50/min
10 mi
Date-level observed and forecast lookup.
Pro
100k/mo
100/min
25 mi
Hour-level lookup, explicit time ranges, forecast archive selectors, and 100 reports/month.
Enterprise
Custom
Custom
Custom
Custom lookup and report volume.
Endpoint
GET /v1/weather/observed
Returns observed severe-weather evidence near a coordinate or geocoded U.S. address.
Query parameters
Parameter
Type
Details
lat
number
Required with lng when address is omitted. Valid range: -90 to 90.
lng
number
Required with lat when address is omitted. Valid range: -180 to 180.
address
string
Required when coordinates are omitted. Coordinates take precedence when both are supplied.
date
date
YYYY-MM-DD in timezone. Defaults to current local day. Cannot be combined with start_time/end_time.
hour
string
HH:00. Requires date. Forward-looking hour; 04:00 covers 04:00 to before 05:00.
start_time
date-time
Explicit observed-window start. Requires end_time. ISO 8601.
end_time
date-time
Explicit observed-window end. Requires start_time. Must be after start. Max observed window is 31 days.
timezone
string
IANA timezone used for date and hour. Default: UTC.
radius_miles
number
Positive lookup radius in miles. Default: 1. Plan limits apply.
radius
number
Alias for radius_miles. Prefer radius_miles.
perils
string
Comma-separated subset of hail, rain, wind, tornado. Default: all.
providers
string
Comma-separated subset of mrms, spc, lsr, storm_events, warnings.
products
string
Comma-separated observed product IDs. Defaults from selected perils and time granularity.
include
string
Comma-separated subset of summary, events, evidence. Default: summary,events.
limit
integer
Page size for evidence. Default/max: 500.
cursor
string
Opaque cursor from meta.pagination.next_cursor. Cursor requests may include only cursor and the same limit.
Observed time windows
start_time/end_time
define an explicit search window. Hourly or daily raster products are returned
when their valid window overlaps the request, so a partial-hour search can still
return the enclosing hourly artifact with its own valid_start
and valid_end.
Response attributes
Attribute
Type
Details
data.query
object
Endpoint, resolved location, window, radius, perils, providers, and products.
data.summary
object
Returned when included. Counts, detected perils, providers, max values, and rotation context.
data.events[]
array
Grouped weather incidents with peril, start/end, confidence, providers, nearest distance, and evidence IDs.
data.evidence[]
array
Returned when included. Source-level evidence rows that support events.
meta.lookup_quota
object
Monthly lookup quota state.
meta.pagination
object
Pagination metadata for the evidence collection.
Response objects
query
Field
Type
Details
endpoint
string
Endpoint that handled the request.
location
object
Resolved location input with type, latitude, longitude, and address details when supplied.
window
object
Resolved observed time window, timezone, and granularity.
radius_miles
number
Lookup radius used for point, report, and raster matching.
perils
array
Resolved peril filters used by the lookup.
providers
array
Resolved provider filters used by the lookup.
products
array
Resolved product filters used by the lookup.
summary
Field
Type
Details
has_observed_weather
boolean
Whether the lookup found observed evidence.
event_count
integer
Number of grouped events.
evidence_count
integer
Number of source evidence rows.
perils_detected
array
Perils represented in the response.
providers
array
Providers represented in the response.
max_values
object
Largest measurement by peril, keyed by peril ID.
rotation_context_detected
boolean
Whether rotation-context evidence was detected.
value
Field
Type
Details
value
number
Primary measurement value.
units
string
Measurement units, such as inches or mph.
aggregation
string
Aggregation used for raster samples, such as max or sum.
min
number
Optional minimum raster sample value.
max
number
Optional maximum raster sample value.
sum
number
Optional sum of raster sample values.
sampled_cell_count
integer
Optional count of sampled raster cells.
valid_cell_count
integer
Optional count of valid sampled raster cells.
events[]
Field
Type
Details
id
string
Event identifier within the response.
peril
string
Primary peril represented by the event.
event_start
date-time
Event start time.
event_end
date-time
Event end time.
max_value
object
Largest measurement associated with the event.
confidence
string
Confidence label for the grouped event.
providers
array
Providers supporting the event.
evidence_ids
array
Evidence row IDs included in the event.
evidence[]
Field
Type
Details
id
string
Evidence row ID.
event_id
string
Grouped event ID.
provider
string
Provider display name.
source
string
Product or feed source.
peril
string
Peril represented by the evidence row.
evidence_type
string
Evidence classification.
confidence_tier
string
Confidence tier when available.
observed_at
date-time
Observation timestamp when available.
valid_start
date-time
Start of the source validity window.
valid_end
date-time
End of the source validity window.
value
object
Nested measurement details.
location_match
object
Nested location matching details.
quality
object
Nested artifact quality details when available.
artifact
object
Nested raster artifact reference when available.
location_match
Field
Type
Details
match_type
string
How the source matched the request, such as within radius or raster radius.
distance_miles
number
Distance from the requested point when applicable.
radius_miles
number
Search radius used for matching.
quality
Field
Type
Details
completeness_status
string
Whether the raster artifact is complete or partial.
quality_status
string
Quality state of the source artifact.
generation_status
string
Artifact generation state.
artifact
Field
Type
Details
id
string
Raster artifact identifier.
product
string
Observed product ID.
version
string
Artifact schema or generation version.
Endpoint
GET /v1/weather/forecast
Returns forecast model guidance and outlook polygons for a location and valid time.
Query parameters
Parameter
Type
Details
lat
number
Required with lng when address is omitted. Valid range: -90 to 90.
lng
number
Required with lat when address is omitted. Valid range: -180 to 180.
address
string
Required when coordinates are omitted. Coordinates take precedence when both are supplied.
date
date
YYYY-MM-DD in timezone. Cannot be combined with valid_start/valid_end.
hour
string
HH:00. Requires date. Returns a one-hour valid window.
valid_start
date-time
Explicit forecast valid-window start. Requires valid_end. ISO 8601.
Returned when included. Counts, providers, models, perils, max probabilities, max values, and context values.
data.forecasts[]
array
Forecast model samples and outlook polygons matching the request.
meta.lookup_quota
object
Monthly lookup quota state.
meta.pagination
object
Pagination metadata for the forecasts collection.
Response objects
query
Field
Type
Details
endpoint
string
Endpoint that handled the request.
location
object
Resolved location input with type, latitude, longitude, and address details when supplied.
valid_window
object
Forecast valid period and timezone.
forecast_time
object
As-of, run-time, or issue-time selection used by the lookup.
forecast_sources
array
Resolved forecast source filters used by the lookup.
providers
array
Resolved provider filters used by the lookup.
models
array
Resolved model filters used by the lookup.
perils
array
Resolved peril filters used by the lookup.
products
array
Resolved product filters used by the lookup.
summary
Field
Type
Details
has_forecast_guidance
boolean
Whether the lookup found forecast guidance.
forecast_count
integer
Number of returned forecast rows.
providers
array
Forecast providers represented in the response.
models
array
Forecast models represented in the response.
perils
array
Perils represented in the response.
max_probabilities
object
Highest forecast probability by peril or broader forecast family.
max_values
object
Largest sampled model values when available.
context_values
object
Additional context values when available.
value
Field
Type
Details
value
number
Forecast probability or sampled model value.
units
string
Value units, such as percent, inches, or mph.
source
string
Source product for summary values when present.
aggregation
string
Raster aggregation when a model field is sampled.
forecasts[]
Field
Type
Details
id
string
Forecast row identifier.
provider
string
Forecast provider display name.
source
string
Forecast source group.
product
string
Forecast product ID.
forecast_type
string
Forecast representation, such as model raster or outlook polygon.
forecast_kind
string
Forecast kind, such as probability or categorical outlook.
peril
string
Peril represented by the forecast row.
category
string
Forecast risk category when available.
probability
number
Forecast probability when available.
threshold
string
Forecast threshold label when available.
issued_at
date-time
Forecast issue time.
valid_start
date-time
Forecast valid period start.
valid_end
date-time
Forecast valid period end.
lead_time_hours
number
Lead time from issuance to valid period.
value
object
Nested forecast value details.
location_match
object
Nested location matching details.
quality
object
Nested artifact quality details when available.
artifact
object
Nested raster artifact reference when available.
location_match
Field
Type
Details
match_type
string
How the forecast matched the request, such as polygon containment or raster sampling.
distance_miles
number
Distance from the requested point when applicable.
radius_miles
number
Search radius used for model raster sampling.
quality
Field
Type
Details
completeness_status
string
Whether the model artifact is complete or partial.
quality_status
string
Quality state of the model artifact.
generation_status
string
Artifact generation state.
artifact
Field
Type
Details
id
string
Model raster artifact identifier.
product
string
Forecast product ID.
version
string
Artifact schema or generation version.
Endpoint
GET /v1/weather/catalog
Returns supported perils, providers, models, products, include values, and pagination defaults.
Query parameters
Parameter
Details
None
API-key authenticated and rate limited. Does not consume monthly lookup quota.
Response attributes
Attribute
Type
Details
data.perils[]
array
Supported peril identifiers and labels.
data.observed.providers[]
array
Observed provider IDs, labels, and descriptions.
data.observed.products[]
array
Observed product IDs with peril, evidence type, granularity, and aggregation.
data.forecast.sources[]
array
Forecast source groups.
data.forecast.providers[]
array
Forecast provider IDs, labels, and descriptions.
data.forecast.models[]
array
Supported forecast model identifiers.
data.forecast.products[]
array
Forecast product IDs with source, provider, peril or broader forecast family, forecast kind, and general flag.
data.query
object
Supported include values and pagination defaults.
Response objects
perils[]
Field
Type
Details
id
string
Peril identifier used in request filters.
label
string
Human-readable peril label.
providers[]
Field
Type
Details
id
string
Provider filter value.
label
string
Provider display name.
description
string
Short explanation of the feed or provider family.
observed.products[]
Field
Type
Details
id
string
Observed product identifier.
label
string
Observed product display name.
provider
string
Provider associated with the product.
peril
string
Peril associated with the product.
evidence_type
string
Evidence classification returned by observed lookups.
granularity
string
Product time granularity.
aggregation
string
Product aggregation behavior.
forecast.sources[]
Field
Type
Details
id
string
Source group filter value, such as models or outlooks.
label
string
Human-readable source group label.
description
string
Explanation of the forecast source group.
forecast.models[]
Field
Type
Details
id
string
Model filter value.
label
string
Model display name.
provider
string
Provider family for the model.
forecast.products[]
Field
Type
Details
id
string
Forecast product identifier.
label
string
Forecast product display name.
provider
string
Provider associated with the product.
source
string
Forecast source group.
model
string
Forecast model when applicable.
peril
string
Peril associated with the product.
hazard_family
string
Broader forecast family when applicable.
forecast_type
string
Forecast representation.
forecast_kind
string
Forecast kind.
general
boolean
Whether the product is broad contextual guidance rather than a peril-specific filter.
query
Field
Type
Details
include
object
Supported include values for observed and forecast endpoints.
pagination
object
Default and maximum pagination limits.
Reports
Generate customer-ready weather evidence PDFs
Pro and Enterprise accounts can preview report candidates, select the events that
belong in the final packet, generate a customer-ready PDF, and retrieve report metadata
through API-key authenticated endpoints.
Report workflow
Preview first when you want user control over the final PDF. Date-of-loss preview
uses daily radar artifacts for speed; generated reports use hourly radar artifacts
for final precision. Send selected candidate IDs back with the
preview_token so unselected events stay out of the PDF.
The final report can contain fewer selected events when hourly evidence does not
confirm a daily preview match inside the selected 24-hour window.
Availability and quota
Plan
Report access
Monthly reports
Notes
Free
No
0
Upgrade required.
Basic
No
0
Upgrade required.
Pro
Yes
100
Dashboard and API-key report generation.
Enterprise
Yes
Custom
Custom report volume and operational requirements.
Endpoint
POST /v1/weather/reports/preview
Returns normalized query details, report quota metadata, coverage context, and
selectable candidate events. Preview does not create a PDF.
Request field
Type
Details
report_type
string
Use date_of_loss for the dashboard-style single-date workflow. property_history remains available for API callers.
address
string
Required when coordinates are omitted.
lat / lng
number
Optional coordinate input. Coordinates take precedence when supplied.
loss_date
date
Required for date_of_loss. Format: YYYY-MM-DD.
timezone
string
IANA timezone for date interpretation and local PDF timestamps.
perils
array
Subset of hail, wind, and tornado. Default: all report perils.
radius_miles
number
Search radius. Plan limits apply.
include_forecast_context
boolean
Includes forecast context rows when the plan allows forecast archive access.
claim_reference
string
Optional report reference. Maximum 120 characters.
insured_or_customer_name
string
Optional customer or project name. Maximum 160 characters.
private_notes
string
Optional internal note. Accepted on requests but not returned in report query payloads or PDFs.
Endpoint
POST /v1/weather/reports
Starts asynchronous generation for the immutable report snapshot and PDF. Include the
preview_token and selected candidate IDs when the
user chose events from preview. Supplying a preview token with an empty selection
preserves an empty report instead of adding newly found hourly events. Poll the
report detail endpoint until
status is ready or
failed.
Selected events
selected_event_ids must reference candidates from
the preview response. For date-of-loss reports, preview candidates use daily radar
artifacts and generated PDFs use hourly radar artifacts, so the final report may
include fewer selected events when hourly evidence does not confirm a preview match
inside the selected 24-hour window.
Retrieve reports and PDFs
Endpoint
Returns
Notes
GET /v1/weather/reports/{id}
Report metadata and, when ready, the stored snapshot.
Poll no faster than poll_after_seconds while status is processing.
GET /v1/weather/reports/{id}/pdf
The generated report PDF.
Returns application/pdf when ready, 409 report_processing while generating, and 409 report_failed after failed generation.
Endpoint
GET /v1/weather/reports/{id}
Returns report metadata and, for ready reports, may include the stored immutable
snapshot used to generate the PDF.
Response objects
query
Field
Details
display_address
Resolved customer-facing location label.
coarse_display_address
Coarser location label used for summary displays.
window_start / window_end
UTC report search window after date/timezone normalization.
radius_bands_miles
Radius bands used for report evidence summaries.
selected_event_ids
Candidate IDs selected for the final report when preview selection is used. Date-of-loss examples use stable IDs such as candidate_2026-05-20_hail.
report
Field
Details
status
ready, processing, failed, or deleted.
links.pdf
PDF download path when the report is ready.
snapshot
Included on detail responses when the ready report snapshot is available.
error_code / error_message
Present when generation failed.
Providers
Provider acronyms and meaning
Provider fields identify the source family behind a result. They are useful for
interpreting confidence, not for treating any single row as definitive proof of
property-level conditions.
Observed data
API value
Provider or feed
What it means
Interpretation
mrms
MRMS, Multi-Radar/Multi-Sensor System
Radar-derived raster estimates for hail, precipitation, and low-level rotation.
Best used as gridded weather evidence near a point or radius. It is a radar-derived estimate, not a direct observation at every property.
spc
SPC, Storm Prediction Center
Severe-weather point reports and convective forecast outlook products.
Point reports are strong observed context near the report location. Outlooks are forecasts, not observations.
lsr
NWS Local Storm Reports
Local storm reports from National Weather Service offices.
Reports can corroborate observed conditions, but coverage is sparse and reporting-biased.
storm_events
NOAA Storm Events
Official historical severe-weather event records.
Useful for historical context. Records may be lagged and often describe county or zone-level events.
warnings
NWS warning polygons
Warning polygons for severe thunderstorm, tornado, flash flood, and related perils.
Indicates warning context for an area. It does not prove the peril occurred at every point inside the polygon.
Forecast data
Forecast source groups
models are gridded model forecasts sampled at the
requested point or radius, such as HRRR and NBM. outlooks
are forecast risk polygons that cover the requested location, such as SPC convective
outlooks and WPC excessive rainfall outlooks.
API value
Provider or model
What it means
Interpretation
noaa
NOAA, National Oceanic and Atmospheric Administration
Parent provider for selected forecast model guidance.
Use with model and product fields to understand the specific forecast artifact being sampled.
hrrr
HRRR, High-Resolution Rapid Refresh
Hourly high-resolution model guidance for hail, rain, gusts, and rotation context.
Represents model guidance for a valid time. It is forecast data, not observed weather.
nbm
NBM, National Blend of Models
Blended forecast model guidance for rainfall, wind gusts, and thunder probability.
Useful for probabilistic or blended guidance. It should be interpreted as forecast risk or guidance.
spc
SPC, Storm Prediction Center
Convective outlook polygons for hail, wind, tornado, and broad severe-weather risk.
Indicates forecast risk over a valid period. It does not mean the peril occurred.
wpc
WPC, Weather Prediction Center
Excessive rainfall outlook polygons.
Indicates forecast rainfall risk categories for the valid period, not measured rainfall totals.
Supported values
Filters
Call GET /v1/weather/catalog for dynamic filter values.
Observed products
Product
Peril
Granularity
Aggregation
hail_hourly_max
hail
hour
max
hail_daily_max
hail
day
max
rain_hourly_total
rain
hour
max
rain_daily_total
rain
day
max
rotation_low_hourly_max
tornado
hour
max
rotation_low_daily_max
tornado
day
max
Forecast products
Product
Source
Peril or family
hrrr_hail_hourly_max
models
hail
hrrr_rain_hourly_total
models
rain
hrrr_gust_hourly_max
models
wind
hrrr_rotation_hourly_max
models
tornado context
nbm_rain_hourly_total
models
rain
nbm_gust_hourly_max
models
wind
nbm_thunder_probability
models
convective
spc_hail_probability
outlooks
hail
spc_hail_significant_probability
outlooks
hail
spc_hail_conditional_intensity
outlooks
hail
spc_wind_probability
outlooks
wind
spc_wind_significant_probability
outlooks
wind
spc_wind_conditional_intensity
outlooks
wind
spc_tornado_probability
outlooks
tornado
spc_tornado_significant_probability
outlooks
tornado
spc_tornado_conditional_intensity
outlooks
tornado
spc_categorical_outlook
outlooks
convective
spc_severe_probability
outlooks
convective
spc_severe_significant_probability
outlooks
convective
spc_severe_conditional_intensity
outlooks
convective
wpc_excessive_rainfall_outlook
outlooks
rain
Errors
Error envelope
Errors return error.code, error.message, and meta.request_id.
Status
Common codes
Meaning
400
invalid_query, invalid_cursor, query_too_broad
Query parameters are invalid or too broad.
401
unauthorized
Missing or invalid API key.
403
access_denied
The active plan does not allow the lookup.
422
unsupported_location, geocode_failed
The location could not be used.
429
rate_limited, lookup_quota_exceeded
Rate limit or monthly quota exceeded.
400
invalid_report_request, invalid_preview_token
Report request fields are invalid or selected event IDs do not match the preview.
404
report_not_found
The report does not exist, is not ready, or is not available to the API key.