Query detailed information for any Steam game - no login required
Project description
Steam Query
Query detailed information for any game on the Steam store - no login required, no API key needed!
Features
- 🔍 Search Games - Search the Steam store by game name
- 📋 Detailed Info - Get release date, developer, genres, ratings, and more
- 💰 Price Info - Display current price and discount information
- 💻 Platform Support - Show Windows/Mac/Linux support
- 📊 Batch Queries - Query multiple games at once
- ⏱️ Rate Limiting - Built-in rate limiter, respects API rules
- 💾 Smart Cache - LRU cache with TTL for better performance
- 🎯 Type Safe - Complete type hints for better IDE support
🚀 Quick Start
Installation
# Install from PyPI
pip install steam-game-query
# Or with uv
uv pip install steam-game-query
CLI Usage
# Search games
steam-query search "Elden Ring"
# Lookup by App ID
steam-query lookup 1245620
# Batch query multiple games
steam-query batch "Elden Ring" "Hollow Knight" -o results.json
Library Usage
Functional API (Simple)
from steam_query import search_games, get_game_info
# Search games
results = search_games("Elden Ring", limit=5)
for game in results:
print(f"{game.name}: {game.price}")
# Get game details
game = get_game_info(1245620)
if game:
print(f"{game.name} - {game.genres}")
Object API (Advanced)
from steam_query import SteamQuery
# Create client with custom settings
client = SteamQuery(
country_code="US",
cache_size=256,
requests_per_second=2.0
)
# Use client methods
game = client.get(1245620)
results = client.search("Hollow Knight", limit=10)
games = client.get_batch([1245620, 1091500, 1593500])
📖 Documentation
For detailed usage guides and API reference, see:
- CLI Guide - Complete command-line interface documentation
- API Guide - Full library API reference and examples
- Architecture - Design and implementation details
Output Example
🎮 ============================================================
Elden Ring
🎮 ============================================================
📋 Basic Info:
App ID: 1245620
Release Date: 2022-02-25
Free: No
Developer: FromSoftware Inc.
Publisher: BANDAI NAMCO Entertainment Inc.
Genres: Action RPG, Adventure
Metascore: 🟢 96/100
💻 Supported Platforms:
• Windows
💰 Price: 59.99 USD
🔗 Store Link: https://store.steampowered.com/app/1245620/
Configuration
Country/Region Settings
Control pricing region with multiple options:
# CLI parameter
steam-query lookup 1245620 --country US
# Environment variable
export STEAM_QUERY_COUNTRY=JP
# Config file
mkdir -p ~/.steam-query
echo '[steam-query]' > ~/.steam-query/config.toml
echo 'country = "US"' >> ~/.steam-query/config.toml
Priority: CLI parameter > Environment variable > Config file > Default (US)
Supported countries: US, CN, KR, JP, GB, DE, FR, RU, BR, AU, CA, etc.
Rate Limiting
Default: 1 request/second (recommended by Steam)
from steam_query import SteamQuery
# Custom rate limit
client = SteamQuery(requests_per_second=2.0)
Error Handling
from steam_query import SteamQuery
from steam_query.exceptions import GameNotFoundError, NetworkError, APIError
client = SteamQuery()
try:
game = client.get(999999999)
except GameNotFoundError as e:
print(f"Game not found: {e.app_id}")
except NetworkError as e:
print(f"Network error: {e}")
except APIError as e:
print(f"API error: {e}")
Quick Examples
Example 1: Check Game Price
from steam_query import get_game_info
game = get_game_info(1245620)
if game and game.price:
print(f"{game.name}: {game.price.final} {game.price.currency}")
Example 2: Search and Filter
from steam_query import search_games
results = search_games("action", limit=20)
for game in results:
if game.price and game.price.final < 30:
print(f"{game.name}: ${game.price.final}")
Example 3: Batch Processing
from steam_query import SteamQuery
client = SteamQuery()
app_ids = [1245620, 1091500, 1593500]
games = client.get_batch(app_ids)
for app_id, game in games.items():
print(f"{app_id}: {game.name}")
Type Hints
from steam_query import SteamQuery, Game, SearchResult
client: SteamQuery = SteamQuery()
results: list[SearchResult] = client.search("Elden Ring")
game: Game = client.get(1245620)
Project Links
- PyPI: https://pypi.org/project/steam-game-query/
- GitHub: https://github.com/carton/steam-query
- Issues: https://github.com/carton/steam-query/issues
License
MIT License - see LICENSE file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file steam_game_query-1.0.1.tar.gz.
File metadata
- Download URL: steam_game_query-1.0.1.tar.gz
- Upload date:
- Size: 164.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a963272e632f9fc6c631836c6803d73f3a0f3e1b3d634e05d599a78abe8fb40c
|
|
| MD5 |
cf182b2fc6b3d7ceff90cd9d85655766
|
|
| BLAKE2b-256 |
33e129e784285c0724028e1ddd813d546d8ea75b30fb557f192e75408968609a
|
File details
Details for the file steam_game_query-1.0.1-py3-none-any.whl.
File metadata
- Download URL: steam_game_query-1.0.1-py3-none-any.whl
- Upload date:
- Size: 21.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ef9b80844b411cb1bdde1861d778df5538e902df09839483cd89a80b2a56d01
|
|
| MD5 |
44181b33a556a978e9d6eec591c3a735
|
|
| BLAKE2b-256 |
b8850aac6bf2f29bba27f0152b78a72519aff740d863c53c91d0838617febc77
|