Public data API
Read-only price and catalog data for Counter-Strike 2 items, aggregated from 30+ marketplaces. Every endpoint listed here is free to call, takes plain GET requests and returns JSON.
21 endpoints · catalog version 2026-10-05 · last reviewed 2026-10-05 · /api-catalog.json
How to call it
- All endpoints are read-only GET requests and return JSON.
- All amounts are normalized to USD.
- Prices are live marketplace quotes; every price payload carries its own update or capture field.
- Please respect robots.txt (the /api/ paths are excluded from crawling) and the site terms. For bulk discovery use the sitemap instead of walking this API.
- No quota or throughput commitment is offered: keep concurrency and request rate modest and cache what you fetch.
- Interpretation and account-level features are documented separately at https://seekskins.com/en/pricing.
Endpoints
Search and page through the skin catalog with live price fields attached.
Query parameters: page, limit, search, weapon_id, category, exterior, rarity, weapon_type, group_by, sort_by, order, min_price, max_price, special, lang
Response fields: success, data, pagination, data[].id, data[].name, data[].full_name, data[].exterior, data[].rarity, data[].family, data[].finish_style, data[].float_min, data[].float_max, data[].is_stattrak, data[].is_souvenir, data[].market_hash_name, data[].weapon, data[].images, data[].prices
Per-marketplace quotes for one skin, with aggregate statistics for the observed window.
Query parameters: all
Response fields: success, data, data.prices, data.stats
Every wear and variant of one skin family, with the marketplace hash name used by each variant.
Response fields: success, family, variants
Daily open/close/high/low series for one item on the markets that publish history.
Query parameters: marketHashName, type
Response fields: success, data, count, source, scarce, trades
Example: https://seekskins.com/api/skins/1/kline?marketHashName=AWP%20%7C%20Pit%20Viper
Short factual summary of the recent price series for one skin.
Query parameters: lang
Response fields: success, note, note.verdict, note.note, note.stat_date, note.direction, note.confidence, note.evidence, note.locked
Metered daily quota for the interpretation note of one skin. The payload states the plan, the remaining allowance and the quota date.
Response fields: success, skinId, plan, guest, limited, usedToday, dailyLimit, statDate
Weapon catalog with localized names, card images and skin counts.
Query parameters: category, weapon_type, page, limit, lang
Response fields: success, data, pagination, data[].id, data[].name, data[].weapon_type, data[].category, data[].image_url, data[].thumbnail_url, data[].skins, data[].skin_count, data[].localized_name
Weapon case catalog with cover art, rarity tag and current price.
Query parameters: slug, sort_by, order
Response fields: success, data, pagination, data[].id, data[].name, data[].slug, data[].image_url, data[].description, data[].rare_type, data[].price, data[].skin_count
Sticker catalog with team, tournament and rarity facets.
Query parameters: page, per_page, search, slug, rarity, team, tournament, sort_by
Response fields: success, data, pagination, filter_options, data[].id, data[].name, data[].slug, data[].display_name, data[].rarity, data[].team, data[].tournament, data[].image_url, data[].price
Patch catalog with rarity facets and current price.
Query parameters: page, per_page, search, slug, rarity, sort_by
Response fields: success, data, pagination, filter_options, data[].id, data[].name, data[].slug, data[].display_name, data[].rarity, data[].image_url, data[].price
Agent catalog with side, collection and current price.
Query parameters: slug, sort_by, rarity, side
Response fields: success, data, pagination, data[].id, data[].name, data[].slug, data[].display_name, data[].side, data[].rarity, data[].collection, data[].image_url, data[].price
Charm catalog with rarity, tournament and price fields.
Query parameters: page, per_page, search, slug, rarity, tournament, sort_by
Response fields: success, data, pagination, filter_options, data[].id, data[].name, data[].slug, data[].display_name, data[].rarity, data[].image_url, data[].price
Container key catalog with rarity and price fields.
Query parameters: page, per_page, search, slug, rarity, sort_by
Response fields: success, data, pagination, filter_options, data[].id, data[].name, data[].slug, data[].display_name, data[].rarity, data[].image_url, data[].price
Graffiti catalog with rarity and price fields.
Query parameters: page, per_page, search, slug, rarity, sort_by
Response fields: success, data, pagination, filter_options, data[].id, data[].name, data[].slug, data[].display_name, data[].rarity, data[].image_url, data[].price
Music kit catalog with rarity and price fields.
Query parameters: page, per_page, search, slug, rarity, sort_by
Response fields: success, data, pagination, filter_options, data[].id, data[].name, data[].slug, data[].display_name, data[].rarity, data[].image_url, data[].price
Sticker capsule catalog with rarity and price fields.
Query parameters: page, per_page, search, slug, rarity, sort_by
Response fields: success, data, pagination, filter_options, data[].id, data[].name, data[].slug, data[].display_name, data[].rarity, data[].image_url, data[].price
Site-wide index level with the daily change and the trailing series.
Query parameters: category
Response fields: success, data, data.broadMarketIndex, data.updateTime, data.diffYesterday, data.diffYesterdayRatio, data.history
Items ranked by the spread observed across marketplaces. Anonymous callers receive the ranking with item fields withheld; the full board is part of the paid plan.
Full item-level data requires the paid plan; anonymous callers get the board with items withheld.
Response fields: success, plan, masked, total, items
Short factual notes attached to the top rows of the spread board, one per item.
Response fields: success, notes, count, stat_date
Published articles with category, keywords and cover image.
Query parameters: page, limit, lang, source
Response fields: success, data, pagination, data[].id, data[].title, data[].title_en, data[].description, data[].content, data[].image_url, data[].category, data[].keywords, data[].published_at
One article by id, plus related items and more from its category.
Query parameters: lang
Response fields: success, data, related, moreInCategory, data.id, data.title, data.title_en, data.content, data.image_url, data.category, data.keywords, data.published_at
Example: https://seekskins.com/api/news/1
What is free and what is not
Every endpoint listed above is free to call: the data layer is open. The interpretation layer and account-level features (personalized readouts, trade ledger) are part of the paid plans — see pricing. This catalog does not sell anything and makes no commitment about outcomes.
Automated readers
AI agents are welcome to read the API catalog and use these read-only endpoints; please keep request volume low and attribute prices to SeekSkins.
Endpoints with plan limits
- /api/market/arbitrage — Full item-level data requires the paid plan; anonymous callers get the board with items withheld.
Machine-readable copy
The same list is published as JSON at /api-catalog.json and at /.well-known/api-catalog.