This is an extract of the data from Shadow Fleet section of the Ukrainian Government's War Sanctions website, served up as a Portolan / STAC catalog.
# GUR Shadow Fleet — Vessels
The core registry — one row per tanker GUR has flagged as part of the shadow fleet (~1,400 vessels). Each record carries vessel identity (IMO, MMSI, call sign, current and former names and flags), technical specs (type, length, gross tonnage, deadweight, build year and shipyard), the sanctions imposed and by whom, operational red flags (AIS shutdowns, calls at Russian ports, false identification data), and nested owner / commercial-manager / safety-manager company details. The geometry is a MultiPoint of the ports the vessel has visited.
Format: GeoParquet · Rows: 1,404
Data: https://data.source.coop/cholmes/gur-shadow-fleet/vessels/vessels.parquet
Collection: https://data.source.coop/cholmes/gur-shadow-fleet/vessels/collection.json
Browser: https://browser.portolan-sdi.org/#/external/data.source.coop/cholmes/gur-shadow-fleet/vessels/collection.json
## Columns
- `imo` (varchar) — IMO vessel identifier number
- `gur_id` (varchar) — GUR internal vessel ID
- `name` (varchar) — Vessel name as listed in GUR
- `updated_date` (varchar) — Date GUR last updated the vessel record
- `flag_current` (varchar) — Current flag state
- `mmsi` (varchar) — Maritime Mobile Service Identity number
- `call_sign` (varchar) — Vessel radio call sign
- `vessel_type` (varchar) — Type of vessel (e.g. crude oil tanker, bunkering tanker)
- `length_m` (double) — Vessel length in metres
- `gross_tonnage` (double) — Gross tonnage
- `dwt` (double) — Deadweight tonnage
- `build_year` (bigint) — Year the vessel was built
- `builder` (varchar) — Shipyard that built the vessel
- `builder_country` (integer) — Country where the vessel was built
- `former_names` (varchar) — Previous vessel names (JSON array)
- `former_flags` (varchar) — Previous flag states (JSON array)
- `category` (varchar) — GUR risk category (JSON)
- `p_and_i_club` (varchar) — P&I Club providing liability insurance
- `sanctioned_by` (varchar) — List of sanctioning authorities (JSON array)
- `sanctions` (varchar) — Raw sanctions text from GUR (JSON)
- `sanctions_lifted` (varchar) — Whether sanctions have been lifted
- `ais_shutdown` (boolean) — Whether the AIS transponder has been shut off
- `calling_at_russian_ports` (boolean) — Whether the vessel calls at Russian ports
- `visited_ports` (varchar) — Ports visited, with coordinates (JSON array)
- `visited_port_ids` (varchar) — Port IDs visited (JSON array)
- `false_data` (varchar) — False identification data used by the vessel (JSON)
- `ship_owner` (varchar) — Ship owner: name, company IMO, country, date (JSON object)
- `commercial_manager` (varchar) — Commercial manager: name, company IMO, country, date (JSON object)
- `safety_manager` (varchar) — Safety manager: name, company IMO, country, date (JSON object)
- `description` (varchar) — Vessel description from GUR
- `web_links` (varchar) — External web links from the GUR page (JSON array)
- `photo_url` (varchar) — URL to a vessel photo
- `source_url` (varchar) — URL of the GUR source page for this record
- `scrape_date` (varchar) — Date the GUR page was scraped (ISO 8601)
- `sanctioned_eu` (boolean) — Sanctioned by the EU
- `sanctioned_us` (boolean) — Sanctioned by the USA
- `sanctioned_uk` (boolean) — Sanctioned by the UK
- `sanctioned_ua` (boolean) — Sanctioned by Ukraine
- `sanctioned_ch` (boolean) — Sanctioned by Switzerland
- `sanctioned_ca` (boolean) — Sanctioned by Canada
- `shadow_fleet` (boolean) — Whether the vessel is in the shadow fleet
- `geometry` (geometry) — Point/MultiPoint geometry (WGS84)
## Query (DuckDB)
```sql
INSTALL spatial; LOAD spatial;
-- Largest EU-sanctioned tankers
SELECT name, imo, flag_current, vessel_type, dwt
FROM read_parquet('https://data.source.coop/cholmes/gur-shadow-fleet/vessels/vessels.parquet')
WHERE sanctioned_eu
ORDER BY dwt DESC
LIMIT 10;
```
Rights: © GUR, War & Sanctions portal — no open license asserted (see ../RIGHTS.md).