Shipping Disruption Tracker - War & Supply Chain
Pricing
$8.00 / 1,000 region reports
Shipping Disruption Tracker - War & Supply Chain
Monitor global shipping disruptions across 6 maritime chokepoints: Strait of Hormuz, Red Sea, Suez Canal, South China Sea, Panama Canal, Black Sea. Port status, commodity prices, disruption news, and risk levels. Built for supply chain managers and commodity traders.
Pricing
$8.00 / 1,000 region reports
Rating
0.0
(0)
Developer
George Kioko
Actor stats
0
Bookmarked
10
Total users
2
Monthly active users
10 days ago
Last modified
Categories
Share
Real-time intelligence on 6 critical maritime chokepoints, commodity price tracking, port operational status, and AI-powered risk assessment -- built for supply chain professionals, commodity traders, and geopolitical analysts.
170+ ships are trapped in the Persian Gulf as of March 2026. The Strait of Hormuz -- through which 20% of the world's petroleum flows -- is partially blocked. Supply chain managers need real-time visibility, not $100K enterprise subscriptions.
How It Works
flowchart LRA["Select Regions"] --> B["Fetch News"]B --> C["Analyze Risk"]C --> D["Check Ports"]D --> E["Get Commodity\nPrices"]E --> F["Disruption\nReport"]style A fill:#1a1a2e,stroke:#e94560,color:#fffstyle B fill:#1a1a2e,stroke:#0f3460,color:#fffstyle C fill:#1a1a2e,stroke:#e94560,color:#fffstyle D fill:#1a1a2e,stroke:#0f3460,color:#fffstyle E fill:#1a1a2e,stroke:#e94560,color:#fffstyle F fill:#16213e,stroke:#0f3460,color:#fff,stroke-width:3px
Architecture
flowchart TBsubgraph Input["Input Configuration"]R[Regions Array]C[Commodities Array]T[Feature Toggles]endsubgraph Pipeline["Scraping Pipeline"]direction TBPC[PuppeteerCrawler]subgraph News["News Aggregation"]NF[Fetch Headlines]NP[Parse per Region]endsubgraph Risk["Risk Keyword Engine"]direction TBKW["Keyword Analysis"]CR["CRITICAL\n-- war, attack, blockade --\n-- military strike, missile --"]HR["HIGH_RISK\n-- sanctions, conflict --\n-- threat, closure, seizure --"]MO["MODERATE\n-- tensions, dispute --\n-- delays, weather, drill --"]endsubgraph Ports["Port Status"]PS[Operational Check]CO[Coordinates Lookup]endsubgraph Commodities["Commodity Prices"]OIL[Crude Oil]GAS[Natural Gas]GOLD[Gold]MORE[Copper / Wheat /\nIron Ore / LNG]endendsubgraph Output["Disruption Report"]DR[Region Reports]PR[Price Data]RA[Risk Assessments]endR --> PCC --> PCT --> PCPC --> NewsNews --> RiskRisk --> PortsPorts --> CommoditiesCommodities --> OutputKW --> CRKW --> HRKW --> MOstyle CR fill:#dc3545,stroke:#fff,color:#fffstyle HR fill:#fd7e14,stroke:#fff,color:#fffstyle MO fill:#ffc107,stroke:#000,color:#000style Output fill:#0d6efd,stroke:#fff,color:#fff
Monitored Regions
graph TBsubgraph WORLD["6 Critical Maritime Chokepoints"]direction TBsubgraph Middle_East["Middle East"]HORMUZ["Strait of Hormuz\n26.56N, 56.25E\nPorts: Fujairah, Bandar Abbas,\nMuscat, Khor Fakkan"]REDSEA["Red Sea / Bab el-Mandeb\n12.58N, 43.33E\nPorts: Jeddah, Port Sudan,\nDjibouti, Aden"]endsubgraph Africa["Africa / Mediterranean"]SUEZ["Suez Canal\n30.46N, 32.34E\nPorts: Port Said, Suez,\nAin Sokhna, Damietta"]endsubgraph Asia["Asia-Pacific"]SCS["South China Sea\n12.00N, 113.00E\nPorts: Singapore, Ho Chi Minh,\nManila, Hong Kong"]endsubgraph Americas["Americas"]PANAMA["Panama Canal\n9.08N, 79.68W\nPorts: Balboa, Cristobal,\nManzanillo, Colon"]endsubgraph Europe["Europe / Eurasia"]BLACK["Black Sea\n43.00N, 35.00E\nPorts: Odessa, Constanta,\nNovorossiysk, Istanbul"]endendstyle HORMUZ fill:#dc3545,stroke:#fff,color:#fffstyle REDSEA fill:#dc3545,stroke:#fff,color:#fffstyle SUEZ fill:#fd7e14,stroke:#fff,color:#fffstyle SCS fill:#fd7e14,stroke:#fff,color:#fffstyle PANAMA fill:#0d6efd,stroke:#fff,color:#fffstyle BLACK fill:#dc3545,stroke:#fff,color:#fff
Input Schema
classDiagramclass Input {+String[] regions+String[] commodities+Boolean includeNews+Boolean includeCommodityPrices+Boolean includePortStatus+Number maxNewsPerRegion}
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
regions | String[] | All 6 regions | Maritime regions to monitor |
commodities | String[] | ["Crude Oil", "Natural Gas", "Gold"] | Commodity prices to track |
includeNews | Boolean | true | Aggregate news headlines per region |
includeCommodityPrices | Boolean | true | Fetch current commodity prices |
includePortStatus | Boolean | true | Check port operational status |
maxNewsPerRegion | Number | 15 | Headlines per region (5-50) |
Available Regions
| Region | Key Ports | Strategic Significance |
|---|---|---|
| Strait of Hormuz | Fujairah, Bandar Abbas, Muscat | 21% of global oil transit |
| Red Sea / Bab el-Mandeb | Jeddah, Port Sudan, Djibouti | Europe-Asia trade corridor |
| Suez Canal | Port Said, Suez, Ain Sokhna | 12% of global trade |
| South China Sea | Singapore, Manila, Hong Kong | $3.4T annual trade flow |
| Panama Canal | Balboa, Cristobal, Manzanillo | Americas east-west link |
| Black Sea | Odessa, Constanta, Novorossiysk | Grain and energy exports |
Available Commodities
| Commodity | Relevance |
|---|---|
| Crude Oil | Directly impacted by Hormuz, Red Sea, Suez disruptions |
| Natural Gas | LNG shipping routes through all 6 chokepoints |
| Gold | Safe-haven asset, spikes during maritime conflict |
| Copper | Industrial bellwether, Asia-Pacific trade flows |
| Wheat | Black Sea grain corridor dependency |
| Iron Ore | South China Sea and Panama shipping lanes |
| LNG | Liquefied natural gas spot pricing |
Example Input
{"regions": ["Strait of Hormuz", "Red Sea", "Suez Canal"],"commodities": ["Crude Oil", "Natural Gas", "Gold"],"includeNews": true,"includeCommodityPrices": true,"includePortStatus": true,"maxNewsPerRegion": 20}
Output Schema
classDiagramclass DisruptionReport {+String region+String description+String riskLevel+String status+PortStatus[] affectedPorts+Object commodityPrices+NewsItem[] newsHeadlines+Number newsCount+String monitoredAt}class NewsItem {+String title+String source+String url+String publishedAt}class PortStatus {+String port+String country+String status+String statusDetail+String[] recentHeadlines}class CommodityPrice {+Number price+String priceFormatted+String source+String fetchedAt}DisruptionReport --> NewsItemDisruptionReport --> PortStatusDisruptionReport --> CommodityPrice
Example Output
{"region": "Strait of Hormuz","description": "Critical chokepoint for 20% of global petroleum. Active military operations zone.","riskLevel": "CRITICAL","status": "Critical disruptions detected. Ports suspended/closed: Kuwait Port. Active military operations or blockade indicators present.","commodityPrices": {"Crude Oil": {"price": 92.10,"priceFormatted": "$92.10","source": "Google Finance","fetchedAt": "2026-03-22T12:00:00.000Z"}},"affectedPorts": [{"port": "Bandar Abbas","country": "Iran","status": "Suspended/Closed","statusDetail": "Critical disruption indicators detected in recent news","recentHeadlines": ["Iran closes Bandar Abbas port amid US strikes"]},{"port": "Fujairah","country": "UAE","status": "Operational","statusDetail": "No disruption reports found"}],"newsHeadlines": [{"title": "US Navy escorts tankers through Hormuz as tensions escalate","source": "Reuters","publishedAt": "Sun, 22 Mar 2026 14:30:00 GMT","url": "https://news.google.com/..."}],"newsCount": 15,"monitoredAt": "2026-03-22T12:00:00.000Z"}
Risk Levels
| Level | Trigger Keywords | Meaning |
|---|---|---|
CRITICAL | war, attack, blockade, military strike, explosion, missile | Active conflict or imminent threat to shipping |
HIGH_RISK | sanctions, conflict, threat, closure, seizure, naval | Elevated danger, rerouting likely |
MODERATE | tensions, dispute, delays, weather, inspection, drill | Disruption possible but not imminent |
Use Cases
mindmaproot((Shipping\nDisruption\nTracker))Supply ChainRoute planningAlternative corridor analysisSupplier risk scoringInventory buffer decisionsInsuranceMarine cargo underwritingWar risk premium calculationClaims trigger monitoringPortfolio exposure mappingTradingCommodity price signalsFreight rate forecastingGeopolitical alpha generationSpread trade triggersLogisticsVessel rerouting decisionsPort congestion monitoringETA recalculationCarrier selectionRisk ManagementCountry risk dashboardsScenario modelingBoard-level reportingRegulatory compliance
AI Agent Integration
Connect this actor to any AI agent framework for automated supply chain monitoring.
JavaScript (Apify Client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('george.the.developer/shipping-disruption-tracker').call({regions: ['Strait of Hormuz', 'Red Sea', 'Suez Canal'],commodities: ['Crude Oil', 'Natural Gas', 'Gold'],includeNews: true,includeCommodityPrices: true,includePortStatus: true,maxNewsPerRegion: 15,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const report of items) {console.log(`${report.region}: ${report.riskLevel}`);console.log(` Ports: ${report.affectedPorts.map(p => `${p.port} (${p.status})`).join(', ')}`);console.log(` Headlines: ${report.newsCount}`);}
Python (Apify Client)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("george.the.developer/shipping-disruption-tracker").call(run_input={"regions": ["Strait of Hormuz", "Red Sea", "Suez Canal"],"commodities": ["Crude Oil", "Natural Gas", "Gold"],"includeNews": True,"includeCommodityPrices": True,"includePortStatus": True,"maxNewsPerRegion": 15,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():risk = item["riskLevel"]region = item["region"]print(f"{region}: {risk}")for port in item.get("affectedPorts", []):print(f" {port['port']} ({port['country']}): {port['status']}")for headline in item.get("newsHeadlines", []):print(f" - {headline['title']} [{headline['source']}]")
cURL
# Start the actor runcurl -X POST "https://api.apify.com/v2/acts/george.the.developer~shipping-disruption-tracker/runs" \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"regions": ["Strait of Hormuz", "Red Sea"],"commodities": ["Crude Oil", "Gold"],"includeNews": true,"includeCommodityPrices": true,"includePortStatus": true,"maxNewsPerRegion": 10}'# Fetch results (replace DATASET_ID from the run response)curl "https://api.apify.com/v2/datasets/DATASET_ID/items?format=json" \-H "Authorization: Bearer YOUR_APIFY_TOKEN"
Apify MCP Server (Claude / GPT / LangChain)
This actor is compatible with the Apify MCP Server for direct AI agent integration. Connect it to Claude Desktop, GPT-based agents, CrewAI, or LangChain supply chain monitoring workflows.
Pricing
| Scope | Cost |
|---|---|
| Per region report | $0.008 |
| 3 regions (most common) | $0.024 |
| All 6 regions (full scan) | $0.048 |
| Hourly monitoring, all regions (monthly) | ~$35/month |
Pricing uses Apify's Pay Per Event model. You are charged only for the regions you select. News aggregation, commodity prices, and port status checks are included in the per-region cost.
FAQ
How often should I run this actor? For active conflict zones, every 1-4 hours. For general monitoring, once or twice daily is sufficient. Set up recurring runs from the Apify Console schedules tab.
Which regions are most volatile right now?
The actor does not predict the future, but historically the Red Sea, Strait of Hormuz, and Black Sea have the highest frequency of CRITICAL and HIGH_RISK assessments.
Can I monitor just one region?
Yes. Pass a single region in the regions array and you will be charged only $0.008 for that run.
Can I add custom regions? Yes. Enter any region name and it will create a search-based monitor using relevant maritime keywords.
How does risk assessment work?
Headlines are scanned for conflict-related keywords. Words like "attack", "blockade", or "missile" trigger CRITICAL. Terms like "sanctions" or "threat" produce HIGH_RISK. Lower-severity terms like "tensions" or "delays" result in MODERATE.
How does it determine port status? Port status is assessed by analyzing recent news about each port for disruption keywords (blockade, suspended, closed, military, diversion, etc.). It is news-based intelligence, not direct port authority feeds.
What commodity data is included? Current price, formatted price string, source, and fetch timestamp. Supported commodities: Crude Oil, Natural Gas, Gold, Copper, Wheat, Iron Ore, and LNG.
Can I integrate this with my dashboard or alerting system? Yes. Use the Apify API or webhook integrations to push results to Slack, email, or any HTTP endpoint. The structured JSON output works with any BI tool.
What happens if a news source is unavailable? The actor uses PuppeteerCrawler with retry logic. If a source is temporarily down, it continues with available sources and returns partial results rather than failing.
Built with Crawlee and Apify SDK by george.the.developer