Hail Point APIhailpoint.com ↗
Access historical hail maps, storm impact data, damage categories, and hail report markers by location, state, city, or date range via the Hail Point API.
What is the Hail Point API?
The Hail Point API exposes 8 endpoints covering historical hail storm events across the US and Canada, returning structured data on damage categories, population and housing impact, hail size, and geographic report markers. The search_hail_maps endpoint lets you query by keyword, state, damage category, and date range, while get_hail_map_details returns a full impact breakdown table including population and area affected per hail size range.
curl -X GET 'https://api.parse.bot/scraper/a31237b8-4777-49ae-acf9-c3a25a0801e7/search_hail_maps?page=1&state=TX&date_to=2026-07-11&keyword=Dallas&category=scattered&distance=100&date_from=2026-04-12' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace hailpoint-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: HailPoint SDK — search hail events, drill into details, explore categories."""
from parse_apis.hail_point_api import HailPoint, Category, HailMapNotFound
client = HailPoint()
# List damage categories to understand severity tiers
for cat in client.damagecategories.list(limit=4):
print(cat.name, "-", cat.description)
# Search hail maps in Texas filtered by scattered damage
for event in client.hailmaps.search(state="TX", category=Category.SCATTERED, limit=3):
print(event.location, event.date, event.hail_size, event.homes_impacted)
# Drill into the first event's detailed impact breakdown
event = client.hailmaps.by_state(state="TX", limit=1).first()
if event:
detail = event.details.get()
print(detail.title, detail.max_hail_size, detail.hail_reports)
for impact in detail.impact_breakdown:
print(f" {impact.hail_size}: {impact.population} pop, {impact.housing} homes")
# Handle a missing hail map gracefully
try:
bad_event = client.hailmaps.by_city(city="Atlantis", limit=1).first()
except HailMapNotFound as exc:
print(f"Not found: {exc}")
# Check the demo map markers
demo = client.demomaps.get()
print(demo.event, f"({demo.markers_count} markers)")
for marker in demo.sample_markers[:3]:
print(f" lat={marker.lat}, lng={marker.lng}: {marker.report}")
print("exercised: damagecategories.list / hailmaps.search / hailmaps.by_state / details.get / hailmaps.by_city / demomaps.get")
Search for hail map events by keyword (city/state/ZIP), state code, category, and date range. Returns paginated results sorted by date with up to 15 items per page. When no filters are provided, returns the most recent events across all states.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| state | string | Two-letter US state code (e.g. TX, IN) or 'can' for Canada. |
| date_to | string | End date in YYYY-MM-DD format. |
| keyword | string | City, State, or ZIP code to search near. |
| category | string | Damage category filter. |
| distance | integer | Search radius in miles from keyword location. |
| date_from | string | Start date in YYYY-MM-DD format. |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"count": "integer, number of items on this page",
"items": "array of hail map event summaries with detail_url, id, thumbnail_url, title, category, hail_size, location, date, population_impacted, homes_impacted",
"total_records": "string or null, total number of matching records"
}
}About the Hail Point API
Event Search and Filtering
The search_hail_maps endpoint accepts a keyword (city, state, or ZIP), a two-letter state code (or 'can' for Canada), a category filter (scattered, major, severe, catastrophic), a distance radius in miles, and date_from/date_to bounds. Results are paginated at 15 items per page and each item in the items array carries a detail_url, id, thumbnail_url, title, category, hail_size, location, date, and population_impac field. The same summary shape is returned by get_latest_hail_maps, get_hail_maps_by_state, and get_hail_maps_by_city, making it straightforward to switch between browse and search flows.
Detailed Storm Impact Data
get_hail_map_details takes a detail_url from any summary result and returns the full event record: title, category, event_info, hail_reports count, max_hail_size, and an impact_breakdown array. Each row in impact_breakdown contains hail_size, population, housing, and area_(sq._mi.) for that size band, making it possible to assess damage exposure at a granular level for insurance or property risk workflows.
Reference and Demo Endpoints
get_hail_damage_categories returns the platform's official category definitions (name and description), which map to the category filter values used across all search endpoints. get_hail_map_demo returns a sample storm event with up to 10 hail report sample_markers, each carrying lat, lng, and a report field — useful for testing map rendering before committing to paginated historical queries.
Geographic Shortcuts
get_hail_maps_by_state requires a two-letter US state code and pages through all events for that state. get_hail_maps_by_city accepts a city name with an optional state qualifier and returns the same paginated summary format. Both endpoints report total_records so you can pre-calculate how many pages to request.
The Hail Point API is a managed, monitored endpoint for hailpoint.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hailpoint.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official hailpoint.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Insurance underwriting tools that pull
impact_breakdownhousing and population data for a property's ZIP or city before issuing a policy. - Roofing and restoration contractors querying
get_hail_maps_by_cityto identify recent severe or catastrophic events near their service area. - Property management platforms surfacing historical hail risk scores derived from
hail_sizeandcategoryfields on listing pages. - Claims automation pipelines that verify a reported storm date and location against
search_hail_mapsresults usingdate_from/date_toandkeyword. - Map-based dashboards using
get_hail_map_demoandsample_markerslat/lng fields to prototype storm visualization before loading full historical data. - Risk analytics products comparing storm frequency across states using
get_hail_maps_by_stateand aggregatingtotal_recordscounts over time. - Research tools that combine
max_hail_sizeandhail_reportsfields fromget_hail_map_detailsto rank the most impactful events in a region.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Hail Point have an official developer API?+
What does `get_hail_map_details` return beyond the summary fields?+
title, category, and event_info available in summary results, get_hail_map_details returns hail_reports (total report count), max_hail_size, and an impact_breakdown array. Each element in that array breaks down population, housing, and area_(sq._mi.) affected for a specific hail_size band, giving a layered view of storm severity that summary results don't include.Can I retrieve individual hail report markers for all historical events, not just the demo?+
lat/lng markers are only returned by get_hail_map_demo, which covers a single sample event. The other endpoints return event-level summaries and impact tables rather than per-report coordinates. You can fork this API on Parse and revise it to add a markers endpoint for arbitrary events.Does the API cover Canadian hail events?+
search_hail_maps endpoint accepts state: 'can' to filter for Canadian events. The dedicated get_hail_maps_by_state and get_hail_maps_by_city endpoints are documented for US state codes and may not return Canadian results through those routes. If you need full Canadian city-level browsing, you can fork this API on Parse and revise it to extend those endpoints.How does pagination work across the list endpoints?+
search_hail_maps, get_latest_hail_maps, get_hail_maps_by_state, get_hail_maps_by_city) return up to 15 items per page. The response includes a page integer, a count of items on the current page, and a total_records string (or null) so you can calculate the total number of pages needed to retrieve a full result set.