| date_published | 2026-07-04 |
|---|---|
| date_modified | 2026-07-29 |
Code: scorecard_feed_expired
The scorecard compares feed_info.txt's feed_end_date with the last day any
calendar.txt or calendar_dates.txt entry runs service, then uses whichever
date comes first. That earlier date has already passed.
This is the most urgent thing a small agency's feed can get wrong. Trip planners stop showing your service the day the calendar runs out, even though the buses are still running. Riders are not warned first; they just stop seeing the agency as an option. An expired feed is worse for riders than a feed with data-quality problems, because it looks like the service does not exist at all.
- Re-export the feed with a calendar that reaches further out, and set
feed_info.txt'sfeed_end_datepast your next planned service change. - Publish on a schedule. A feed that is re-exported weekly, or whenever the schedule changes, never gets close to expiry again. This is the durable fix, not a one-time patch.
- If your export tool sets these dates automatically, confirm the export itself is actually running on schedule and reaching the URL riders' apps read.
See the feed expires within 7 days and
within 30 days for the validator's own
date-based warnings on feed_info.txt's feed_end_date (computed differently
from this finding, so the two do not always fire in the same order), and
expired service calendars for leftover calendars an
export should stop carrying forward.
Often a same-day fix: one export with the calendar reaching further out. The lasting fix is the export schedule so this never recurs.
If riders are already reporting that your agency vanished from their apps, the wider walkthrough is why agencies disappear from trip planners: expiry is the most common cause, but not the only one.