Skip to main content

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

License

MIT License - see LICENSE file for details

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

steam_game_query-1.0.1.tar.gz (164.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

steam_game_query-1.0.1-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

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

Hashes for steam_game_query-1.0.1.tar.gz
Algorithm Hash digest
SHA256 a963272e632f9fc6c631836c6803d73f3a0f3e1b3d634e05d599a78abe8fb40c
MD5 cf182b2fc6b3d7ceff90cd9d85655766
BLAKE2b-256 33e129e784285c0724028e1ddd813d546d8ea75b30fb557f192e75408968609a

See more details on using hashes here.

File details

Details for the file steam_game_query-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for steam_game_query-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2ef9b80844b411cb1bdde1861d778df5538e902df09839483cd89a80b2a56d01
MD5 44181b33a556a978e9d6eec591c3a735
BLAKE2b-256 b8850aac6bf2f29bba27f0152b78a72519aff740d863c53c91d0838617febc77

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page