{"data":[{"id":"bahn_bet","name":"bahn.bet","publisher":"bahn.bet","homepage":"https://bahn.bet","license_id":"proprietary","license_url":null,"terms_url":null,"attribution":"n/a","redistribution_status":"not_permitted","access_mode":"excluded","access_notes":"Explicitly excluded: no scraping.","ingest_status":"excluded","timestamp_semantics":"n/a","accessed_at":null,"updated_at":"2026-10-13T02:57:08.288Z","artifacts":0,"imported_artifacts":0},{"id":"bahnvorhersage","name":"Bahn-Vorhersage parsed train delays","publisher":"Bahn-Vorhersage","homepage":"https://bahnvorhersage.de/open-data/parsed-train-delays/","license_id":"ODbL-1.0","license_url":"https://opendatacommons.org/licenses/odbl/","terms_url":"https://mobilithek.info/offers/938616012299546624","attribution":"Credits: Bahn-Vorhersage, Deutsche Bahn, Trainline und DELFI (ODbL).","redistribution_status":"share_alike_review_required","access_mode":"login_required","access_notes":"Yearly .tar archives on Mobilithek; sign-in and an access request are required. Import authorized archives with `pnpm data:import -- --source bahnvorhersage --file <archive.tar>`.","ingest_status":"implemented_local_file","timestamp_semantics":"UTC per publisher. time_real is a prediction unless is_final (= last received update, not verified actual).","accessed_at":null,"updated_at":"2026-10-13T02:57:08.282Z","artifacts":0,"imported_artifacts":0},{"id":"bahnvorhersage_stops","name":"Bahn-Vorhersage stops/stations","publisher":"Bahn-Vorhersage","homepage":"https://bahnvorhersage.de/open-data/stops/","license_id":"ODbL-1.0","license_url":"https://opendatacommons.org/licenses/odbl/","terms_url":"https://mobilithek.info/offers/940263406913355776","attribution":"Credits: Bahn-Vorhersage, Deutsche Bahn, Trainline und DELFI (ODbL).","redistribution_status":"share_alike_review_required","access_mode":"login_required","access_notes":"stations.parquet + stops.parquet via Mobilithek (sign-in). Import with `--kind stations --file` / `--kind stops --file`.","ingest_status":"implemented_local_file","timestamp_semantics":"Validity ranges as published (schema not public; inspected at import time).","accessed_at":null,"updated_at":"2026-10-13T02:57:08.283Z","artifacts":0,"imported_artifacts":0},{"id":"db_navigator","name":"DB Navigator / bahn.de internal APIs","publisher":"Deutsche Bahn","homepage":"https://www.bahn.de","license_id":"proprietary","license_url":null,"terms_url":null,"attribution":"n/a","redistribution_status":"not_permitted","access_mode":"excluded","access_notes":"Explicitly excluded: undocumented/gated app APIs are not used.","ingest_status":"excluded","timestamp_semantics":"n/a","accessed_at":null,"updated_at":"2026-10-13T02:57:08.289Z","artifacts":0,"imported_artifacts":0},{"id":"db_timetables_api","name":"DB Timetables API (live)","publisher":"Deutsche Bahn","homepage":"https://developers.deutschebahn.com/db-api-marketplace/apis/product/timetables","license_id":"CC-BY-4.0 (per DB API Marketplace; verify per API product)","license_url":"https://creativecommons.org/licenses/by/4.0/","terms_url":"https://developers.deutschebahn.com/db-api-marketplace/apis/","attribution":"Data: Deutsche Bahn.","redistribution_status":"review_required","access_mode":"api_key_required","access_notes":"Client ID/API key from DB API Marketplace. Future live collector (FeedCollector extension point); not polled yet.","ingest_status":"extension_point","timestamp_semantics":"Naive Europe/Berlin local (yyMMddHHmm).","accessed_at":null,"updated_at":"2026-10-13T02:57:08.285Z","artifacts":0,"imported_artifacts":0},{"id":"gtfs_de","name":"GTFS.de free static feeds (de_fv, de_rv, de_full)","publisher":"GTFS.de (DELFI-derived timetable data)","homepage":"https://gtfs.de/en/feeds/","license_id":"CC-BY-4.0 (as labelled on gtfs.de; exact obligations under review)","license_url":"https://creativecommons.org/licenses/by/4.0/","terms_url":"https://gtfs.de/en/feeds/","attribution":"Timetable data: GTFS.de (https://gtfs.de), labelled Creative Commons 4.0.","redistribution_status":"review_required","access_mode":"public_http","access_notes":"Free feeds cover ~30 future days only: prospective archival, not historical actuals.","ingest_status":"implemented","timestamp_semantics":"GTFS local service-day times (HH:MM:SS may exceed 24h) in agency timezone.","accessed_at":null,"updated_at":"2026-10-13T02:57:08.284Z","artifacts":2,"imported_artifacts":2},{"id":"gtfs_rt_de","name":"GTFS-Realtime feeds for Germany (candidate)","publisher":"various","homepage":"https://gtfs.de/en/realtime/","license_id":"unknown","license_url":null,"terms_url":null,"attribution":"TBD","redistribution_status":"unknown","access_mode":"public_http","access_notes":"Candidate for the live collector; availability and terms not verified in this milestone.","ingest_status":"extension_point","timestamp_semantics":"POSIX epoch seconds (UTC).","accessed_at":null,"updated_at":"2026-10-13T02:57:08.286Z","artifacts":0,"imported_artifacts":0},{"id":"piebro","name":"piebro/deutsche-bahn-data","publisher":"Piet Brömmel (data originating from Deutsche Bahn Timetables & StaDa APIs)","homepage":"https://github.com/piebro/deutsche-bahn-data","license_id":"CC-BY-4.0","license_url":"https://creativecommons.org/licenses/by/4.0/","terms_url":"https://huggingface.co/datasets/piebro/deutsche-bahn-data","attribution":"Data: Deutsche Bahn (CC BY 4.0), collected and processed by piebro/deutsche-bahn-data (https://github.com/piebro/deutsche-bahn-data).","redistribution_status":"allowed_with_attribution","access_mode":"public_http","access_notes":"Public Hugging Face dataset; no login required.","ingest_status":"implemented","timestamp_semantics":"Naive Europe/Berlin local time (CET/CEST) as returned by DB Timetables API; no UTC normalization upstream.","accessed_at":null,"updated_at":"2026-10-13T02:57:08.280Z","artifacts":3,"imported_artifacts":3},{"id":"zugfinder","name":"Zugfinder","publisher":"zugfinder.net","homepage":"https://www.zugfinder.net","license_id":"proprietary","license_url":null,"terms_url":null,"attribution":"n/a","redistribution_status":"not_permitted","access_mode":"excluded","access_notes":"Explicitly excluded: no scraping.","ingest_status":"excluded","timestamp_semantics":"n/a","accessed_at":null,"updated_at":"2026-10-13T02:57:08.287Z","artifacts":0,"imported_artifacts":0}]}