This is the backend data aggregator for the Free Game Finder ecosystem. It is a headless Python API that runs silently inside a Docker container on a local NAS. It actively scrapes major PC gaming storefronts for 100% free-to-keep promotions and serves them to the mobile client as a clean, unified JSON payload.
- Language: Python
- Framework: FastAPI
- Task Automation: APScheduler
- Data Extraction: BeautifulSoup4, Requests, Regex
- Infrastructure: Docker
- Automated Scraping: Wakes up every 45 minutes to pull live promotional data from Epic Games, Steam, and GOG.
- Aggressive Data Sanitization: Utilizes Regex and BeautifulSoup to filter out demos, mods, DLCs, and permanent "Free-to-Play" titles, ensuring only legitimate 100% off premium base games are passed to the client.
- Unified Endpoint: Serves a single, lightweight
/api/gamesJSON route. This decoupled architecture prevents the Android application from having to execute heavy web-scraping logic, saving mobile battery life and completely avoiding storefront IP bans.
This container is designed to be deployed on a headless server or NAS.
- Build the Docker image:
sudo docker build -t free-game-api . - Run the container quietly in the background:
sudo docker run -d -p 8000:8000 --name free_game_container free-game-api - The JSON payload will immediately be available at:
http://<your-server-ip>:8000/api/games