Weather.gov Zone Forecasts Scraper avatar

Weather.gov Zone Forecasts Scraper

Pricing

from $0.31 / 1,000 forecast period exporteds

Go to Apify Store
Weather.gov Zone Forecasts Scraper

Weather.gov Zone Forecasts Scraper

Export official Weather.gov zone forecast periods with zone identity, narrative text, raw issue time and source URLs. Resolve current zone IDs from US points for recurring local planning.

Pricing

from $0.31 / 1,000 forecast period exporteds

Rating

0.0

(0)

Developer

Automation Lab

Automation Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Export official weather.gov zone forecasts as structured narrative period records for recurring local operations planning. Supply current US forecast zone IDs or resolve them from US latitude/longitude points. Each row preserves the official zone name, period label, forecast prose, raw issuance time and source links.

This Actor collects geographic zone forecasts, not point-grid numeric forecasts. Anchorage is a useful example: its current forecast zone is AKZ701; the former AKZ102 is retired.

Who is it for?

  • Field-service coordinators checking tomorrow’s conditions across service regions.
  • Local logistics teams preserving the official narrative alongside planning notes.
  • Community organizers reviewing multi-day weather outlooks before outdoor work.
  • Analysts collecting successive forecast snapshots in a spreadsheet or warehouse.

It is not a warning service, emergency decision system or replacement for checking current official guidance.

Why use this Actor?

Zone prose describes a wider geographic area and can include combined periods that differ from a coordinate-specific forecast. The Actor keeps those official labels intact instead of manufacturing hourly timestamps, temperatures or separate days.

Point input resolves the current zone ID before collection. Duplicate zone IDs across direct and point inputs are fetched once. Issuance is read from the forecast’s Last Update block, not the nearby weather observation timestamp.

Getting started

  1. Open the Input tab.
  2. Keep AKZ701 to try Anchorage, or enter another current US forecast zone ID.
  3. Optionally supply points to resolve zones from coordinates.
  4. Set maxItems high enough to include all desired periods.
  5. Run the Actor and inspect the forecast records in the default dataset.
  6. Export JSON, CSV, Excel or XML using Apify’s dataset export controls.

Example input:

{
"zoneIds": ["AKZ701"],
"maxItems": 10
}

Inputs

FieldTypeMeaning
zoneIdsstring arrayUp to 50 current uppercase land forecast zone IDs, e.g. AKZ701, NYZ072, CAZ006.
pointsobject arrayUp to 20 objects containing numeric latitude and longitude. US coverage only.
maxItemsintegerGlobal output cap, 1–1000; default 100.

Supply at least one zone or point. An empty input fails rather than selecting an arbitrary location. Coordinates must be valid decimal degrees; a valid coordinate outside NWS coverage can still fail upstream.

Point example:

{
"points": [{ "latitude": 61.2181, "longitude": -149.9003 }],
"maxItems": 100
}

Point and zone inputs can be combined. The resulting zone set is deduplicated. The Actor does not offer location-name search, arbitrary URLs, historical date selection or marine forecasts.

Extracted data

FieldDescription
zoneIdCurrent forecast zone identity.
zoneNameOfficial MapClick geographic zone name.
periodNumberOne-based period order within the source zone forecast.
periodNameOfficial label, including combined day/night or multi-day periods.
forecastTextNarrative forecast with normalized whitespace.
issuedAtRawRaw forecast Last Update string, including its source time zone.
sourceUrlOfficial MapClick zone text forecast page.
zoneUrlOfficial zone metadata URL, not a forecast endpoint.
scrapedAtUTC ISO timestamp when the forecast was parsed.

The dataset schema permits null values for display compatibility, but current extraction requires all nine fields. An incomplete source forecast fails validation rather than becoming a billed blank record.

Output example

A representative Anchorage period collected from the source:

{
"zoneId": "AKZ701",
"zoneName": "Anchorage",
"periodNumber": 1,
"periodName": "Today",
"forecastText": "Widespread rain showers. Highs in the lower 40s. Light winds.",
"issuedAtRaw": "243 AM AKDT Wed Sep 30 2026",
"sourceUrl": "https://forecast.weather.gov/MapClick.php?zoneid=AKZ701&FcstType=text",
"zoneUrl": "https://api.weather.gov/zones/forecast/AKZ701",
"scrapedAt": "2026-09-30T18:55:00.000Z"
}

Forecasts change. Your exact text, period count and issuance time will differ. A label such as Sunday And Sunday Night remains one record, not two synthetic records.

How much does it cost to export Weather.gov zone forecasts?

