Prep for a call: printable one-page brief · For your board packet: printable one-pager · Fix log: every issue this feed has cleared · Compare with another agency · Watch this feed: get an email before it expires
Feed status · checked 2026-07-09
Rogue Valley Transportation District (RVTD)
Based on the feed this agency publishes
down 12.3 since 2026-07-08
Ahead of 45% of all tracked agencies and 42% of mid-size agencies. Operates in Oregon.
A data-quality and completeness lens to help an agency improve its GTFS feed. Not an official compliance determination from any transit program. New to this? How to read your scorecard. Interactive view of this scorecard. Rubric v1.1, validator 8.0.1.
Checked for changes 15 minutes ago; last changed 15 minutes ago.
Measured 3 of 4 score categories from the agency's own feed.
How we measured this
Confidence in this measurement: medium.
- Realtime quality was not measured this run. It does not count against the grade.
- The feed was downloaded from the agency's own URL.
Confidence describes how much the pipeline could measure this run, not the feed itself. It never changes the grade.
Top things to fix
Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.Likely your team
586 of 586 stops don't say whether a wheelchair user can board there. Riders who use wheelchairs can't plan a trip when accessibility is marked 'unknown'; apps show no information at all.
⏱ A column in stops.txt; your scheduling software likely has it.worth about +25 points
Set wheelchair_accessible on every trip (most small-agency fleets are 100% accessible, so this is often a single default).Likely your export tool
296 of 296 trips don't say whether the vehicle is wheelchair accessible. Even with accessible stops, riders need to know the bus itself can take them.
⏱ Often one default setting in your export.worth about +15 points
Agencies here usually clear this within about 1 week (based on 5 observed fixes).
Add feed_info.txt with feed_start_date and feed_end_date to your export.Likely your export tool
feed_info.txt is missing its start/end dates (the file itself is absent) Apps and this scorecard can't warn anyone before the feed goes stale without stated validity dates.
⏱ Two fields, set once in export settings.worth about +15 points
Agencies here usually clear this within about 1 week (based on 16 observed fixes).
Close the loop on each fix. Read the guide, make the change in your tool, and let the next run verify it — the scorecard shows the fix; the agency publishes it.
Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops. · Read the fix guide
Make the change. Make this change in whatever tool produces your feed, then re-export.
Prove it cleared. The next scorecard run re-checks this automatically and, once it is gone, mints a dated receipt. See this feed's dated fix log.
Set wheelchair_accessible on every trip (most small-agency fleets are 100% accessible, so this is often a single default). · Read the fix guide
Make the change. Make this change in whatever tool produces your feed, then re-export.
Prove it cleared. The next scorecard run re-checks this automatically and, once it is gone, mints a dated receipt. See this feed's dated fix log.
Add feed_info.txt with feed_start_date and feed_end_date to your export. · Read the fix guide
Make the change. Make this change in whatever tool produces your feed, then re-export.
Prove it cleared. The next scorecard run re-checks this automatically and, once it is gone, mints a dated receipt. See this feed's dated fix log.
Send your vendor a fix request
You may not control the GTFS export yourself. Copy this and send it to whoever runs your scheduling software export. It names each fix with the validator notice and a guide link.
Score by category
The MobilityData validator flagged 5 kinds of issue across 17 instances (0 error, 16 warning, 1 informational).
Service data covers the next 30 days.
0% of stops state wheelchair accessibility (0% marked accessible, 0% marked not accessible). This measures what the feed publishes, not whether a stop is physically usable. Fare data is not published.
0% of stops state accessibility (0% marked accessible). Reflects what the feed states, not verified physical usability.
2 accessibility depth signals
408 stop name(s) use abbreviations or symbols a screen reader may mispronounce, with no spoken form set ("Murphy Rd RRMC Entrance A", "Crater Lk & Stevens (Safeway)", "Crater Lake & Jackson Street", and more).
Consider: Add tts_stop_name with the spoken form, e.g. 'Main Street and Second Avenue', for the affected stops.
This feed models stations or entrances but has no pathways.txt and levels.txt.
Consider: Add pathways.txt connecting entrances, platforms, and elevators, and levels.txt for each floor, so the step-free route is described.
Opportunities to strengthen the data, not deductions from the sub-score above. States what the second accessibility lens can check from the feed, not verified physical usability.
Not scored yet. Nothing here counts against the grade.
Routes and stops
Each route is drawn once, using the longest shape its trips follow; stops are the dots.
Skip to route and stop dataBasemap: OpenFreeMap, © OpenStreetMap contributors. Routes and stops: this agency's GTFS feed.
- 10 (red)
- 21 (gray)
- 24 (brown)
- 4 (black)
- 40 (pink)
- 60 (purple)
| Route | Type | Line color |
|---|---|---|
| 10 Ashland | Bus | red |
| 21 North Medford | Bus | gray |
| 24 RRMC | Bus | brown |
| 4 West Medford | Bus | black |
| 40 Central Point | Bus | pink |
| 60 White City | Bus | purple |
This feed has 586 stops.
List every stop
- Front Street Station
- Front Street Station
- S Central Avenue & 11th Street
- S Central Avenue & 11th Street
- S Central Ave & Earhart Street
- S Central Ave & Earhart Street
- S Central Avenue & Bank Street
- S Central Avenue & Bank Street
- Wells Fargo
- Wells Fargo
- Stewart Avenue & Center Drive
- Stewart Avenue & Center Drive
- Harry & David Country Village
- Harry & David Country Village
- South Gateway (Walmart)
- South Gateway (Walmart)
- Ko-Kwel Casino Resort
- Ko-Kwel Casino Resort
- Harry & David North Entrance
- Harry & David North Entrance
- Harry & David South Entrance
- Harry & David South Entrance
- Harry & David Employment Cntr
- Harry & David Employment Cntr
- S Pacific Hwy & Stage Road
- S Pacific Hwy & Stage Road
- S Pacific Hwy & Glenwood Road
- S Pacific Hwy & Glenwood Road
- La Clinica
- La Clinica
- Northridge Terrace
- Northridge Terrace
- S Pacific Hwy & Rose Street
- S Pacific Hwy & Rose Street
- Phoenix Shopping Center
- Phoenix Shopping Center
- North Main & W 5th Street
- North Main & W 5th Street
- South Main & W 1st Street
- South Main & W 1st Street
- Blue Heron Park
- Blue Heron Park
- 4624 South Pacific Highway
- 4624 South Pacific Highway
- Farmers Market
- Farmers Market
- Rising Sun Farms
- Rising Sun Farms
- Animal Control
- Animal Control
- Talent Avenue & Colver Road
- Talent Avenue & Colver Road
- Talent & Main
- Talent & Main
- Spring Garden Apartments
- Spring Garden Apartments
- Talent Avenue & E Rapp Road
- Talent Avenue & E Rapp Road
- Talent Police Department
- Talent Police Department
- Arnos St & S Pacific Highway
- Arnos St & S Pacific Highway
- S Pacific Hwy & Creel Road
- S Pacific Hwy & Creel Road
- S Pacific Hwy & Talent Avenue
- S Pacific Hwy & Talent Avenue
- Jackson Wellsprings
- Jackson Wellsprings
- Ford & Chevy Dealerships
- Ford & Chevy Dealerships
- N Main & Ashland Mine Road
- N Main & Ashland Mine Road
- N Main & Grant Street
- N Main & Grant Street
- Main & Maple (Ashland Hosp.)
- Main & Maple (Ashland Hosp.)
- N Main & Wimer Street
- N Main & Wimer Street
- N Main & Bush Street
- N Main & Bush Street
- Ashland Plaza
- Ashland Plaza
- East Main & 1st Street
- East Main & 1st Street
- Ashland Library
- Ashland Library
- Safeway
- Safeway
- Triangle Park
- Triangle Park
- Ashland High School
- Ashland High School
- SOU Admissions Office
- SOU Admissions Office
- SOU Britt Hall
- SOU Britt Hall
- SOU Student Housing
- SOU Student Housing
- Ashland & Walker
- Ashland & Walker
- Ashland Street & Lit Way
- Ashland Street & Lit Way
- Ashland Street & Park Street
- Ashland Street & Park Street
- YMCA / Shop'n Kart
- YMCA / Shop'n Kart
- Bi-Mart
- Bi-Mart
- Tolman Creek & Grizzly Drive
- Tolman Creek & Grizzly Drive
- Tolman Creek & Barbara Street
- Tolman Creek & Barbara Street
- Bellview Elementary School
- Bellview Elementary School
- Siskiyou & Bellview
- Siskiyou & Bellview
- Siskiyou & Glendale Avenue
- Siskiyou & Glendale Avenue
- Siskiyou & Faith Avenue
- Siskiyou & Faith Avenue
- Siskiyou & Normal Avenue
- Siskiyou & Normal Avenue
- Siskiyou & Harmony Lane
- Siskiyou & Harmony Lane
- SOU Student Housing
- SOU Student Housing
- SOU Britt Hall
- SOU Britt Hall
- Siskiyou & Plam (SOU ADM)
- Siskiyou & Plam (SOU ADM)
- Ashland High School
- Ashland High School
- Siskiyou & Morton Street
- Siskiyou & Morton Street
- Safeway
- Safeway
- Lithia & 2nd St (US Post Off)
- Lithia & 2nd St (US Post Off)
- Lithia & Oak
- Lithia & Oak
- N Main St & Central Avenue
- N Main St & Central Avenue
- N Main & Glenn Street
- N Main & Glenn Street
- Main & Maple (Ashland Hosp.)
- Main & Maple (Ashland Hosp.)
- N Main & Grant Street
- N Main & Grant Street
- N Main & Ashland Mine Road
- N Main & Ashland Mine Road
- Ford & Chevy Dealership
- Ford & Chevy Dealership
- Jackson Wellsprings
- Jackson Wellsprings
- S Pacific Hwy & Talent Avenue
- S Pacific Hwy & Talent Avenue
- S Pacific Hwy & Creel Road
- S Pacific Hwy & Creel Road
- Arnos St & S Pacific Highway
- Arnos St & S Pacific Highway
- Talent Police Department
- Talent Police Department
- Talent Avenue & E Rapp Road
- Talent Avenue & E Rapp Road
- Talent Avenue & Gangnes Drive
- Talent Avenue & Gangnes Drive
- Talent & Main
- Talent & Main
- Talent Avenue & Colver Road
- Talent Avenue & Colver Road
- Animal Control
- Animal Control
- Rising Sun Farms
- Rising Sun Farms
- Farmers Market
- Farmers Market
- Greenway Village
- Greenway Village
- 4601 South Pacific Highway
- 4601 South Pacific Highway
- Blue Heron Park
- Blue Heron Park
- S Pacific Highway & 4th Street
- S Pacific Highway & 4th Street
- Phoenix Shopping Center
- Phoenix Shopping Center
- South Pacific Hwy & Rose St
- South Pacific Hwy & Rose St
- Northridge Terrace
- Northridge Terrace
- La Clinica
- La Clinica
- S Pacific Hwy & Glenwood Road
- S Pacific Hwy & Glenwood Road
- S Pacific Hwy & Stage Road
- S Pacific Hwy & Stage Road
- Harry & David South Entrance
- Harry & David South Entrance
- Harry & David North Entrance
- Harry & David North Entrance
- Ko-Kwel Casino Resort
- Ko-Kwel Casino Resort
- Garfield St & S Pacific Hwy
- Garfield St & S Pacific Hwy
- South Gateway (Walmart)
- South Gateway (Walmart)
- South Gateway (Fred Meyers)
- South Gateway (Fred Meyers)
- Stewart & Riverside Avenue
- Stewart & Riverside Avenue
- Riverside Ave & Barnett Road
- Riverside Ave & Barnett Road
- Riverside Avenue & Bank Street
- Riverside Avenue & Bank Street
- Riverside Avenue & 13th Street
- Riverside Avenue & 13th Street
- Food 4 Less
- Food 4 Less
- Barnett & Riverside (Winco)
- Barnett & Riverside (Winco)
- Barnett Road & Stewart Avenue
- Barnett Road & Stewart Avenue
- Barnett Road & Highland Drive
- Barnett Road & Highland Drive
- Barnett Road & Ellendale Dr
- Barnett Road & Ellendale Dr
- Barnett Road & Hilldale Avenue
- Barnett Road & Hilldale Avenue
- Barnett Road & Black Oak Drive
- Barnett Road & Black Oak Drive
- Black Oak Medical Center
- Black Oak Medical Center
- Siskiyou Blvd & Sutter Avenue
- Siskiyou Blvd & Sutter Avenue
- Siskiyou Blvd & Murphy Road
- Siskiyou Blvd & Murphy Road
- Murphy Rd RRMC Entrance A
- Murphy Rd RRMC Entrance A
- Barnett Rd RRMC Entrance B
- Barnett Rd RRMC Entrance B
- Barnett Rd & Medical Center Dr
- Barnett Rd & Medical Center Dr
- Barnett Road & Black Oak Drive
- Barnett Road & Black Oak Drive
- Barnett Road & Hilldale Avenue
- Barnett Road & Hilldale Avenue
- Barnett Road & Ellendale Drive
- Barnett Road & Ellendale Drive
- Barnett & Highland
- Barnett & Highland
- and 336 more (see the full list on the map or in the GeoJSON)
Over time
Overall score across the last 9 checks — down 12.3 since 2026-07-08.
Show the numbers
| Check | Score | Change |
|---|---|---|
| 2026-06-30 | 68.4 | first check |
| 2026-07-01 | 68.4 | no change |
| 2026-07-02 | 68.4 | no change |
| 2026-07-04 | 66.5 | down 1.9 |
| 2026-07-05 | 66.0 | down 0.5 |
| 2026-07-06 | 68.4 | up 2.4 |
| 2026-07-07 | 68.4 | no change |
| 2026-07-08 | 68.4 | no change |
| 2026-07-09 | 56.1 | down 12.3 |
What changed since your last check
- Correctness down 3.5
- Freshness down 15.0
- Rider experience down 22.5
What changed in this feed
Grade dropped from D to F since 2026-07-08.
The feed file was re-published since 2026-07-08 (-1 KB).
New since 2026-07-08 (4 findings)
- Warning1 instance
A file GTFS asks for (usually feed_info.txt) is missing.
Validator rule: missing_recommended_file · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning1 instance
feed_info.txt is missing its start/end dates (the file itself is absent)
Validator rule: scorecard_missing_feed_info_dates · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning1 instance
The feed contains no fare information.
Validator rule: scorecard_no_fare_data · Read the fix guide · See GTFS Best Practices (opens GTFS Best Practices on an external site)
- Info1 instance
feed_info.txt has no technical contact (feed_contact_email or feed_contact_url).
Validator rule: scorecard_no_feed_contact · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
Resolved since 2026-07-08 (1 finding)
- Feed valid beyond total service window (flagged by the MobilityData validator). (feed_valid_beyond_total_service_window)
Subscribe to this feed’s changes (Atom) to hear about grade drops in a reader, with no sign-up.
What changed over time
On 2026-06-30 this feed started at grade D. On 2026-07-09 the grade moved from D to F. On 2026-07-06 it cleared future_calendar, scorecard_feed_expiring_soon, trip_coverage_not_active_for_next7_days. On 2026-07-09 it cleared feed_valid_beyond_total_service_window. As of 2026-07-09 it holds grade F.
A plain-language history of this feed, newest first.
- 2026-07-09 Grade went D to F, rider experience fell 22 points.
Everything we checked
- Warning586 instances
586 of 586 stops don't say whether a wheelchair user can board there.
Riders who use wheelchairs can't plan a trip when accessibility is marked 'unknown'; apps show no information at all.
Fix: Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops. (A column in stops.txt; your scheduling software likely has it.)
Validator rule: scorecard_wheelchair_boarding_unknown · Read the fix guide · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)
- Warning296 instances
296 of 296 trips don't say whether the vehicle is wheelchair accessible.
Even with accessible stops, riders need to know the bus itself can take them.
Fix: Set wheelchair_accessible on every trip (most small-agency fleets are 100% accessible, so this is often a single default). (Often one default setting in your export.)
Agencies here usually clear this within about 1 week (based on 5 observed fixes).
Validator rule: scorecard_wheelchair_accessible_unknown · Read the fix guide · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)
- Warning12 instances
The feed contains route shapes no trip uses.
Harmless to riders, but it bloats the feed and suggests stale export data.
Fix: Turn on 'remove unused shapes' (or the like) in your export tool. (One setting.)
Validator rule: unused_shape · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning2 instances
Some rider-facing names are in ALL CAPS or all lowercase.
ALL-CAPS stop and headsign names are harder to read in apps and are read awkwardly by screen readers.
Fix: Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE'). (Often a bulk fix in your scheduling software.)
Validator rule: mixed_case_recommended_field · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning1 instance
A file GTFS asks for (usually feed_info.txt) is missing.
feed_info.txt tells apps who publishes the feed and when it expires; without it nobody is warned before data goes stale.
Fix: Add feed_info.txt with publisher name, URL, language, and feed_start_date/feed_end_date. (One small file, set once in export settings.)
Agencies here usually clear this within about 1 week (based on 13 observed fixes).
Validator rule: missing_recommended_file · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning1 instance
Some stops exist in the feed but no trip ever stops at them.
Riders may walk to a stop where no bus is scheduled to arrive.
Fix: Remove retired stops from the export, or add them back to the trips that should serve them. (A review pass in your scheduling software.)
Agencies here usually clear this within about 1 week (based on 11 observed fixes).
Validator rule: stop_without_stop_time · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning1 instance
feed_info.txt is missing its start/end dates (the file itself is absent)
Apps and this scorecard can't warn anyone before the feed goes stale without stated validity dates.
Fix: Add feed_info.txt with feed_start_date and feed_end_date to your export. (Two fields, set once in export settings.)
Agencies here usually clear this within about 1 week (based on 16 observed fixes).
Validator rule: scorecard_missing_feed_info_dates · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning1 instance
The feed contains no fare information.
Riders see 'fare unknown' in trip planners and can't budget their trip; visitors are most affected.
Fix: Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead. (A small file for most flat-fare systems.)
Validator rule: scorecard_no_fare_data · Read the fix guide · See GTFS Best Practices (opens GTFS Best Practices on an external site)
- Warning1 instance
This feed models stations or entrances but has no pathways.txt.
Trip planners can't guide riders through the station, and there is no step-free route information for wheelchair users.
Fix: Add pathways.txt connecting entrances, platforms, and any elevators, with a level for each. (Worth it for multi-level or large stations; flat stops don't need it.)
Validator rule: scorecard_station_no_pathways · Read the fix guide · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)
- Info1 instance
Some files contain columns that are not part of the GTFS spec.
Harmless to riders, but apps ignore these columns and they can hide typos in real column names.
Fix: Check the flagged column names for misspellings of standard GTFS fields; remove them if they are vendor extras. (A quick look at the flagged files.)
Validator rule: unknown_column · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Info1 instance
feed_info.txt has no technical contact (feed_contact_email or feed_contact_url).
App makers and state data programs have nobody to email when they spot a problem with your feed, so problems linger.
Fix: Add feed_contact_email to feed_info.txt. (One field.)
Agencies here usually clear this within about 1 week (based on 10 observed fixes).
Validator rule: scorecard_no_feed_contact · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
Some fixes we can make for you
These are the safe mechanical fixes, applied to a copy of your feed. They change only what is certain and leave everything else untouched. Review the diff before you publish.
Recased shouting stop names 2 changes
For example: BUS BARN -> Bus Barn
Recased shouting route names 1 change
For example: RRMC -> Rrmc
Run it yourself on your own copy of the feed: scorecard autofix <feed.zip> --out corrected.zip
NTD certification readiness Needs attention
This feed is close to NTD-ready. Service data runs out in 30 days; renew before you certify.
- Published Ready
- Published at a public URL.
- Valid Ready
- Passes validation with no errors.
- Current Needs attention
- Service data runs out in 30 days; renew before you certify.
- agency_id matches your NTD ID Not checked yet
- Setting your GTFS agency_id to your five-digit NTD ID is an optional way to line a feed up with its National Transit Database record. FTA links the two on your P-50 form, so it is not a required feed change. We don't have your NTD ID on file, so this is not checked yet.
- shapes.txt covers your trips Ready
- All 296 trips have a shape in shapes.txt.
In plain words: if you report to the federal transit database, you have to publish a working, up-to-date feed and confirm it once a year. This box is a heads-up on whether yours looks ready; it is not the official sign-off.
A readiness signal mapping this feed to the FTA National Transit Database GTFS requirement (Report Year 2023 onward: a public, valid, current feed, certified annually on the D-10). Aligning agency_id with your NTD ID lets the feed line up with your NTD record; the July 2025 final rule links the two on the P-50 form rather than requiring that feed change, and requires shapes.txt in the published GTFS: Full Reporters from Report Year 2025, and Reduced, Rural, and Tribal Reporters from Report Year 2026. Not an official determination; your certification is the official check.
Conformance mark Not yet
This feed is close to the conformance mark. Service data runs out in 30 days; renew to qualify. States wheelchair access on 0% of stops and 0% of trips; the mark needs 90% of each.
- Valid Met
- Passes validation with no errors.
- Current Not yet
- Service data runs out in 30 days; renew to qualify.
- Accessible Not yet
- States wheelchair access on 0% of stops and 0% of trips; the mark needs 90% of each.
In plain words: earn this mark when your feed passes validation, has not expired, and says whether nearly every stop and trip is wheelchair accessible.
A pass credential for a feed that is valid, current, and states wheelchair access on nearly every stop and trip. Accessibility here measures what the feed publishes, not whether a stop is physically usable. How the conformance mark works.
Can riders use it?
Checks beyond structural validation: places where the feed is valid but a rider still could not travel.
- 1 of 293 boardable stops are never served by any trip. Riders see these stops in apps and on the map but can never catch anything there, which erodes trust in the data. Remove stops no route serves, or add the trips that should call at them.
These do not change the grade. They catch trips with no rideable leg and stops no trip serves, the kind of gap a trip planner trips over.
Clears the Google and Apple Maps four-week coverage bar. This feed has 30 days of service ahead, clearing the four-week (28-day) window Maps asks for. No validator errors either, so riders keep seeing this agency in their trip planners; warnings lower the grade here but do not remove a feed from Maps.
How this agency maps to the standards
A data-quality lens, not a compliance determination. Each category shows this feed's score and the standards it relates to: the FTA National Transit Database GTFS requirement, the MobilityData grading scheme, and the Google Transit gate. Read the full standards crosswalk.
Your state runs a transit-data program that can help: Oregon ODOT Public Transportation. ODOT's Public Transportation Division, which supports statewide GTFS. Your state publishes no quality rubric of its own, so the closest published bars a program can hold this feed to are the federal and industry ones below; the score maps to those.
- Correctness 82 / 100
- GTFS Schedule best practices, checked by the MobilityData validator. MobilityData grading: stop locations, route names and colors. Google Transit: a feed must pass validation to stay in Maps.
- Freshness 35 / 100
- The FTA National Transit Database expectation of a valid, current feed. Google Transit: an expired calendar drops the agency from Maps.
- Rider experience 37 / 100
- GTFS Best Practices for rider-facing fields. MobilityData grading: stop names and headsigns.
- Realtime quality Not yet published
- GTFS-Realtime best practices: a stable URL, high uptime, and frequent updates.
Cite this record
This page updates on every check. The record below does not: it is the dated file this grade came from, published at https://gtfsscorecard.org/data/artifacts/rogue-valley-transportation-district-rvtd-3219/2026-07-09.json and never overwritten, pinning the grade, category scores, rubric version, validator version, and the scored feed's sha256 as they stood on 2026-07-09. Use it in a board packet, an NTD narrative, or a research citation instead of linking the live page, whose content will differ on your next visit.
Citing the tool itself rather than one agency's record? Use the repo's CITATION.cff.