Getting your rides and food orders history from Snapp application and Snappfood.
You can think of Iranian version of Uber. Their public repository is available here.
Snappfood is Iran's leading online food delivery platform, similar to UberEats or DoorDash. It's part of the Snapp! ecosystem, allowing users to order food from thousands of restaurants across Iran.
- View your Snapp ride history with detailed statistics
- View your Snappfood order history with detailed statistics
- See your biggest Snappfood order
- View statistics by hour, day, week, month, and year
- View total spending and count for rides/orders
- Beautiful charts and visualizations
- Data caching for faster access
- Automatic update detection for new rides/orders
- Unzip the extension, you can download it from GitHub releases or the telegram channel.
- Go to Chrome > Extensions > Manage Extensions and enable Developer Mode
- Click on "Load Unpacked" on Chrome Manage extensions page and choose the unzipped folder
- Sign in to your Snapp account at app.snapp.taxi and your Snappfood account at snappfood.ir
- Click on the extension icon in Chrome to view your statistics!
Start development server (use dist folder to install on Chrome):
cd kozegaav
npm ci && cd src/popup && npm ci && cd ../..
npm start
Build extension package:
npm run tada # Creates kozegaav.zip
- After installing the extension you need to sign in to your Snapp account
- When you open https://app.snapp.taxi, a script injects into the HTML
body
- The script reads
access-token
from the page and creates a newCustomEvent
withaccess-token
and dispatches it viawindow
- In
contentscript
we listen to the upcoming event message from the injected script. After getting the message, we saveaccess-token
using chrome.storage API - Every time you click on the extension's icon, we read
access-token
fromchrome.storage
and set it as a state in the mounted React component (popup) - When you click on "Get Snapp Rides", the app requests data from Snapp API with your
access-token
- After your data is received, we use
chrome.storage
for caching. Next time you click the button, we first check if there are new rides before fetching all data again
- Sign in to your Snappfood account at snappfood.ir
- When you click "Get Snappfood Orders" in the extension, we use your browser's cookies to authenticate with Snappfood's API
- The app fetches your order history page by page and processes the data
- Like with Snapp rides, we cache the data and check for new orders before fetching everything again
- All data processing happens locally in your browser
All codes executed on the client-side and the extension is only for personal usage. For analyzing the data:
- For Snapp rides, we need your local
access-token
from the Snapp PWA - For Snappfood orders, we use your browser's cookies to authenticate with Snappfood
- All authentication data is saved in chrome storage API
- You can remove the extension at any time to destroy all stored data completely
- No data is ever sent to any third-party servers
- All data processing happens locally in your browser
The extension only accesses the minimum required data to show your ride and order statistics. Your privacy and data security are our top priority.
This extension is a fork and enhancement of My Snapp, which is no longer maintained. We've built upon the original project by:
- Fixing compatibility with recent Chrome updates
- Adding Snappfood integration
- Adding new statistics and visualizations
- Improving data caching and performance
- Enhancing the user interface
- Implementing automatic update detection
Special thanks to the original My Snapp developers for laying the groundwork for this project.