Pay per event: a $0.005 one-time start fee plus one item event per exported forecast period. Zone resolution has no separate event charge. Failed or rejected periods have no item charge; a failed run after validation can still incur its start fee and retain earlier output.

Apify planPrice per period
FREE$0.000598
BRONZE$0.00052
SILVER$0.0004056
GOLD$0.000312
PLATINUM$0.000312
DIAMOND$0.000312

BRONZE examples including the start fee: 1 period costs $0.00552; 10 cost $0.0102; 25 cost $0.018; 100 cost $0.057. FREE examples: 10 periods cost $0.01098; 100 cost $0.0648. Use the output cap and Apify’s maximum charge setting to bound your run.

Limits and failure behavior

Requests are sequential, direct HTTP without proxies or browser rendering. Network errors, rate limits and server failures receive at most three attempts per request with short backoff; stable 4xx responses and parser failures are not blindly retried.

A missing or retired zone, unavailable source, malformed response or absent forecast issuance causes a failed run. The Actor checks the source’s zone link to avoid returning another location’s forecast. Earlier successfully saved periods can remain in the dataset if a later zone fails.

The global cap may truncate a zone midway through its period list. There is no pagination: each MapClick page contains its current forecast periods. Period counts and future coverage vary by zone.

Integrations

Use an Apify Schedule to collect snapshots at an appropriate interval for your planning process. Send completion webhooks to Make, Zapier or your own service, then retrieve the default dataset.

For Google Sheets, append rows with zone ID and scrape time. For a warehouse, retain issuance plus period number and forecast prose; compare successive snapshots yourself. This Actor does not maintain a change cache, emit alerts or guarantee that consecutive period numbers describe the same calendar interval.

API usage

Use an Apify token belonging to your own account. Never paste it into shared documents.

cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~weather-gov-zone-forecast-records/run-sync-get-dataset-items' \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"zoneIds":["AKZ701"],"maxItems":10}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/weather-gov-zone-forecast-records')
.call({ zoneIds: ['AKZ701'], maxItems: 10 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/weather-gov-zone-forecast-records').call(
run_input={'zoneIds': ['AKZ701'], 'maxItems': 10})
print(client.dataset(run['defaultDatasetId']).list_items().items)

MCP use

Connect the Actor through Apify MCP for AI-assisted forecast retrieval. The agent must still supply valid zone IDs or coordinates and respect the output limit.

claude mcp add --transport http apify \
'https://mcp.apify.com?tools=automation-lab/weather-gov-zone-forecast-records'

Claude Desktop, Cursor and VS Code

Equivalent client configuration for HTTP-capable clients (older Claude Desktop versions may need an MCP transport bridge):

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/weather-gov-zone-forecast-records"
}
}
}

Example prompt: “Retrieve up to 10 Anchorage zone forecast periods using AKZ701 and summarize the official prose, retaining the issue time and source link.” Configure authentication according to your MCP client’s Apify connection instructions.

Legality and responsible use

This independent Actor is not affiliated with or endorsed by NOAA, NWS or Apify. It uses Apify’s standard terms, with no custom end-user agreement.

Data comes from public NOAA/NWS pages. Follow source terms, use modest scheduling and preserve official provenance. Forecasts are time-sensitive and can be revised; this export does not carry an availability or accuracy guarantee. Check Weather.gov directly for safety-critical decisions and active warnings.

Data handling and support

The Actor uses no AI at runtime and sends no input or forecasts to model providers. Coordinates are sent to the official NWS point endpoint; zone IDs are sent to MapClick. Only public forecast records are exported. There is no login, paid source API, proxy, persistent session or cross-run cache.

Input, datasets and logs remain in your Apify account under its storage-retention settings until expiry or deletion; the Actor does not enforce a separate deletion schedule. Delete runs and associated storage from Console when no longer needed. Avoid submitting private address information: decimal coordinates suffice. The Actor does not log tokens or credentials. Contact the developer through the Actor’s Issues tab for problems; include a zone ID and run link, not secrets.

FAQ and troubleshooting

Why does AKZ102 fail? Forecast zones are reorganized. Anchorage currently uses AKZ701. Resolve a point to obtain its current zone instead of repeatedly retrying a retired identifier.

Why does a point return different text from a point forecast? Points only resolve geographic zones here. Zone prose is not the NWS gridpoint temperature/hourly product.

Can I fetch historic forecasts? No. Archive successive datasets yourself; the Actor reads the current source forecast only.

Why are there fewer rows than expected? A source may combine periods, a zone may have fewer periods, or maxItems may have stopped collection. Compare the official source page.

What if the source is temporarily unavailable? Check the failed run log. Retry later after checking official availability; repeated immediate runs do not fix a retired zone or changed page structure.