← All agencies

Feed status · checked 2026-07-09

Sonoma County Transit (SCT)

Based on the feed this agency publishes

67.3 / 100

down 0.5 since 2026-07-08

Ahead of 58% of all tracked agencies and 71% of large agencies. Operates in California.

Covers 30 daysAccessibility gapsFlexible serviceNo realtime feed

Heads-up: The score rose 21 points in one step, from 50 on 2026-06-30 to 71 on 2026-07-01. A jump this size usually means the export changed rather than the service. Worth checking the run on this date. (checked 2026-07-01). This can be a brief vendor export glitch; watch the next update before acting.

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 12 minutes ago; last changed 7 days ago.

Top things to fix

Fix 01

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

1117 of 1117 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

Fix 02

Set wheelchair_accessible on every trip (most small-agency fleets are 100% accessible, so this is often a single default).Likely your export tool

499 of 499 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).

Fix 03

Remove retired stops from the export, or add them back to the trips that should serve them.Likely your export tool

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.

⏱ A review pass in your scheduling software.worth about +8 points

Agencies here usually clear this within about 1 week (based on 11 observed fixes).

Trillium produces and hosts this feed as a service. These changes are made on their side: send the fix list to your Trillium contact and they apply it and republish.

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.

  1. 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. Trillium produces and hosts this feed as a service. These changes are made on their side: send the fix list to your Trillium contact and they apply it and republish.

    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.

  2. 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. Trillium produces and hosts this feed as a service. These changes are made on their side: send the fix list to your Trillium contact and they apply it and republish.

    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.

  3. Remove retired stops from the export, or add them back to the trips that should serve them. · Read the fix guide

    Make the change. Trillium produces and hosts this feed as a service. These changes are made on their side: send the fix list to your Trillium contact and they apply it and republish.

    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 Trillium a fix request

This feed is produced and hosted by Trillium. Copy this and send it to your Trillium contact; they make the change and republish the feed. Each fix names the validator notice and a guide link.

Score by category

Correctness84.0 / 100

The MobilityData validator flagged 5 kinds of issue across 158 instances (0 error, 114 warning, 44 informational).

Freshness50.0 / 100

Service data covers the next 30 days.

Rider experience57.9 / 100

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 published.

Accessibility0 / 100

0% of stops state accessibility (0% marked accessible). Reflects what the feed states, not verified physical usability.

FaresLegacy fares

Fares are applied to trips.

Realtime qualityNot yet measured

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 data

Basemap: OpenFreeMap, © OpenStreetMap contributors. Routes and stops: this agency's GTFS feed.

Routes in Sonoma County Transit (SCT)'s feed
RouteTypeLine color
20 Russian River Area, Forestville, Sebastopol, Santa RosaBusgray
26 Sebastopol, Cotati, Rohnert ParkBusred
30 Santa Rosa, Sonoma ValleyBusgreen
40 Sonoma, PetalumaBusorange
42 Santa Rosa, Industry West Business ParkBuspink
44 Petaluma, JC, SSU, Santa RosaBusbrown
48 Santa Rosa, Rohnert Park, Cotati, PetalumaBusteal
60 Cloverdale, Healdsburg, Windsor, Santa RosaBuspurple
62 Santa Rosa, County AirportBusblack
10 Cotati, Rohnert Park, Sonoma State UniversityBusgray
12 Northern Rohnert ParkBusblue
14 Northern Rohnert ParkBusred
24 Sebastopol ShuttleBusred
28 Guerneville, Monte RioBuspurple
32 Sonoma ValleyBuspurple
66 Windsor ShuttleBusyellow
10T Cotati, Rohnert Park TripperBusgray (no shape in feed)
12T Northern Rohnert Park TripperBusblue (no shape in feed)
20X Russian River Area, Santa RosaBusgray
34 Santa Rosa, SonomaBusred
30X Santa Rosa, Sonoma ValleyBusgreen
48X Santa Rosa, Rohnert Park, Cotati, PetalumaBusteal
60X Cloverdale, Healdsburg, Windsor, Santa RosaBuspurple
67 Healdsburg ShuttleBusgreen
68 Cloverdale ShuttleBusteal
51 Novato, Petaluma, Rohnert Park, Santa RosaBusgray (no shape in feed)
66X Windsor Town Green ShuttleBusgreen

