← 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 2474 current feed records.

Checking clean
2334 (latest direct check succeeded)
Recent check failure
18 (1–29 consecutive direct checks failed)
Flagged unreachable
122 (30 or more consecutive direct checks failed)

Currently checking clean: 94.3% of tracked feed records.

The latest direct checks range from 1.0 to 4.0 hours old. The median is 1.1 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 5 hours ago (2026-10-07 14:24 UTC). The run attempted 2495 feed records across 48 of 48 shards. The current catalog contains 2474 feed records.

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

Scored (fresh data this run)
2009
Reused (feed unchanged since last check)
397
Unreachable (all attempted records)
89
Unreachable records still in the current catalog
68
Fell back to the Mobility Database mirror
83
Validator cache hits
1551
Show per-shard breakdown
Outcome counts by CI shard
ShardScored ReusedUnreachableMirrored Cache hitWall clock
0631234481772s
1631412491639s
10631144531637s
11641312431459s
12601621441760s
13651124531930s
14651035501605s
1565842521798s
1661115450998s
17591533441547s
18611246451486s
1963954471578s
2621423491404s
2065933501569s
21581543471612s
22591712471909s
23631402491190s
24621411491673s
25631132461197s
26641032481675s
2765751501399s
28631311521313s
29571552471575s
3581825451357s
30611152431434s
3169801492033s
32100001304s
3310000230s
3410000145s
3510000214s
361000158s
3710001330s
3810000192s
3910000220s
4641401501554s
4010000128s
4110001474s
4210000391s
430010028s
440010023s
4510000286s
4610001108s
471000156s
5601711441228s
6631144521531s
7601353481691s
8601441501427s
9671012531688s

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.

21 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 2474 tracked feed scorecards, grouped by snapshot age.
Show snapshot-age table
Feed scorecard count by snapshot age
Snapshot ageFeed scorecards
under 1 day2012
1-2 days7
3-7 days422
over 7 days33

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 760 GTFS Schedule feed records across 28 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%760 of 250
Reviewed records by countryNo single country may hold more than 40% of the cohort.
  1. France50.8%386 records
  2. Ireland10.5%80 records
  3. Lithuania6.8%52 records
  4. United Kingdom5.4%41 records
  5. Germany4.6%35 records
  6. Spain4.2%32 records
  7. Italy3.9%30 records
  8. Norway3.9%30 records
  9. Finland2.6%20 records
  10. Portugal1.6%12 records
  11. Cyprus0.9%7 records
  12. Poland0.8%6 records
  13. Belgium0.4%3 records
  14. Czechia0.4%3 records
  15. Hungary0.4%3 records
  16. Latvia0.4%3 records
  17. Austria0.3%2 records
  18. Bulgaria0.3%2 records
  19. Switzerland0.3%2 records
  20. Estonia0.3%2 records
  21. Greece0.3%2 records
  22. Denmark0.1%1 record
  23. Croatia0.1%1 record
  24. Iceland0.1%1 record
  25. Luxembourg0.1%1 record
  26. Netherlands0.1%1 record
  27. Slovenia0.1%1 record
  28. Slovakia0.1%1 record

Readiness criteria

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

Exceptions

Coverage-gate exceptions by reason
ReasonCount
No published directory record3
Scorecard is older than the seven-day freshness window9
No feature-finder record3
Translation publication has not been measured3
Portable country and subdivision pair is incomplete or invalid3

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.