# National Weather Service API

> National Weather Service returns forecasts, current conditions, and weather alerts as a workflow and API.

National Weather Service (NWS) Get forecast and Get hourly forecast return forecasts for a U.S. city, address, or ZIP code. National Weather Service (NWS) List weather alerts returns active alerts for a U.S. city, address, ZIP code, or state. National Weather Service (NWS) Get current conditions returns nearby station observations for a U.S. city, address, or ZIP code.

- Page: https://fous.com/workflows/national-weather-service
- Handle: `@national-weather-service`
- Category: [Weather](https://fous.com/workflows/category/weather)
- Source website: https://weather.gov
- Last verified: Sep 29, 2026
- Fous is not affiliated with National Weather Service.

## Methods

### Get current conditions

Operation `get_current_conditions`, version 1. 1 credit per call.

Get the latest observed weather from a nearby National Weather Service station for a US city, address, or ZIP code. Measurements that the station does not report are null.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `location` | string | yes | `"98101"` | US city, street address, or ZIP code, for example Seattle, 98101, or 1600 Pennsylvania Ave NW, Washington, DC. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "location"
  ],
  "properties": {
    "location": {
      "type": "string",
      "minLength": 1,
      "description": "US city, street address, or ZIP code, for example Seattle, 98101, or 1600 Pennsylvania Ave NW, Washington, DC.",
      "examples": [
        "98101",
        "Seattle",
        "1600 Pennsylvania Ave NW, Washington, DC"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "location": "98101"
    },
    {
      "location": "Seattle"
    },
    {
      "location": "1600 Pennsylvania Ave NW, Washington, DC"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `page_url` | string or null | `"https://api.weather.gov/stations/KBFI/observations/2026-09-28T09:35:00+00:00"` | Link to the reported observation. |
| `conditions` | string or null | `"Clear"` | Observed weather conditions in words. |
| `dew_point_c` | number or null | `7` | Dew point in °C. |
| `dew_point_f` | number or null | `44.6` | Dew point in °F. |
| `pressure_mb` | number or null | `1017.9` | Barometric pressure in millibars. |
| `feels_like_c` | number or null |  | Reported heat index or wind chill in °C. |
| `feels_like_f` | number or null |  | Reported heat index or wind chill in °F. |
| `station_code` | string or null | `"KBFI"` | Station identifier. |
| `station_name` | string or null | `"Boeing Field - King County International Airport"` | Name of the reporting weather station. |
| `pressure_inhg` | number or null | `30.06` | Barometric pressure in inches of mercury. |
| `temperature_c` | number or null | `8` | Air temperature in °C. |
| `temperature_f` | number or null | `46.4` | Air temperature in °F. |
| `wind_gust_mph` | number or null | `17.3` | Wind gusts in mph. |
| `distance_miles` | number or null | `4.62` | Distance from the place to the station in miles. |
| `wind_direction` | string or null | `"Calm"` | Wind direction as a compass word. |
| `wind_speed_mph` | number or null | `0` | Wind speed in mph. |
| `observation_time` | string or null | `"2026-09-28T09:35:00+00:00"` | Time of the observation, as ISO 8601 with an offset. |
| `visibility_miles` | number or null | `10` | Visibility in miles. |
| `relative_humidity_percent` | number or null | `93.4` | Relative humidity in percent. |

**Example input**

```json
{
  "location": "98101"
}
```

**Example output**

```json
{
  "page_url": "https://api.weather.gov/stations/KBFI/observations/2026-09-28T09:35:00+00:00",
  "conditions": "Clear",
  "dew_point_c": 7,
  "dew_point_f": 44.6,
  "pressure_mb": 1017.9,
  "feels_like_c": null,
  "feels_like_f": null,
  "station_code": "KBFI",
  "station_name": "Boeing Field - King County International Airport",
  "pressure_inhg": 30.06,
  "temperature_c": 8,
  "temperature_f": 46.4,
  "wind_gust_mph": null,
  "distance_miles": 4.62,
  "wind_direction": "Calm",
  "wind_speed_mph": 0,
  "observation_time": "2026-09-28T09:35:00+00:00",
  "visibility_miles": 10,
  "relative_humidity_percent": 93.4
}
```

### Get forecast

Operation `get_forecast`, version 1. 1 credit per call.

Get the National Weather Service seven-day day and night forecast for a U.S. city, address, or ZIP code. Forecast availability depends on NWS land-grid coverage.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `units` | string | no | `"celsius"` | Temperature units, such as fahrenheit or celsius. |
| `location` | string | yes | `"10001"` | U.S. city, street address, or ZIP code, such as Denver, CO or 10001. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "location"
  ],
  "properties": {
    "units": {
      "enum": [
        "fahrenheit",
        "celsius"
      ],
      "type": "string",
      "default": "fahrenheit",
      "description": "Temperature units, such as fahrenheit or celsius.",
      "examples": [
        "celsius",
        "fahrenheit"
      ]
    },
    "location": {
      "type": "string",
      "minLength": 1,
      "description": "U.S. city, street address, or ZIP code, such as Denver, CO or 10001.",
      "examples": [
        "10001",
        "Denver, CO",
        "1600 Pennsylvania Ave NW, Washington, DC"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "units": "celsius",
      "location": "10001"
    },
    {
      "units": "fahrenheit",
      "location": "Denver, CO"
    },
    {
      "location": "1600 Pennsylvania Ave NW, Washington, DC"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `periods` | array |  | Day and night forecast periods in time order. |
| `periods[].name` | string | `"Overnight"` |  |
| `periods[].wind` | string or null | `"24 km/h NE"` |  |
| `periods[].end_time` | string | `"2026-09-28T06:00:00-04:00"` |  |
| `periods[].page_link` | string | `"https://forecast.weather.gov/MapClick.php?lat=40.748314&lon=-73.994052"` |  |
| `periods[].start_time` | string | `"2026-09-28T04:00:00-04:00"` |  |
| `periods[].temperature` | integer or null | `16` |  |
| `periods[].short_forecast` | string or null | `"Showers And Thunderstorms"` |  |
| `periods[].temperature_unit` | string | `"C"` |  |
| `periods[].detailed_forecast` | string or null | `"Showers and thunderstorms. Cloudy, with a low around 16. Northeast wind around 24 km/h. Chance of precipitation is 100%` |  |
| `periods[].chance_of_precipitation_percent` | integer or null | `99` |  |
| `latitude` | number | `40.7483136` | Latitude of the matched place. |
| `longitude` | number | `-73.9940525` | Longitude of the matched place. |
| `update_time` | string | `"2026-09-28T08:52:09+00:00"` | Time the forecast was updated, ISO 8601 with offset. |
| `matched_place` | string | `"10001, New York, NY, USA"` | Matched U.S. place or address. |
| `forecast_office` | string | `"New York, NY"` | Name of the responsible National Weather Service office. |
| `forecast_grid_position` | string | `"OKX/33,44"` | NWS office and grid coordinates. |

**Example input**

```json
{
  "units": "celsius",
  "location": "10001"
}
```

**Example output**

```json
{
  "periods": [
    {
      "name": "Overnight",
      "wind": "24 km/h NE",
      "end_time": "2026-09-28T06:00:00-04:00",
      "page_link": "https://forecast.weather.gov/MapClick.php?lat=40.748314&lon=-73.994052",
      "start_time": "2026-09-28T04:00:00-04:00",
      "temperature": 16,
      "short_forecast": "Showers And Thunderstorms",
      "temperature_unit": "C",
      "detailed_forecast": "Showers and thunderstorms. Cloudy, with a low around 16. Northeast wind around 24 km/h. Chance of precipitation is 100%. New rainfall amounts between 1 and 1.5 cm possible.",
      "chance_of_precipitation_percent": 99
    },
    {
      "name": "Monday",
      "wind": "19 to 24 km/h N",
      "end_time": "2026-09-28T18:00:00-04:00",
      "page_link": "https://forecast.weather.gov/MapClick.php?lat=40.748314&lon=-73.994052",
      "start_time": "2026-09-28T06:00:00-04:00",
      "temperature": 18,
      "short_forecast": "Rain Showers",
      "temperature_unit": "C",
      "detailed_forecast": "Rain showers before 2pm. Cloudy, with a high near 18. North wind 19 to 24 km/h. Chance of precipitation is 80%. New rainfall amounts between 1.5 and 2 cm possible.",
      "chance_of_precipitation_percent": 82
    },
    {
      "name": "Monday Night",
      "wind": "6 to 17 km/h NW",
      "end_time": "2026-09-29T06:00:00-04:00",
      "page_link": "https://forecast.weather.gov/MapClick.php?lat=40.748314&lon=-73.994052",
      "start_time": "2026-09-28T18:00:00-04:00",
      "temperature": 14,
      "short_forecast": "Patchy Fog",
      "temperature_unit": "C",
      "detailed_forecast": "Patchy fog between 11pm and 5am. Mostly cloudy, with a low around 14. Northwest wind 6 to 17 km/h.",
      "chance_of_precipitation_percent": 9
    }
  ],
  "latitude": 40.7483136,
  "longitude": -73.9940525,
  "update_time": "2026-09-28T08:52:09+00:00",
  "matched_place": "10001, New York, NY, USA",
  "forecast_office": "New York, NY",
  "forecast_grid_position": "OKX/33,44"
}
```

### Get hourly forecast

Operation `get_hourly_forecast`, version 1. 1 credit per call.

Get up to 156 hourly National Weather Service forecasts for a US city, street address, or ZIP code. Locations outside the US and places without a forecast are not available.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `hours` | integer | no | `5` | Number of hourly forecasts, e.g. 48. |
| `units` | string | no | `"celsius"` | Temperature scale, e.g. fahrenheit. |
| `location` | string | yes | `"90210"` | US city and state, street address, or ZIP code, e.g. Miami, FL. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "location"
  ],
  "properties": {
    "hours": {
      "type": "integer",
      "default": 48,
      "maximum": 156,
      "minimum": 1,
      "description": "Number of hourly forecasts, e.g. 48.",
      "examples": [
        5,
        48,
        3
      ]
    },
    "units": {
      "enum": [
        "fahrenheit",
        "celsius"
      ],
      "type": "string",
      "default": "fahrenheit",
      "description": "Temperature scale, e.g. fahrenheit.",
      "examples": [
        "celsius",
        "fahrenheit"
      ]
    },
    "location": {
      "type": "string",
      "minLength": 2,
      "description": "US city and state, street address, or ZIP code, e.g. Miami, FL.",
      "examples": [
        "90210",
        "Miami, FL",
        "1600 Pennsylvania Ave NW, Washington, DC 20500"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "hours": 5,
      "units": "celsius",
      "location": "90210"
    },
    {
      "hours": 48,
      "units": "fahrenheit",
      "location": "Miami, FL"
    },
    {
      "hours": 3,
      "units": "fahrenheit",
      "location": "1600 Pennsylvania Ave NW, Washington, DC 20500"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `hours` | array |  | One row for each available forecast hour, in time order. |
| `hours[].dew_point` | number or null | `14.4` | Dew point in the same scale as the temperature. |
| `hours[].page_link` | string | `"https://forecast.weather.gov/MapClick.php?lat=34.0901&lon=-118.4065&FcstType=digital"` | Official hourly forecast page for this place. |
| `hours[].start_time` | string | `"2026-09-28T02:00:00-07:00"` | Local hourly start time in ISO 8601 with offset. |
| `hours[].wind_speed` | string or null | `"5 km/h"` | Wind speed as forecast text with units. |
| `hours[].temperature` | number or null | `19` | Forecast temperature. |
| `hours[].dew_point_unit` | string | `"celsius"` | Dew point scale. |
| `hours[].short_forecast` | string or null | `"Partly Cloudy"` | Short forecast in words. |
| `hours[].wind_direction` | string or null | `"E"` | Wind direction as text. |
| `hours[].temperature_unit` | string | `"celsius"` | Temperature scale. |
| `hours[].relative_humidity_percent` | number or null | `76` | Relative humidity in percent. |
| `hours[].chance_of_precipitation_percent` | number or null | `3` | Chance of precipitation in percent. |
| `grid_x` | integer | `149` | Forecast office horizontal grid coordinate. |
| `grid_y` | integer | `48` | Forecast office vertical grid coordinate. |
| `latitude` | number | `34.0901` | Latitude of the mapped location. |
| `longitude` | number | `-118.4065` | Longitude of the mapped location. |
| `updated_at` | string or null | `"2026-09-28T08:32:06+00:00"` | Last forecast update in ISO 8601 with offset. |
| `matched_place` | string | `"Beverly Hills, CA 90210"` | Place matched to the location. |
| `forecast_office` | string | `"LOX"` | Forecast office code. |

**Example input**

```json
{
  "hours": 5,
  "units": "celsius",
  "location": "90210"
}
```

**Example output**

```json
{
  "hours": [
    {
      "dew_point": 14.4,
      "page_link": "https://forecast.weather.gov/MapClick.php?lat=34.0901&lon=-118.4065&FcstType=digital",
      "start_time": "2026-09-28T02:00:00-07:00",
      "wind_speed": "5 km/h",
      "temperature": 19,
      "dew_point_unit": "celsius",
      "short_forecast": "Partly Cloudy",
      "wind_direction": "E",
      "temperature_unit": "celsius",
      "relative_humidity_percent": 76,
      "chance_of_precipitation_percent": 3
    },
    {
      "dew_point": 15,
      "page_link": "https://forecast.weather.gov/MapClick.php?lat=34.0901&lon=-118.4065&FcstType=digital",
      "start_time": "2026-09-28T03:00:00-07:00",
      "wind_speed": "5 km/h",
      "temperature": 19,
      "dew_point_unit": "celsius",
      "short_forecast": "Partly Cloudy",
      "wind_direction": "E",
      "temperature_unit": "celsius",
      "relative_humidity_percent": 78,
      "chance_of_precipitation_percent": 3
    },
    {
      "dew_point": 14.4,
      "page_link": "https://forecast.weather.gov/MapClick.php?lat=34.0901&lon=-118.4065&FcstType=digital",
      "start_time": "2026-09-28T04:00:00-07:00",
      "wind_speed": "5 km/h",
      "temperature": 18,
      "dew_point_unit": "celsius",
      "short_forecast": "Partly Cloudy",
      "wind_direction": "E",
      "temperature_unit": "celsius",
      "relative_humidity_percent": 82,
      "chance_of_precipitation_percent": 3
    }
  ],
  "grid_x": 149,
  "grid_y": 48,
  "latitude": 34.0901,
  "longitude": -118.4065,
  "updated_at": "2026-09-28T08:32:06+00:00",
  "matched_place": "Beverly Hills, CA 90210",
  "forecast_office": "LOX"
}
```

### List weather alerts

Operation `list_weather_alerts`, version 1. 1 credit per call.

List active US weather watches, warnings, and advisories for a city, address, ZIP code, or state, ordered by severity then issue time.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `location` | string | yes | `"Texas"` | US city, street address, ZIP code, state name or state code, such as Tulsa, OK; 74103; or Texas. |
| `min_severity` | string | no | `"severe"` | Minimum alert severity, such as severe. Any includes alerts with unknown severity. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "location"
  ],
  "properties": {
    "location": {
      "type": "string",
      "description": "US city, street address, ZIP code, state name or state code, such as Tulsa, OK; 74103; or Texas.",
      "examples": [
        "Texas",
        "Tulsa, OK",
        "74103"
      ]
    },
    "min_severity": {
      "enum": [
        "any",
        "minor",
        "moderate",
        "severe",
        "extreme"
      ],
      "type": "string",
      "default": "any",
      "description": "Minimum alert severity, such as severe. Any includes alerts with unknown severity.",
      "examples": [
        "severe"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "location": "Texas"
    },
    {
      "location": "Tulsa, OK"
    },
    {
      "location": "Texas",
      "min_severity": "severe"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `alerts` | array |  | Active watches, warnings, and advisories, ordered most severe first, then newest. |
| `alerts[].event` | string or null | `"Flood Watch"` |  |
| `alerts[].urgency` | string or null | `"Future"` |  |
| `alerts[].alert_id` | string or null | `"urn:oid:2.49.0.1.840.0.13f8f22ef4cb2cae6fac90ba79d1c52ffae2a731.001.1"` |  |
| `alerts[].headline` | string or null | `"Flood Watch issued September 28 at 12:11AM MDT until September 30 at 6:00AM MDT by NWS Midland/Odessa TX"` |  |
| `alerts[].page_url` | string or null | `"https://api.weather.gov/alerts/urn:oid:2.49.0.1.840.0.13f8f22ef4cb2cae6fac90ba79d1c52ffae2a731.001.1"` |  |
| `alerts[].severity` | string or null | `"Severe"` |  |
| `alerts[].description` | string or null |  |  |
| `alerts[].expiry_time` | string or null | `"2026-09-28T14:00:00-06:00"` | Alert expiration time in ISO 8601 with offset. |
| `alerts[].instructions` | string or null | `"You should monitor later forecasts and be prepared to take action\nshould Flash Flood Warnings be issued."` |  |
| `alerts[].areas_affected` | string or null | `"Guadalupe Mountains of Eddy County; Eddy County Plains; Northern Lea County; Central Lea County; Southern Lea County; G` |  |
| `alerts[].effective_time` | string or null | `"2026-09-28T00:11:00-06:00"` | Alert effective time in ISO 8601 with offset. |
| `alerts[].issuing_office` | string or null | `"NWS Midland/Odessa TX"` |  |

**Example input**

```json
{
  "location": "Texas"
}
```

**Example output**

```json
{
  "alerts": [
    {
      "event": "Flood Watch",
      "urgency": "Future",
      "alert_id": "urn:oid:2.49.0.1.840.0.13f8f22ef4cb2cae6fac90ba79d1c52ffae2a731.001.1",
      "headline": "Flood Watch issued September 28 at 12:11AM MDT until September 30 at 6:00AM MDT by NWS Midland/Odessa TX",
      "page_url": "https://api.weather.gov/alerts/urn:oid:2.49.0.1.840.0.13f8f22ef4cb2cae6fac90ba79d1c52ffae2a731.001.1",
      "severity": "Severe",
      "description": "* WHAT...Flash flooding caused by excessive rainfall continues to be\npossible.\n\n* WHERE...Portions of southeast New Mexico, including the following\nareas, Central Lea, Eddy County Plains, Guadalupe Mo…",
      "expiry_time": "2026-09-28T14:00:00-06:00",
      "instructions": "You should monitor later forecasts and be prepared to take action\nshould Flash Flood Warnings be issued.",
      "areas_affected": "Guadalupe Mountains of Eddy County; Eddy County Plains; Northern Lea County; Central Lea County; Southern Lea County; Guadalupe Mountains Above 7000 Feet; Guadalupe and Delaware Mountains; Van Horn an…",
      "effective_time": "2026-09-28T00:11:00-06:00",
      "issuing_office": "NWS Midland/Odessa TX"
    }
  ]
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@national-weather-service",
  "visibility": "public",
  "operation": "get_current_conditions",
  "version": 1,
  "input": {
    "location": "98101"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@national-weather-service\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_current_conditions\",\n  \"version\": 1,\n  \"input\": {\n    \"location\": \"98101\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@national-weather-service",
  "visibility": "public",
  "operation": "get_current_conditions",
  "version": 1,
  "input": {
    "location": "98101"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

Or describe the data in plain language: send `{"api":"@national-weather-service","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Plan staffing around day and night forecasts.
- Compare hourly temperatures and precipitation chances for a location.
- Review active weather alerts by severity.
- Check observed conditions near a worksite.
- Track forecast changes using update times.

## FAQ

### Is Fous affiliated with National Weather Service?

No. Fous is not affiliated with National Weather Service. This workflow reads the public weather.gov website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a National Weather Service account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from weather.gov when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 29, 2026.

### What is the forecast for a U.S. location?

Get forecast returns a seven-day day and night forecast for a U.S. city, address, or ZIP code.

### What weather is expected hour by hour?

Get hourly forecast returns available hourly forecasts for a U.S. city, address, or ZIP code.

### Are there active weather alerts for this location?

List weather alerts returns active watches, warnings, and advisories for a U.S. city, address, ZIP code, or state.

## Related

- [The Weather Channel API](https://fous.com/workflows/the-weather-channel.md): The Weather Channel returns current conditions, today’s high/low, up to 15 daily forecasts (sometimes fewer), 1–48 local hourly forecasts, and active severe weather alerts.
- [MSN Weather API](https://fous.com/workflows/msn-weather.md): MSN Weather provides current conditions and forecasts for places worldwide, including up to 10 days ahead and optional hourly forecasts for the next 24 hours.
- [AccuWeather API](https://fous.com/workflows/accuweather.md): AccuWeather provides current conditions and RealFeel, plus up to 15 available daily forecasts; shorter public forecasts may return fewer days.
- [NOAA Space Weather API](https://fous.com/workflows/noaa-space-weather.md): NOAA Space Weather provides near-term aurora chances, current geomagnetic activity, a three-day Kp outlook, and NOAA alerts from the past 1–7 days.
- [Weather Underground API](https://fous.com/workflows/weather-underground.md): Historical and current weather conditions from stations worldwide.
- [National Park Service API](https://fous.com/workflows/national-park-service.md): The National Park Service provides official park and site information, visiting details, and current alerts; schedules and booking rules can change, and alert update dates may be unavailable.
- [NOAA Tides and Currents API](https://fous.com/workflows/noaa-tides-and-currents.md): NOAA Tides and Currents provides coastal observations and predictions: tide times within 30 miles of prediction stations, latest levels within 50 miles of reporting stations.
- [AirNow API](https://fous.com/workflows/airnow.md): Current and forecast air quality for reporting areas in the United States and covered cities in Canada and Mexico.
- [All Weather workflows](https://fous.com/workflows/category/weather)
