A daily public count of ships in a closed strait.
Roughly one in five barrels of seaborne oil passes through the Strait of Hormuz. When that artery seizes, it touches every gas pump, every airline ticket, every container ship rerouted around Africa. This site exists to put that movement — or the absence of it — in front of the public, every day, for free.
Specialist trackers like Lloyd's List, TankerTrackers, and Kpler do this work behind paywalls for shipping firms and intelligence shops. Most people never see those numbers. Hormuz Tracker is a public-facing alternative: simpler, free, refreshed every 24 hours, and built so a journalist, an analyst, or a curious citizen can find the same evidence in 10 seconds.
Each morning a small Python pipeline pulls the latest satellite AIS-derived counts from the IMF's PortWatch dataset, recomputes the rolling averages and historical baselines, and republishes the page. Major geopolitical events are annotated by hand so the data sits inside the story it belongs to.
Methodology
- SourceIMF PortWatch — "Daily Chokepoint Transit Calls and Trade Volume Estimates," chokepoint6 (Strait of Hormuz). Derived from satellite AIS vessel transponders.
- RefreshPipeline runs daily at 06:00 UTC via GitHub Actions. Output JSON re-deploys to Cloudflare automatically.
- CoverageDaily counts go back to January 2019 — over six years of baseline.
- Vessel typesTankers (oil, product, chemical), dry bulk, container, RoRo, general cargo.
- LagPortWatch typically lags real-world events by 2 to 5 days. The closure of the strait can extend that further as ships go AIS-dark.
Caveats
- DefinitionPortWatch counts port calls within the chokepoint geofence, not literal transits. Numbers are directionally meaningful, not a pure ship census.
- AIS darkVessels that disable transponders for security reasons do not appear. During an active closure, this undercount is likely material.
- Editorial framingEvent annotations are the author's judgment about which dates matter most for context. Reasonable readers can disagree about the framing; the data itself is unfiltered.