NOAA Weather Forecast & Alerts
Pricing
Pay per event
NOAA Weather Forecast & Alerts
Join National Weather Service (NOAA/NWS) 7-day forecasts, optional hourly forecasts, and active weather alerts for up to 25 US coordinates in one keyless-API run. Get grid-resolved forecast periods, alert severity and urgency, and location metadata as one clean row per coordinate — no API key.
Pricing
Pay per event
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
🎯 What this scrapes
Given a batch of up to 25 US latitude/longitude coordinates, this Actor calls NOAA/NWS's free api.weather.gov API to resolve each point's forecast grid, pull its 7-day forecast (plus an optional bounded hourly forecast), and check for currently active weather alerts — then joins all three into one dataset row per location. api.weather.gov needs no API key, but getting a usable answer means three to four separate calls per point, correct handling of out-of-coverage coordinates, and capping the ~156-period hourly payload yourself. This Actor does that plumbing so you get a ready-to-use row instead of a stack of raw NWS JSON to reconcile.
🔥 What we handle for you
- 🔗 We do the three-call join for you — grid resolution, forecast, and active alerts stitched into one row per coordinate, no NWS grid math required on your end.
- 🔁 We retry on
408 / 429 / 503and network errors — exponential backoff up to 5 attempts, honouringRetry-After. - 🌐 Apify Proxy rotation on every request — standard hygiene, fresh session per call.
- 🧭 Out-of-coverage coordinates are handled gracefully — a location outside NWS coverage is skipped with a clear status message, never a failed run.
- 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, ready for JSON, CSV, or Excel export.
- 💰 Pay-Per-Event pricing — you only pay for locations that actually resolved. No data, no charge.
💡 Use cases
- Logistics and routing — pull multi-stop forecasts and active alerts before dispatching a route.
- Agriculture — check 7-day and hourly forecasts across multiple fields in one run.
- Insurance risk — screen a portfolio of property coordinates for active severe-weather alerts.
- Events and venue planning — confirm forecast and alert status for outdoor event locations.
- Energy-demand forecasting — feed grid-level temperature and forecast data into a demand model.
⚙️ How to use it
- Click Try for free at the top of the page.
- Fill in the input form — most fields have sensible defaults.
- Click Start. Output streams into the run's dataset.
- Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
coordinates | array | yes | ['39.7456,-97.0892', '40.7128,-74.0060', '34.0522,-118.2437'] | US latitude/longitude pairs to look up, one per entry, formatted as lat,lon (e.g.… |
include_hourly_forecast | boolean | no | False | Opt in to also fetch the per-hour forecast for each coordinate. Off by default — the hourly payload is large (~156… |
max_hourly_periods | integer | no | 24 | When hourly forecast is enabled, cap how many hourly periods (earliest-first) are kept per location. Ignored when… |
proxyConfiguration | object | no | {'useApifyProxy': True} | Apify Proxy configuration. api.weather.gov shows no anti-bot signal, so this is house-style hygiene rather than a… |
Example input
{"coordinates": ["39.7456,-97.0892","40.7128,-74.0060","34.0522,-118.2437"],"include_hourly_forecast": false}
📤 Output
Every row is one dataset item.
| Field | Type | Notes |
|---|---|---|
latitude | number | Input latitude, echoed. |
longitude | number | Input longitude, echoed. |
grid_id | string | NWS forecast grid identifier (e.g. TOP), resolved from the coordinate via the points endpoint. |
grid_x | integer | NWS forecast grid X coordinate. |
grid_y | integer | NWS forecast grid Y coordinate. |
city | ['string', 'null'] | Nearest NWS relative-location city, when published. |
state | ['string', 'null'] | Nearest NWS relative-location state, when published. |
forecast_periods | array | ~14 day/night 7-day forecast periods — name, start/end time, temperature, short/detailed forecast, wind. |
hourly_periods | array | Hourly forecast periods, capped at max_hourly_periods; empty unless include_hourly_forecast is true. |
active_alerts | array | Currently active NWS alerts for the location; an empty list is a normal successful result. |
alert_count | integer | Number of active alerts (length of active_alerts). |
retrieved_at | string | ISO-8601 UTC timestamp when this row was scraped. |
Example output
{"latitude": 39.7456,"longitude": -97.0892,"grid_id": "TOP","grid_x": 31,"grid_y": 80,"city": "Concordia","state": "KS","forecast_periods": [{"name": "Overnight","start_time": "2026-09-03T21:00:00-05:00","end_time": "2026-09-04T06:00:00-05:00","is_daytime": false,"temperature": 68,"temperature_unit": "F","precipitation_probability": 20,"wind_speed": "10 mph","wind_direction": "S","short_forecast": "Partly Cloudy","detailed_forecast": "Partly cloudy, with a low around 68."}],"hourly_periods": [],"active_alerts": [],"alert_count": 0,"retrieved_at": "2026-09-03T14:32:10Z"}
💰 Pricing
Pay-Per-Event — you pay only when these events fire:
| Event | USD | What it is |
|---|---|---|
actor-start | $0.2 | One-off warm-up charge per run |
location-scraped | $0.005 | Per successfully joined location row (forecast + optional hourly + alerts) |
Example: 1 000 results at the rates above ≈ $5.20. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.
🚧 Limitations
- US/NWS coverage only — no international forecasts.
- Forecast and active alerts only — no historical or archival weather data.
- No built-in geocoding — supply raw lat,lon coordinates; geocode addresses or ZIPs upstream.
- Up to 25 coordinates per run — batch across multiple runs for larger coordinate lists.
- Hourly forecast is opt-in and capped at 156 periods to bound payload size.
❓ FAQ
Is this Actor limited to the US?
Yes — it wraps NOAA/NWS's public API, which only covers US coordinates (all 50 states plus territories). A non-US coordinate is skipped cleanly, never a crash.
What happens if a coordinate is out of NWS coverage?
That location is skipped, a WARNING is logged, and the run's status message states how many of your N coordinates were skipped and why. The run still succeeds with the rows that resolved.
Does this include historical weather?
No — this is forecast plus currently active alerts only, not a climate archive.
Do I need an API key?
No. api.weather.gov is a free, keyless public API; every request identifies itself with a compliant User-Agent header.
💬 Your feedback
Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.