GDACS Disaster Alerts Scraper — GeoJSON & Filters avatar

GDACS Disaster Alerts Scraper — GeoJSON & Filters

Pricing

from $10.00 / 1,000 gdacs alert scrapeds

Go to Apify Store
GDACS Disaster Alerts Scraper — GeoJSON & Filters

GDACS Disaster Alerts Scraper — GeoJSON & Filters

Extract official GDACS alerts for earthquakes, floods, cyclones, volcanoes, droughts, and wildfires. Use for crisis monitoring, research, newsrooms, and automation. Not for official warnings. Returns typed alerts with severity, country, dates, coordinates, sources, and report URLs. $0.010 per alert.

Pricing

from $10.00 / 1,000 gdacs alert scrapeds

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

14 days ago

Last modified

Share

GDACS Disaster Alerts Scraper extracts official global disaster events from the Global Disaster Alert and Coordination System (GDACS) GeoJSON API. It returns normalized alerts for earthquakes, tropical cyclones, floods, volcanoes, droughts, and wildfires, with filters for GDACS alert level, date window, country, current status, and geographic bounding box.

Use the GDACS Disaster Alerts Scraper for crisis-monitoring dashboards, newsroom research, humanitarian data pipelines, travel-risk context, insurance and supply-chain screening, scheduled new-event feeds, and AI-agent workflows. Do not use it as the sole source for evacuation, life-safety, or public-warning decisions: GDACS explicitly states that its automated notifications can contain uncertainty and do not replace alerts from competent local or national authorities.

The Actor calls the public GDACS geteventlist/SEARCH API directly. It needs no login, cookies, API key, browser, or proxy. It follows the official 100-record paging limit, normalizes the response into a compact stable schema, and preserves links back to GDACS reports and detailed geometry.

What data can I extract with GDACS Disaster Alerts Scraper?

Each dataset item represents one GDACS event episode.

Field groupIncluded data
IdentityeventKey, eventId, episodeId
HazardeventType, eventTypeName, name, description
AlertalertLevel, alertScore, isCurrent, isTemporary
Severityseverity, severityText, severityUnit
Geographycountry, iso3, affectedCountries, longitude, latitude
TimelinestartAt, endAt, modifiedAt, scrapedAt
Provenancesource, reportUrl, geometryUrl, detailsUrl, iconUrl

How much will scraping GDACS cost you?

This Actor uses transparent pay-per-event pricing.

EventPriceWhen it is charged
Actor start$0.00005Automatically by Apify when a run starts; the count scales with memory
GDACS alert scraped$0.010Once for each schema-valid alert stored in the default dataset

Typical result charges are:

  • 10 alerts: $0.10 plus the synthetic start event
  • 50 alerts, the default cap: $0.50 plus the synthetic start event
  • 100 alerts: $1.00 plus the synthetic start event
  • A valid query with no matching alerts: no per-alert charge

The Actor prints its maximum possible result cost before making the first request and stops cleanly when the run spending limit cannot cover another record. maxResults is both a row cap and a cost-control input.

When should I use this Actor?

Choose this Actor when you need clean source-faithful GDACS event data rather than a proprietary risk score or an LLM-generated incident assessment. Good uses include:

  • polling active orange and red disasters every 15 minutes;
  • feeding a map with event coordinates and GDACS report links;
  • monitoring earthquakes and tropical cyclones near facilities or routes;
  • exporting a historical date range to JSON, CSV, Excel, or a database;
  • triggering Slack, email, Make, Zapier, n8n, or webhook workflows;
  • giving an AI agent a concise tool for official GDACS alert discovery;
  • creating separate named watchlists for regions or business units.

Do not choose it for local weather warnings, official evacuation orders, private emergency feeds, or predictive hazard modeling. It returns what the GDACS API publishes and does not claim to independently verify an event.

Input

The default input returns currently active events of every supported type and alert level from the last seven days, capped at 50 records:

{}

For higher-concern earthquakes and tropical cyclones in Japan and the Philippines:

{
"eventTypes": ["EQ", "TC"],
"alertLevels": ["orange", "red"],
"daysBack": 30,
"countries": ["Japan", "PHL"],
"onlyCurrent": true,
"maxResults": 100
}

For a scheduled Asia-Pacific new-alert feed:

{
"eventTypes": ["EQ", "TC", "FL", "VO"],
"alertLevels": ["green", "orange", "red"],
"daysBack": 14,
"boundingBox": [100, -10, 180, 60],
"onlyCurrent": true,
"skipSeen": true,
"watchlistName": "apac-operations",
"maxResults": 200
}

dateFrom and dateTo accept YYYY-MM-DD. When dateFrom is empty, daysBack creates a rolling window ending at dateTo or today. countries performs an exact case-insensitive match against the primary GDACS country, ISO-3 code, or affected-country list. boundingBox uses [west, south, east, north] and supports rectangles that cross the antimeridian.

When skipSeen is enabled, the Actor stores emitted event keys in a named key-value store. Reuse the same watchlistName in a schedule to receive only unseen event episodes. Use different names for independent workflows so their history does not overlap.

Output

Example dataset item:

