OilRoutes is a visualization layer. It is not a hydrographic office, not an AIS archive, and not a price-reporting agency. The map shows what AIS transponders are broadcasting right now (or a labeled demo feed if the live proxy is not configured), on top of a free basemap that does not require an API key in the browser.
Basemap
The map is MapLibre GL. The default style is the public OpenFreeMap dark stylesheet at tiles.openfreemap.org/styles/dark. If that style URL cannot be fetched, the client falls back to OSM raster tiles from tile.openstreetmap.org. Neither path uses a Carto key. Attribution belongs to OpenFreeMap and OpenStreetMap contributors.
What hulls appear
The client keeps two AIS ship-type bands:
- Oil tankers: AIS types 80–89, drawn as colored tanker glyphs.
- Military: AIS type 35, drawn as a country-flag pin from the MMSI MID (or an AIS flag field when present).
Other ship types are dropped. Hover popups show name, type, flag, MMSI, speed over ground, heading, navigational status, and destination when those fields arrived on the AIS message. Missing fields stay as em dashes. A non-specialist walkthrough of those fields — and of dark AIS, Demo Mode, and chokepoint boxes — is how to read live oil tanker AIS. Size nicknames such as VLCC are market language, not a map filter; see tanker types.
Water mask and chokepoint boxes
Displayed coordinates are snapped to a water mask so glyphs do not sit on land after projection. The AIS position itself is not rewritten for statistics. Chokepoint overlays are axis-aligned bounding boxes defined in this site’s js/chokepoints.js. “In zone” counts are live AIS points inside those boxes at the moment of viewing — not official throughput.
Shipping lanes (optional, off by default)
A legend toggle can load OpenStreetMap seamark geometries (traffic-separation lanes and lines, plus recommended tracks). The layer stays off until you turn it on. If the GeoJSON file fails to load, the toggle fails closed and stays off. The geometries are OSM-derived and licensed ODbL; they are not a proprietary AIS product and are not invented routes.
EIA spot prices
The thin strip under the header is reserved for EIA daily spot crude — Brent series RBRTE and WTI series RWTC on the petroleum spot route. The browser never holds an EIA key. It only fetches GET /oil-prices from the same Cloudflare Worker that proxies AIS. Until that Worker URL is wired and EIA_API_KEY is set as a Worker secret, the strip shows em dashes and “EIA unavailable.” No dollar prices are hardcoded on this site. How to read MoM and YoY without inventing a print is the EIA note.
Demo Mode
If the AIS Worker WebSocket URL is not set, or the live socket produces no data, the client labels the connection Demo Mode and places simulated hulls. That is not live AIS. Treat Demo Mode as a layout check, not traffic.
Cite OilRoutes for how this map presents AIS. Cite AISStream.io for positions. Cite EIA for any spot prices that actually appear. Cite the named news sources on the route notes for traffic figures — not the chokepoint box labels in the JavaScript.