Feed status · checked 2026-07-19
Sakata City Bus (酒田市営バス)
Based on the feed this agency publishes
Service mode Bus
unchanged since 2026-07-18
Catalogued in Yamagata, Japan.
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.2, validator 8.0.1.
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
252 of 252 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 in its category
Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.Likely your export tool
49 of 49 trips don't say whether the vehicle is wheelchair accessible. Even with accessible stops, riders need to know the bus itself can take them.
⏱ A default or per-trip field in your export.worth about +15 points in its category
Only change the flagged IDs if an app needs basic ASCII values. Update each place that uses the ID. Keep all names and headsigns in their original language.
Some internal IDs use characters outside the basic text set. These IDs are valid UTF-8 data. This warning is only about support in older apps. It does not mean that names in other languages are wrong.
⏱ A planned ID change, not a quick text cleanup.worth about +8 points in its category
How to make and check these changes
Check the result on the published feed. Read the guide, make the change in your tool, and use the next comparable run to see whether the finding is still reported. Only an action or ticket record can attribute who made the change.
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.
Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. Self-check a feed before you publish.
Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip. · Read the fix guide
Make the change. Make this change in whatever tool produces your feed, then re-export.
Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. Self-check a feed before you publish.
Only change the flagged IDs if an app needs basic ASCII values. Update each place that uses the ID. Keep all names and headsigns in their original language.
Make the change. Make this change in whatever tool produces your feed, then re-export.
Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. Self-check a feed before you publish.
Rider view: what this feed publishes
A quick read of rider-facing information in this feed.
- Schedule visibility
- The feed's last published service date is in 255 days.
- Published accessibility data
- Accessibility information is stated for 0% of stops and 0% of trips. This measures published data, not whether stops or vehicles are physically usable.
- Fare information
- Fare information is published using GTFS Fares v1.
- Realtime information
- Realtime-feed availability and live-arrival coverage are not known from this scorecard.
Important: This does not rate service reliability. Riders should confirm current service alerts, fares, and accessibility accommodations with the transit operator before traveling.
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 6 kinds of issue across 2168 instances (0 error, 2165 warning, 3 informational).
Service data covers the next 255 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 published.
0% of stops state accessibility (0% marked accessible). Reflects what the feed states, not verified physical usability.
1 accessibility depth signal
4 route badge(s) pair a color and text color below the WCAG 4.5:1 contrast bar (るんるんバス 市内循環A線, るんるんバス 市内循環B線, るんるんバス 市内循環C線, るんるんバス 古湊アイアイひらた線).
Consider: Adjust route_color or route_text_color so each pair clears 4.5:1. Often switching the text between black and white is enough.
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.
Fares are applied to trips.
Not scored yet. Nothing here counts against the grade.
Routes and stops
This feed has no route shapes, so the map shows its stops only.
Skip to route and stop dataBasemap: OpenFreeMap, © OpenStreetMap contributors. Routes and stops: this agency's GTFS feed.
| Route | Type | Line color |
|---|---|---|
| るんるんバス 市内循環A線 | Bus | red (no shape in feed) |
| るんるんバス 市内循環B線 | Bus | red (no shape in feed) |
| るんるんバス 市内循環C線 | Bus | pink (no shape in feed) |
| るんるんバス 市内循環D線 | Bus | teal (no shape in feed) |
| るんるんバス 古湊アイアイひらた線 | Bus | green (no shape in feed) |
| るんるんバス 酒田駅大学線 | Bus | yellow (no shape in feed) |
This feed has 252 stops.
List every stop
- こあら2丁目
- こあら2丁目
- 酒田東病院前
- 酒田東病院前
- 東大町3丁目
- 東大町3丁目
- こがね団地前
- こがね団地前
- 酒田市役所前
- 古湊
- 古湊
- 高砂北
- 高砂北
- 高砂南
- 高砂南
- 光ケ丘4丁目
- 光ケ丘4丁目
- 陸上競技場前
- 陸上競技場前
- 税務署前
- 税務署前
- 陸上競技場脇
- 陸上競技場脇
- 光ケ丘2丁目
- 光ケ丘2丁目
- 南新町2丁目
- 南新町2丁目
- 北新町2丁目
- 北新町2丁目
- 日吉町1丁目
- 日吉町1丁目
- 栄町
- 栄町
- 住吉町
- 住吉町
- 山居町西
- 山居町西
- 港南公園前
- 港南公園前
- 若竹町
- 若竹町
- 光ケ丘1丁目
- 光ケ丘1丁目
- 亀ケ崎4丁目
- 亀ケ崎4丁目
- 亀ケ崎5丁目
- 亀ケ崎5丁目
- 大宮公園前
- 大宮公園前
- 大宮町4丁目
- 大宮町4丁目
- 遊摺部
- 遊摺部
- 小牧
- 小牧
- 茨野新田
- 茨野新田
- 砂越駅前
- 大町溝前
- 大町溝前
- 新田町
- 新田町
- 屋内プール前
- 屋内プール前
- 南平田小学校
- 南平田小学校
- 平田総合支所前
- 平田総合支所前
- 東部中学校前
- 東部中学校前
- 楢橋口
- 楢橋口
- アイアイひらた
- 日吉町2丁目(海鮮市場口)
- こがね町しらさぎ公園前
- こがね町しらさぎ公園前
- 日和山公園下
- 日和山公園下
- 産業技術短期大学校前
- 産業技術短期大学校前
- 京田西工業団地
- 京田西工業団地
- 光陵高校前
- 光陵高校前
- 北千日町
- 北千日町
- 泉里西公園前
- 西高校前
- デイサービスセンターいずみ前
- デイサービスセンターいずみ前
- 泉里公園前
- 東泉町2丁目
- 酒田駅前①
- 北部公園前
- 北部公園前
- 駅東公園前
- 駅東公園前
- 酒田駅(東)
- 旭新町
- 旭新町
- 浜田2丁目
- 浜田2丁目
- 浜田コミセン前
- 浜田コミセン前
- 大通り商店街
- 大通り商店街
- 中の口
- 中の口
- 東中の口(東高校口)
- 東中の口(東高校口)
- 水道部前
- 水道部前
- 相生町
- 相生町
- 勤労者福祉センター前
- 勤労者福祉センター前
- 大町
- 大町
- 松原コミセン前
- 松原コミセン前
- みずほ2丁目
- みずほ2丁目
- こがね町交番前
- こがね町交番前
- 日本海総合病院
- あきほ橋
- あきほ橋
- 両羽町
- 両羽町
- 亀ケ崎6丁目
- 亀ケ崎6丁目
- 亀ケ崎3丁目
- 亀ケ崎3丁目
- シルバー人材センター前
- シルバー人材センター前
- みずほ1丁目
- みずほ1丁目
- 亀ケ崎郵便局前
- 亀ケ崎郵便局前
- 酒田リハビリ病院前
- 酒田リハビリ病院前
- 酒田リハビリ病院口
- 酒田リハビリ病院口
- 山居町
- 山居町
- 市役所西
- 市役所西
- 中町①
- 酒田駅前②
- 八雲神社前
- 八雲神社前
- 文化センター正面口
- 文化センター正面口
- 中央東町
- 中央東町
- 寿町(舞娘坂前)
- 寿町(舞娘坂前)
- 山王くらぶ前
- 山王くらぶ前
- 看護専門学校前(海鮮市場口)
- 日和山公園
- 日和山公園
- さかた海鮮市場前
- 中町③
- 本間家旧本邸前
- 本間家旧本邸前
- いろは蔵パーク前
- いろは蔵パーク前
- 山居倉庫前
- 山居倉庫前
- 港南コミセン前
- 港南コミセン前
- 中町②(柳小路)
- 高見台
- 高見台
- 緑ケ丘1丁目
- 緑ケ丘1丁目
- 宮野浦郵便局前
- 宮野浦郵便局前
- 県営川南団地前
- 県営川南団地前
- 緑ケ丘二丁目公園前
- 緑ケ丘二丁目公園前
- 若宮町2丁目
- 若宮町2丁目
- 酒田第二幼稚園前
- 酒田第二幼稚園前
- 若宮町1丁目
- 若宮町1丁目
- 宮野浦
- 宮野浦
- 宮野浦口
- 宮野浦口
- 大学前
- 大学前
- 土門拳写真美術館
- 工業団地前
- 工業団地前
- 飯森山公民館前
- 飯森山公民館前
- 錦町3丁目北
- 錦町3丁目北
- 錦町3丁目南
- 錦町3丁目南
- 錦町4丁目北
- 錦町4丁目北
- 錦町4丁目南
- 錦町4丁目南
- 錦町5丁目南
- 錦町5丁目南
- 錦町5丁目北
- 錦町5丁目北
- 第四中学校前
- 第四中学校前
- 南千日町
- 南千日町
- 泉町西
- 泉町西
- ゆたか1丁目
- ゆたか1丁目
- 泉コミセン前
- 泉コミセン前
- 西高グラウンド前
- 西高グラウンド前
- 下安町
- 下安町
- 上安町
- 上安町
- 上安北公園前
- 上安北公園前
- 上安町3丁目
- 上安町3丁目
- 明日葉前
- 明日葉前
- 富士見町2丁目
- 富士見町2丁目
- 新橋
- 新橋
- 北新橋
- 北新橋
- 北新橋郵便局前
- 北新橋郵便局前
- 新橋1丁目
- 新橋1丁目
- 地域福祉センター前
- 地域福祉センター前
- 第二中学校前
- 第二中学校前
- 新橋4丁目
- 新橋4丁目
- and 2 more (see the full list on the map or in the GeoJSON)
Over time
Overall score across the last 2 checks — unchanged since 2026-07-18.
Show the numbers
| Check | Score | Change |
|---|---|---|
| 2026-07-18 | 74.2 | first check |
| 2026-07-19 | 74.2 | no change |
What changed since your last check
- Correctness no change
- Freshness no change
- Rider experience no change
What changed in this feed
Overall grade and score held steady since 2026-07-18.
Same feed file as 2026-07-18; 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.
Everything we checked
9 findings, ordered by severity.
Show every finding
- Warning2086 instances
Some internal IDs use characters outside the basic text set.
These IDs are valid UTF-8 data. This warning is only about support in older apps. It does not mean that names in other languages are wrong.
Fix: Only change the flagged IDs if an app needs basic ASCII values. Update each place that uses the ID. Keep all names and headsigns in their original language. (A planned ID change, not a quick text cleanup.)
Validator rule: non_ascii_or_non_printable_char · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning252 instances
252 of 252 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)
- Warning77 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)
- Warning49 instances
49 of 49 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. If every vehicle is accessible, this may be one default; otherwise use the value for each trip. (A default or per-trip field in your export.)
Validator rule: scorecard_wheelchair_accessible_unknown · Read the fix guide · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)
- Warning1 instance
feed_info.txt lists no contact email and no contact URL.
Without a contact, apps like Google Maps can't reach you when they find a problem in the feed.
Fix: Add feed_contact_email or feed_contact_url to feed_info.txt. (One field, set once in export settings.)
Validator rule: missing_feed_contact_email_and_url · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning1 instance
Some files leave out fields that GTFS asks for but does not require.
Recommended fields like agency_phone or stop descriptions make the feed more useful to riders and trip planners.
Fix: Review the flagged fields and fill in the ones your riders would use. (A field at a time; not urgent.)
Validator rule: missing_recommended_field · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Info2 instances
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
Platform without parent station (flagged by the MobilityData validator).
See the linked rule for what this affects.
Fix: Review the rule documentation for 'platform_without_parent_station' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed. (Varies.)
Validator rule: platform_without_parent_station · 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).
Trip-planning apps and regional data coordinators 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.)
Validator rule: scorecard_no_feed_contact · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
Conformance mark Not yet
This feed is close to the conformance mark. 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 Met
- Service data covers the next 255 days.
- 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.
Clears the Google and Apple Maps four-week coverage bar. This feed has 255 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
The scorecard is a data-quality lens, not a compliance determination. Its universal references describe good GTFS and useful rider information. Useful references here are GTFS Schedule Best Practices, GTFS-Realtime Best Practices, MobilityData grading scheme, Google Transit publication guidance. Read the full standards crosswalk.
- Correctness 75 / 100
- GTFS Schedule best practices, checked by the MobilityData validator. MobilityData grading covers stop locations, route names, and colors. Google Transit requires a feed to pass validation for publication.
- Freshness 100 / 100
- GTFS Schedule best practices call for a dataset that stays current. An expired calendar can remove service from Google Transit and other rider trip planners.
- Rider experience 52 / 100
- GTFS Best Practices for rider-facing fields. MobilityData grading covers 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/sakata-city-bus/2026-07-19.json and never overwritten, pinning the grade, category scores, rubric version, validator version, reader archive profile, and the scored feed's sha256 as they stood on 2026-07-19. Use it in a board packet, a regulatory filing, 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.