{
"eventKey": "EQ-1557413-1724396",
"eventId": 1557413,
"episodeId": 1724396,
"eventType": "EQ",
"eventTypeName": "Earthquake",
"name": "Earthquake in United States",
"description": "Earthquake in United States",
"country": "United States",
"iso3": "USA",
"affectedCountries": ["United States"],
"alertLevel": "green",
"alertScore": 1,
"severity": 4.6,
"severityText": "Magnitude 4.6M, Depth:36.925km",
"severityUnit": "M",
"isCurrent": true,
"isTemporary": false,
"startAt": "2026-08-11T08:49:24.000Z",
"endAt": "2026-08-11T08:49:24.000Z",
"modifiedAt": "2026-08-11T09:03:01.000Z",
"longitude": -159.9971,
"latitude": 54.4899,
"source": "NEIC",
"reportUrl": "https://www.gdacs.org/report.aspx?eventid=1557413&episodeid=1724396&eventtype=EQ",
"geometryUrl": "https://www.gdacs.org/gdacsapi/api/polygons/getgeometry?eventtype=EQ&eventid=1557413&episodeid=1724396",
"detailsUrl": "https://www.gdacs.org/gdacsapi/api/events/geteventdata?eventtype=EQ&eventid=1557413",
"iconUrl": "https://www.gdacs.org/images/gdacs_icons/maps/Green/EQ.png",
"scrapedAt": "2026-08-11T09:10:00.000Z"
}

The default key-value store also contains OUTPUT, a compact run summary with the normalized query, pages fetched, records stored, skipped-seen count, client-side filter count, request failures, spending-limit state, warnings, and completion time. STATE preserves pagination and deduplication state during Apify migrations.

How to use GDACS Disaster Alerts Scraper

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('YOUR_USERNAME/gdacs-disaster-alerts-scraper').call({
eventTypes: ['EQ', 'TC', 'FL'],
alertLevels: ['orange', 'red'],
daysBack: 30,
maxResults: 100,
});
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('YOUR_USERNAME/gdacs-disaster-alerts-scraper').call(run_input={
'eventTypes': ['EQ', 'TC', 'FL'],
'alertLevels': ['orange', 'red'],
'daysBack': 30,
'maxResults': 100,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl "https://api.apify.com/v2/acts/YOUR_USERNAME~gdacs-disaster-alerts-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-X POST \
-H "Content-Type: application/json" \
-d '{"eventTypes":["EQ","TC"],"alertLevels":["orange","red"],"daysBack":30,"maxResults":50}'

Apify MCP

The regular Actor is available through the hosted Apify MCP server without running a separate Standby server. Configure the tool URL as:

https://mcp.apify.com/?tools=YOUR_USERNAME/gdacs-disaster-alerts-scraper

The declared schemas expose bounded inputs, semantic output fields, and predictable costs to agents.

Reliability and limits

GDACS states that popular feeds are updated approximately every six minutes. Its API currently returns no more than 100 records per request, so this Actor paginates until maxResults, source exhaustion, or a safety limit of 100 upstream pages. It retries timeouts, HTTP 429 responses, and server errors with exponential backoff. A complete API outage fails honestly; a valid empty query exits successfully with a warning status.

GDACS may change data, experience temporary downtime, or omit fields. The Actor validates every normalized record, uses explicit nulls, stores partial successes immediately, and writes warnings to OUTPUT. If GDACS changes its schema, malformed features are skipped instead of crashing the whole batch.

More public-data Actors

FAQ

How many results can I scrape with GDACS Disaster Alerts Scraper?

One run can return 1 to 5,000 alerts. GDACS exposes at most 100 events per API page, and the Actor requests additional pages automatically. Narrow date and geographic filters for faster runs and predictable datasets.

Can I integrate GDACS Disaster Alerts Scraper with other apps?

Yes. Use Apify schedules, webhooks, Zapier, Make, n8n, Slack, email, cloud storage, or the JavaScript and Python API clients. skipSeen plus a stable watchlistName is designed for recurring notification workflows.

Can I use GDACS Disaster Alerts Scraper with the Apify API?

Yes. Run it asynchronously, synchronously, or from an Apify Task. Results are available from the run's default dataset, while OUTPUT contains operational metadata for downstream branching.

Can I use GDACS Disaster Alerts Scraper through an MCP Server?

Yes. Add YOUR_USERNAME/gdacs-disaster-alerts-scraper to the hosted Apify MCP server. AI agents receive the Actor's input contract, typed output schema, pricing signal, and dataset pagination path.

Do I need proxies to scrape GDACS?

No. The Actor calls GDACS's public API directly and does not launch a browser. Polite sequential pagination and retry backoff reduce unnecessary load.

GDACS's API quick start says its data is free and requests attribution to the “Global Disaster Alert and Coordination System, GDACS.” This Actor preserves that attribution and links to original reports. You remain responsible for your use, applicable law, and the current GDACS terms and disclaimer. GDACS information is provided without warranty, may contain automated estimates, and must not replace authoritative local warnings or expert validation.

Where does the data come from?

The source is the official GDACS GeoJSON API, operated within the GDACS cooperation framework involving United Nations and European Commission stakeholders. Individual records also name upstream scientific providers such as NEIC when GDACS supplies that field.

Your feedback

If a GDACS field changes or a filter behaves unexpectedly, open an Actor issue with the run ID, input, and one affected eventKey. Do not include your Apify token or other credentials.