{"id":24288577,"url":"https://github.com/puravparab/waymo-api","last_synced_at":"2026-06-08T05:31:13.770Z","repository":{"id":271644414,"uuid":"913224435","full_name":"puravparab/waymo-api","owner":"puravparab","description":"unofficial api for waymo ride prices","archived":false,"fork":false,"pushed_at":"2025-02-07T02:05:39.000Z","size":93,"stargazers_count":3,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T00:20:08.053Z","etag":null,"topics":["android-studio","data-science","python","ride-price","waymo"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/puravparab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License","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":"2025-01-07T09:17:12.000Z","updated_at":"2025-03-05T00:41:18.000Z","dependencies_parsed_at":"2025-01-09T02:37:14.156Z","dependency_job_id":"75b5c552-815e-4e04-9d02-a4ad366ecc94","html_url":"https://github.com/puravparab/waymo-api","commit_stats":null,"previous_names":["puravparab/waymo-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/puravparab/waymo-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puravparab%2Fwaymo-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puravparab%2Fwaymo-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puravparab%2Fwaymo-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puravparab%2Fwaymo-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/puravparab","download_url":"https://codeload.github.com/puravparab/waymo-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puravparab%2Fwaymo-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34050225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["android-studio","data-science","python","ride-price","waymo"],"created_at":"2025-01-16T10:18:34.670Z","updated_at":"2026-06-08T05:31:13.733Z","avatar_url":"https://github.com/puravparab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"### What is this?\n\nWaymo doesn't have an API where you can get ride prices after entering pickup/dropoff points. This is an unofficial python api for Waymo that can be run locally to get realtime waymo ride prices. \n\nThis project was used to create a [dataset](https://www.kaggle.com/datasets/npurav/waymo-rides-estimates) of Waymo ride estimates\n\n### Usage\n\nSingle trip\n```bash\nuv run examples/demo/main.py --trip \"Fort Mason\" \"Salesforce Tower\"\n```\n\nMultiple trips\n```bash\nuv run examples/demo/main.py --trips examples/demo/trips.json\n```\n\n### Setup\n\nGetting the server and emulator setup is a little tedious. For now this setup works with MacOS/Linux.\n\nBefore you get started, you'll need the following installed on your machine:\n\n- Android Studio\n- uv (Python package manager)\n- Python 3.12\n- npm (for appium)\n\n#### Setting up the Android virtual device\n\n1. Install [Android Studio](https://developer.android.com/studio) on your device\n\n2. Create a virtual android device `Projects \u003e More Actions \u003e Virtual Device Manager \u003e Select a device`\n\n3. On the virtual device, install the the [Waymo One](https://play.google.com/store/apps/details?id=com.waymo.carapp) application.\n\n4. After the Waymo One application is installed, log into the application with your username and password.\n\nFor future uses, you can spin up the virtual device with the Waymo app through the terminal\n\n#### Installing Android debug bridge\n\nYou will need this for changing the device location \n\n1. For MacOS\n\t```bash\n\tbrew install android-platform-tools\n\t```\n2. For Linux (Ubuntu)\n\t```bash\n\tsudo apt install adb\n\t```\n\n#### Setting up the project repository\n\n1. Clone the repository\n\t```bash\n\tgit clone git@github.com:puravparab/waymo-api.git\n\t```\n\n2. Change directory\n\t```\n\tcd waymo-api\n\t```\n\n3. Install [uv](https://docs.astral.sh/uv) if you don't have it\n\n4. Install python dependencies\n\t```bash\n\tuv sync\n\t```\n\n### Usage\n\nBefore you can use the API, you have to do three things\n- [Spin up](#start-the-android-virtual-device) the Android virtual device\n- [Start](#start-appium-server) the appium server\n- [Change location](#start-the-android-virtual-device) to desired Waymo service area (eg. San Francisco)\n\n#### Start the Android virtual device\n\nMake sure you have succesfully [set up](#setting-up-the-android-virtual-device) the virtual device and Waymo one application before proceeding\n\n1. Create a new terminal instance and enter the following:\n\t```bash\n\texport ANDROID_HOME=$HOME/Library/Android/sdk\n\texport ANDROID_SDK_ROOT=$HOME/Library/Android/sdk\n\texport PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools\n\texport PATH=$PATH:$ANDROID_HOME/emulator\n\t```\n\n2. Display list of devices in android studio\n\t```bash\n\temulator -list-avds\n\t```\n\n3. Spin up the virtual android device with the installed Waymo One application\n\t```bash\n\temulator -avd \u003cdevice name\u003e\n\t```\n\n4. After the device is started, change the device location to the desired Waymo service area. (Make sure you have downloaded [adb](#installing-android-debug-bridge))\n\t\u003e This will take some time before the Waymo app changes the location (I recommend running this when the device is booting up)\n\n\t```bash\n\t// Select one of the following\n\n\tadb emu geo fix \u003clongitude\u003e \u003clatitude\u003e\n\n\tadb emu geo fix -122.431297 37.773972 // San Francisco\n\n\tadb emu geo fix -118.243683 34.052235 // Los Angeles\n\n\tadb emu geo fix -112.074036 33.448376 // Phoenix\n\n\tadb emu geo fix -97.733330 30.266666 // Austin\n\t```\n\n5. I would recommend opening the Waymo One app before using the API\n\n#### Start appium server\n\nWe need appium so the API can talk to the virtual device\n\n1. Create a new terminal instance and enter the following:\n\t```bash\n\texport ANDROID_HOME=$HOME/Library/Android/sdk\n\texport ANDROID_SDK_ROOT=$HOME/Library/Android/sdk\n\texport PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools\n\t```\n\n2. Install appium\n\t```bash\n\tnpm install -g appium\n\t```\n\n3. Start appium\n\t```bash\n\tappium\n\t```\n\n#### Use Waymo API\n\nSee [examples](./examples/) directory for usage examples or use the following commands\n```bash\nuv run examples/demo/main.py --trip \"Fort Mason\" \"Salesforce Tower\"\n```\n```bash\nuv run examples/demo/main.py --trips examples/demo/trips.json\n```\n\n\n### Troubleshooting\n\n#### Save screen state\n\n1. You'll need [adb](#android-debug-bridge) for this\n\t```bash\n\tadb shell uiautomator dump \u0026\u0026 adb pull /sdcard/window_dump.xml\n\t```\n\n### Contributing / Issues\n\nFeel free to create a pull request or an issue and i will try to review it\n\n### License\n\nMIT (I'm not affiliated with Waymo or Google. This project is for educational purposes only)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuravparab%2Fwaymo-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpuravparab%2Fwaymo-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuravparab%2Fwaymo-api/lists"}