This feed has 1117 stops.

List every stop
  • SMART Petaluma Station (D St)
  • Rohnert Park SMART Station
  • Rohnert Park SMART Station
  • N McDowell Blvd & Southpoint
  • Old Redwood Hwy & St Joseph Way
  • Camino Colegio & Manchester (Ac Credo HS)
  • Camino Colegio & Wellness Way
  • Robert's Lake Rd / Golf Course Dr
  • Harmon St & Healdsburg Depot
  • Foothill Blvd & Del Web Dr
  • Foothill Dr & Elbridge Ave
  • Treadway Blvd & Cloverdale Blvd
  • Geyserville Ave & Barilani Rd
  • Geyserville Ave & Barilani Rd
  • Redwood Dr & Golf Course Dr (Graton Resort)
  • Santaro Way & E Cotati Ave (Cotati Depot)
  • Country Club Dr & Golf Course Dr
  • Camino Colegio & Middlebrook Way
  • Camino Colegio & Magnolia Ave
  • Montgomery Dr & Second St
  • Montgomery Dr & Second St
  • McKinley Street & Morris Street
  • McKinley Street & Brown Street
  • Fairfield Inn - Main Entrance
  • Burbank Heights - Experimental Farm
  • Skylane Blvd & Airport Blvd
  • Skylane Blvd & Aviation Blvd
  • Skylane Blvd & Shiloh Rd
  • Shiloh Rd & Skylane Blvd
  • Windsor Rd & Vintage Greens Dr
  • Windsor Rd & Cork St
  • Windsor Rd & Patrick Ln
  • Shiloh Rd & Skylane Blvd
  • Skylane Blvd & Shiloh Rd
  • Skylane Blvd & Aviation Blvd
  • Skylane Blvd & Airport Blvd
  • Sonoma Co. Airport Terminal - NB
  • Guerneville Library
  • Russian River Senior Center
  • East Third St & North Main St
  • Duncans Mills/Moscow Rd (Westbound)
  • Hwy 116 & Church St (Monte Rio)
  • Keating Ave & Pitt Ave
  • Sonoma Mtn Pkwy & Wellington Place
  • Lakeville St & Jefferson St
  • Redwood Circle & Green Music Center
  • Rohnert Park Expressway & Knight Road
  • Rohnert Park Expressway & Redwood Circle
  • Labath Ave & RP Expressway
  • Kings Valley
  • Hembree Ln & Victory Ln
  • Occidental (Health Center)
  • Armstrong Woods Rd & Laughlin Rd
  • Steele Ln & Rowe Dr
  • Steele Ln & Meyers Dr
  • Steele Ln & Berkeley Dr
  • Steele Ln & Salem Ave
  • Airport Blvd & Regional Parkway
  • Arlen Dr & Santa Alicia Dr
  • Adrian Dr & Arlen Dr
  • Adrian Dr & Adrian Ct
  • Bodway Parkway @ Camino Colegio
  • Oak Park St @ Windsor River Rd
  • Valley House Drive & Bodway Parkway
  • Merner Dr. & Old Redwood Hwy
  • Healdsburg Ave & Passalacqua Rd
  • Healdsburg Ave & Passalacqua Rd
  • Kerry Road & Kingwood Road
  • Kerry Road & Keats Place
  • Kerry Road & Keiser Avenue
  • Rohnert Park Expressway & Karrington Road
  • Rohnert Park Expressway & Snyder Lane
  • Hwy 116 & Beech Ave
  • Hwy 116 & Duncan Rd
  • Hwy 116 & Laurel Dell Ave
  • Hwy 116 & Cazadero Hwy
  • Blair St & Alter St
  • S Cloverdale Blvd & Industrial Dr
  • RP Expressway & Hwy 101 (2)
  • Chase Bank (2)
  • Healdsburg Ave & N Main St (Safeway) (2)
  • North Main St & Wilton Ave (2)
  • Moscow Rd & Casini Ranch
  • West St & Moscow Rd (2)
  • Monte Rio (Creekside Park) (2)
  • CVS (Piper St) (2)
  • Cloverdale Blvd & Fourth St (2)
  • North Main St & Wilton Ave (2)
  • Villa Grande (2)
  • Novato Hub (Redwood & Grant)
  • Coddingtown (Drop-off only)
  • Novato Hub (Redwood & Grant)
  • Geyserville Ave & 22000 Geyserville Ave
  • Geyserville Ave & Ac. from 22000 Geyserville Ave
  • Windsor High School
  • Windsor Middle School
  • Geyserville Ave at Hwy 101 Underpass
  • Geyserville Ave at Hwy 101 Underpass
  • Santa Rosa Transit Mall
  • B St & Ross St
  • Mendocino Ave & Cherry St
  • Mendocino Ave & College Ave
  • Mendocino Ave & Ridgeway
  • Ac Santa Rosa Junior College
  • Mendocino Ave & Dexter St
  • Mendocino Ave & Silva Ave
  • Mendocino Ave & Steele Ln
  • Administration Dr & Paulin
  • Administration Dr & Ventura
  • County Admin Center (Ventura Ave)
  • Russell & Ventura (Kaiser Stop)
  • Kaiser Stop / Bicentennial Ave
  • Range Ave & Russel Ave
  • Range Ave & State Farm Dr
  • Range Ave & Paulin Creek
  • Range Ave & Steele Ln
  • Mendocino Ave & Chanate Rd
  • Mendocino Ave & Bicentennial Way
  • Mendocino Ave & Fountain Grove Pkwy
  • Old Redwood Hwy &
  • Old Redwood Hwy (Kaiser Stein Bldg)
  • Old Redwood Hwy & Cardinal Newman HS
  • Old Redwood Hwy & La Mancha Apartments
  • Old Redwood Hwy & Chelsea Drive
  • Mark West Springs Rd & Old Redwood Hwy
  • River Rd & West of Hwy 101
  • Fulton Rd & River Rd
  • Fulton Rd & Airport Blvd
  • River Rd & Fulton Rd
  • River Rd & Laughlin Rd
  • River Rd & Trenton-Healdsburg Rd
  • Old Redwood Hwy & Mark West Springs Rd
  • Larkfield Shopping Center
  • Old Redwood Hwy & Ascot Dr
  • Old Redwood Hwy & Deerwood Dr
  • Old Redwood Hwy & Faught Rd
  • Old Redwood Hwy & Airport Blvd
  • Old Redwood Hwy & Fulton Rd
  • Old Redwood Hwy & Plymouth Way
  • Old Redwood Hwy & Shiloh Rd
  • Shiloh Rd & Old Redwood Hwy
  • Shiloh Center & Wal-Mart (Hembree)
  • Hembree Ln & Wilson Ln
  • Hembree Ln & Cornell St
  • Hembree Ln & Broad Oak Way
  • Old Redwood Hwy & Shiloh Rd
  • Old Redwood Hwy & Savannah Way
  • Old Redwood Hwy & Shamrock Circle
  • Old Redwood Hwy & Thrushwing
  • Old Redwood Hwy & Pleasant Ave
  • Old Redwood Hwy & Hembree Ln
  • Old Redwood Hwy & Alden Ln
  • Old Redwood Hwy & Lakewood Dr
  • Windsor River Rd & Old Redwood Hwy
  • Windsor River Rd (Windsor Depot)
  • Windsor River Rd & Starr Rd
  • Starr Rd & Buckingham Dr
  • Starr Rd & Stellar Ln
  • Starr Rd & Colleen Dr
  • Starr Rd & Gumview Rd
  • Starr Rd & Twin Oaks Ln
  • Old Redwood Hwy & Starr Rd
  • Old Redwood Hwy &
  • Old Redwood Hwy & Eastside Rd
  • Old Redwood Hwy & Eastside Rd
  • Old Redwood Hwy & Btwn Eastside/Limerick
  • Old Redwood Hwy & Limerick Ln
  • Healdsburg Ave & Exchange Way
  • Healdsburg Ave & Mill St
  • Healdsburg Plaza
  • Healdsburg Ave & Powell Ave
  • Healdsburg Ave & Dry Creek Rd
  • Dry Creek Rd & Healdsburg Ave
  • Grove St & Chaquita Rd
  • Healdsburg Ave & Terrace
  • Healdsburg Ave & Foss Creek (driveway)
  • Healdsburg Ave & Parkland Farms Dr
  • Healdsburg Ave & Alexander Valley Rd
  • Healdsburg Ave & Lytton Springs Rd
  • Geyserville Ave & Independence Ln
  • Geyserville Ave & Tzabaco Creek Rd
  • Geyserville Ave & Walden St
  • Geyserville Ave (Geyserville Park & Ride)
  • Geyserville Ave & Geysers Ridge Rd
  • Geyserville Ave & Canyon Rd
  • Geyserville Rd & East of Hwy 101
  • Geyserville Rd & Zanzi Ln
  • Asti Rd & Washington School Rd
  • Asti
  • Asti Rd & Theresa Dr
  • Theresa Dr
  • Cloverdale Blvd & Sandholm Dr
  • Cloverdale Blvd & Treadway Dr
  • Cloverdale Blvd & Brookside Dr
  • Cloverdale Blvd & Tarman Dr
  • Cloverdale Blvd & South St
  • Asti Rd & Cloverdale Depot
  • Cloverdale City Hall & Plaza
  • Kings Valley - Clubhouse
  • Cloverdale Blvd & Healdsburg Ave
  • Cloverdale Blvd & Franklin St
  • Cloverdale Blvd & Brookside Dr
  • Cloverdale Blvd & Treadway
  • Cloverdale Blvd & Sandholm Dr
  • Dutcher Creek Rd & Hiatt Rd
  • Theresa Dr & Hwy 101
  • Asti Rd & Theresa Dr
  • Asti
  • Asti Rd & Washington School Rd
  • Geyserville Ave & Zanzi Ln
  • Geyserville Ave & East of Hwy 101
  • Geyserville Ave & Canyon Rd
  • Geyserville Ave & Geysers Ridge Rd
  • Geyserville Ave & School House Ln
  • Geyserville Ave (Ac Geyserville Park & Ride)
  • Geyserville Ave & Walden St
  • Geyserville Ave &
  • Geyserville Ave & Independence Ln
  • Healdsburg Ave & Lytton Springs Rd
  • Healdsburg Ave & Alexander Vly Rd
  • Healdsburg Ave & Parkland Farms Dr
  • Healdsburg Ave & Grove St
  • Healdsburg Ave & Sunnyvale Dr
  • Healdsburg Ave & Dry Creek Rd
  • Healdsburg Ave & Sherman St
  • Healdsburg Ave & Matheson
  • Healdsburg Ave & Mill St
  • Old Redwood Hwy & Limerick Ln
  • Old Redwood Hwy & Btwn Eastside/Limerick
  • Old Redwood Hwy & Eastside Rd
  • Old Redwood Hwy & Eastside Rd
  • Old Redwood Hwy & West of Hwy 101
  • Old Redwood Hwy & Starr Rd
  • Starr Rd & Entrada
  • Starr Rd & Gumview Rd
  • Starr Rd & Coleen Dr
  • Starr Rd & Buckingham Dr
  • Windsor River Rd & Spencer St
  • Windsor River Rd (Windsor Depot)
  • Windsor Rd & Windsor Depot
  • Windsor River Rd & Old Red Hwy
  • Old Redwood Hwy & Lakewood Dr
  • Old Redwood Hwy & Alden Ln
  • Old Redwood Hwy & Hembree Ln
  • Old Redwood Hwy & Pleasant Ave
  • Old Redwood Hwy & Shira St
  • Old Redwood Hwy & Shira St
  • Old Redwood Hwy & Billington Ln
  • Old Redwood Hwy & Deanna Pl
  • Old Redwood Hwy & Anna Dr
  • and 867 more (see the full list on the map or in the GeoJSON)

