A Python-based system for monitoring CS2 skins and stickers on the Steam Community Market.
The parser reads skin IDs from a marketplaceids.json file, checks skins stickers price, and sends Telegram notifications when a profitable deal is found.
- Steam Community Market stickers parsing
- Sticker detection on skins
- Sticker prices saving in database
- Profitability calculation based on stickers
- Telegram bot notifications
- Proxy support (HTTP/SOCKS4/SOCKS5)
- Docker & Docker Compose setup
- Python 3.11+
- aiohttp
- BeautifulSoup4
- python-telegram-bot
- FastAPI / Uvicorn (for telegram bot endpoints)
- Docker / Docker Compose
steam-parser/
│
├── data/
│ ├── config.py # Config file
│ ├── currency.json # File with actual currency rates
│ ├── marketplaceids.json # Items to parse
│ ├── proxies.txt # List of proxies
│ ├── stickers.db # Db of parsed stickers
│ └── wrong.txt # Wrong stickers
│
├── misc/
│ ├── proxy_manager.py
│ └── telegram_bot.py
│
├── skins/
│ ├── __init__.py
│ ├── filter_skins.py # Script for filtering marketplaceids.json
│ └── skins.py
│
├── steam/
│ ├── __init__.py
│ ├── steam_currency.py
│ └── steam_parser.py
│
├── stickers/
│ ├── __init__.py
│ ├── stickers.py
│ ├── stickers_db.py
│ └── stickers_parser.py
│
├── telegram-bot/
├── bot.py
│ ├── Dockerfile
│ ├── requirements.txt
│ └── stickers_parser.py
├── .env
│ docker-compose.yml
│ Dockerfile
│ main.py
│ parser.py
│ requirements.txt
└── README.md
Create and fill the data/proxies.txt file with proxies in the following format:
http://user:pass@ip:port
http://ip:port
socks5://user:pass@ip:port
socks4://ip:port
Each proxy should be on a new line.
Fill data/marketplaceids.json with the Market hash names to parse:
{
"items": {
"M4A4 | Griffin (Field-Tested)": {
},
...
}
}You can get the actual market id's here: https://github.com/ModestSerhat/cs2-marketplace-ids
Create a .env file:
TELEGRAM_API_TOKEN=your_telegram_bot_token
TELEGRAM_USER_ID=your_user_id
Set your preferences like cooldown time, profit margin, etc. in data/config.py:
docker compose up --build| Command | Description |
|---|---|
/pause |
Pauses bot |
/resume |
Resumes bot |
- steam_parser.py scrapes skin prices and sticker info from the Steam market.
- proxy_manager.py rotates proxies to avoid rate limits.
- stickers_parser.py parses stickers of the skin, manages the database, determines if skin is profitable.
- Profitable offers are pushed to the telegram_bot.py for Telegram notifications.

