# CSCHEAP Link · 市场链接参考 版本:0.3.0。文档更新:2026-10-23(UTC)。服务地址:https://link.cs.cheap。 本页与 HTML 首页、/reference.json、/markets 和实际转换规则同源。接入前以本版本的能力为准。 ## 统一参数 | 参数 | 必填 | 类型 | 上限 | 含义 | |---|---|---|---|---| | market_code | 必填 | string | 32 | 目标市场代码,不区分大小写,必须在下方市场表中。 | | app_id | 必填 | integer | 32 | Steam 游戏 ID,无默认值。规范十进制整数 1–2147483647,不接受前导零、小数或科学计数法。 | | steam_market_hash_name | 三选一 | string | 512 | 原样传入 Steam 标准名称,与 app_id 一起标识一种饰品。无需改写名称或生成 slug;站点专用格式由本服务转换。 | | market_item_id | 三选一 | string | 256 | 真实的平台饰品款式 ID,如 BUFF goods_id、UUYP templateId、C5 itemId。不要传 URL slug,按市场支持的模式提供。 | | market_listing_id | 三选一 | string | 256 | 该市场的具体挂单 ID。不是 Steam asset_id,也不能传爬虫生成的 UUID 或物品组 ID。 | | sort | 可选 | enum | 32 | 默认 default。仅应用已核实的网页排序;不支持时返回默认排序和 SORT_UNSUPPORTED 提示。 | ## 转换约定 1. market_code 与 app_id 必填,三个饰品标识至少提供一个。两个市场 ID 都按字符串处理,保留长数字精度。 2. 调用方传原始标准名称或真实平台 ID,URL slug、游戏路径、编码和排序转换由本服务负责。无需提供额外 slug 参数,也不要将 slug 填入 market_item_id。 3. 解析优先级:market_listing_id > market_item_id > steam_market_hash_name。选择高优先级标识后,不因不支持或格式错误而回退到其他标识。 4. 所有标识必须属于指定市场与游戏。Worker 不查询数据库或第三方站点,不能验证标识是否存在、挂单是否有效,也不能检查多个标识是否一致。 5. 每个市场只支持下方公开的模式。缺少原生规则返回 422 MODE_UNSUPPORTED;格式不符合该模式返回 400 INVALID_IDENTIFIER;不跳到网站首页冒充成功。 6. 使用 URLSearchParams 编码请求参数,勿直接拼接名称中的 +、&、# 或 %。未声明 transform 的目标动态值独立 encodeURIComponent 编码,空格输出 %20;声明 transform 的名称按公开步骤转换并编码。 7. 未知、重复、空值、控制字符或超长参数均拒绝。长度按 JavaScript UTF-16 code units 计;总 URL 最多 8192 个字符;名称不能为纯空白、. 或 ..。 8. 模板中的 {value} 是当前模式的入参;声明 transform 时先按同名转换定义处理,再填入模板。{app_id} 是游戏 ID,{game} 按 games 映射转换。sorts 追加为查询参数,sort_location=hash 时追加到片段。 9. 排序受模式与游戏共同约束。未支持的排序不影响定位,applied_sort=default,warnings 包含 SORT_UNSUPPORTED;302 响应也有 X-Link-Warning。挂单详情不声明列表排序。 10. 302 与 /resolve 仅证明链接构造成功;第三方登录、地区限制、库存变化和网页改版可能影响实际页面。名称搜索可能包含相关商品,不保证唯一精确匹配。 11. 全部端点仅支持 GET / HEAD,HEAD 无正文,其他方法返回 405。跳转、解析与文档响应使用 Cache-Control: no-store;无 API Key,不设置跨域读取 CORS 响应头。 ## 标识格式 - name:Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..。 - numeric:无前导零的正整数字符串,不转换为 JavaScript Number;正则:`^[1-9][0-9]*$`。 ## 服务内部名称转换 ### catalog_slug 1. 将名称转为小写,保留 Unicode,不进行音译或去除重音。 2. 删除 ™、|、(、) 四种字符,保留括号中的文字。 3. 去掉首尾空白,将连续空白替换为一个短横线。 保留 ★、撇号、逗号、$、!、点号及其余字符;保留 StatTrak 和 Souvenir 文字。 将结果作为单一路径段按 RFC 3986 编码,包括 !、撇号、括号和 *。 转换后为空、. 或 .. 时返回 400 INVALID_IDENTIFIER。 由各市场官方商品 URL 样本归纳,不保证库存或任意名称都有商品页面。 ## 排序 - default:网站默认 - price_asc:价格从低到高 - price_desc:价格从高到低 - newest:最新上架 - float_asc:磨损值从低到高 - float_desc:磨损值从高到低 ## 端点 - GET / HEAD /:无查询串时返回本中文参考文档;带查询串时沿用跳转入口,按参数校验后返回 302。 - GET / HEAD /redirect:推荐跳转入口,Location 为第三方商品或挂单链接。 - GET / HEAD /resolve:返回解析 JSON,用于接入与调试,不访问第三方站点。 - GET / HEAD /markets:23 个市场的能力、规则、来源与核实日期。 - GET / HEAD /reference.json:完整机器可读契约,与首页及运行转换规则同源。 - GET / HEAD /llms.txt:完整纯文本 Markdown 参考,供 AI 与文本客户端读取。 - GET / HEAD /health:仅检查 Worker 存活,不承诺第三方网站可用。 ## 市场规则 没有列出的模式均不支持;sorts 为空表示只支持 default。示例只用于验证构造规则,不保证示例商品/挂单仍存在。 ### LOOTFARM · LOOT.Farm app_id:730, 570, 440, 252490;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:loot.farm。 - 仅支持名称定位。旧版 itemIDs 使用库存条目 ID,不能证明它属于款式或挂单,本版不接收该 ID。 - 网站可能在无匹配库存时清空过滤器;本服务不查询库存。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://loot.farm/en/#skin={app_id}_{value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=LOOTFARM&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "LOOTFARM", "app_id": 730, "url": "https://loot.farm/en/#skin=730_AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [实际前端脚本](https://loot.farm/main_v2_auc.js?v=139) ### TRADEITGG · Tradeit app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:tradeit.gg。 - 名称为搜索关键词,结果可能包含相关商品。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://tradeit.gg/csgo/store?search={value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=TRADEITGG&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "TRADEITGG", "app_id": 730, "url": "https://tradeit.gg/csgo/store?search=AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [官方搜索页面](https://tradeit.gg/csgo/store?search=AK-47) - [完整名称页面](https://tradeit.gg/csgo/store?search=USP-S%20%7C%20PC-GRN%20%28Factory%20New%29) ### CSDEALS · CS Deals app_id:730, 570, 440, 252490;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:cs.deals。 - 磨损排序仅 app_id=730;其他游戏只支持价格升降与最新上架。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://cs.deals/market/{game}?search={value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": { "price_asc": "sortBy=price_asc", "price_desc": "sortBy=price_desc", "newest": "sortBy=newest", "float_asc": "sortBy=float_asc", "float_desc": "sortBy=float_desc" }, "games": { "440": "tf2", "570": "dota2", "730": "csgo", "252490": "rust" }, "sort_app_ids": { "float_asc": [ 730 ], "float_desc": [ 730 ] } } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=CSDEALS&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "CSDEALS", "app_id": 730, "url": "https://cs.deals/market/csgo?search=AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [搜索跳转组件](https://cs.deals/_next/static/chunks/15o0ahrq213x..js) - [排序枚举](https://cs.deals/_next/static/chunks/0_1903to8r6xa.js) - [浏览器 URL 过滤器](https://cs.deals/_next/static/chunks/05a4dec1ez44v.js) ### STEAMCOMMUNITY · Steam Community Market app_id:任意合法 app_id;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:steamcommunity.com。 - 支持任意合法 app_id 的路径构造,不代表该游戏一定开放 Steam 市场。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://steamcommunity.com/market/listings/{app_id}/{value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=STEAMCOMMUNITY&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "STEAMCOMMUNITY", "app_id": 730, "url": "https://steamcommunity.com/market/listings/730/AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [官方商品页面](https://steamcommunity.com/market/listings/730/AK-47%20%7C%20Redline%20%28Field-Tested%29) ### BUFF · BUFF app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:buff.163.com。 - 须由调用方提供 goods_id;不再根据 Steam 名称查找 ID。最新上架排序未核实。 - market_listing_id:不支持。 #### market_item_id BUFF goods_id,饰品款式 ID ```json { "template": "https://buff.163.com/goods/{value}", "format": "numeric", "meaning": "BUFF goods_id,饰品款式 ID", "example": "430", "sorts": { "price_asc": "tab=selling&sort_by=price.asc", "price_desc": "tab=selling&sort_by=price.desc", "float_asc": "tab=selling&sort_by=paintwear.asc", "float_desc": "tab=selling&sort_by=paintwear.desc" }, "sort_location": "hash" } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=BUFF&app_id=730&market_item_id=430 ``` 解析结果: ```json { "market_code": "BUFF", "app_id": 730, "url": "https://buff.163.com/goods/430", "via": "native", "resolved_by": "market_item_id", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` - steam_market_hash_name:不支持。 证据来源: - [goods 430 页面](https://buff.163.com/goods/430) - [页面前端脚本](https://buff.163.com/static/assets/main.js?3e265a74) ### UUYP · 悠悠有品 app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:www.youpin898.com。 - 须提供 templateId;listType=10 对应购买列表。网页排序参数未核实。 - market_listing_id:不支持。 #### market_item_id UUYP templateId,饰品模板 ID ```json { "template": "https://www.youpin898.com/market/goods-list?listType=10&templateId={value}&gameId=730", "format": "numeric", "meaning": "UUYP templateId,饰品模板 ID", "example": "12345", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=UUYP&app_id=730&market_item_id=12345 ``` 解析结果: ```json { "market_code": "UUYP", "app_id": 730, "url": "https://www.youpin898.com/market/goods-list?listType=10&templateId=12345&gameId=730", "via": "native", "resolved_by": "market_item_id", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` - steam_market_hash_name:不支持。 证据来源: - [市场组件](https://www.youpin898.com/p__Market__index.0af4d9b9.async.js) - [商品列表组件](https://www.youpin898.com/p__GoodsList__index.a19e0b4f.async.js) ### C5GAME · C5GAME app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:www.c5game.com, c5game.com。 - 须提供 itemId;路径中的 item 为固定展示段,不负责定位商品。 - market_listing_id:不支持。 #### market_item_id C5 itemId,饰品款式 ID;保留长数字字符串 ```json { "template": "https://www.c5game.com/csgo/{value}/item/sell", "format": "numeric", "meaning": "C5 itemId,饰品款式 ID;保留长数字字符串", "example": "1098192327056363520", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=C5GAME&app_id=730&market_item_id=1098192327056363520 ``` 解析结果: ```json { "market_code": "C5GAME", "app_id": 730, "url": "https://www.c5game.com/csgo/1098192327056363520/item/sell", "via": "native", "resolved_by": "market_item_id", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` - steam_market_hash_name:不支持。 证据来源: - [真实路径](https://www.c5game.com/csgo/24004/AK-47/sell) - [替换展示段路径](https://www.c5game.com/csgo/24004/item/sell) ### LISSKINS · LIS-SKINS app_id:730;来源核实:2026-10-23;状态:有可用规则。 目标主机白名单:lis-skins.com。 - 调用方只提供标准名称,无需生成或提供 slug;本服务根据官方商品 URL 样本归纳的规则转换。 - 保留 ★ 和名称标点,不擅自补充 Doppler 相位;生成页面链接不保证该款式有库存。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name 传入完整 Steam 标准名称,由本服务生成该站商品路径。 ```json { "template": "https://lis-skins.com/market/csgo/{value}/", "format": "name", "transform": "catalog_slug", "meaning": "传入完整 Steam 标准名称,由本服务生成该站商品路径。", "example": "AK-47 | Redline (Field-Tested)", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=LISSKINS&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "LISSKINS", "app_id": 730, "url": "https://lis-skins.com/market/csgo/ak-47-redline-field-tested/", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [官方商品索引页面](https://lis-skins.com/market/csgo/ak-47-redline-field-tested/) - [星号与 StatTrak 名称样本](https://lis-skins.com/market/csgo/%E2%98%85-stattrak-karambit-doppler-factory-new/) - [纪念品名称样本](https://lis-skins.com/market/csgo/souvenir-awp-dragon-lore-factory-new/) - [保留撇号的商品样本](https://lis-skins.com/market/csgo/m4a1-s-chantico%27s-fire-field-tested/?stickers=any) - [音乐盒特殊标点样本](https://lis-skins.com/market/csgo/stattrak-music-kit-bbno%24%2C-u-mad%21/) - [涂鸦括号文字样本](https://lis-skins.com/market/csgo/sealed-graffiti-rly-blood-red/) ### MARKETCSGO · Market CSGO app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:market.csgo.com。 - 使用编码后的标准名称定位商品,不需要猜测分类路径。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://market.csgo.com/en/{value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=MARKETCSGO&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "MARKETCSGO", "app_id": 730, "url": "https://market.csgo.com/en/AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [官方商品路径](https://market.csgo.com/en/AK-47%20%7C%20Fire%20Serpent%20%28Battle-Scarred%29) ### MARKETDOTA2 · Store Dota 2 app_id:570;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:market.dota2.net。 - 空格必须输出 %20;站点搜索脚本不把加号转换为空格。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://market.dota2.net/en/?search={value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "Dragonclaw Hook", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=MARKETDOTA2&app_id=570&steam_market_hash_name=Dragonclaw+Hook ``` 解析结果: ```json { "market_code": "MARKETDOTA2", "app_id": 570, "url": "https://market.dota2.net/en/?search=Dragonclaw%20Hook", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [官方市场](https://market.dota2.net/en/) - [搜索脚本](https://market.dota2.net/js/search.js?v=1) ### WHITEMARKET · white.market app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:white.market。 - 名称搜索支持五种排序。旧版 slug-ID 页面尚未确认是款式还是挂单,本版不开放 ID 模式。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://white.market/market?name={value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": { "price_asc": "sort=pr_a", "price_desc": "sort=pr_d", "newest": "sort=cr_d", "float_asc": "sort=fl_a", "float_desc": "sort=fl_d" } } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=WHITEMARKET&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "WHITEMARKET", "app_id": 730, "url": "https://white.market/market?name=AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [浏览器过滤器](https://static.white.market/a0593/_next/static/chunks/2zcgpjfieds84.js?dpl=a0593) - [排序映射](https://static.white.market/a0593/_next/static/chunks/17e--6qo47qbs.js?dpl=a0593) - [市场页面](https://white.market/market) ### SKINPORT · Skinport app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:skinport.com。 - 名称用于搜索;数字 ID 详情路径与网页排序参数未核实。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://skinport.com/market?search={value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=SKINPORT&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "SKINPORT", "app_id": 730, "url": "https://skinport.com/market?search=AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [官方首页](https://skinport.com/) ### HALOSKINS · HaloSkins app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:www.haloskins.com。 - 使用 keyword 搜索;页面可能受到登录或区域限制。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://www.haloskins.com/market?keyword={value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=HALOSKINS&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "HALOSKINS", "app_id": 730, "url": "https://www.haloskins.com/market?keyword=AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [官方本地化市场索引页面](https://www.haloskins.com/pt/market?keyword=AWP) ### SKINSWAP · SkinSwap app_id:730;来源核实:2026-10-22;状态:暂不支持。 目标主机白名单:skinswap.com, www.skinswap.com。 - 暂无已核实的通用转换规则。商品 URL 包含款式 slug 与可选磨损段,现有参数不能可靠构造;所有模式返回 422 MODE_UNSUPPORTED。 - market_listing_id:不支持。 - market_item_id:不支持。 - steam_market_hash_name:不支持。 证据来源: - [官方商品页](https://skinswap.com/skins/aug-random-access/well-worn) - [另一商品页](https://skinswap.com/skins/esports-key) ### WAXPEER · WaxPeer app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:waxpeer.com, www.waxpeer.com。 - 传入标准名称进入商品搜索列表,无需提供 slug。单独的数字挂单 ID 不足以构造完整链接,本版不开放挂单模式。 - 最新上架使用已核实的 order=date&sort=ASC;不凭直觉改为 DESC。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://waxpeer.com/?game=csgo&search={value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": { "price_asc": "order=price&sort=ASC", "price_desc": "order=price&sort=DESC", "newest": "order=date&sort=ASC" } } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=WAXPEER&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "WAXPEER", "app_id": 730, "url": "https://waxpeer.com/?game=csgo&search=AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [浏览器过滤器](https://waxpeer.com/_nuxt/2llAq2I-.js) - [排序组件](https://waxpeer.com/_nuxt/CjOz9C5f.js) - [真实商品链接](https://waxpeer.com/ak-47-redline-field-tested/item?id=53465063065) ### SHADOWPAY · Shadowpay app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:shadowpay.com。 - 仅核实名称搜索与价格升降排序。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://shadowpay.com/csgo-items?search={value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": { "price_asc": "sort_column=price&sort_dir=asc", "price_desc": "sort_column=price&sort_dir=desc" } } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=SHADOWPAY&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "SHADOWPAY", "app_id": 730, "url": "https://shadowpay.com/csgo-items?search=AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [商品名称点击处理](https://shadowpay.com/_nuxt/DqO3K16N.js) - [市场过滤器](https://shadowpay.com/_nuxt/B6_uPHD2.js) - [市场页面](https://shadowpay.com/csgo-items) ### SWAPGG · Swap.gg app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:swap.gg。 - 名称可能是全文搜索,不保证严格匹配磨损分类。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://swap.gg/cs2/store?search={value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=SWAPGG&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "SWAPGG", "app_id": 730, "url": "https://swap.gg/cs2/store?search=AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [store 前端组件](https://swap.gg/_nuxt/Okk9VsFM.js) - [官方 store](https://swap.gg/cs2/store) ### DMARKET · DMarket app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:dmarket.com。 - 仅核实 CS2 名称搜索与价格升降排序。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://dmarket.com/ingame-items/item-list/csgo-skins?title={value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": { "price_asc": "orderBy=price&orderDir=asc", "price_desc": "orderBy=price&orderDir=desc" } } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=DMARKET&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "DMARKET", "app_id": 730, "url": "https://dmarket.com/ingame-items/item-list/csgo-skins?title=AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [商品点击导航](https://cdn-mp.dmarket.com/prod/static/chunk-QH5eWD_o.js) - [前端排序/过滤器](https://cdn-mp.dmarket.com/prod/static/chunk-BrCHpWPd.js) ### CSFLOAT · CSFloat app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:csfloat.com。 - market_listing_id 是市场挂单 ID,不是 Steam asset_id;挂单详情不应用列表排序。 - 原 0.1.0 的 market_item_id 挂单调用须迁移为 market_listing_id。 #### market_listing_id CSFloat listing id,具体挂单 ID ```json { "template": "https://csfloat.com/item/{value}", "format": "numeric", "meaning": "CSFloat listing id,具体挂单 ID", "example": "324288155723370196", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=CSFLOAT&app_id=730&market_listing_id=324288155723370196 ``` 解析结果: ```json { "market_code": "CSFLOAT", "app_id": 730, "url": "https://csfloat.com/item/324288155723370196", "via": "native", "resolved_by": "market_listing_id", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://csfloat.com/search?market_hash_name={value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": { "price_asc": "sort_by=lowest_price", "price_desc": "sort_by=highest_price", "newest": "sort_by=most_recent", "float_asc": "sort_by=lowest_float", "float_desc": "sort_by=highest_float" } } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=CSFLOAT&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "CSFLOAT", "app_id": 730, "url": "https://csfloat.com/search?market_hash_name=AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [名称到搜索参数转换](https://csfloat.com/chunk-CYPDX7OC.js) - [路由 queryParams 同步](https://csfloat.com/chunk-W2TPUFBA.js) - [排序枚举与 UI 标签](https://csfloat.com/chunk-R5TOQCJ3.js) - [详情导航](https://csfloat.com/chunk-DGMEDJIT.js) ### CSTRADE · CS.TRADE app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:cs.trade。 - store 与 trade 页面参数不能混用;本服务只使用已核实的 store 名称规则。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://cs.trade/store?market_name={value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=CSTRADE&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "CSTRADE", "app_id": 730, "url": "https://cs.trade/store?market_name=AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [官方商品搜索页](https://cs.trade/store?market_name=MP5-SD%20%7C%20Gold%20Leaf%20%28Field-Tested%29) ### SKINLAND · Skin.Land app_id:730;来源核实:2026-10-23;状态:有可用规则。 目标主机白名单:skin.land。 - 调用方只提供标准名称,无需生成或提供 slug;本服务根据官方商品 URL 样本归纳的规则转换。 - 使用 cs2 商品路径,保留 ★ 和名称标点;不擅自补充 Doppler 相位,不保证商品有库存。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name 传入完整 Steam 标准名称,由本服务生成该站商品路径。 ```json { "template": "https://skin.land/market/cs2/{value}/", "format": "name", "transform": "catalog_slug", "meaning": "传入完整 Steam 标准名称,由本服务生成该站商品路径。", "example": "AK-47 | Redline (Field-Tested)", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=SKINLAND&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "SKINLAND", "app_id": 730, "url": "https://skin.land/market/cs2/ak-47-redline-field-tested/", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [官方商品页](https://skin.land/market/cs2/ak-47-redline-field-tested/) - [StatTrak 名称样本](https://skin.land/market/cs2/stattrak-ak-47-redline-field-tested/) - [星号与 StatTrak 样本](https://skin.land/market/cs2/%E2%98%85-stattrak-bayonet-doppler-factory-new/) - [保留撇号的商品样本](https://skin.land/market/cs2/m4a1-s-chantico%27s-fire-field-tested/) - [音乐盒特殊标点样本](https://skin.land/market/cs2/music-kit-bbno%24%2C-u-mad%21/?page=12) - [印花点号与括号样本](https://skin.land/market/cs2/sticker-team-ldlc.com-holo-katowice-2014/) ### CSMONEY_MARKET · CS.MONEY (Market) app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:cs.money。 - Market 与 Trade 是独立市场代码,不能混用排序参数。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://cs.money/market/buy/?search={value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": { "price_asc": "sort=price&order=asc", "price_desc": "sort=price&order=desc", "newest": "sort=insertDate&order=desc", "float_asc": "sort=float&order=asc", "float_desc": "sort=float&order=desc" } } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=CSMONEY_MARKET&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "CSMONEY_MARKET", "app_id": 730, "url": "https://cs.money/market/buy/?search=AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [market UI](https://cs.money/reborn/static/store.k5lytik4.js) - [查询模型](https://cs.money/reborn/static/model.i0cgr4v8.js) ### CSMONEY_TRADE · CS.MONEY (Trade) app_id:730;来源核实:2026-10-22;状态:有可用规则。 目标主机白名单:cs.money。 - 仅核实名称搜索;不直接复用 Market 的排序参数。 - market_listing_id:不支持。 - market_item_id:不支持。 #### steam_market_hash_name Steam 标准市场名称,原样编码后定位商品或搜索列表 ```json { "template": "https://cs.money/csgo/trade/?search={value}", "format": "name", "meaning": "Steam 标准市场名称,原样编码后定位商品或搜索列表", "example": "AK-47 | Redline (Field-Tested)", "sorts": {} } ``` 请求示例: ```text https://link.cs.cheap/resolve?market_code=CSMONEY_TRADE&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29 ``` 解析结果: ```json { "market_code": "CSMONEY_TRADE", "app_id": 730, "url": "https://cs.money/csgo/trade/?search=AK-47%20%7C%20Redline%20(Field-Tested)", "via": "native", "resolved_by": "steam_market_hash_name", "requested_sort": "default", "applied_sort": "default", "warnings": [] } ``` 证据来源: - [官方 trade 搜索页](https://cs.money/csgo/trade/?search=Stan) ## 响应字段 - market_code:规范化的大写市场代码 - app_id:游戏 ID - url:第三方目标 URL - via:固定为 native - resolved_by:实际使用的标识入参名称 - requested_sort:调用方请求的排序 - applied_sort:实际应用的排序 - warnings:提示代码数组;不支持排序时含 SORT_UNSUPPORTED ## 错误 ```json { "error": { "code": "MODE_UNSUPPORTED", "message": "BUFF does not support steam_market_hash_name; consult /reference.json" } } ``` - 400 INVALID_INPUT:缺少必填值、未知/重复/空参数、长度或 app_id / sort 格式错误。 - 400 UNKNOWN_MARKET:market_code 不在已登记市场中。 - 400 INVALID_IDENTIFIER:所选模式可用,但 ID 格式错误,或名称转换后为空或点路径段。 - 422 APP_UNSUPPORTED:该市场尚未支持指定 app_id。 - 422 MODE_UNSUPPORTED:该市场不支持所选的名称、款式 ID 或挂单 ID 模式。 - 404 NOT_FOUND:端点或静态资源不存在。 - 405 METHOD_NOT_ALLOWED:仅支持 GET / HEAD,响应含 Allow: GET, HEAD。 - 500 INVALID_TARGET:适配器生成的目标未通过固定 HTTPS 主机白名单校验。 - 500 INTERNAL_ERROR:服务内部错误,不向调用方返回内部异常详情。 - 503 ASSETS_UNAVAILABLE:文档静态资源绑定不可用;链接转换不依赖此绑定。 ## 版本与迁移 - 0.3.0 将站点路径转换收回本服务:LIS-SKINS、Skin.Land 改传 steam_market_hash_name,由 Worker 生成商品路径;WaxPeer 使用名称搜索。三站原 market_item_id slug 模式不再接收,返回 MODE_UNSUPPORTED。 - 0.2.0 移除 D1:映射数据由上游管理,本服务仅进行纯参数转换。旧 MAPPING_REQUIRED / MAPPING_UNAVAILABLE / INVALID_MAPPING 不再使用。 - market_item_id 仅表示饰品款式;CSFloat 旧版 market_item_id 挂单调用改传 market_listing_id。LOOT.Farm 库存 ID 与 white.market 未确认语义的 slug-ID 模式停止接收。 - 无参数根路径改为中文文档;带参数根路径保留。建议新调用统一使用 /redirect 或 /resolve。 - 上游 PostgreSQL 的 MarketItemId.market_item_id 可传入同名款式参数;items.id 仅在明确是原始挂单 ID 时可传 market_listing_id,生成 ID、组 ID、资产 ID 均不能直接套用。 - 规则变化必须同时更新来源核实日期、接口版本/更新日期和契约测试。第三方核实日期与文档更新日期分别标注,不能用文档发布日期冒充全站重新验证。