Over time

Overall score across the last 10 checks — down 0.5 since 2026-07-08.

2026-06-30: 50.02026-07-01: 70.72026-07-02: 70.32026-07-03: 69.82026-07-04: 69.42026-07-05: 69.02026-07-06: 68.62026-07-07: 68.22026-07-08: 67.82026-07-09: 67.3
Show the numbers
Overall score by check, with the change from the previous check
CheckScoreChange
2026-06-3050.0 first check
2026-07-0170.7 up 20.7
2026-07-0270.3 down 0.4
2026-07-0369.8 down 0.5
2026-07-0469.4 down 0.4
2026-07-0569.0 down 0.4
2026-07-0668.6 down 0.4
2026-07-0768.2 down 0.4
2026-07-0867.8 down 0.4
2026-07-0967.3 down 0.5

What changed since your last check

What changed in this feed

Overall score fell 0.5 points since 2026-07-08.

Same feed file as 2026-07-08; the published zip did not change.

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 F. On 2026-07-01 the grade moved from F to C. On 2026-07-03 the grade moved from C to D. On 2026-07-09 feed entered the expiry window (30 days of service left). As of 2026-07-09 it holds grade D.

A plain-language history of this feed, newest first.

Everything we checked

Beyond the grade

Opportunities that do not change your grade today: fare detail, on-demand service, and deeper accessibility data.

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.

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.

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.

