{"id":20516481,"url":"https://github.com/trivisonno/rtatime-api","last_synced_at":"2026-05-09T00:11:45.724Z","repository":{"id":92469021,"uuid":"425665191","full_name":"trivisonno/rtatime-api","owner":"trivisonno","description":"A Flask python app for real-time transit vehicle arrival info with the Greater Cleveland Regional Transit Authority (GCRTA). ","archived":false,"fork":false,"pushed_at":"2021-11-08T01:55:09.000Z","size":157,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-02T05:03:49.211Z","etag":null,"topics":["flask","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trivisonno.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-08T01:47:45.000Z","updated_at":"2021-11-12T00:22:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"baf8d2bd-4461-45ad-94b0-95b414a7192b","html_url":"https://github.com/trivisonno/rtatime-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trivisonno%2Frtatime-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trivisonno%2Frtatime-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trivisonno%2Frtatime-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trivisonno%2Frtatime-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trivisonno","download_url":"https://codeload.github.com/trivisonno/rtatime-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242119729,"owners_count":20074773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flask","python"],"created_at":"2024-11-15T21:29:04.918Z","updated_at":"2026-05-09T00:11:40.691Z","avatar_url":"https://github.com/trivisonno.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RTA-TIME API\n\nAllows a user to search a transit stop number for the next arriving transit vehicles. Useful with the Greater Cleveland Regional Transit Authority (GCRTA). Relies entirely on data provided by the GCRTA NextConnect real-time vehicle location system. Real-time arrival information may not always be precise, and all data issues should be referred to GCRTA.\n\n## Description\n\nGCRTA relies on [NextConnect software](http://nextconnect.riderta.com/) to track transit vehicle locations and predicted arrival times at all transit stops. GCRTA provides access to this information [on its website](http://nextconnect.riderta.com/LiveDepartureTimes), where users can search for next arriving vehicles, but only with limited search criteria. There presently is no method to search by Stop Name or 5-digit Stop #.\n\nThis API merges data from the agency's GTFS and NextConnect systems to allow for easy search-by-stop in a way not otherwise available to users. The three supporting json/geojson files are required to tie together the GTFS and NextConnect systems. With this app, you can build all sorts of real-time arrival programs or displays.\n\nFor example, this API is presently used for a real-time SMS text-based system for riders without data plans or smartphones using Twilio virtual phone numbers. This app uses the JSON data to construct a useful text message for riders. If a rider sends a 5-digit Stop # (often displayed on the signs) by SMS text message, e.g.,\n```\n03457\n```\nthen the following text message is returned to the sender\n```\nDETROIT AV \u0026 W 65TH ST\n26: 1131a, 1147a\n26A: 1117a\n```\n\nOther potential uses could be in development of an Arduino/RPi device for use at transit stops/shelters, or other user-focused displays similar to [TransitScreen](https://transitscreen.com/products/transitscreen/).\n\n## Getting Started\n\nEnsure that you have Python 3 installed on your system. I recommend using pipenv for testing.\n\n### Dependencies\n\n* Python 3.8, Flask\n\n### Installing\n\n* Clone the repo into your local directory for testing\n* Create a pipenv for your pip packages such as flask and/or zappa\n```\n$ git clone https://www.github.com/trivisonno/rtatime-api\n$ cd rtatime-api\n$ pipenv shell --python 3.8\n$ pip install flask\n```\n\nTo test locally:\n```\nexport FLASK_APP=api.py\nflask run\n```\n\nIf you have an AWS account set up and wish to deploy to AWS Lambda for use in apps, then deploy with zappa:\n```\n$ pip install zappa\n$ zappa init\n$ zappa deploy dev\n```\n\n### Executing program\n\nIf running locally with Flask, then add the 5-digit Stop # as below (Stop # 03457 as example)\n```\nhttp://127.0.0.1:5000/03457\n```\n\nIf deployed to the AWS API Gateway with Lambda, make a GET request to\n```\nhttps://abc1234.execute-api.us-east-1.amazonaws.com/dev/03457\n```\n\nBoth will return a JSON response that includes an array of routes with arrival times\n```\n{\"arrivals\":[{\"d\":{\"errorMessage\":null,\"routeStops\":[{\"routeID\":165,\"stops\":[{\"alerts\":null,\"crossings\":[{\"cancelled\":false,\"countdown\":null,\"destination\":\"26A Detroit to Downtown\",\"predPeriod\":\"pm\",\"predTime\":\"8:39\",\"schedPeriod\":\"pm\",\"schedTime\":\"8:18\"},{\"cancelled\":false,\"countdown\":null,\"destination\":\"26 Public Square\",\"predPeriod\":\"pm\",\"predTime\":\"8:51\",\"schedPeriod\":\"pm\",\"schedTime\":\"8:48\"},{\"cancelled\":false,\"countdown\":null,\"destination\":\"26A Detroit to Downtown\",\"predPeriod\":\"pm\",\"predTime\":\"9:18\",\"schedPeriod\":\"pm\",\"schedTime\":\"9:18\"}],\"directionID\":3,\"sameDestination\":false,\"stopID\":9194,\"timePointID\":0}]}],\"showArrivals\":false,\"showDestination\":true,\"showScheduled\":true,\"showStopNumber\":false,\"updatePeriod\":\"pm\",\"updateTime\":\"8:24\"}}],\"request\":\"03457\",\"stopName\":\"DETROIT AV \u0026 W 65TH ST\"}\n```\n\n\n## Authors\n\nAngelo [@Trivisonno](https://twitter.com/Trivisonno)\n\n## Version History\n\n* 0.1\n    * Initial Release\n\n## License\n\nThis project is licensed under the Unlicense (Public Domain)- see the LICENSE file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrivisonno%2Frtatime-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrivisonno%2Frtatime-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrivisonno%2Frtatime-api/lists"}