trendx-steam extracts raw trend signals from Steam by tracking tag-level release and review momentum over time. It is a data extraction and comparison tool that produces snapshots and CSV diffs suitable for further analysis.
The project focuses on deterministic, reproducible outputs, not interpretation.
trendx-steam is not:
- a prediction engine
- a recommendation system
- a sales forecasting tool
- a market-sizing or revenue estimator
- guaranteed to be accurate or complete
- stable against Steam HTML or layout changes
If you are looking for insights, conclusions, or predictions, this tool intentionally does not provide them.
Steam search HTML
→ parse games
→ filter by time window
→ aggregate tags
→ snapshot (JSON)
→ snapshot comparison → CSV
All data is derived from publicly accessible Steam pages. No private APIs are used.
Python 3.10+ recommended.
pip install -r requirements.txtClone the repository and run commands directly:
python trendx_steam.py --helpNo Docker, services, or background jobs are required.
trendx-steam extract --window 30dThis creates a snapshot JSON file for the given time window.
trendx-steam snapshotstrendx-steam compare \
--from snapshot_30d_OLDER.json \
--to snapshot_30d_NEWER.json \
--output compare_30d.csvThis produces a CSV describing tag-level deltas between the two snapshots.
Snapshots contain aggregated counts per tag for a fixed time window. The schema is considered stable within v1.x.
The CSV columns are fixed:
tag_id
tag_name
release_count_from
release_count_to
release_delta
review_count_from
review_count_to
review_delta
rank_from
rank_to
rank_delta
-
*_deltafields are computed asto - from -
rank_delta:- negative → rank improved
- positive → rank declined
- empty → tag appears in only one snapshot
Breaking changes to formats will only occur in v2.
The following are normal and expected:
- Steam returns HTTP 429 → extraction aborts
- No games found in a window → extraction aborts
- Steam HTML changes → fewer or zero parsed games
- Incomplete data → snapshot still written
trendx-steam fails fast and does not attempt recovery.
This project is provided as-is.
- Issues are welcome only for reproducible bugs
- Feature requests will be closed
- Data accuracy discussions will be closed
The goal is long-term stability, not expansion.
trendx-steam is intentionally limited in scope. Its value lies in producing raw, inspectable data with minimal assumptions. Any interpretation or modeling should happen downstream, outside this project.
BSD-3-Clause License
THIS SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. THERE IS NO SUPPORT WHATSOEVER.