Skip to main content
POST
Lists active storms and official forecast points in the Atlantic and eastern/central North Pacific. Source fields are observed; movement_kt, distance_km, closest_approach_km and closest_approach_at are derived. Empty storms with coverage.covered true means looked, saw nothing matching; false means no evidence either way. Coverage names watched basins and latest advisory time. West Pacific and Indian Ocean are unwatched.

Authentication

Requires x402 payment in the payment-signature header.

Request Body

number
Latitude in decimal degrees; give longitude too. From -90 to 90.
number
Longitude in decimal degrees; west is negative. From -180 to 180.
number
Maximum current or forecast distance from the point in kilometres. From 1 to 2000. Defaults to 500.
string
Basin to list; omitted means all three watched basins. One of atlantic, east_pacific, central_pacific.
integer
Maximum storms to return. From 1 to 200. Defaults to 25.

Response (200 OK)

Top-level envelope: success (boolean) and data (object). All fields below are nested under data.
string
Durable job ID for audit and lookup
string
Job status: completed
string
Always place_tropical_cyclones
object
The answer, described under Result below
object
Where the answer came from and when
string
The public body the data comes from. Always US National Hurricane Center.
string
public when the data comes from a public body, commercial otherwise
string
When the lookup was made, as an ISO 8601 UTC time
string | null
Latest issued_at in the active storm feed; null when there are no active advisories.

Result

Nested under data.result.
object
Coverage.
boolean
Covered.
string[]
Basins.
string | null
Latest advisory at. null when the source gives no value.
integer
Total.
integer
Returned.
boolean
Truncated.
object[]
Storms.
object
Observed.
string
Id.
string
Name.
string
Classification.
number | null
Intensity kt. null when the source gives no value.
number | null
Pressure mb. null when the source gives no value.
number
Latitude.
number
Longitude.
number | null
Movement deg. null when the source gives no value.
number | null
Movement mph. null when the source gives no value.
string
Position at.
string
Advisory number.
string
Issued at.
string | null
Advisory url. null when the source gives no value.
object[]
Forecast.
string
Valid at.
number
Latitude.
number
Longitude.
number | null
Max wind kt. null when the source gives no value.
object
Derived.
object
Movement kt.
number | null
Value. null when the source gives no value.
string
Rule.
string[]
From.
object
Distance km.
number | null
Value. null when the source gives no value.
string
Rule.
string[]
From.
object
Closest approach km.
number | null
Value. null when the source gives no value.
string
Rule.
string[]
From.
object
Closest approach at.
string | null
Value. null when the source gives no value.
string
Rule.
string[]
From.
See Pricing for this tool’s price. A wallet (x402) call receives it in the 402 quote before anything is charged; a call paid from prepaid credits is charged when the API accepts the request and answers 200.

Notes

  • All inputs are optional. With no point, lists all active storms; basin can narrow the list. Limit defaults to 25, at most 200.
  • Derived movement_kt converts observed movement_mph to knots; distance_km is a great-circle distance. Each derived value names its rule and input fields.
  • Point coverage uses the northern hemisphere from the date line east to 20E, including coastal and inland sites. Coverage does not extend to the other hemisphere or other basins when a radius crosses the boundary.
  • Closest approach uses shortest great-circle segments with time interpolated between official points, starting at the current position. It is a forecast, not a measured impact or wind footprint. The uncertainty cone is omitted.
  • The latest advisory and forecast must match. Missing or incomplete forecast data fails the lookup instead of implying there are no nearby storms.
  • NWS public-data terms apply: https://www.weather.gov/disclaimer. No endorsement is implied.
  • Results return inline. The finished job stays available at /v1/requests/{request_id}