USGS Volcano Activity Notifications Scraper
Pricing
Pay per event
USGS Volcano Activity Notifications Scraper
Scrape official USGS HANS volcano notices, alert levels, aviation color codes, observatories, timestamps, VNUMs, summaries, and URLs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Turn the public USGS HANS volcano notification page into clean, structured data.
This Apify Actor extracts volcano activity notices, VONA notices, alert levels, aviation color codes, observatories, sent timestamps, detail-page summaries, VNUM identifiers, and source links from the official USGS Volcano Hazards Program notification feed.
Use it for scheduled monitoring, risk dashboards, aviation operations, emergency management, insurance research, geospatial enrichment, and scientific news tracking.
What does USGS Volcano Activity Notifications Scraper do?
USGS Volcano Activity Notifications Scraper reads the public HANS page at https://volcanoes.usgs.gov/hans-public/.
It finds recent volcano notices and VONA records.
It follows each linked detail page when requested.
It saves each notification as a dataset item.
It keeps the source URL so you can audit every record.
It includes both human-readable fields and machine-friendly fields.
It does not require a login, API key, browser session, or private USGS account.
Who is it for?
Aviation operations teams can watch aviation color codes for ORANGE or RED changes.
Emergency managers can schedule repeated checks for new volcano activity notices.
Insurance and infrastructure risk analysts can enrich exposure models with official volcano alerts.
Geospatial data teams can join USGS VNUMs and volcano names into maps and dashboards.
Researchers can archive official USGS notification text for longitudinal studies.
News and OSINT teams can monitor volcano status changes without manually checking the page.
Developers can feed structured volcano alerts into Slack, webhooks, databases, or BI tools.
Why use this actor?
The USGS HANS page is public but optimized for people, not automation.
This actor turns that HTML into typed records.
It extracts detail text that is useful for downstream keyword search.
It deduplicates notices repeated in multiple page sections.
It adds filters so you can monitor only the observatories, volcanoes, alert levels, or aviation colors you care about.
It is HTTP-first, so runs are lightweight and fast.
Data source
The source is the USGS Volcano Hazards Program HANS public notification page.
Default source URL:
https://volcanoes.usgs.gov/hans-public/
The actor also follows linked /notice/ and /vona/ pages on the same host.
The output reflects what USGS publishes at run time.
If USGS changes or removes a notice, future runs will reflect the current page.
Output data
Each dataset item represents one USGS notice URL.
The actor saves listing metadata and, when enabled, detail-page data.
Important output fields include:
| Field | Description |
|---|---|
noticeId | Stable ID parsed from the USGS notice URL |
noticeUrl | Direct USGS notice or VONA URL |
sourceUrl | Listing page used for discovery |
title | Notice title from the listing |
noticeType | VONA or Volcano Activity Notification |
section | Listing section such as Last 24 Hours or Recent Notices |
observatory | USGS observatory section |
sentTimeUtc | Sent timestamp in UTC when available |
sentUnixTime | Source UNIX timestamp when USGS provides it |
volcanoName | Primary volcano name |
volcanoNames | All volcano names detected for the notice |
vnums | USGS volcano numbers from detail pages |
alertLevel | Current volcano alert level |
aviationColorCode | Aviation color code |
volcanoes | Nested volcano details with summaries and monitoring links |
summary | First parsed volcano summary |
bodyText | Cleaned detail-page body text |
scrapedAt | Extraction timestamp |
Example output
{"noticeId": "DOI-USGS-HVO-2026-07-09T18:04:49+00:00","noticeUrl": "https://volcanoes.usgs.gov/hans-public/notice/DOI-USGS-HVO-2026-07-09T18:04:49+00:00","title": "Kilauea Daily Update","noticeType": "Volcano Activity Notification","observatory": "Hawaiian Volcano Observatory","sentTimeUtc": "2026-07-09T18:35:33.000Z","volcanoName": "Kilauea","volcanoNames": ["KILAUEA"],"alertLevel": "WATCH","aviationColorCode": "ORANGE","summary": "Summary text from the USGS notice","scrapedAt": "2026-07-10T00:00:00.000Z"}
How much does it cost to scrape USGS volcano notifications?
This actor uses pay-per-event pricing.
There is a $0.005 start fee per run.
There is a per-notification charge for each dataset item saved.
The BRONZE per-notification price is $0.000055673, with lower tier prices for larger plans.
The default input is intentionally limited to the current public listing so you can test cheaply.
For full production monitoring, schedule the actor and set maxItems to the number of recent notices you need.
Live prices are shown on the Apify Store page before you start a run.
Input options
maxItems controls how many notice records are saved.
includeDetails controls whether the actor follows notice and VONA detail links.
startUrls lets advanced users override the default HANS listing URL.
observatories filters by observatory names or abbreviations.
volcanoNames filters by volcano names such as Kilauea or Great Sitkin.
alertLevels filters by alert levels such as NORMAL, ADVISORY, WATCH, or WARNING.
aviationColorCodes filters by GREEN, YELLOW, ORANGE, or RED.
startDate keeps notices sent after a date or timestamp.
endDate keeps notices sent before a date or timestamp.
includeDuplicates keeps repeated listing rows when USGS displays the same notice in multiple sections.
Example input
{"maxItems": 100,"includeDetails": true,"aviationColorCodes": ["ORANGE", "RED"],"includeDuplicates": false}
How to run it
Open the actor on Apify.
Click Try for free.
Keep the default input for a full recent-notice scrape.
Add filters if you only need one volcano, observatory, alert level, or aviation color.
Start the run.
Download the dataset as JSON, CSV, Excel, XML, or RSS.
Connect the dataset to your workflow through the Apify API, webhooks, integrations, or MCP.
Monitoring workflows
Schedule the actor hourly or daily for recurring volcano alert monitoring.
Filter for ORANGE and RED aviation color codes for aviation safety dashboards.
Filter for WATCH and WARNING alert levels for emergency-management escalation.
Filter by observatory when your team only covers Alaska, Hawaii, Yellowstone, Cascades, California, or Northern Mariana Islands notices.
Send new dataset items to Slack, email, or a webhook.
Store historical runs in your database for trend analysis.
Tips for best results
Keep includeDuplicates disabled unless you need to mirror the listing page exactly.
Use includeDetails when you need VNUMs, summaries, and full notice text.
Disable includeDetails for very fast link-only monitoring.
Use date filters when backfilling a known time window from a listing page.
Use volcano name filters for focused scheduled checks.
Use aviation color filters for operational alerting.
Integrations
Send output to Google Sheets for analyst review.
Send ORANGE or RED notices to Slack through an Apify webhook.
Store notice text in a database for search and historical comparison.
Join VNUM values with geospatial volcano layers.
Trigger incident-management workflows when alert levels match your escalation rules.
Use Apify integrations to export JSON, CSV, Excel, or RSS.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/usgs-volcano-activity-notifications-scraper').call({maxItems: 100,includeDetails: true,aviationColorCodes: ['ORANGE', 'RED']});console.log(`Dataset: https://api.apify.com/v2/datasets/${run.defaultDatasetId}/items`);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/usgs-volcano-activity-notifications-scraper').call(run_input={'maxItems': 100,'includeDetails': True,'aviationColorCodes': ['ORANGE', 'RED'],})print(run['defaultDatasetId'])
API usage with cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~usgs-volcano-activity-notifications-scraper/runs?token=MY-APIFY-TOKEN' \-H 'Content-Type: application/json' \-d '{"maxItems":100,"includeDetails":true,"aviationColorCodes":["ORANGE","RED"]}'
MCP usage
Use this actor from Claude Desktop, Claude Code, or another MCP-compatible client through Apify MCP.
MCP server URL:
https://mcp.apify.com/?tools=automation-lab/usgs-volcano-activity-notifications-scraper
Claude Code setup:
$claude mcp add apify-usgs-volcano-notifications https://mcp.apify.com/?tools=automation-lab/usgs-volcano-activity-notifications-scraper
Claude Desktop JSON configuration:
{"mcpServers": {"apify-usgs-volcano-notifications": {"url": "https://mcp.apify.com/?tools=automation-lab/usgs-volcano-activity-notifications-scraper"}}}
Example prompts:
- "Run the USGS volcano notifications scraper and show any ORANGE aviation color notices."
- "Monitor Kilauea notices and summarize the latest USGS alert level."
- "Fetch recent USGS HANS volcano notices and return a CSV-ready table."
Related scrapers
Explore related Automation Lab actors on Apify:
https://apify.com/automation-lab/website-contact-finderhttps://apify.com/automation-lab/bulk-url-status-checkerhttps://apify.com/automation-lab/google-news-scraper
Use this actor when the required source is USGS HANS volcano notifications.
Use broader disaster or news scrapers when you need multi-source incident coverage.
Legality and responsible use
This actor extracts public USGS web pages.
Respect the source website and use reasonable schedules.
Do not overload public services.
Review USGS terms, your compliance obligations, and any downstream use requirements before production use.
The actor does not bypass authentication, paywalls, CAPTCHA, or access controls.
Troubleshooting
If you get fewer items than expected, increase maxItems and remove filters.
If alertLevel or aviationColorCode is empty, the listing or detail page may not include that value for the specific notice.
If you only need notice URLs and timestamps, set includeDetails to false.
If a volcano name filter returns zero records, try a broader spelling or run without the filter to inspect current USGS titles.
If a scheduled run returns no new high-severity alerts, check the full dataset to confirm that only lower alert levels were present.
FAQ
Does this actor use the official USGS source?
Yes. It reads the public USGS HANS notification page and linked USGS notice pages.
Does it require a browser?
No. The data is available in the initial HTML, so the actor uses fast HTTP extraction.
Can I monitor one volcano?
Yes. Use volcanoNames, for example ["Kilauea"] or ["Great Sitkin"].
Can I monitor aviation color codes?
Yes. Use aviationColorCodes, for example ["ORANGE", "RED"].
Can I schedule it?
Yes. Use Apify schedules to run it on an hourly, daily, or custom cadence.
Does it output CSV?
Yes. Apify datasets can be downloaded as CSV, JSON, Excel, XML, RSS, or accessed through the API.
Support
If the USGS page layout changes and extraction quality drops, open an issue on Apify with the run ID and expected records.
Include the input used, the run URL, and the notice URL you expected to see.
Changelog
See .actor/CHANGELOG.md for release notes.