---
title: "Get the aggregated NHC tropical overlay as GeoJSON."
method: GET
path: "/v1/tropical"
tags: ["Storms"]
---

# Get the aggregated NHC tropical overlay as GeoJSON.

`GET /v1/tropical`

## Request

- Base URL: `https://api.smarterweather.com`
- URL: `https://api.smarterweather.com/v1/tropical`
- Auth: HTTP bearer

Returns a single GeoJSON `FeatureCollection` aggregating the
latest National Hurricane Center tropical overlay: forecast cone,
track line, forecast points, and coastal watch/warning segments
for every active storm, plus the 7-day Tropical Weather Outlook
(TWO) areas. Each feature carries a `kind` property the client
uses to pick its renderer (`cone`, `track`, `points`,
`watch_warning`, `two`); the `properties` bag is forward-compat.
Latest TCD and TCP bulletins for active storms live on the
FeatureCollection foreign member `discussions[]` (joined by
ATCF id, e.g. text `AT1` → `AL01`). Latest TWO text is on the
same array, keyed by basin `storm_id` (`AT` / `EP` / `CP`).
They are not copied onto every cone/track/point feature.

The endpoint takes no parameters.

### Caching

Successful responses carry `Cache-Control: public, max-age=60,
stale-while-revalidate=60`.

### Auth

Standard sw-api Bearer auth applies.

## Response `200`

GeoJSON FeatureCollection. Empty `features` array when no
tropical systems or outlook areas are active (200, not 404).

## Other responses

- `401`: Missing or invalid API key. Carries a `WWW-Authenticate` challenge and a `next_steps` extension. `recommended` is `device_flow`: the object is a complete no-install mint recipe.
- `403`: API key lacks the required scope. Carries a `WWW-Authenticate` challenge with `error="insufficient_scope"` and a `next_steps` extension.
- `429`: Rate limit exceeded. Carries a `next_steps` extension (`recommended: upgrade`, plus `pricing` and `usage`) telling the caller how to lift the limit.
- `500`: Internal server error.
- `502`: Bad gateway. The service received an invalid response from an upstream data source. Transient; clients should retry with backoff.
- `503`: Service unavailable. An upstream dependency is unavailable or shedding load (type `service-unavailable`). Transient; retry with backoff and honor any `Retry-After` header.
- `504`: Gateway timeout. An upstream data source did not respond within the service's budget.

---

[API](https://skmtc.dev/smarterweather/apis/smarter-weather-api.md) · [All operations](https://skmtc.dev/smarterweather/apis/smarter-weather-api/llms.txt) · [OpenAPI document](https://skmtc.dev/smarterweather/apis/smarter-weather-api/revisions/520d55a696e4?raw)
