CPC climate outlooks at a location, from 6-10 day to seasonal.
Returns every Climate Prediction Center outlook covering a US location: the 6-10 day, 8-14 day, week 3-4, monthly and seasonal (three-month) temperature and precipitation outlooks. Each entry gives the tercile CPC favors (above, below, near, or equal_chances) and the probability bin it assigns to that tercile (probability_min/probability_max, fractional, so 0.4/0.5 is 40-50%). equal_chances means CPC favors no tercile and carries no bin; it is not the same as near.
Periods
Entries are ordered by period (610, 814, wk34, monthly, seasonal), then by valid_start, then temperature before precipitation. Each entry has its own valid_start and valid_end; (period, variable, valid_start) identifies an entry.
- seasonal has up to 13 entries per variable, one per overlapping three-month lead (lead 1-13, lead 1 starting the month after issuance), labelled by valid_label (NDJ 2026-2027).
- monthly can appear twice per variable: this month, plus next month from CPC's mid-month seasonal release (third Thursday) until the month-end monthly update replaces it. The two differ in valid_start and valid_label (Oct 2026, Nov 2026); neither has a lead.
variable and period narrow the answer. At a covered location, a period (or lead) with no outlook polygon is omitted, an answer of "no outlook here", not equal chances.
Narratives
narratives carries CPC's written discussion for each period in the answer that has one, in this order:
- PMDMRD (610, 814): unless more than 72 hours old.
- PMD34D (wk34): the latest week 3-4 discussion issued within a day of the week 3-4 outlook.
- PMD30D (monthly): one entry per month in the answer, with that month's valid_label. Each is the latest 30-day discussion issued in the month before (the mid-month or month-end release), so from the mid-month release until the month-end update this month and next each have their own.
- PMD90D (seasonal): the latest 90-day discussion issued in the month before the first season's start.
A discussion that doesn't match its period is left out rather than shown against the wrong week or month. periods lists the answer's periods each entry discusses, so a period filter returns only that period's discussion. narratives is omitted when no discussion applies.
narrative mirrors the PMDMRD entry of narratives and is kept for existing clients; it is present only when a 6-10 or 8-14 day entry is. The text is sent once: the PMDMRD entry of narratives omits body, which narrative.body carries for the same issuance.
Relation to /v1/outlooks
GET /v1/outlooks?hazard=temperature|precipitation returns the 6-10 day through monthly periods in the SPC-shaped OutlookDetail, with a meaningless day: 1 and an always-empty probabilities. This endpoint is the period-based shape and the only one that serves the seasonal outlooks.
Caching
Successful responses are cacheable for 5 minutes, although CPC issues these outlooks at most daily.
Coverage
A point outside the 50 US states and DC returns 404 outside-coverage with next_steps.
Auth
Standard sw-api Bearer auth applies.
Request
- Base URL: https://api.smarterweather.com
- URL: https://api.smarterweather.com/v1/outlooks/climate
- Auth: HTTP bearer
Query parameters
Latitude in decimal degrees.
Longitude in decimal degrees.
temperature or precipitation. Defaults to both.
610 (6-10 day), 814 (8-14 day), wk34 (week 3-4), monthly (up to two entries per variable: this month, plus next month after CPC's mid-month seasonal release), or seasonal (all three-month leads). Defaults to all periods. Within a period, entries are unique by variable and valid_start.
Response
CPC climate outlooks at the location.
Example response
{
"periods": [
{
"product_id": "cpc_814_temp",
"period": "814",
"lead": 1,
"valid_label": "NDJ 2026-2027",
"probability_min": 0.4,
"probability_max": 0.5,
"label": "Above normal 40-50%"
}
],
"narrative": {
"awips_id": "SWODY1"
},
"narratives": [
{
"awips_id": "PMD30D",
"periods": [
"monthly"
],
"valid_label": "Oct 2026"
}
]
}Changes
No recorded changes to this operation across all 1 revision of this API.