The Alerts API lets you configure price and spread notifications for CS2 catalog items. You can set alerts that fire when a best ask crosses a price threshold or when the bid-ask spread exceeds a target percentage. Alerts are delivered by email and automatically disable themselves after a successful delivery, so you only receive each notification once until you re-enable the alert. Alert management requests are exempt from your monthly quota.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.
POST /account/alerts
Creates a new price or spread alert for a catalog item. Auth: API key required ยท Rate limit: Standard per-tier RPM (exempt from monthly quota)Catalog item ID for the alert target.
Alert type. One of:
price_below, price_above, spread_exceeds.Decimal string threshold greater than zero. For price alerts, this is the price in
threshold_currency. For spread_exceeds, this is a spread percentage.Currency for price alerts (ISO 4217). Ignored for
spread_exceeds alerts.Set to
false to create the alert in a disabled state and enable it later.Request body
price_below and price_above compare against the current best ask price. spread_exceeds uses the formula ((best_ask - best_bid) / best_ask) * 100. After a successful email delivery, the alert automatically disables itself โ you must re-enable it to receive the next notification. A verified email address is required for enabled alerts.POST /account/alerts/batch
Creates multiple alerts in a single request and returns per-item results in the same order as the input. Auth: API key required ยท Rate limit: Standard per-tier RPM (exempt from monthly quota, counts as one request regardless of batch size)Array of 1โ100 alert objects. Each object uses the same fields as
POST /account/alerts.Request body
Multiple alerts for the same
item_id are allowed when the kind or threshold_value differs. Exact duplicate payloads within the same request are rejected inline with an error result for that entry. If the batch would push you over your enabled-alert cap, the entire request fails upfront with 402.GET /account/alerts
Returns all configured alerts for your account, newest first, with optional filtering. Auth: API key required ยท Rate limit: Standard per-tier RPM (exempt from monthly quota)Page size, clamped to 1โ200.
Zero-based starting position.
Filter results. Pass an exact numeric
item_id for an ID match, or a string for a case-insensitive item name substring search.PATCH /account/alerts/:alert_id
Partially updates an alertโs threshold, currency, or enabled state. Auth: API key required ยท Rate limit: Standard per-tier RPM (exempt from monthly quota)UUID of the alert to update.
Updated threshold as a decimal string.
Updated currency for price alerts (ISO 4217).
Updated enabled state. Enabling an alert runs the same checks as alert creation (e.g., verified email required).
Request body
DELETE /account/alerts/:alert_id
Permanently deletes an alert rule. Auth: API key required ยท Rate limit: Standard per-tier RPM (exempt from monthly quota)UUID of the alert to delete.
Response example
GET /account/alerts/events
Returns recent alert trigger events and their email delivery attempts, newest first. Auth: API key required ยท Rate limit: Standard per-tier RPM (exempt from monthly quota)Page size, clamped to 1โ100.
Zero-based starting position.
The currency in which the threshold was evaluated. Always
null for spread_exceeds alerts since spread is dimensionless.Email delivery attempts for this event. Currently includes email delivery only.
triggered_currency is null for spread_exceeds alerts. Cursor pagination is not supported on this endpoint โ use offset and limit to page through results.