Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cs2cap.com/llms.txt

Use this file to discover all available pages before exploring further.

The CS2Cap API gives you programmatic access to CS2 market prices, buy orders, recent sales, and item catalog data. All endpoints are served from a single base URL, secured with a Bearer token, and return JSON (or NDJSON for streaming endpoints). This page covers everything you need to start making requests: authentication, rate limits, response conventions, and error handling.

Base URL

https://api.cs2c.app/v1

Authentication

Every market-data endpoint requires your API key in the Authorization header:
Authorization: Bearer <your_api_key>

Getting an API key

1

Sign up with OAuth

Create a CS2Cap account using OAuth.
2

Verify your email

Add and verify an email address on the account. Verification is required before a key is issued or reissued.
3

Save your API key

Copy your initial API key from the account dashboard, or reissue a new one at any time from the account flow.
4

Send the key with requests

Include Authorization: Bearer {api_key} in every request to a market-data endpoint.
You can have at most one active API key per account. Reissuing a key immediately invalidates the previous one.

Rate limits

Rate limits are enforced per API key based on your subscription tier:
TierRequests/MinuteRequests/Month
free201,000
starter4050,000
pro100500,000
quant3001,000,000

Special limits

POST /prices and POST /bids (the full-snapshot streaming endpoints) each have an additional 1 request per 5 minutes cooldown per API key, regardless of tier.

Rate limit response headers

When you hit a rate limit you receive a 429 response. The following headers tell you when you can retry and how much quota remains:
Retry-After: 12345
X-RateLimit-Limit: 500000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 12345
X-RateLimit-Tier: pro
HeaderDescription
Retry-AfterSeconds to wait before retrying.
X-RateLimit-LimitYour monthly request quota.
X-RateLimit-RemainingRequests remaining in the current period.
X-RateLimit-ResetUnix timestamp when the quota resets.
X-RateLimit-TierYour current subscription tier.
Monthly quota applies only to public core market-data endpoints. Account, billing, verification, recovery, and alert routes are still rate-limited, but they do not consume your advertised monthly quota.

Response conventions

  • Most list endpoints return an items array, plus meta and pagination objects when relevant.
  • GET /items returns all matches in a single response when you omit the limit parameter.
  • Cursor-paginated endpoints always return pagination.total = -1. Use has_next and next_cursor to paginate.
  • Price fields—lowest_ask, highest_bid, and price—are always returned in minor units of the response currency. For example, 531143 in USD means $5,311.43. Divide by 100 for display.
  • providers, providers_buy, and providers_sell are repeatable query parameters. Pass them multiple times to include more than one provider: providers=steam&providers=buff163.
  • provider (singular) always accepts a single provider key.

Error handling

Every error response includes a stable machine-readable code and a human-readable detail string.
{
  "code": "AUTH_INVALID_API_KEY",
  "detail": "Invalid API key"
}

Status codes

StatusMeaning
400Bad request
401Missing or invalid API key
403Valid credentials but insufficient permissions
404Resource not found
409Conflict with the current account or resource state
422Validation error
429Rate limit exceeded
500Internal server error
503Service temporarily unavailable

Common error codes

CodeDescription
AUTH_INVALID_API_KEYThe API key is missing or does not exist.
AUTH_API_KEY_REVOKEDThe API key has been revoked.
AUTH_ACCOUNT_DISABLEDThe account associated with this key is disabled.
RATE_LIMIT_EXCEEDEDYou have exceeded the per-minute request limit.
RATE_LIMIT_MONTHLY_QUOTA_EXCEEDEDYou have exhausted your monthly request quota.
PRICES_INDEX_UNAVAILABLEThe live price index is temporarily unavailable.
BIDS_INDEX_UNAVAILABLEThe live bids index is temporarily unavailable.
PORTFOLIO_NOT_FOUNDThe requested portfolio does not exist.
PORTFOLIO_LIMIT_REACHEDYou have reached the maximum number of portfolios.
PORTFOLIO_ITEM_LIMIT_REACHEDYou have reached the maximum number of items in a portfolio.
VALIDATION_ERROROne or more request parameters failed validation.

Explore the API

Prices

Current lowest asks, historical records, OHLCV candles, and full-catalog streaming.

Bids

Highest buy orders across CS2 marketplaces, with streaming and batch lookup.

Sales

Recent transaction history with float, stickers, charms, and inspect links.

Catalog

Item search, provider metadata, and FX rates.

Market Analytics

Aggregated market signals and trend data.

Portfolio

Track and value your CS2 inventory across marketplaces.
Last modified on May 23, 2026