← Home

Service status

This page shows whether configured feed URLs are responding, whether scheduled scoring completed, and whether the bounded European beta criteria are met. Direct liveness checks and the mirror-assisted daily run are reported separately because they measure different things. Machine-readable at /api/v1/status.json, /api/v1/run-status.json, and /api/v1/global-coverage.json.

Monitoring status and schedule

The schedule is the service commitment. The liveness record shows what the pipeline observed at each configured feed URL. Machine-readable at /api/v1/status.json.

Current feed URL liveness

As of , direct liveness state covers 2009 current feed records.

Checking clean
1891 (latest direct check succeeded)
Recent check failure
14 (1–29 consecutive direct checks failed)
Flagged unreachable
104 (30 or more consecutive direct checks failed)

Currently checking clean: 94.1% of tracked feed records.

The latest direct checks range from 1.3 to 10.6 hours old. The median is 1.5 hours.

Direct liveness calls each configured feed URL without a mirror. The daily full scoring run can use the Mobility Database mirror, so the liveness counts here and the run totals below answer different questions.

Scheduled checks

Each feed belongs to one of two direct-liveness tiers. A separate full validation is scheduled once daily for every registered feed. The latest-run section below records what that daily work completed.

CheckCadence Applies to
Priorityone direct liveness check every 3 hoursfeeds with measured realtime data, and any feed in the expiry danger or recovery window (expiring soon, or recently lapsed)
Standardone direct liveness check in each 6-hour period, on a stable per-feed schedule that spreads requests across the periodevery other tracked feed
Full Validationone full validation each dayevery registered feed

When a check fails

The scorecard keeps the last successful evidence available and makes the degraded state visible:

This section is generated from the same liveness state used by the intraday refresh. It reports only observations the pipeline recorded.

Latest full scoring run

This section reports one completed scoring run. It separates all attempted records from records that remain in the current catalog and shows the age of each published score. Machine-readable at /api/v1/run-status.json.

Run summary

Run completed Recorded 1 days ago (2026-08-21 14:16 UTC). The run attempted 2179 feed records across 32 shards. The current catalog contains 2009 feed records.

The badge describes this scoring run, not agency feed availability. Current direct-URL liveness is reported above.

Scored (fresh data this run)
1483
Reused (feed unchanged since last check)
624
Unreachable (all attempted records)
72
Unreachable records still in the current catalog
32
Fell back to the Mobility Database mirror
128
Validator cache hits
1155
Show per-shard breakdown
Outcome counts by CI shard
ShardScored ReusedUnreachableMirrored Cache hitWall clock
044232431966s
1462214351150s
10432417351066s
11511524391207s
12541403381136s
13491725371208s
14422512351151s
15451944371152s
16412250311070s
17462024341536s
18442313341132s
19511432371196s
2452045351862s
20531324401532s
21511344391243s
22481823381120s
23481824391488s
24501716411128s
25432231391392s
2645212435770s
27382914321149s
28451945381271s
29491813411293s
343214535977s
30412257311724s
31471835341405s
4462116381266s
5442312301199s
6481554381151s
7482004351300s
8462026361016s
9491814381322s

Feed records unreachable this run

The pipeline could not fetch or validate these currently published feeds in that run; each continues to show its last successful scorecard. A feed host outage is one possible cause, but this evidence does not diagnose why a check failed.

40 additional records were part of this run's attempted set but are outside the current published catalog. They remain in the run totals without being named or linked here.

Catalog freshness

Age of the most recent successful score behind each current scorecard. A score can be older than this run when its source was unchanged or could not be fetched.

Snapshot age distributionAll 2009 tracked feed scorecards, grouped by snapshot age.
Show snapshot-age table
Feed scorecard count by snapshot age
Snapshot ageFeed scorecards
under 1 day112
1-2 days1327
3-7 days21
over 7 days549

Built from the run-status API, refreshed after each completed scoring run. See how to read a scorecard for what the grades themselves mean.

European beta readiness

Not ready The reviewed cohort currently contains 528 GTFS Schedule feed records across 26 countries.

This is a bounded European GTFS Schedule beta gate based on feed records with reviewed reuse evidence. It is not a claim of coverage for all European public transport, and it does not assess NeTEx coverage.

Progress toward the record thresholdReviewed European feed records as a share of the release threshold.
  1. Reviewed feed records100%528 of 250
Reviewed records by countryNo single country may hold more than 40% of the cohort.
  1. France50.6%267 records
  2. Lithuania9.7%51 records
  3. United Kingdom6.8%36 records
  4. Germany5.5%29 records
  5. Italy5.1%27 records
  6. Spain4%21 records
  7. Ireland3.8%20 records
  8. Norway3.8%20 records
  9. Finland2.7%14 records
  10. Portugal1.5%8 records
  11. Cyprus1.1%6 records
  12. Poland1.1%6 records
  13. Czechia0.6%3 records
  14. Hungary0.6%3 records
  15. Latvia0.6%3 records
  16. Switzerland0.4%2 records
  17. Estonia0.4%2 records
  18. Greece0.4%2 records
  19. Austria0.2%1 record
  20. Belgium0.2%1 record
  21. Bulgaria0.2%1 record
  22. Denmark0.2%1 record
  23. Croatia0.2%1 record
  24. Netherlands0.2%1 record
  25. Slovenia0.2%1 record
  26. Slovakia0.2%1 record

Readiness criteria

Current European beta measures compared with release thresholds
MeasureCurrent ThresholdStatus
Reviewed European GTFS Schedule feed records528at least 250Met
Countries represented26at least 12Met
Largest single-country share50.6%at most 40%Not met
Scorecards retrieved within the inclusive seven-day window99.6%at least 95%Met
Translation publication measured100%at least 100%Met
Valid portable country and subdivision pair100%at least 100%Met
Feed identity reviewed100%at least 100%Met
Feature finder discloses its feed-record denominatorYesequals YesMet

Exceptions

Coverage-gate exceptions by reason
ReasonCount
Scorecard is older than the seven-day freshness window2

A feed record can appear under more than one reason. The JSON lists the affected record identifiers.

Read the auditable global coverage JSON or the global expansion methodology. Counts are feed records, not agencies, operators, routes, or services.