In California, the published guideline is California Transit Data Guidelines. Caltrans' published quality guidelines and compliance checklist; this rubric is anchored to them.

California Minimum GTFS Guidelines checklist (4 of 5 measured items met)

The state's own Data Process Checklist, matched item by item to what this scorecard already measures. An item marked "not measured here" is real ground the checklist covers that this tool does not check; see the official checklist for the full picture.

  • Meets Publish GTFS Schedule at a stable, automatically-fetchable URL

    The published feed URL downloaded at the last check.

  • Not measured here Implement required fields: Fares v2, text-to-speech stop names, shapes.txt, wheelchair_boarding, and Pathways where applicable

    This scorecard measures wheelchair_boarding, shapes.txt coverage, fare data, and station pathways separately, below; it does not check the Fares v2 format specifically or text-to-speech stop names.

  • Not measured here Achieve a passing score in every category of the MobilityData GTFS Grading Scheme v1

    This scorecard automates a proxy for the Grading Scheme's rider-facing fields (see the standards crosswalk) rather than running the scheme itself, which grades by comparison to the real world by hand.

  • Not measured here Publish changes to the base schedule at least one week ahead of every service change

    This scorecard does not track a feed's publish history, so advance notice cannot be checked.

  • Meets Produce no critical errors in the MobilityData GTFS Validator

    Passes validation with no errors.

  • Not measured here Publish Trip Updates, Vehicle Positions, and Alerts feeds

    This scorecard checks realtime reachability and freshness overall; it does not check for all three feed types individually.

  • Not measured here Update Trip Updates and Vehicle Positions at least every 20 seconds

    This scorecard samples realtime freshness; it does not check this specific 20-second cadence.

  • Not measured here Publish information for at least 99% of vehicles in service

    This scorecard measures the share of scheduled trips represented in TripUpdates, a related but different figure than vehicle coverage.

  • Not measured here Keep 100% of trip_ids consistent between Schedule and Realtime

    This scorecard does not currently check trip_id consistency between the Schedule and Realtime feeds.

  • Not measured here Produce no critical errors in the Center for Urban Transportation Research realtime validator

    This scorecard does not run the CUTR realtime validator.

  • Not measured here Publish accessible feed links on the agency or regional partner website

    This scorecard does not check the agency's own website.

  • Not measured here Register GTFS and GTFS-Realtime feeds with transit.land and the Mobility Database

    This scorecard does not currently check aggregator registration for this section.

  • Meets Designate a technical contact in feed_info.txt's feed_contact_email

    feed_info.txt states a technical contact.

  • Gap wheelchair_boarding stated on stops and trips

    States wheelchair access on 0% of stops and 0% of trips.

  • Not measured here shapes.txt with a shape for every trip

    Shape coverage has not been measured for this feed.

  • Meets Fare data published, or the service marked fare-free

    Fare data is published.

Correctness 84 / 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 50 / 100
The FTA National Transit Database expectation of a valid, current feed. Google Transit: an expired calendar drops the agency from Maps.
Rider experience 58 / 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.

Show your grade

Put a live badge on your agency site or feed README. It updates daily and links back to this scorecard.

Sonoma County Transit (SCT) GTFS data quality grade: D

Prefer a shields.io style? Point a dynamic endpoint badge at the published badge.json.

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/sonoma-county-transit-sct-70/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.