This uses gtfs-via-duckdb.
curl -fsSL \
'https://mobility-api.mobility-database.fintraffic.fi/gtfs-realtime/v2/' \
-H 'accept: application/protobuf' \
-H "x-api-key: $api_key" \
| ~/web/print-gtfs-rt-cli/cli.js -j \
| duckdb -readonly -csv -f match.sql gtfs/fintraffic.gtfs.duckdb \
| qsv select '!item' | head -n 10entity_id,kind,trip_id,route_id,direction_id,start_date,start_time,service_id
73e836b3-1fc1-4ea7-a921-717b21b6cf9b,vp,10003_00012999__1001060106,20734,1,2026-01-10,20:45:00,10003_1001060106
37cbb4e2-183f-4574-9eba-d1e2f3d1463d,vp,10003_00025602__1004062106,20738,0,2026-01-10,18:15:00,10003_1004062106
800b6ea4-6e22-4a75-9277-9d1819acd8f1,vp,10003_00018181__1028021106,20809,1,2026-01-10,23:08:00,10003_1028021106
5a5da731-f65e-400d-bb6a-489b8ba4e948,vp,10003_00016530__10K3010106,103675,1,2026-01-10,15:15:00,10003_10K3010106
2ec6df91-f6a0-471f-bb25-681fe8485640,vp,10003_00020704__2901041106,103638,1,2026-01-10,18:10:00,10003_2901041106
04b09ef0-3500-4e65-86a6-4283ff37aabe,vp,10003_00020663__3721010106,103583,1,2026-01-10,15:20:00,10003_3721010106
aacf71a6-935c-482b-85ff-b3d7326b0cba,tu,10008_Kevättalvi_La_02_1_235500_245000_0,21794,1,2026-01-10,23:55:00,10008_Kevättalvi_La
082ee248-adf0-4fc6-973b-03165c54ef26,tu,10008_Kevättalvi_La_02_0_235500_245000_0,21794,0,2026-01-10,23:55:00,10008_Kevättalvi_La
d2e37721-d9f4-40e3-825e-f66428e9f05e,vp,10008_Kevättalvi_La_02_1_235500_245000_0,21794,1,2026-01-10,23:55:00,10008_Kevättalvi_La