{"openapi":"3.1.0","info":{"title":"CS Price API","version":"1.3.1","description":"Public price API for the CS2 (Counter-Strike 2) skin ecosystem.\n\nThe API aggregates current listing prices, historical changes, averages,\nbuy-orders and liquidity from multiple marketplaces into a single, authenticated\nJSON endpoint per marketplace, plus a cross-marketplace `/v1/prices/search`\nendpoint.\n\nSubscription customers can additionally download a daily **ZIP export** of\nhistorical marketplace sales (`/v1/market-sales/export`) as three CSV files\n(sales, stickers, keychains) covering the last 24 hours.\n\n## Subscription plans\n\nAPI access is grouped by plan. Higher tiers include all endpoints from lower\ntiers:\n\n| Plan | Included categories |\n|------|---------------------|\n| **Basic** | Listing Prices |\n| **Pro** | Basic + Buyorder Prices + Float Ranged |\n| **Enterprise** | Pro + Sales Data (full API access) |\n\nEach API key is issued for a specific plan and may be further restricted via\nendpoint ACL (`allowed_endpoints`).\n\n## Authentication\n\nEvery non-documentation endpoint requires an API key in the `x-api-key`\nrequest header. Keys are issued per customer and optionally scoped to a\nsubset of endpoints (endpoint ACL). They also enforce a per-minute and\nper-day rate limit.\n\n\n## Response format stability\n\nAll response shapes documented here reflect what the server **currently**\nreturns. In particular:\n\n- Numeric fields for prices, percentage changes, averages and liquidity\n  are serialized as **strings**, not numbers.\n  Example: `\"price_rmb\": \"7333.0000\"`. Clients must parse them as\n  fixed-point / arbitrary-precision decimals.\n- `stattrak` and `souvenir` are serialized as **integers** (`0` or `1`),\n  not booleans.\n- `updated_at` is ISO-8601 UTC (`YYYY-MM-DDTHH:mm:ss.sssZ`).\n- `liquidity` is an internal liquidity score and may be `null` if\n  unavailable for that skin.\n","contact":{"name":"CS Price API Support","url":"https://cspriceapi.com"}},"servers":[{"url":"https://api.cspriceapi.com","description":"Production"},{"url":"http://localhost:8080","description":"Local development"}],"tags":[{"name":"Listing Prices","description":"Current listing prices, historical changes, averages and liquidity per\nmarketplace, plus the cross-marketplace `/v1/prices/search` endpoint.\n\n**Plan: Basic** (included in Pro and Enterprise).\n"},{"name":"Buyorder Prices","description":"Buy-order price data from supported marketplaces.\n\n**Plan: Pro** (included in Enterprise).\n"},{"name":"Float Ranged","description":"Float-range filtered offer short lists, including first- and fifth-listing\nprices, listing counts and phase translations for Doppler skins.\n\n**Plan: Pro** (included in Enterprise).\n"},{"name":"Sales Data","description":"Daily ZIP/CSV bulk export of historical marketplace sales.\nRequires a subscription API key scoped to `/v1/market-sales/export`.\n\n**Plan: Enterprise** (includes all API endpoints).\n"}],"security":[{"ApiKeyAuth":[]}],"paths":{"/v1/prices/youpin":{"get":{"tags":["Listing Prices"],"summary":"Get current YouPin prices (Basic)","description":"Returns the latest YouPin (悠悠有品) price snapshot for every skin in the\ncatalog, joined with the internal liquidity score.\n","operationId":"getYoupinPrices","responses":{"200":{"description":"Successful response with current YouPin prices.","headers":{"Cache-Control":{"description":"Downstream cache hint.","schema":{"type":"string","example":"public, max-age=30"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/YoupinPricesResponse"},"examples":{"ok":{"value":{"data":[{"id":30155,"market_hash_name":"★ Hand Wraps | Spruce DDPAT (Factory New)","stattrak":0,"souvenir":0,"price_rmb":"7333.0000","change_24h":"-1.40","change_7d":"-1.63","change_30d":"-7.67","change_90d":"-15.60","avg_7d":"7331.46","avg_30d":"7513.31","avg_90d":"7788.60","count":8,"phase":"","updated_at":"2026-04-21T12:06:35.000Z","youpin_template_id":57643,"liquidity":"12.16"}],"source":"YouPin","requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:10:00.000Z"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/prices/youpin/buyorder":{"get":{"tags":["Buyorder Prices"],"summary":"Get current YouPin buy-order prices (Pro)","description":"Returns YouPin buy-order bids (and the separate \"blue\" buy-order price\nused for certain items, e.g. Dopplers) for every tracked skin.\n","operationId":"getYoupinBuyorders","responses":{"200":{"description":"Successful response with current YouPin buy-orders.","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, max-age=30"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/YoupinBuyorderResponse"},"examples":{"ok":{"value":{"data":[{"id":1,"market_hash_name":"Glock-18 | Gamma Doppler (Factory New) (Phase 2)","templateId":57912,"buyorder_price":"1122.50","blue_buyorder_price":"980.00","phase":"Phase 2","typeId":42,"updated_at":"2026-04-21T12:15:00.000Z","count":36}],"source":"YouPin","requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:20:00.000Z"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/prices/buff163":{"get":{"tags":["Listing Prices"],"summary":"Get current Buff163 prices (Basic)","description":"Returns the current Buff163 (网易 BUFF) price snapshot per skin including\n24h/7d/30d/90d percentage change, 7d/30d/90d averages, listing count,\na direct `item_page_url` and the internal liquidity score. Prices are\nin Chinese Yuan (CNY / RMB).\n","operationId":"getBuff163Prices","responses":{"200":{"description":"Successful response with current Buff163 prices.","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, max-age=30"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Buff163PricesResponse"},"examples":{"ok":{"value":{"data":[{"id":62235,"market_hash_name":"Glock-18 | Gamma Doppler (Factory New)","stattrak":0,"souvenir":0,"exterior":"Factory new","price":"1333.50","change_24h":"-0.90","change_7d":"1.20","change_30d":"-3.40","change_90d":"8.90","avg_7d":"1320.10","avg_30d":"1378.55","avg_90d":"1250.00","count":586,"updated_at":"2026-04-21T12:20:00.000Z","item_page_url":"https://buff.163.com/goods/776015","liquidity":"8.70"}],"source":"Buff163","requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:20:05.000Z"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/prices/c5game":{"get":{"tags":["Listing Prices"],"summary":"Get current C5Game prices (Basic)","description":"Returns the current C5Game price snapshot per skin. Prices are in\nChinese Yuan (CNY / RMB).\n","operationId":"getC5GamePrices","responses":{"200":{"description":"Successful response with current C5Game prices.","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, max-age=30"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/C5GamePricesResponse"},"examples":{"ok":{"value":{"data":[{"id":10,"market_hash_name":"AK-47 | Redline (Field-Tested)","item_page_url":"https://www.c5game.com/en/csgo/product/123456","stattrak":0,"souvenir":0,"exterior":"Field-Tested","price":"138.20","change_24h":"0.50","change_7d":"1.80","change_30d":"-2.10","change_90d":"4.90","avg_7d":"137.40","avg_30d":"139.80","avg_90d":"133.20","count":241,"updated_at":"2026-04-21T12:18:00.000Z","liquidity":"7.40"}],"source":"C5Game","requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:20:10.000Z"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/prices/ecosteam":{"get":{"tags":["Listing Prices"],"summary":"Get current EcoSteam prices (Basic)","description":"Returns the current EcoSteam price snapshot per skin. Prices are in\nChinese Yuan (CNY / RMB).\n","operationId":"getEcoSteamPrices","responses":{"200":{"description":"Successful response with current EcoSteam prices.","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, max-age=30"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EcoSteamPricesResponse"},"examples":{"ok":{"value":{"data":[{"id":5,"market_hash_name":"AWP | Dragon Lore (Field-Tested)","item_page_url":"https://www.ecosteam.cn/item/12345","stattrak":0,"souvenir":0,"exterior":"Field-Tested","price":"91200.00","change_24h":"0.10","change_7d":"-0.80","change_30d":"2.40","change_90d":"11.20","avg_7d":"91800.00","avg_30d":"89400.00","avg_90d":"82000.00","count":3,"updated_at":"2026-04-21T12:19:00.000Z","liquidity":"1.20"}],"source":"EcoSteam","requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:20:15.000Z"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/prices/skinbaron":{"get":{"tags":["Listing Prices"],"summary":"Get current SkinBaron prices (Basic)","description":"Returns the current SkinBaron price snapshot per skin. Prices are in\nEuros (EUR).\n","operationId":"getSkinBaronPrices","responses":{"200":{"description":"Successful response with current SkinBaron prices.","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, max-age=30"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkinBaronPricesResponse"},"examples":{"ok":{"value":{"data":[{"id":42,"market_hash_name":"★ Karambit | Fade (Factory New)","stattrak":0,"souvenir":0,"exterior":"Factory New","price":"2899.00","change_24h":"0.20","change_7d":"-0.50","change_30d":"1.10","change_90d":"6.30","avg_7d":"2890.00","avg_30d":"2870.00","avg_90d":"2730.00","count":9,"updated_at":"2026-04-21T12:17:00.000Z","item_page_url":"https://skinbaron.de/en/csgo/karambit-fade-factory-new","liquidity":"4.10"}],"source":"SkinBaron","requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:20:20.000Z"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/prices/skinport":{"get":{"tags":["Listing Prices"],"summary":"Get current Skinport prices (Basic)","description":"Returns the current Skinport price snapshot per skin. Prices are in\nEuros (EUR).\n","operationId":"getSkinportPrices","responses":{"200":{"description":"Successful response with current Skinport prices.","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, max-age=30"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkinportPricesResponse"},"examples":{"ok":{"value":{"data":[{"id":101,"market_hash_name":"AK-47 | Asiimov (Field-Tested)","item_page_url":"https://skinport.com/item/ak-47-asiimov-field-tested","stattrak":0,"souvenir":0,"exterior":"Field-Tested","price":"68.40","change_24h":"-0.30","change_7d":"0.80","change_30d":"-1.60","change_90d":"3.20","avg_7d":"67.90","avg_30d":"69.10","avg_90d":"66.50","count":412,"updated_at":"2026-04-21T12:16:00.000Z","liquidity":"9.20"}],"source":"Skinport","requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:20:25.000Z"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/prices/csfloat":{"get":{"tags":["Listing Prices"],"summary":"Get current CSFloat prices (Basic)","description":"Returns the current CSFloat price snapshot per skin. Prices are in\nUS Dollars (USD).\n","operationId":"getCsfloatPrices","responses":{"200":{"description":"Successful response with current CSFloat prices.","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, max-age=30"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CsfloatPricesResponse"},"examples":{"ok":{"value":{"data":[{"id":501,"market_hash_name":"AK-47 | Redline (Field-Tested)","stattrak":0,"souvenir":0,"exterior":"Field-Tested","price":"18.75","change_24h":"0.20","change_7d":"0.90","change_30d":"-1.10","change_90d":"3.40","avg_7d":"18.60","avg_30d":"19.00","avg_90d":"18.10","count":320,"updated_at":"2026-04-21T12:18:00.000Z","item_page_url":"https://csfloat.com/item/123456789","buff_template_id":35247,"liquidity":"9.10"}],"source":"CSFloat","requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:20:28.000Z"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/prices/lisskins":{"get":{"tags":["Listing Prices"],"summary":"Get current Lisskins prices (Basic)","description":"Returns the current Lisskins price snapshot per skin. Prices are in\nUS Dollars (USD).\n","operationId":"getLisskinsPrices","responses":{"200":{"description":"Successful response with current Lisskins prices.","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, max-age=30"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LisskinsPricesResponse"},"examples":{"ok":{"value":{"data":[{"id":701,"market_hash_name":"AK-47 | Redline (Field-Tested)","stattrak":0,"souvenir":0,"exterior":"Field-Tested","price":"17.90","change_24h":"0.10","change_7d":"0.50","change_30d":"-0.80","change_90d":"2.10","avg_7d":"17.70","avg_30d":"18.20","avg_90d":"17.40","count":280,"updated_at":"2026-04-21T12:18:30.000Z","item_page_url":"https://lis-skins.com/market/csgo/ak-47-redline-field-tested/","buff_template_id":35247,"liquidity":"9.10"}],"source":"Lisskins","requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:20:29.000Z"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/prices/dmarket":{"get":{"tags":["Listing Prices"],"summary":"Get current DMarket prices (Basic)","description":"Returns the current DMarket price snapshot per skin. Prices are in\nUS Dollars (USD).\n","operationId":"getDmarketPrices","responses":{"200":{"description":"Successful response with current DMarket prices.","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, max-age=30"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DmarketPricesResponse"},"examples":{"ok":{"value":{"data":[{"id":801,"market_hash_name":"AK-47 | Redline (Field-Tested)","stattrak":0,"souvenir":0,"exterior":"Field-Tested","price":"18.20","change_24h":"0.15","change_7d":"0.60","change_30d":"-0.70","change_90d":"2.30","avg_7d":"18.00","avg_30d":"18.40","avg_90d":"17.80","count":310,"updated_at":"2026-04-21T12:18:45.000Z","item_page_url":"https://dmarket.com/ingame-items/item-list/csgo-skins","buff_template_id":35247,"liquidity":"9.10"}],"source":"DMarket","requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:20:29.500Z"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/prices/market-csgo":{"get":{"tags":["Listing Prices"],"summary":"Get current Market.CSGO prices (Basic)","description":"Returns the current Market.CSGO price snapshot per skin. Additionally\nincludes a 7-day sales counter (`sales7`). Prices are in US Dollars\n(USD).\n","operationId":"getMarketCsgoPrices","responses":{"200":{"description":"Successful response with current Market.CSGO prices.","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, max-age=30"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketCsgoPricesResponse"},"examples":{"ok":{"value":{"data":[{"id":1,"market_hash_name":"Sticker | BLAST.tv | Paris 2023","item_page_url":"https://market.csgo.com/en/item/123/Sticker-BLAST.tv-Paris-2023","stattrak":0,"souvenir":0,"exterior":null,"price":"0.01","change_24h":"0.00","change_7d":"-0.10","change_30d":"0.20","change_90d":"1.00","avg_7d":"0.01","avg_30d":"0.01","avg_90d":"0.01","count":5823,"sales7":214,"updated_at":"2026-04-21T12:13:16.000Z","liquidity":"9.80"}],"source":"Market CSGO","requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:20:30.000Z"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/prices/float-ranged":{"get":{"tags":["Float Ranged"],"summary":"Get float-ranged short list (Pro)","description":"Returns a curated selection of float-range\nfiltered offers (e.g. `0.00 – 0.07` float Dopplers) including the\ncurrent first- and fifth-listing prices, previous price, total listing\ncount and capture timestamp.\n\nThe `phase` field is auto-translated from the source's Chinese\nrepresentation (`绿宝石`, `红宝石`, `蓝宝石`, `黑珍珠`, `阶段 1..4`) into the\nEnglish equivalent (`Emerald`, `Ruby`, `Sapphire`, `Black Pearl`,\n`Phase 1..4`).\n","operationId":"getFloatRangedPrices","responses":{"200":{"description":"Successful response with the float-ranged short list.","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, max-age=30"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FloatRangedPricesResponse"},"examples":{"ok":{"value":{"data":[{"commodityName":"Glock-18 | Gamma Doppler (Factory New)","selected_filter_text":"0.00-0.07","phase":"Phase 2","templateId":57912,"totalCount":12,"price_first":"1230.0000","captured_at":"2026-04-21T11:50:00.000Z","price_5h":"1285.0000","price_old":"1260.0000","updated_at":"2026-04-21T12:00:00.000Z"}],"source":"Float Ranged","requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:20:35.000Z"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v2/prices/float-ranged":{"get":{"tags":["Float Ranged"],"summary":"Get float-ranged prices v2 (Pro)","description":"Returns float-ranged listing prices (v2).\n\nThis v2 payload is intentionally slim and only includes:\n`market_hash_name`, `float_range`, `phase`, `fade`, `count`,\n`price_rmb` and `updated_at`.\n\nThe `phase` field is translated to English where applicable.\n`fade` is the fade percentage for Fade skins (otherwise `null`).\n","operationId":"getFloatRangedPricesV2","responses":{"200":{"description":"Successful response with float-ranged v2 data.","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, max-age=30"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FloatRangedV2PricesResponse"},"examples":{"ok":{"value":{"data":[{"market_hash_name":"Glock-18 | Gamma Doppler (Factory New)","float_range":"0.00-0.07","phase":"Phase 2","fade":null,"count":12,"price_rmb":"1230.0000","updated_at":"2026-04-21T12:00:00.000Z"},{"market_hash_name":"AWP | Fade (Factory New)","float_range":"0.00-0.01","phase":null,"fade":81.7,"count":3,"price_rmb":"5088.8200","updated_at":"2026-08-06T12:00:00.000Z"}],"source":"Float Ranged","requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:20:35.000Z"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/prices/search":{"get":{"tags":["Listing Prices"],"summary":"Look up a specific skin across all marketplaces (Basic)","description":"Fetches the current price of a single `market_hash_name` from every\nsupported marketplace in one request.\n\n\nIf the query looks like a Doppler or Gamma Doppler skin (case-insensitive\nsubstring `doppler`), the server strips any existing phase annotation\nfrom the input and queries **all** phase variants in parallel:\n\n- Regular Doppler: `(Ruby)`, `(Sapphire)`, `(Black Pearl)`,\n  `(Phase 1)`..`(Phase 4)`\n- Gamma Doppler: `(Emerald)`, `(Phase 1)`..`(Phase 4)`\n\nThe phase suffix is appended **after** the exterior, e.g.\n`Glock-18 | Gamma Doppler (Factory New) (Phase 2)`.\n\nThe response schema therefore differs between the two cases:\n\n- `is_doppler: false` → per marketplace either a single item object or `null`.\n- `is_doppler: true`  → per marketplace an **array** of matched phase variants (possibly empty).\n\nClients should branch on the top-level `is_doppler` flag to select the\ncorrect variant.\n","operationId":"searchSkin","parameters":[{"$ref":"#/components/parameters/MarketHashNameQuery"}],"responses":{"200":{"description":"Successful response. Payload shape depends on `is_doppler`.","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, max-age=30"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"},"examples":{"nonDoppler":{"summary":"Non-Doppler lookup","value":{"market_hash_name":"AK-47 | Redline (Field-Tested)","is_doppler":false,"search_variants":["AK-47 | Redline (Field-Tested)"],"data":{"youpin":{"id":210,"market_hash_name":"AK-47 | Redline (Field-Tested)","stattrak":0,"souvenir":0,"price_rmb":"142.00","change_24h":"0.30","change_7d":"1.10","change_30d":"-0.80","change_90d":"4.20","avg_7d":"141.20","avg_30d":"143.80","avg_90d":"136.00","count":612,"phase":"","updated_at":"2026-04-21T12:06:35.000Z","youpin_template_id":1021,"liquidity":"8.90"},"buff163":{"id":62235,"market_hash_name":"AK-47 | Redline (Field-Tested)","stattrak":0,"souvenir":0,"exterior":"Field-Tested","price":"138.80","change_24h":"0.10","change_7d":"0.90","change_30d":"-1.10","change_90d":"3.80","avg_7d":"138.20","avg_30d":"140.10","avg_90d":"133.50","count":1203,"updated_at":"2026-04-21T12:20:00.000Z","item_page_url":"https://buff.163.com/goods/35247","liquidity":"9.10"},"c5game":null,"ecosteam":null,"skinbaron":{"id":18,"market_hash_name":"AK-47 | Redline (Field-Tested)","stattrak":0,"souvenir":0,"exterior":"Field-Tested","price":"17.90","change_24h":"-0.20","change_7d":"0.80","change_30d":"-1.40","change_90d":"2.90","avg_7d":"17.85","avg_30d":"18.10","avg_90d":"17.40","count":240,"updated_at":"2026-04-21T12:17:00.000Z","item_page_url":"https://skinbaron.de/en/csgo/ak-47-redline-field-tested","liquidity":"9.00"},"skinport":{"id":77,"market_hash_name":"AK-47 | Redline (Field-Tested)","item_page_url":"https://skinport.com/item/ak-47-redline-field-tested","stattrak":0,"souvenir":0,"exterior":"Field-Tested","price":"18.20","change_24h":"0.00","change_7d":"0.90","change_30d":"-1.20","change_90d":"3.30","avg_7d":"18.10","avg_30d":"18.30","avg_90d":"17.60","count":378,"updated_at":"2026-04-21T12:16:00.000Z","liquidity":"9.20"},"market_csgo":{"id":4412,"market_hash_name":"AK-47 | Redline (Field-Tested)","item_page_url":"https://market.csgo.com/en/item/4412/AK-47-Redline-Field-Tested","stattrak":0,"souvenir":0,"exterior":"Field-Tested","price":"19.45","change_24h":"0.10","change_7d":"0.70","change_30d":"-0.90","change_90d":"3.60","avg_7d":"19.30","avg_30d":"19.60","avg_90d":"18.80","count":980,"sales7":142,"updated_at":"2026-04-21T12:13:16.000Z","liquidity":"9.30"},"csfloat":{"id":501,"market_hash_name":"AK-47 | Redline (Field-Tested)","stattrak":0,"souvenir":0,"exterior":"Field-Tested","price":"18.75","change_24h":"0.20","change_7d":"0.90","change_30d":"-1.10","change_90d":"3.40","avg_7d":"18.60","avg_30d":"19.00","avg_90d":"18.10","count":320,"updated_at":"2026-04-21T12:18:00.000Z","item_page_url":"https://csfloat.com/item/123456789","buff_template_id":35247,"liquidity":"9.10"},"lisskins":{"id":701,"market_hash_name":"AK-47 | Redline (Field-Tested)","stattrak":0,"souvenir":0,"exterior":"Field-Tested","price":"17.90","change_24h":"0.10","change_7d":"0.50","change_30d":"-0.80","change_90d":"2.10","avg_7d":"17.70","avg_30d":"18.20","avg_90d":"17.40","count":280,"updated_at":"2026-04-21T12:18:30.000Z","item_page_url":"https://lis-skins.com/market/csgo/ak-47-redline-field-tested/","buff_template_id":35247,"liquidity":"9.10"},"dmarket":{"id":801,"market_hash_name":"AK-47 | Redline (Field-Tested)","stattrak":0,"souvenir":0,"exterior":"Field-Tested","price":"18.20","change_24h":"0.15","change_7d":"0.60","change_30d":"-0.70","change_90d":"2.30","avg_7d":"18.00","avg_30d":"18.40","avg_90d":"17.80","count":310,"updated_at":"2026-04-21T12:18:45.000Z","item_page_url":"https://dmarket.com/ingame-items/item-list/csgo-skins","buff_template_id":35247,"liquidity":"9.10"}},"requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:20:40.000Z"}},"doppler":{"summary":"Doppler lookup (all phases)","value":{"market_hash_name":"Glock-18 | Gamma Doppler (Factory New)","is_doppler":true,"search_variants":["Glock-18 | Gamma Doppler (Factory New) (Emerald)","Glock-18 | Gamma Doppler (Factory New) (Phase 1)","Glock-18 | Gamma Doppler (Factory New) (Phase 2)","Glock-18 | Gamma Doppler (Factory New) (Phase 3)","Glock-18 | Gamma Doppler (Factory New) (Phase 4)"],"data":{"youpin":[{"id":30155,"market_hash_name":"Glock-18 | Gamma Doppler (Factory New) (Emerald)","stattrak":0,"souvenir":0,"price_rmb":"7333.0000","change_24h":"-1.40","change_7d":"-1.63","change_30d":"-7.67","change_90d":"-15.60","avg_7d":"7331.46","avg_30d":"7513.31","avg_90d":"7788.60","count":8,"phase":"Emerald","updated_at":"2026-04-21T12:06:35.000Z","youpin_template_id":57643,"liquidity":"2.10"},{"id":30156,"market_hash_name":"Glock-18 | Gamma Doppler (Factory New) (Phase 2)","stattrak":0,"souvenir":0,"price_rmb":"1320.0000","change_24h":"-0.90","change_7d":"1.20","change_30d":"-3.40","change_90d":"8.90","avg_7d":"1320.10","avg_30d":"1378.55","avg_90d":"1250.00","count":42,"phase":"Phase 2","updated_at":"2026-04-21T12:06:35.000Z","youpin_template_id":57912,"liquidity":"5.40"}],"buff163":[],"c5game":[],"ecosteam":[],"skinbaron":[],"skinport":[],"market_csgo":[],"csfloat":[],"lisskins":[],"dmarket":[]},"requestor":"customer@example.com","plan":"pro","timestamp":"2026-04-21T12:20:45.000Z"}}}}}},"400":{"description":"Missing or invalid query parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"missingParam":{"value":{"error":"Missing parameter: market_hash_name"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/market-sales/search":{"get":{"tags":["Sales Data"],"summary":"Look up sales by market_hash_name (Enterprise)","description":"Returns historical marketplace **sales** for up to **5**\n`market_hash_name` values, including nested `stickers` and `keychains` per sale.\n\nAt most **50** most recent sales are returned **per** `market_hash_name`\n(so up to 250 rows when querying 5 names). Results are ordered by\n`sold_at` descending.\n\nPass one or more names via repeated query params or a comma-separated list:\n\n```\n?market_hash_name=AK-47 | Redline (Field-Tested)\n?market_hash_name=AK-47 | Redline (Field-Tested)&market_hash_name=M4A4 | Temukau (Minimal Wear)\n?market_hash_name=AK-47 | Redline (Field-Tested),M4A4 | Temukau (Minimal Wear)\n```\n\nOptional filters:\n\n- `marketplace`: `csfloat`, `youpin`, `skinport`\n- `float_min`, `float_max`: float range (inclusive)\n- `paint_index`: one or more paint indexes\n- `paint_seed`: one or more paint seeds / patterns\n- `price_min`, `price_max`: sale price range in **cents**\n\n`price` and `reference_price` are in **cents**. `sale_id`, `sticker_id` and\n`keychain_id` are returned as **strings** to avoid precision loss.\n","operationId":"searchMarketSales","parameters":[{"name":"market_hash_name","in":"query","required":true,"description":"Steam `market_hash_name` to look up. Repeat up to 5 times, or pass a\ncomma-separated list (max 5 unique names).\n","schema":{"type":"array","minItems":1,"maxItems":5,"items":{"type":"string","minLength":1}},"style":"form","explode":true,"examples":{"single":{"value":["AK-47 | Redline (Field-Tested)"]},"multiple":{"value":["AK-47 | Redline (Field-Tested)","M4A4 | Temukau (Minimal Wear)"]}}},{"name":"marketplace","in":"query","required":false,"schema":{"type":"string","enum":["csfloat","youpin","skinport"]}},{"name":"float_min","in":"query","required":false,"schema":{"type":"number"},"description":"Minimum `float_value` (inclusive)."},{"name":"float_max","in":"query","required":false,"schema":{"type":"number"},"description":"Maximum `float_value` (inclusive)."},{"name":"paint_index","in":"query","required":false,"description":"Paint index filter. Repeat the parameter or pass a comma-separated list.\n","schema":{"type":"array","items":{"type":"integer"}},"style":"form","explode":true},{"name":"paint_seed","in":"query","required":false,"description":"Paint seed / pattern filter. Repeat the parameter or pass a comma-separated list.\n","schema":{"type":"array","items":{"type":"integer"}},"style":"form","explode":true},{"name":"price_min","in":"query","required":false,"schema":{"type":"integer"},"description":"Minimum sale price in cents (inclusive)."},{"name":"price_max","in":"query","required":false,"schema":{"type":"integer"},"description":"Maximum sale price in cents (inclusive)."}],"responses":{"200":{"description":"Matching sales with nested stickers and keychains.","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, max-age=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketSalesSearchResponse"}}}},"400":{"description":"Missing or invalid parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/market-sales/export":{"get":{"tags":["Sales Data"],"summary":"ZIP export of the last 24 hours (Enterprise)","description":"Returns a **ZIP archive** (`market-sales-export.zip`) with three CSV files\nfor subscription customers who replicate the dataset locally once per day.\n\n| File in ZIP | Contents | Typical row count |\n|-------------|------------------|-------------------|\n| `sales.csv` | Sale events | ~100k / 24h |\n| `stickers.csv` | Stickers attached to sales | ~60k / 24h |\n| `keychains.csv` | Keychains attached to sales | ~1k / 24h |\n\nAlways exports **all rows from the last 24 hours**\nin a single request (~6 MB compressed ZIP). No pagination.\n\nJoin the CSVs locally on `(marketplace, sale_id, sold_at)`.\n\n\nRequires `x-api-key`. The key must include `/v1/market-sales/export` in its\n`allowed_endpoints` (or `*`).\n\n\n```bash\ncurl -H \"x-api-key: YOUR_KEY\" \\\n  \"https://api.cspriceapi.com/v1/market-sales/export\" \\\n  -o market-sales-export.zip\nunzip market-sales-export.zip\n```\n\n\nSee component schemas `MarketSalesCsvSalesRow`, `MarketSalesCsvStickersRow`\nand `MarketSalesCsvKeychainsRow` for the exact column layout.\n\n**Notes**\n\n- `price` and `reference_price` are in **cents** (integer).\n- `sale_id`, `sticker_id`, `keychain_id` are large integers serialized as\n  **strings** in CSV to avoid JavaScript precision loss.\n- `marketplace` values: `csfloat`, `youpin`, `skinport`.\n","operationId":"exportMarketSalesZip","responses":{"200":{"description":"ZIP archive containing `sales.csv`, `stickers.csv` and `keychains.csv`\n(each with a header row). Row counts are also exposed via response headers.\n","headers":{"Cache-Control":{"schema":{"type":"string","example":"private, no-store"}},"Content-Disposition":{"schema":{"type":"string","example":"attachment; filename=\"market-sales-export.zip\""}},"X-Sales-Row-Count":{"schema":{"type":"integer","example":97596},"description":"Data rows in `sales.csv` (excludes header)."},"X-Sticker-Row-Count":{"schema":{"type":"integer","example":61007}},"X-Keychain-Row-Count":{"schema":{"type":"integer","example":1228}},"X-Window-Hours":{"schema":{"type":"integer","example":24}},"X-Window-Start":{"schema":{"type":"string","format":"date-time"},"description":"Start of the export window (UTC)."},"X-Window-End":{"schema":{"type":"string","format":"date-time"},"description":"Time the export was generated (UTC)."}},"content":{"application/zip":{"schema":{"type":"string","format":"binary"},"example":"(binary ZIP – see CSV schemas for contained file layout)"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key issued per customer. Send it in the `x-api-key` header on every\nrequest. Keys can be plan-scoped (per-minute and per-day rate limits)\nand endpoint-scoped (ACL). Inactive or expired keys will be rejected\nwith `401`.\n"}},"parameters":{"MarketHashNameQuery":{"name":"market_hash_name","in":"query","required":true,"description":"Steam `market_hash_name` of the skin to look up. For Dopplers /\nGamma Dopplers the phase suffix is optional – it will be stripped and\nevery phase variant will be queried.\n","schema":{"type":"string","minLength":1},"examples":{"nonDoppler":{"value":"AK-47 | Redline (Field-Tested)"},"doppler":{"value":"Glock-18 | Gamma Doppler (Factory New)"}}}},"responses":{"Unauthorized":{"description":"Missing, invalid, disabled or expired API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"missing":{"value":{"error":"Missing API key"}},"invalid":{"value":{"error":"Invalid API key"}},"disabled":{"value":{"error":"API key disabled"}},"expired":{"value":{"error":"API key expired"}}}}}},"Forbidden":{"description":"The API key is valid but is not allowed to call this endpoint (endpoint ACL).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"acl":{"value":{"error":"Endpoint not allowed for this API key"}}}}}},"RateLimited":{"description":"Per-minute or per-day rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"perMinute":{"value":{"error":"Rate limit exceeded (per minute)"}},"perDay":{"value":{"error":"Daily limit exceeded"}}}}}},"InternalError":{"description":"Internal server error – temporary upstream failure, etc.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"generic":{"value":{"error":"Internal server error"}},"db":{"value":{"error":"DB error"}}}}}}},"schemas":{"DecimalString":{"type":"string","description":"Fixed-point decimal value serialized as a string (preserves precision\nacross languages). Parse with an arbitrary-precision decimal library;\ndo **not** parse as a native float.\n","pattern":"^-?\\d+(\\.\\d+)?$","example":"1234.5600"},"TinyBool":{"type":"integer","enum":[0,1],"nullable":true,"description":"Boolean stored as `tinyint(1)`; `0` = false, `1` = true.","example":0},"Exterior":{"type":"string","nullable":true,"description":"Exterior (wear) of the skin. Typical values: `Factory New`,\n`Minimal Wear`, `Field-Tested`, `Well-Worn`, `Battle-Scarred`.\nCasing may vary between sources (e.g. Buff163 uses `\"Factory new\"`).\n","example":"Field-Tested"},"Phase":{"type":"string","nullable":true,"description":"Doppler phase, normalised to English. Empty string or `null` for\nnon-phase items.\n","example":"Phase 2"},"UpdatedAt":{"type":"string","format":"date-time","description":"ISO-8601 UTC timestamp (millisecond precision).","example":"2026-04-21T12:06:35.000Z"},"BaseWrapper":{"type":"object","description":"Envelope fields returned by every `GET /v1/prices/*` response.","properties":{"source":{"type":"string","description":"Human-readable marketplace identifier."},"requestor":{"type":"string","format":"email","description":"Email address associated with the API key making the call.","example":"customer@example.com"},"plan":{"type":"string","description":"Plan of the API key (e.g. `free`, `pro`, `enterprise`).","example":"pro"},"timestamp":{"allOf":[{"$ref":"#/components/schemas/UpdatedAt"}],"description":"Server time when this response was produced."}},"required":["source","timestamp"]},"YoupinItem":{"type":"object","description":"Current YouPin listing price row, including liquidity when available.","properties":{"id":{"type":"integer","example":30155},"market_hash_name":{"type":"string","example":"★ Hand Wraps | Spruce DDPAT (Factory New)"},"stattrak":{"$ref":"#/components/schemas/TinyBool"},"souvenir":{"$ref":"#/components/schemas/TinyBool"},"price_rmb":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Lowest current listing price on YouPin, in CNY (RMB).","example":"7333.0000"},"change_24h":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"24h price change in percent.","example":"-1.40"},"change_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"-1.63"},"change_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"-7.67"},"change_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"-15.60"},"avg_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"7331.46"},"avg_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"7513.31"},"avg_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"7788.60"},"count":{"type":"integer","nullable":true,"description":"Number of active listings.","example":8},"phase":{"$ref":"#/components/schemas/Phase"},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"},"youpin_template_id":{"type":"integer","nullable":true,"description":"YouPin internal template id.","example":57643},"liquidity":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Internal liquidity score (0.00 – 10.00). `null` if the skin is not in the internal catalog.","example":"12.16"}},"required":["id","market_hash_name","updated_at"]},"YoupinBuyorderItem":{"type":"object","description":"Current YouPin buy-order row.","properties":{"id":{"type":"integer","example":1},"market_hash_name":{"type":"string","example":"Glock-18 | Gamma Doppler (Factory New) (Phase 2)"},"templateId":{"type":"integer","nullable":true,"example":57912},"buyorder_price":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Highest standing buy-order price (CNY / RMB).","example":"1122.50"},"blue_buyorder_price":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Highest \"blue\"-tier buy-order price (CNY / RMB), used e.g. for certain Doppler phases.","example":"980.00"},"phase":{"$ref":"#/components/schemas/Phase"},"typeId":{"type":"integer","nullable":true,"example":42},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"},"count":{"type":"integer","nullable":true,"example":36}},"required":["id","market_hash_name"]},"Buff163Item":{"type":"object","description":"Current Buff163 listing price row, including liquidity when available.","properties":{"id":{"type":"integer","example":62235},"market_hash_name":{"type":"string","example":"Glock-18 | Gamma Doppler (Factory New)"},"stattrak":{"$ref":"#/components/schemas/TinyBool"},"souvenir":{"$ref":"#/components/schemas/TinyBool"},"exterior":{"$ref":"#/components/schemas/Exterior"},"price":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Lowest current listing price on Buff163, in CNY (RMB).","example":"1333.50"},"change_24h":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"count":{"type":"integer","nullable":true,"example":586},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"},"item_page_url":{"type":"string","format":"uri","nullable":true,"example":"https://buff.163.com/goods/776015"},"liquidity":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"8.70"}},"required":["id","market_hash_name","updated_at"]},"C5GameItem":{"type":"object","description":"Current C5Game listing price row, including liquidity when available.","properties":{"id":{"type":"integer","example":10},"market_hash_name":{"type":"string","example":"AK-47 | Redline (Field-Tested)"},"item_page_url":{"type":"string","format":"uri","nullable":true,"example":"https://www.c5game.com/en/csgo/product/123456"},"stattrak":{"$ref":"#/components/schemas/TinyBool"},"souvenir":{"$ref":"#/components/schemas/TinyBool"},"exterior":{"$ref":"#/components/schemas/Exterior"},"price":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Lowest current listing price on C5Game, in CNY (RMB).","example":"138.20"},"change_24h":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"count":{"type":"integer","nullable":true,"example":241},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"},"liquidity":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"7.40"}},"required":["id","market_hash_name","updated_at"]},"EcoSteamItem":{"type":"object","description":"Current EcoSteam listing price row, including liquidity when available.","properties":{"id":{"type":"integer","example":5},"market_hash_name":{"type":"string","example":"AWP | Dragon Lore (Field-Tested)"},"item_page_url":{"type":"string","format":"uri","nullable":true,"example":"https://www.ecosteam.cn/item/12345"},"stattrak":{"$ref":"#/components/schemas/TinyBool"},"souvenir":{"$ref":"#/components/schemas/TinyBool"},"exterior":{"$ref":"#/components/schemas/Exterior"},"price":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Lowest current listing price on EcoSteam, in CNY (RMB).","example":"91200.00"},"change_24h":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"count":{"type":"integer","nullable":true,"example":3},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"},"liquidity":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"1.20"}},"required":["id","market_hash_name","updated_at"]},"SkinBaronItem":{"type":"object","description":"Current SkinBaron listing price row, including liquidity when available.","properties":{"id":{"type":"integer","example":42},"market_hash_name":{"type":"string","example":"★ Karambit | Fade (Factory New)"},"stattrak":{"$ref":"#/components/schemas/TinyBool"},"souvenir":{"$ref":"#/components/schemas/TinyBool"},"exterior":{"$ref":"#/components/schemas/Exterior"},"price":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Lowest current listing price on SkinBaron, in EUR.","example":"2899.00"},"change_24h":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"count":{"type":"integer","nullable":true,"example":9},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"},"item_page_url":{"type":"string","format":"uri","nullable":true,"example":"https://skinbaron.de/en/csgo/karambit-fade-factory-new"},"liquidity":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"4.10"}},"required":["id","market_hash_name","updated_at"]},"SkinportItem":{"type":"object","description":"Current Skinport listing price row, including liquidity when available.","properties":{"id":{"type":"integer","example":101},"market_hash_name":{"type":"string","example":"AK-47 | Asiimov (Field-Tested)"},"item_page_url":{"type":"string","format":"uri","nullable":true,"example":"https://skinport.com/item/ak-47-asiimov-field-tested"},"stattrak":{"$ref":"#/components/schemas/TinyBool"},"souvenir":{"$ref":"#/components/schemas/TinyBool"},"exterior":{"$ref":"#/components/schemas/Exterior"},"price":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Lowest current listing price on Skinport, in EUR.","example":"68.40"},"change_24h":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"count":{"type":"integer","nullable":true,"example":412},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"},"liquidity":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"9.20"}},"required":["id","market_hash_name","updated_at"]},"CsfloatItem":{"type":"object","description":"Current CSFloat listing price row, including liquidity when available.","properties":{"id":{"type":"integer","example":501},"market_hash_name":{"type":"string","example":"AK-47 | Redline (Field-Tested)"},"stattrak":{"$ref":"#/components/schemas/TinyBool"},"souvenir":{"$ref":"#/components/schemas/TinyBool"},"exterior":{"$ref":"#/components/schemas/Exterior"},"price":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Lowest current listing price on CSFloat, in USD.","example":"18.75"},"change_24h":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"count":{"type":"integer","nullable":true,"example":320},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"},"item_page_url":{"type":"string","format":"uri","nullable":true,"example":"https://csfloat.com/item/123456789"},"buff_template_id":{"type":"integer","nullable":true,"example":35247},"liquidity":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"9.10"}},"required":["id","market_hash_name","updated_at"]},"LisskinsItem":{"type":"object","description":"Current Lisskins listing price row, including liquidity when available.","properties":{"id":{"type":"integer","example":701},"market_hash_name":{"type":"string","example":"AK-47 | Redline (Field-Tested)"},"stattrak":{"$ref":"#/components/schemas/TinyBool"},"souvenir":{"$ref":"#/components/schemas/TinyBool"},"exterior":{"$ref":"#/components/schemas/Exterior"},"price":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Lowest current listing price on Lisskins, in USD.","example":"17.90"},"change_24h":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"count":{"type":"integer","nullable":true,"example":280},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"},"item_page_url":{"type":"string","format":"uri","nullable":true,"example":"https://lis-skins.com/market/csgo/ak-47-redline-field-tested/"},"buff_template_id":{"type":"integer","nullable":true,"example":35247},"liquidity":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"9.10"}},"required":["id","market_hash_name","updated_at"]},"DmarketItem":{"type":"object","description":"Current DMarket listing price row, including liquidity when available.","properties":{"id":{"type":"integer","example":801},"market_hash_name":{"type":"string","example":"AK-47 | Redline (Field-Tested)"},"stattrak":{"$ref":"#/components/schemas/TinyBool"},"souvenir":{"$ref":"#/components/schemas/TinyBool"},"exterior":{"$ref":"#/components/schemas/Exterior"},"price":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Lowest current listing price on DMarket, in USD.","example":"18.20"},"change_24h":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"count":{"type":"integer","nullable":true,"example":310},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"},"item_page_url":{"type":"string","format":"uri","nullable":true,"example":"https://dmarket.com/ingame-items/item-list/csgo-skins"},"buff_template_id":{"type":"integer","nullable":true,"example":35247},"liquidity":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"9.10"}},"required":["id","market_hash_name","updated_at"]},"MarketCsgoItem":{"type":"object","description":"Current Market.CSGO listing price row, including liquidity when available.","properties":{"id":{"type":"integer","example":1},"market_hash_name":{"type":"string","example":"Sticker | BLAST.tv | Paris 2023"},"item_page_url":{"type":"string","format":"uri","nullable":true,"example":"https://market.csgo.com/en/item/123/Sticker-BLAST.tv-Paris-2023"},"stattrak":{"$ref":"#/components/schemas/TinyBool"},"souvenir":{"$ref":"#/components/schemas/TinyBool"},"exterior":{"$ref":"#/components/schemas/Exterior"},"price":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Lowest current listing price on Market.CSGO, in USD.","example":"0.01"},"change_24h":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"change_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_7d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_30d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"avg_90d":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true},"count":{"type":"integer","nullable":true,"example":5823},"sales7":{"type":"integer","nullable":true,"description":"Number of sales over the last 7 days.","example":214},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"},"liquidity":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"example":"9.80"}},"required":["id","market_hash_name","updated_at"]},"FloatRangedItem":{"type":"object","description":"Float-range filtered listing snapshot (v1).","properties":{"commodityName":{"type":"string","example":"Glock-18 | Gamma Doppler (Factory New)"},"selected_filter_text":{"type":"string","description":"Float-range filter used to capture this row.","example":"0.00-0.07"},"phase":{"$ref":"#/components/schemas/Phase"},"templateId":{"type":"integer","nullable":true,"example":57912},"totalCount":{"type":"integer","nullable":true,"description":"Total number of listings matching the float-range filter.","example":12},"price_first":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Current lowest listing price within the float range (CNY / RMB).","example":"1230.0000"},"captured_at":{"type":"string","format":"date-time","nullable":true,"description":"When the snapshot was captured on the source.","example":"2026-04-21T11:50:00.000Z"},"price_5h":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Price of the 5th lowest listing in the float range.","example":"1285.0000"},"price_old":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Previous captured price (used to compute movement).","example":"1260.0000"},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["commodityName","selected_filter_text","phase","updated_at"]},"FloatRangedV2Item":{"type":"object","description":"Float-range filtered listing snapshot (v2).","properties":{"market_hash_name":{"type":"string","example":"Glock-18 | Gamma Doppler (Factory New)"},"float_range":{"type":"string","description":"Float-range bucket/filter.","example":"0.00-0.07"},"phase":{"$ref":"#/components/schemas/Phase"},"fade":{"type":"number","nullable":true,"description":"Fade percentage for Fade skins (e.g. `81.7`). `null` for non-Fade\nitems.\n","example":81.7},"count":{"type":"integer","nullable":true,"example":12},"price_rmb":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"nullable":true,"description":"Lowest listing price in CNY (RMB) for this float range.","example":"1230.0000"},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["market_hash_name","float_range","phase","updated_at"]},"YoupinPricesResponse":{"allOf":[{"$ref":"#/components/schemas/BaseWrapper"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/YoupinItem"}},"source":{"type":"string","enum":["YouPin"]}},"required":["data"]}]},"YoupinBuyorderResponse":{"allOf":[{"$ref":"#/components/schemas/BaseWrapper"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/YoupinBuyorderItem"}},"source":{"type":"string","enum":["YouPin"]}},"required":["data"]}]},"Buff163PricesResponse":{"allOf":[{"$ref":"#/components/schemas/BaseWrapper"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Buff163Item"}},"source":{"type":"string","enum":["Buff163"]}},"required":["data"]}]},"C5GamePricesResponse":{"allOf":[{"$ref":"#/components/schemas/BaseWrapper"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/C5GameItem"}},"source":{"type":"string","enum":["C5Game"]}},"required":["data"]}]},"EcoSteamPricesResponse":{"allOf":[{"$ref":"#/components/schemas/BaseWrapper"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/EcoSteamItem"}},"source":{"type":"string","enum":["EcoSteam"]}},"required":["data"]}]},"SkinBaronPricesResponse":{"allOf":[{"$ref":"#/components/schemas/BaseWrapper"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SkinBaronItem"}},"source":{"type":"string","enum":["SkinBaron"]}},"required":["data"]}]},"SkinportPricesResponse":{"allOf":[{"$ref":"#/components/schemas/BaseWrapper"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SkinportItem"}},"source":{"type":"string","enum":["Skinport"]}},"required":["data"]}]},"MarketCsgoPricesResponse":{"allOf":[{"$ref":"#/components/schemas/BaseWrapper"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MarketCsgoItem"}},"source":{"type":"string","enum":["Market CSGO"]}},"required":["data"]}]},"CsfloatPricesResponse":{"allOf":[{"$ref":"#/components/schemas/BaseWrapper"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CsfloatItem"}},"source":{"type":"string","enum":["CSFloat"]}},"required":["data"]}]},"LisskinsPricesResponse":{"allOf":[{"$ref":"#/components/schemas/BaseWrapper"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/LisskinsItem"}},"source":{"type":"string","enum":["Lisskins"]}},"required":["data"]}]},"DmarketPricesResponse":{"allOf":[{"$ref":"#/components/schemas/BaseWrapper"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarketItem"}},"source":{"type":"string","enum":["DMarket"]}},"required":["data"]}]},"FloatRangedPricesResponse":{"allOf":[{"$ref":"#/components/schemas/BaseWrapper"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/FloatRangedItem"}},"source":{"type":"string","enum":["Float Ranged"]}},"required":["data"]}]},"FloatRangedV2PricesResponse":{"allOf":[{"$ref":"#/components/schemas/BaseWrapper"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/FloatRangedV2Item"}},"source":{"type":"string","enum":["Float Ranged"]}},"required":["data"]}]},"SearchDataNonDoppler":{"type":"object","description":"Per-marketplace lookup results. Each key is either a single item\nobject (the skin was found on that marketplace) or `null` (not found).\n","properties":{"youpin":{"oneOf":[{"$ref":"#/components/schemas/YoupinItem"}],"nullable":true},"buff163":{"oneOf":[{"$ref":"#/components/schemas/Buff163Item"}],"nullable":true},"c5game":{"oneOf":[{"$ref":"#/components/schemas/C5GameItem"}],"nullable":true},"ecosteam":{"oneOf":[{"$ref":"#/components/schemas/EcoSteamItem"}],"nullable":true},"skinbaron":{"oneOf":[{"$ref":"#/components/schemas/SkinBaronItem"}],"nullable":true},"skinport":{"oneOf":[{"$ref":"#/components/schemas/SkinportItem"}],"nullable":true},"market_csgo":{"oneOf":[{"$ref":"#/components/schemas/MarketCsgoItem"}],"nullable":true},"csfloat":{"oneOf":[{"$ref":"#/components/schemas/CsfloatItem"}],"nullable":true},"lisskins":{"oneOf":[{"$ref":"#/components/schemas/LisskinsItem"}],"nullable":true},"dmarket":{"oneOf":[{"$ref":"#/components/schemas/DmarketItem"}],"nullable":true}},"required":["youpin","buff163","c5game","ecosteam","skinbaron","skinport","market_csgo","csfloat","lisskins","dmarket"]},"SearchDataDoppler":{"type":"object","description":"Per-marketplace lookup results for Doppler skins. Each key is an\n**array** containing every phase variant found (possibly empty).\n","properties":{"youpin":{"type":"array","items":{"$ref":"#/components/schemas/YoupinItem"}},"buff163":{"type":"array","items":{"$ref":"#/components/schemas/Buff163Item"}},"c5game":{"type":"array","items":{"$ref":"#/components/schemas/C5GameItem"}},"ecosteam":{"type":"array","items":{"$ref":"#/components/schemas/EcoSteamItem"}},"skinbaron":{"type":"array","items":{"$ref":"#/components/schemas/SkinBaronItem"}},"skinport":{"type":"array","items":{"$ref":"#/components/schemas/SkinportItem"}},"market_csgo":{"type":"array","items":{"$ref":"#/components/schemas/MarketCsgoItem"}},"csfloat":{"type":"array","items":{"$ref":"#/components/schemas/CsfloatItem"}},"lisskins":{"type":"array","items":{"$ref":"#/components/schemas/LisskinsItem"}},"dmarket":{"type":"array","items":{"$ref":"#/components/schemas/DmarketItem"}}},"required":["youpin","buff163","c5game","ecosteam","skinbaron","skinport","market_csgo","csfloat","lisskins","dmarket"]},"SearchResponseNonDoppler":{"type":"object","description":"Search response when the queried skin is **not** a Doppler.","properties":{"market_hash_name":{"type":"string","example":"AK-47 | Redline (Field-Tested)"},"is_doppler":{"type":"boolean","enum":[false]},"search_variants":{"type":"array","items":{"type":"string"},"description":"Always contains exactly the input `market_hash_name`."},"data":{"$ref":"#/components/schemas/SearchDataNonDoppler"},"requestor":{"type":"string","format":"email"},"plan":{"type":"string"},"timestamp":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["market_hash_name","is_doppler","search_variants","data","timestamp"]},"SearchResponseDoppler":{"type":"object","description":"Search response when the queried skin is a Doppler or Gamma Doppler.\nThe server queried all phase variants listed in `search_variants`.\n","properties":{"market_hash_name":{"type":"string","example":"Glock-18 | Gamma Doppler (Factory New)"},"is_doppler":{"type":"boolean","enum":[true]},"search_variants":{"type":"array","items":{"type":"string"},"description":"Every phase variant the server queried for this skin. For Gamma\nDopplers: `(Emerald)` + `(Phase 1..4)`. For regular Dopplers:\n`(Ruby)`, `(Sapphire)`, `(Black Pearl)` + `(Phase 1..4)`.\n"},"data":{"$ref":"#/components/schemas/SearchDataDoppler"},"requestor":{"type":"string","format":"email"},"plan":{"type":"string"},"timestamp":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["market_hash_name","is_doppler","search_variants","data","timestamp"]},"SearchResponse":{"description":"Discriminate on the top-level boolean `is_doppler` to select the\ncorrect variant:\n\n- `is_doppler: false` → `SearchResponseNonDoppler` (each marketplace key is either an item object or `null`).\n- `is_doppler: true`  → `SearchResponseDoppler`    (each marketplace key is an array of phase variants).\n","oneOf":[{"$ref":"#/components/schemas/SearchResponseNonDoppler"},{"$ref":"#/components/schemas/SearchResponseDoppler"}]},"MarketSalesSearchResponse":{"type":"object","properties":{"market_hash_names":{"type":"array","items":{"type":"string"}},"count":{"type":"integer"},"data":{"type":"array","items":{"$ref":"#/components/schemas/MarketSaleSearchItem"}},"source":{"type":"string","example":"Market Sales"},"requestor":{"type":"string","format":"email"},"plan":{"type":"string"},"timestamp":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["market_hash_names","count","data","source","timestamp"]},"MarketSaleSearchItem":{"allOf":[{"$ref":"#/components/schemas/MarketSalesCsvSalesRow"},{"type":"object","properties":{"stickers":{"type":"array","items":{"$ref":"#/components/schemas/MarketSalesCsvStickersRow"}},"keychains":{"type":"array","items":{"$ref":"#/components/schemas/MarketSalesCsvKeychainsRow"}}},"required":["stickers","keychains"]}]},"MarketSalesCsvSalesRow":{"description":"One row in `sales.csv` inside the ZIP export.","type":"object","properties":{"marketplace":{"type":"string","enum":["csfloat","youpin","skinport"]},"sale_id":{"type":"string","description":"UInt64 as string."},"market_hash_name":{"type":"string"},"price":{"type":"integer","description":"Sale price in cents."},"sold_at":{"type":"string","example":"2026-07-06 12:59:12.668"},"def_index":{"type":"integer"},"paint_index":{"type":"integer"},"paint_seed":{"type":"integer"},"float_value":{"type":"number"},"is_stattrak":{"type":"integer","enum":[0,1]},"is_souvenir":{"type":"integer","enum":[0,1]},"rarity":{"type":"integer"},"quality":{"type":"integer"},"cs2_img":{"type":"string"},"fetched_at":{"type":"string","example":"2026-07-06 12:59:12.668"}}},"MarketSalesCsvStickersRow":{"description":"One row in `stickers.csv` inside the ZIP export.","type":"object","properties":{"marketplace":{"type":"string"},"sale_id":{"type":"string"},"sold_at":{"type":"string"},"position_idx":{"type":"integer"},"sticker_id":{"type":"string"},"slot":{"type":"integer"},"sticker_name":{"type":"string"},"wear":{"type":"number"},"offset_x":{"type":"number"},"offset_y":{"type":"number"},"rotation":{"type":"number"},"reference_price":{"type":"integer","description":"Reference price in cents."},"reference_quantity":{"type":"integer"},"reference_updated":{"type":"string"},"fetched_at":{"type":"string"}}},"MarketSalesCsvKeychainsRow":{"description":"One row in `keychains.csv` inside the ZIP export.","type":"object","properties":{"marketplace":{"type":"string"},"sale_id":{"type":"string"},"sold_at":{"type":"string"},"position_idx":{"type":"integer"},"keychain_id":{"type":"string"},"slot":{"type":"integer"},"keychain_name":{"type":"string"},"pattern":{"type":"integer"},"offset_x":{"type":"number"},"offset_y":{"type":"number"},"offset_z":{"type":"number"},"reference_price":{"type":"integer"},"reference_quantity":{"type":"integer"},"reference_updated":{"type":"string"},"fetched_at":{"type":"string"}}},"Error":{"type":"object","description":"Current error envelope. A future release may add an optional\n`error_details` object next to `error`; the `error` string will\nremain for backwards compatibility.\n","properties":{"error":{"type":"string","description":"Human-readable error message.","example":"Invalid API key"}},"required":["error"]}}}}