Configuration File Format
Hridaya uses YAML format for configuration. The file must be namedconfig.yaml and placed in the project root directory.
LIMITS Section
Defines rate limiting parameters for Steam API compliance.Structure
Parameters
Maximum number of API requests allowed within the time window.Recommended: Start with 15-20 requests per minute. Steam’s actual limits are not publicly documented, so conservative values are safer.Validation: Must be positive integer greater than 0.
Duration of the rate limiting window in seconds.Default: 60 seconds (1 minute)Common values:
60- Per-minute limiting300- Per-5-minute limiting3600- Per-hour limiting
TRACKING_ITEMS Section
Defines the list of Steam Community Market items to track.Structure
Universal Required Parameters
These parameters are required for all tracked items regardless of endpoint:Exact Steam Community Market item name. Must match Steam’s market listing exactly, including special characters and capitalization.Examples:
"AK-47 | Redline (Field-Tested)""Revolution Case""AWP | Neo-Noir (Factory New)""Sticker | Team Liquid | Paris 2023"
- Navigate to the item’s Steam market page
- The name appears in the page title and URL (URL-encoded)
- Copy exactly as displayed
Steam Application ID identifying which game/app this item belongs to.Popular App IDs:
Finding App IDs:
| App ID | Game/Application |
|---|---|
730 | Counter-Strike 2 (CS2) |
570 | Dota 2 |
440 | Team Fortress 2 |
252490 | Rust |
753 | Steam (trading cards, backgrounds, emoticons) |
433850 | Blackwake |
578080 | PUBG |
- Check the item’s market URL:
steamcommunity.com/market/listings/{appid}/{item_name} - Visit SteamDB and search for the game
Identifies which Steam API endpoint to use for this item.Valid values:
priceoverview- Current prices and 24h volumeitemordershistogram- Full order book (buy/sell orders)itemordersactivity- Recent trade activity feedpricehistory- Historical hourly price data
How frequently to fetch data for this item, in seconds.Minimum recommended: 8 seconds (for high-frequency trading)Common values:
8- Very high frequency (volatile items)30- Medium frequency (active items)60- Standard frequency (regular monitoring)300- Low frequency (5 minutes)3600- Hourly (historical data,pricehistoryendpoint)
Endpoint-Specific Required Parameters
Steam’s internal numeric item identifier.Required for:
itemordershistogramitemordersactivity
priceoverviewpricehistory
- Open the item’s market page in your browser
- Open browser developer tools (F12)
- Go to Network tab
- Refresh the page
- Look for requests to
itemordershistogramor similar - The
item_nameidparameter appears in the request URL
item_nameid might be 176582392Optional Parameters
These parameters have sensible defaults but can be customized:Steam currency code for price data.Common currency codes:
| Code | Currency |
|---|---|
1 | USD (US Dollar) |
2 | GBP (British Pound) |
3 | EUR (Euro) |
5 | RUB (Russian Ruble) |
6 | BRL (Brazilian Real) |
9 | NOK (Norwegian Krone) |
10 | IDR (Indonesian Rupiah) |
11 | MYR (Malaysian Ringgit) |
12 | PHP (Philippine Peso) |
13 | SGD (Singapore Dollar) |
14 | THB (Thai Baht) |
15 | VND (Vietnamese Dong) |
16 | KRW (Korean Won) |
17 | TRY (Turkish Lira) |
18 | UAH (Ukrainian Hryvnia) |
19 | MXN (Mexican Peso) |
20 | CAD (Canadian Dollar) |
21 | AUD (Australian Dollar) |
22 | NZD (New Zealand Dollar) |
23 | CNY (Chinese Yuan) |
24 | INR (Indian Rupee) |
25 | CLP (Chilean Peso) |
26 | PEN (Peruvian Sol) |
27 | COP (Colombian Peso) |
28 | ZAR (South African Rand) |
29 | HKD (Hong Kong Dollar) |
30 | TWD (Taiwan Dollar) |
31 | SAR (Saudi Riyal) |
32 | AED (UAE Dirham) |
Two-letter ISO country code for region-specific pricing.Common values:
US- United StatesGB- United KingdomDE- GermanyFR- FranceCN- ChinaIN- IndiaBR- BrazilRU- Russia
Language for API response text fields.Common values:
englishspanishfrenchgermanitalianportugueserussianchinesejapanesekorean
itemordersactivity endpoint. Price data is numeric and unaffected.Complete Example
Validation Error Examples
Missing Required Field
Invalid apiid
Missing Endpoint-Specific Field
Infeasible Rate Limit Configuration
Validation Rules Summary
The system validates configurations using these rules (fromcerebro.py:validate_required_fields and cerebro.py:validate_config_feasibility):
- Required field check: All universal required fields must be present
- apiid validation: Must be one of the four valid endpoint identifiers
- Endpoint-specific check:
item_nameidrequired for histogram/activity endpoints - Feasibility check: Total request load must not exceed rate limits
- Type validation: Fields must have correct types (integers, strings)
Next Steps
API Endpoints
Understand the four Steam API endpoints
Authentication
Setup cookies for pricehistory endpoint