Disaster Risk Monitor - Multi-Source Location Safety
Pricing
$100.00 / 1,000 location risk analyses
Disaster Risk Monitor - Multi-Source Location Safety
Aggregate USGS earthquakes (500km radius), NOAA weather alerts, FEMA declarations, State Dept travel advisories for any location. Returns 0-100 risk score. US public domain data (17 U.S.C. § 105). Historical data only, NOT emergency advice.
Pricing
$100.00 / 1,000 location risk analyses
Rating
0.0
(0)
Developer
daehwan kim
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Share
Disaster Risk Monitor
Aggregates publicly available disaster and safety data from 4 US government sources into a comprehensive risk assessment. Combines USGS earthquakes, NOAA weather, FEMA disaster declarations, and State Dept travel advisories.
All data sources are US public domain (17 U.S.C. § 105).
Features
- Query earthquake frequency (30-day window) from USGS at any latitude/longitude
- Retrieve active weather alerts and forecasts from NOAA (National Weather Service)
- Fetch FEMA disaster declarations (5-year history) by US state
- Aggregate travel advisory levels by country (State Dept)
- Composite risk scoring (0-100) combining all sources
- Parallel API calls for performance
- Individual error handling—partial data OK
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
latitude | number | Yes | Latitude (-90 to 90) for location analysis |
longitude | number | Yes | Longitude (-180 to 180) for location analysis |
state | string | No | US state abbreviation (e.g., 'CA', 'NY', 'TX'). Enables FEMA declarations query. |
country | string | No | ISO 2-letter country code (e.g., 'US', 'JP'). Enables travel advisory lookup. |
Output
Returns a single JSON object with:
{"coordinates": { "lat": 34.05, "lon": -118.24 },"usgs": {"earthquakeCount30d": 42,"maxMagnitude": 4.1,"radius_km": 500},"noaa": {"forecast": "Partly Cloudy","activeAlertCount": 2,"alerts": [{ "event": "Fire Weather Watch", "severity": "Moderate" }]},"fema": {"declarationCount5y": 8,"types": ["Fire", "Flood", "Earthquake"]},"stateDept": {"country": "US","advisoryLevel": "not available"},"riskScore": 45,"sources": ["USGS", "NOAA", "FEMA"],"disclaimer": "⚠️ DISCLAIMER: This data is historical and aggregated from public sources only. It is NOT emergency advice..."}
Risk Score Calculation
Risk Score (0-100) is composite:
- USGS: 0-25 pts (earthquake count + magnitude)
- NOAA: 0-25 pts (active alert count)
- FEMA: 0-30 pts (5-year declaration history)
- State Dept: 0-35 pts (travel advisory level, if available)
Scores are capped at 100.
Data Sources
| Source | URL | Update Frequency | Data |
|---|---|---|---|
| USGS Earthquake | earthquake.usgs.gov/fdsnws/event/1/query | Real-time | Magnitude 2.5+, 500 km radius, 30-day window |
| NOAA Weather | api.weather.gov/points, /alerts/active | Hourly | Forecast + Active alerts at location |
| FEMA Disasters | fema.gov/api/open/v2/DisasterDeclarationsSummaries | Daily | Declarations by state, 5-year history |
| State Dept Advisories | travel.state.gov | Weekly | Travel warning levels (currently "not available" via JSON API) |
⚠️ Legal Disclaimer
This Actor aggregates publicly available disaster and safety data from:
- US Geological Survey (USGS) - Public Domain (17 U.S.C. § 105)
- NOAA National Weather Service - Public Domain
- FEMA OpenFEMA - Public Domain
- US Department of State Travel Advisories - Public Domain
NOT Emergency Advice
- Does NOT replace official emergency alerts, evacuation orders, or government warnings
- Does NOT provide real-time predictions or forecasting
- Does NOT guarantee data accuracy or completeness
- For active emergencies, dial 911 (US) or visit https://www.ready.gov
- For international travel, consult https://travel.state.gov
All source data is in the US public domain and redistributed with attribution.
Pricing
This actor uses pay-per-event pricing:
- $0.05 per location analysis (includes all 4 data sources)
Usage
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('ntriqpro/disaster-risk-monitor').call({latitude: 34.05,longitude: -118.24,state: 'CA',country: 'US'});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].riskScore); // e.g., 45
API Response Handling
Each API failure is independent:
- If USGS is down, NOAA/FEMA/State Dept still return data
- Missing optional parameters (state, country) simply skip those API calls
- Empty results are returned as
nullfor each source
Requirements
- Node.js 18+
- Internet access to USGS, NOAA, FEMA, State Dept APIs
- No authentication keys required (all APIs are public)
Testing
npm installnpm start# Input example:# {"latitude": 34.05, "longitude": -118.24, "state": "CA", "country": "US"}
Notes
- USGS queries 500 km radius by default (customizable in code)
- NOAA requires User-Agent header (included:
disaster-risk-monitor/1.0) - FEMA API only returns 5-year window declarations (adjustable via filter)
- State Dept travel advisories have no official JSON API (placeholder only)