{"counts":{"oil_trade_flows":22993,"sanctions":19637,"sanctions_vessels":1540,"vessels":555,"oil_prices":10176,"vessel_emissions":89711,"emissions_unique_vessels":22543,"sanctioned_at_eu_ports":498,"commodity_prices":841,"lng_trade_flows":212,"lng_carriers":1214,"grain_trade_flows":1262,"bulk_carriers":10070,"ore_trade_flows":96,"coal_trade_flows":226,"ais_positions":176705,"chokepoint_traffic":33},"sources":{"eia_flows":18057,"eurostat_flows":1421,"ofac_sanctions":19365,"un_sanctions":272,"eu_mrv_emissions":89704},"db_path":"/var/www/ship.rootz.global/data/shipping.db","freshness":{"generated_at":"2026-09-09T13:36:59.364Z","summary":{"ok":18,"stale":1,"empty":2},"legend":{"ok":"pipeline ran on schedule and the newest record is within the expected lag","_clock":"which signal the pipeline status came from: job:<name> = the puller reported completing (trusted, and immune to deduped writes that insert no rows); oldest <col> = a rolling refresh, measured by its oldest row; newest <col> = a row arrived recently","lagging":"our pipeline is healthy; the upstream source has not published anything newer","stale":"our pipeline has not delivered on schedule — treat this dataset with caution","empty":"we advertise this dataset but currently hold no rows for it","unknown":"this table carries no refresh timestamp, so we cannot verify it is current","missing":"table not present in this database"},"datasets":[{"key":"oil_prices","status":"ok","rows":10176,"refresh_age_days":0,"record_age_days":8},{"key":"commodity_prices","status":"ok","rows":841,"refresh_age_days":0,"record_age_days":8},{"key":"sanctions","status":"ok","rows":19637,"refresh_age_days":0,"record_age_days":null},{"key":"vessel_positions","status":"ok","rows":176705,"refresh_age_days":0,"record_age_days":0},{"key":"vessel_loitering","status":"ok","rows":218146,"refresh_age_days":0,"record_age_days":4},{"key":"ais_dark_events","status":"ok","rows":2456,"refresh_age_days":0,"record_age_days":35},{"key":"port_visits","status":"ok","rows":674261,"refresh_age_days":0,"record_age_days":3},{"key":"pi_insurance","status":"ok","rows":3577,"refresh_age_days":0,"record_age_days":null},{"key":"uscg_vessels","status":"ok","rows":13589,"refresh_age_days":20,"record_age_days":null},{"key":"cii_ratings","status":"ok","rows":61343,"refresh_age_days":3,"record_age_days":null},{"key":"vessel_history","status":"ok","rows":7529,"refresh_age_days":3,"record_age_days":null},{"key":"vessel_emissions","status":"ok","rows":89711,"refresh_age_days":131,"record_age_days":617},{"key":"oil_trade_flows","status":"ok","rows":22993,"refresh_age_days":6,"record_age_days":221},{"key":"world_ports","status":"ok","rows":2951,"refresh_age_days":9,"record_age_days":null},{"key":"port_sites","status":"ok","rows":2951,"refresh_age_days":0,"record_age_days":null},{"key":"port_calls","status":"ok","rows":474,"refresh_age_days":0,"record_age_days":0},{"key":"apcis_inspections","status":"ok","rows":50,"refresh_age_days":6,"record_age_days":null},{"key":"apcis_ship_detail","status":"ok","rows":48,"refresh_age_days":6,"record_age_days":null},{"key":"chokepoint_traffic","status":"stale","rows":33,"refresh_age_days":123,"record_age_days":132,"reason":"last refreshed 123d ago (expected within 40d) and newest record is 132d old"},{"key":"psc_inspections","status":"empty","rows":0,"refresh_age_days":null,"record_age_days":null,"reason":"no rows — the weekly Sun 02:00 + monthly job produces nothing"},{"key":"cargo_manifests","status":"empty","rows":0,"refresh_age_days":null,"record_age_days":null,"reason":"no rows — the weekly Mon 06:00 UTC job produces nothing"}]}}