Mining & metals — bulk carriers, iron ore flows, and copper supply chains
How mining traders and metal desks use NTHMAP to track bulk carrier movements, iron ore cargoes, and copper concentrate flows.
Dry bulk shipping is the industrial heartbeat of the global economy. Iron ore, coal, grains, and bauxite move through a specialized fleet of roughly 12,000 bulk carriers. NTHMAP tracks every AIS-broadcasting vessel in that fleet with the same tools used for oil tankers.
Iron ore trade flows
The global iron ore trade is heavily concentrated:
- Producers: Australia (58% of exports), Brazil (23%), South Africa (4%), Canada (3%)
- Consumers: China (~70% of seaborne imports), Japan, South Korea, Europe
The trade happens on VLOCs (very large ore carriers, 250k+ DWT), Capesize (180k DWT), and Panamax bulkers. You can see them clearly on NTHMAP:
nthmap vessels list \
--types "Bulk Carrier" \
--bbox 110,-25,150,-10 \
--min-load 85
That query returns loaded bulk carriers leaving the Pilbara region of Western Australia — the majority bound for China's Qingdao, Ningbo, Rizhao, and Caofeidian. Compare to the Brazilian equivalent (Tubarão, Ponta da Madeira):
nthmap vessels list \
--types "Bulk Carrier" \
--bbox -44,-20,-38,-2 \
--min-load 85
Aggregated over a week, you can estimate Australia-China and Brazil-China iron ore throughput to within 10% of the official customs data — weeks before customs numbers publish.
Port monitoring
NTHMAP tracks major mining-export ports as infrastructure. Click Port Hedland or Dampier to see capacity, operator, live vessel count in the anchorage.
nthmap infra list --types port --bbox 110,-25,150,-10
The vessels waiting at anchor near a port is a proxy for port congestion. When Port Hedland's anchorage has 30+ bulkers queued while Tubarão's has 10, you're looking at a temporary Asia-Pacific tightness that will show up in iron ore prices within days.
Coal — the Phase 2 Australian story
Australian coal exports from Newcastle and Gladstone collapsed during China's unofficial ban in 2020-2022 and then rebuilt. NTHMAP would have shown you:
- Fleet rotating from Newcastle anchorage to Japanese/Korean destinations
- New concentration at Indonesia and Russian Far East ports as buyers diversified
- Gradual return of Chinese flags to Newcastle after mid-2023
Today's query:
nthmap vessels list \
--types "Bulk Carrier" \
--bbox 150,-33,153,-32 \
--min-load 80 \
--format json | jq '[.[] | .destination] | group_by(.) | map({dest: .[0], count: length})'
Gives you destination breakdown for loaded Newcastle outbound bulkers.
Copper concentrate — harder but possible
Unlike bulk commodities, copper concentrate moves on multipurpose and container ships in smaller parcels. It's harder to track directly.
NTHMAP gives you two signals:
- Major copper port throughput — Iquique, Antofagasta, Mejillones (Chile); Chancay (Peru); Tianjin (China import hub)
- Container ship flows in the relevant corridors
# Chilean copper corridor outbound
nthmap vessels list \
--bbox -72,-25,-70,-22 \
--min-speed 5
Cross-reference with the LME copper price (HGUSD in the NTHMAP ticker) for a physical vs financial read.
Aluminum and bauxite
Guinea is now the world's largest bauxite exporter, feeding Chinese alumina refineries. The trade is dominated by Capesize bulkers loading at Kamsar, Conakry, and Sangaredi.
nthmap vessels list \
--bbox -15,10,-12,12 \
--types "Bulk Carrier" \
--min-load 80
Weather impact on bulk trade
Cyclones near the Pilbara can shut down iron ore loading for days. NTHMAP surfaces these events in the Events layer:
nthmap events list \
--bbox 110,-25,150,-10 \
--types hurricane,wildfire \
--active
If there's an active cyclone overlay on the Australian iron ore export zone, you know exporters are running for shelter and loadings are paused. That gets priced into 62% Fe iron ore within hours.
Building a mining-intelligence dashboard
import nthmap
from collections import Counter
client = nthmap.Client(api_key="ntm_live_...")
# Key mining export regions
regions = {
"Pilbara (Fe)": [115, -23, 120, -20],
"Tubarao (Fe)": [-41, -21, -40, -20],
"Kamsar (Al ore)": [-15, 10, -14, 11],
"Indonesia (coal)": [113, -4, 118, -2],
"Newcastle (coal)": [151, -33, 152, -32],
}
report = {}
for name, bbox in regions.items():
loaded = client.vessels(bbox=bbox, types=["Bulk Carrier"], min_load=80)
events = client.events(bbox=bbox, active=True)
report[name] = {
"loaded_vessels": len(loaded),
"total_cargo_mt": sum(v["est_cargo_mt"] or 0 for v in loaded),
"active_events": len(events),
"event_types": list(set(e["event_type"] for e in events)),
}
print(json.dumps(report, indent=2))
Run it hourly, post to Slack. You've just built a proprietary mining-intelligence system for the cost of a Pro subscription.
The 62% Fe signal
The single most watched number in iron ore trading is the 62% Fe CFR China price (SGX, Platts). NTHMAP doesn't currently track this price directly, but the physical inbound from Australia and Brazil to China over 10-day windows correlates with it at R² ≈ 0.7.
An informal signal pipeline:
- Daily inbound cargo from Pilbara → China (NTHMAP)
- Daily inbound cargo from Brazil → China (NTHMAP)
- Active events at the discharge ports (NTHMAP)
- Chinese steel mill PMI (external)
- Result: confidence-weighted short-term price forecast
Hedge funds and physical traders run variations of this with NTHMAP as the physical-side input.
Getting started
Start simple: launch the map, turn on Vessels + Infrastructure, filter to Bulk Carrier type, and watch a single export port for a week. You'll develop intuition for the cadence of the trade that's impossible to get from charts alone.
For the automation workflows, see the CLI docs and API reference.