You can see a production version of the site at AppGoblin
This is the code I use to create AppGoblin for tracking app store ranks and SDKs of mobile companies like ad networks and mobile attribution companies. The goal was simply to have a good source of data for Apps on the Google Play and iOS stores. The code is provided here incase it helps anyone. As this is a project for general fun and learning, please don't hesitate to reach out if you have any questions or suggestions, Discord below.
- Companies Directory: Rankings based on SDK integration frequency
- Filter by category
- Company Intelligence: See the top client apps for mobile app companies
- Example: Salesforce Clients
- Example: AppsFlyer Top Apps
- App Rankings: Daily tracking of top apps from Google Play and Apple App Store.
- SDK Analysis: Detailed list of decompiled Android and iOS Apps and their internally used SDKs. See what tracking SDKs are used in which apps.
- Python Litestar backend API found in
backend/
- Javascript SvelteKit+Tailwind UI found in
frontend/
The database referred to in this repository is created by adscrawler, a crawler for scraping the Google & Apple play stores and storing that to a PostgreSQL database. That repo also contains a number of materialized views prepping data for the dashboard. It generally would be difficult to recreate it as it's only ever been managed by me the original creator, but I'm open to sharing data if you have something you need.
litestar run --debug
to start API. Once run, api documentation can be found at api/docs
- Current setup is based on Python3.12
- pip install dependencies, found in pyproject.toml:
pip install
- To run locally for testing use
- Backend: in
backend/
rungunicorn -k uvicorn.workers.UvicornWorker app:app
orlitestar run dev
- Frontend: in
frontend
runnpm run dev
- Backend: in
- This repo includes the scripts used to run in production as well. These are located in the steps in
.github/actions
as well asscripts
for systemd services for frontend and backend. - Additionally, you will need a proxy. I used Nginx. This is wherever you have your nginx configuration set, possibly sites-available
/etc/nginx/sites-available/app-store-api
or/etc/nginx/conf.d/app-store-api.conf
Have questions or suggestions? Let's connect!
🧙♂️ Join Discord Server