# GeoNet NZ Volcano Alerts Scraper (`parseforge/geonet-nz-volcano-alerts-scraper`) Actor

Scrapes current volcano alert bulletins from GeoNet, the official New Zealand geological hazard service. Returns each volcano as a row with its alert level, activity status, and advisory text. Filter by minimum alert level.

- **URL**: https://apify.com/parseforge/geonet-nz-volcano-alerts-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Automation, Other
- **Stats:** 2 total users, 1 monthly users, 86.7% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $1.81 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### GeoNet NZ Volcano Alerts Scraper

**Scrape real-time volcano alert bulletins and alert levels from GeoNet, New Zealand's official geological hazard monitoring service.** Every record includes the volcano name, current alert level, activity status, and the full bulletin text. Export to CSV, JSON, Excel, or XML.

GeoNet's public website and data feeds are the authoritative source for volcanic activity in New Zealand, but they are designed for manual browsing, not bulk analysis. This actor reads the official volcano alert data directly, filters it by minimum alert level, and returns a structured dataset ready for monitoring dashboards, risk assessment, or historical logging.

| Who uses it | What they scrape GeoNet for |
|---|---|
| Emergency managers | Monitoring alert level changes across multiple volcanoes for public safety decisions. |
| Geoscience researchers | Building a time-series dataset of volcanic activity and alert level transitions. |
| Travel and tourism operators | Checking current volcanic activity status before running tours near volcanic zones. |
| Data journalists | Tracking alert level trends to report on New Zealand's volcanic risk landscape. |

### What it does

This actor collects current volcano alert bulletins from GeoNet and returns each volcano as a flat row with its alert level, activity status, and advisory text.

- 🌋 **Alert level filtering:** set a minimum alert level from 0 to 5 and receive only volcanoes at or above that threshold.
- 📊 **Structured output:** each volcano row includes the volcano name, alert level, activity status, and the full bulletin text in a fixed schema.
- ⚡ **Real-time data:** pulls the latest published alerts directly from GeoNet's live feed on every run.
- 📦 **Bulk collection:** paid users can pull up to a million records, suitable for historical logging or frequent polling.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with GeoNet data

**🚨 Build a volcano monitoring dashboard.**

An emergency management team runs this actor every 15 minutes, filters for alert level 2 and above, and pipes the results into a Slack channel and a GIS dashboard showing which volcanoes need attention.

**📈 Log alert level history for research.**

A volcanology PhD student runs the actor daily with no minimum level filter, appends the results to a database, and analyses how alert levels at Ruapehu and White Island have changed over two years.

**✈️ Check volcanic risk before flight operations.**

An airline operations centre runs the actor before each shift, filtering for alert level 1 and above, and cross-references active volcanoes with flight paths to assess ash cloud risk.

**📰 Feed volcanic activity into a newsroom alert system.**

A data journalist at a New Zealand news outlet schedules the actor hourly, watches for alert level changes, and triggers a breaking-news workflow when a volcano moves from level 1 to level 2 or higher.

### Why choose this scraper

| | What you get |
|---|---|
| **Official source** | Data comes directly from GeoNet, the government agency responsible for monitoring New Zealand's volcanoes. |
| **No API key needed** | Reads the public data feed without registration, OAuth, or rate-limit headaches. |
| **Fixed schema** | Every run returns the same columns: volcano name, alert level, activity status, and bulletin text. |
| **Filter at source** | The minimum alert level filter discards low-level volcanoes before they enter your dataset, saving compute and storage. |

### How it compares

No other Store actor targets GeoNet the same way, so the honest comparison is with the alternatives teams actually weigh.

| | GeoNet NZ Volcano Alerts Scraper | Build it in-house | By hand |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When GeoNet changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |

### Configure the run

Drive the actor by setting a minimum alert level from 0 to 5, and the filter runs as each volcano is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

```json
{
 "maxItems": 10,
 "minLevel": 0
}
```

A larger pull:

```json
{
 "maxItems": 200,
 "minLevel": 0
}
```

### Pricing

Pay-per-result: **$0.002 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $0.20 |
| 1,000 results | $2.00 |
| 10,000 results | $20.00 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [GeoNet NZ Volcano Alerts Scraper](https://apify.com/parseforge/geonet-nz-volcano-alerts-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to GeoNet through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/geonet-nz-volcano-alerts-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check your minimum alert level filter. If you set it to 3 and no volcano is currently at level 3 or above, the actor returns an empty dataset. Try lowering the minimum level to 0 to see all monitored volcanoes.

**The actor returns fewer volcanoes than I expected.**

GeoNet only publishes alerts for volcanoes it actively monitors. Some volcanic fields may be grouped under one entry. Also confirm your minimum alert level filter is not excluding volcanoes at lower levels.

**I hit the free-user limit of 10 records.**

Free Apify accounts are capped at 10 volcano alerts per run as a preview. Upgrade to a paid plan to raise the limit up to 1,000,000 records and run the actor at full capacity.

**The bulletin text is empty for some volcanoes.**

GeoNet does not always publish a detailed bulletin for every volcano, especially those at alert level 0 with no unrest. An empty bulletin field means GeoNet has not issued a specific advisory for that volcano at this time.

### FAQ

| Question | Answer |
|---|---|
| What data does this actor return for each volcano? | Each row contains the volcano name, the current alert level (0 to 5), the activity status description, and the full text of the latest advisory bulletin published by GeoNet. |
| How often is the GeoNet volcano alert data updated? | GeoNet updates its volcano alert bulletins whenever volcanic activity changes or a new assessment is made. The actor pulls the latest published data on every run, so scheduling it frequently gives you near-real-time monitoring. |
| Can I filter to only see volcanoes at alert level 2 or higher? | Yes. Set the minimum alert level input to 2, and the actor will return only volcanoes currently at alert level 2, 3, 4, or 5. Volcanoes at level 0 or 1 are discarded before they reach your dataset. |
| Does this cover all New Zealand volcanoes? | The actor returns every volcano that GeoNet actively monitors and publishes alerts for, including Ruapehu, White Island (Whakaari), Tongariro, and the Auckland Volcanic Field, among others. |
| Do I need an API key or login to use this? | No. The actor reads GeoNet's public data feeds, which require no registration, no API key, and no authentication. You can start scraping immediately. |
| What is the alert level scale? | GeoNet uses a 0-to-5 scale: 0 means no volcanic unrest, 1 through 2 indicate minor to moderate unrest, 3 is a minor eruption, 4 a moderate eruption, and 5 a major eruption. The bulletin text gives the detailed justification. |
| Can I get historical alert data, or only the current status? | Each run returns the current alert status at the time of the run. To build a historical record, schedule the actor to run regularly and store the results. The actor does not backfill past alert levels. |
| How many volcanoes can I scrape in one run? | Free users are limited to 10 volcano alerts per run as a preview. Paid Apify users can set the maximum up to 1,000,000 records, which covers all monitored volcanoes many times over. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by GNS Science. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: limited to 10 volcano alerts (preview). Paid users: optional, up to 1,000,000.

## `minLevel` (type: `integer`):

Filter to volcanoes at or above this alert level (0 to 5).

## Actor input object example

```json
{
  "maxItems": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10,
    "minLevel": 0
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/geonet-nz-volcano-alerts-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "maxItems": 10,
    "minLevel": 0,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/geonet-nz-volcano-alerts-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10,
  "minLevel": 0
}' |
apify call parseforge/geonet-nz-volcano-alerts-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/geonet-nz-volcano-alerts-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/i646IGale4uMfhpVp/builds/nsow4nkNyrYjrYEfv/openapi.json
