@vict0rcarvalh0/cs2-inventory-to-csv
v2.3.0
Published
Export CS:GO/CS2 inventory to CSV or JSON with live Steam Community Market prices. Free, no API key needed.
Maintainers
Readme
CSGO Inventory Exporter
Export your CS:GO/CS2 inventory to CSV or JSON with live Steam Community Market prices. Free, no API key needed.
Prerequisites
- Node.js (v16 or higher)
- pnpm, npm, or yarn
Installation & Usage
Option 1: From npm (Global Install)
npm install -g @vict0rcarvalh0/cs2-inventory-to-csv
cs2-inventory-to-csvOption 2: Run Locally (Development)
# Install dependencies
pnpm install
# Build the project
pnpm build
# Run the built version
node build/index.js
# Or run with verbose logging
node build/index.js --verboseThe interactive prompts will guide you through:
- Enter Steam user IDs (comma-separated)
- Select currency from the list (USD, EUR, GBP, RUB, BRL, CAD, AUD, CNY, INR, JPY, KRW, TRY, UAH, MXN, ARS, CLP)
- Select export format (CSV, JSON, or ALL)
- Optional: Filter weapon skins only
- Optional: Filter by custom price range
Output files will be saved in the current directory with format: {userId}_{steamId64}_{timestamp}.{csv|json}
Output Fields
- Type, MarketName, MarketHashName, Marketable
- Exterior, ItemSet, Quality, Rarity, Weapon
- LowestPrice, MedianPrice, Volume (from Steam Market)
- Currency
Both CSV and JSON formats include the same fields. JSON provides a structured format ideal for programmatic access.
Note: Fetching prices takes ~3 seconds per item (Steam rate limit). Large inventories will take time.
Demo
View a sample CSV file
Price Data Source
Prices are fetched from Steam Community Market (official, free):
- Rate limit: ~20 requests/minute
- Automatically retries on rate limits
- Caches prices per session
- No API key required
Common Issues
"Inventory is PRIVATE" (401 Error)
The Steam inventory must be set to public:
- Go to your Steam Profile
- Click "Edit Profile"
- Go to "Privacy Settings"
- Set "Game Details" to Public
- Set "Inventory" to Public
Slow price fetching
Steam Market enforces rate limits (3 sec delay per item). This is intentional to avoid bans.
Security
This project has been hardened with:
- Path traversal protection
- Input validation for Steam IDs
- XML External Entity (XXE) attack prevention
- Updated dependencies with security patches
- Proper User-Agent and headers for API compliance
