CSCHEAP
JSON
CSCHEAP / LINK

市场链接参考

v0.3.0

一组统一参数,直达第三方饰品市场。

查阅每个市场接受的标识、排序方式与转换规则。页面与实际解析逻辑同源,可作为人工接入和 AI 对齐的参考。

文档更新 UTC23 个市场已登记22 个有可用规则

快速接入

GET / HEAD

推荐使用 /redirect 跳转;接入时先用 /resolve 检查生成的链接。

示例 · BUFF 款式页面
https://link.cs.cheap/redirect?market_code=BUFF&app_id=730&market_item_id=430

01统一参数

6 个参数

市场与游戏必填;标准名称、款式 ID、挂单 ID 至少提供一个。

参数要求说明
market_codestring · ≤ 32必填目标市场代码,不区分大小写,必须在下方市场表中。
app_idinteger · ≤ 32必填Steam 游戏 ID,无默认值。规范十进制整数 1–2147483647,不接受前导零、小数或科学计数法。
steam_market_hash_namestring · ≤ 512三选一原样传入 Steam 标准名称,与 app_id 一起标识一种饰品。无需改写名称或生成 slug;站点专用格式由本服务转换。
market_item_idstring · ≤ 256三选一真实的平台饰品款式 ID,如 BUFF goods_id、UUYP templateId、C5 itemId。不要传 URL slug,按市场支持的模式提供。
market_listing_idstring · ≤ 256三选一该市场的具体挂单 ID。不是 Steam asset_id,也不能传爬虫生成的 UUID 或物品组 ID。
sortenum · ≤ 32可选默认 default。仅应用已核实的网页排序;不支持时返回默认排序和 SORT_UNSUPPORTED 提示。
款式与挂单是两个层级。

market_item_id 对应一种饰品;market_listing_id 对应某条具体挂单。不要将 Steam 资产 ID 或内部生成的 ID 当作挂单 ID。

02转换约定

挂单 ID款式 ID标准名称按优先级选择
  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 响应头。

统一排序

default网站默认
price_asc价格从低到高
price_desc价格从高到低
newest最新上架
float_asc磨损值从低到高
float_desc磨损值从高到低

03市场支持

23 个市场

“支持”指可构造链接;“—”表示当前模式未支持。点击市场名称查看模板、示例和核实来源。

标准名称原样传入,站点路径由本服务转换。SkinSwap 当前没有已核实的通用转换规则。

04逐站转换规则

展开查看各模式的完整模板与示例。来源核实日期独立于文档更新日期;示例不保证商品或挂单仍然有效。

LOOT.Farm LOOTFARM1 种模式
游戏 730 / 570 / 440 / 252490来源核实

目标主机:loot.farm

  • 仅支持名称定位。旧版 itemIDs 使用库存条目 ID,不能证明它属于款式或挂单,本版不接收该 ID。
  • 网站可能在无匹配库存时清空过滤器;本服务不查询库存。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://loot.farm/en/#skin={app_id}_{value}
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=LOOTFARM&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://loot.farm/en/#skin=730_AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

Tradeit TRADEITGG1 种模式
游戏 730来源核实

目标主机:tradeit.gg

  • 名称为搜索关键词,结果可能包含相关商品。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://tradeit.gg/csgo/store?search={value}
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=TRADEITGG&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://tradeit.gg/csgo/store?search=AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

CS Deals CSDEALS1 种模式
游戏 730 / 570 / 440 / 252490来源核实

目标主机:cs.deals

  • 磨损排序仅 app_id=730;其他游戏只支持价格升降与最新上架。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://cs.deals/market/{game}?search={value}

game 映射:440 → tf2;570 → dota2;730 → csgo;252490 → rust

排序映射
  • price_asc → sortBy=price_asc
  • price_desc → sortBy=price_desc
  • newest → sortBy=newest
  • float_asc → sortBy=float_asc 仅 app_id=730
  • float_desc → sortBy=float_desc 仅 app_id=730
请求示例 · GET
https://link.cs.cheap/resolve?market_code=CSDEALS&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://cs.deals/market/csgo?search=AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

Steam Community Market STEAMCOMMUNITY1 种模式
游戏 任意合法 ID来源核实

目标主机:steamcommunity.com

  • 支持任意合法 app_id 的路径构造,不代表该游戏一定开放 Steam 市场。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://steamcommunity.com/market/listings/{app_id}/{value}
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=STEAMCOMMUNITY&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://steamcommunity.com/market/listings/730/AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

BUFF BUFF1 种模式
游戏 730来源核实

目标主机:buff.163.com

  • 须由调用方提供 goods_id;不再根据 Steam 名称查找 ID。最新上架排序未核实。

steam_market_hash_name 不支持

款式 IDmarket_item_id

BUFF goods_id,饰品款式 ID

无前导零的正整数字符串,不转换为 JavaScript Number · ^[1-9][0-9]*$

转换模板
https://buff.163.com/goods/{value}
排序映射
  • 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
请求示例 · GET
https://link.cs.cheap/resolve?market_code=BUFF&app_id=730&market_item_id=430
目标 URL
https://buff.163.com/goods/430
查看解析 JSON

market_listing_id 不支持

悠悠有品 UUYP1 种模式
游戏 730来源核实

目标主机:www.youpin898.com

  • 须提供 templateId;listType=10 对应购买列表。网页排序参数未核实。

steam_market_hash_name 不支持

款式 IDmarket_item_id

UUYP templateId,饰品模板 ID

无前导零的正整数字符串,不转换为 JavaScript Number · ^[1-9][0-9]*$

转换模板
https://www.youpin898.com/market/goods-list?listType=10&templateId={value}&gameId=730
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=UUYP&app_id=730&market_item_id=12345
目标 URL
https://www.youpin898.com/market/goods-list?listType=10&templateId=12345&gameId=730
查看解析 JSON

market_listing_id 不支持

C5GAME C5GAME1 种模式
游戏 730来源核实

目标主机:www.c5game.com、c5game.com

  • 须提供 itemId;路径中的 item 为固定展示段,不负责定位商品。

steam_market_hash_name 不支持

款式 IDmarket_item_id

C5 itemId,饰品款式 ID;保留长数字字符串

无前导零的正整数字符串,不转换为 JavaScript Number · ^[1-9][0-9]*$

转换模板
https://www.c5game.com/csgo/{value}/item/sell
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=C5GAME&app_id=730&market_item_id=1098192327056363520
目标 URL
https://www.c5game.com/csgo/1098192327056363520/item/sell
查看解析 JSON

market_listing_id 不支持

LIS-SKINS LISSKINS1 种模式
游戏 730来源核实

目标主机:lis-skins.com

  • 调用方只提供标准名称,无需生成或提供 slug;本服务根据官方商品 URL 样本归纳的规则转换。
  • 保留 ★ 和名称标点,不擅自补充 Doppler 相位;生成页面链接不保证该款式有库存。

标准名称steam_market_hash_name

传入完整 Steam 标准名称,由本服务生成该站商品路径。

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

名称转换由本服务完成
  1. 将名称转为小写,保留 Unicode,不进行音译或去除重音。
  2. 删除 ™、|、(、) 四种字符,保留括号中的文字。
  3. 去掉首尾空白,将连续空白替换为一个短横线。

保留 ★、撇号、逗号、$、!、点号及其余字符;保留 StatTrak 和 Souvenir 文字。

将结果作为单一路径段按 RFC 3986 编码,包括 !、撇号、括号和 *。

转换后为空、. 或 .. 时返回 400 INVALID_IDENTIFIER。

由各市场官方商品 URL 样本归纳,不保证库存或任意名称都有商品页面。

转换模板
https://lis-skins.com/market/csgo/{value}/
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=LISSKINS&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://lis-skins.com/market/csgo/ak-47-redline-field-tested/
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

Market CSGO MARKETCSGO1 种模式
游戏 730来源核实

目标主机:market.csgo.com

  • 使用编码后的标准名称定位商品,不需要猜测分类路径。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://market.csgo.com/en/{value}
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=MARKETCSGO&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://market.csgo.com/en/AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

Store Dota 2 MARKETDOTA21 种模式
游戏 570来源核实

目标主机:market.dota2.net

  • 空格必须输出 %20;站点搜索脚本不把加号转换为空格。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://market.dota2.net/en/?search={value}
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=MARKETDOTA2&app_id=570&steam_market_hash_name=Dragonclaw+Hook
目标 URL
https://market.dota2.net/en/?search=Dragonclaw%20Hook
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

white.market WHITEMARKET1 种模式
游戏 730来源核实

目标主机:white.market

  • 名称搜索支持五种排序。旧版 slug-ID 页面尚未确认是款式还是挂单,本版不开放 ID 模式。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://white.market/market?name={value}
排序映射
  • price_asc → sort=pr_a
  • price_desc → sort=pr_d
  • newest → sort=cr_d
  • float_asc → sort=fl_a
  • float_desc → sort=fl_d
请求示例 · GET
https://link.cs.cheap/resolve?market_code=WHITEMARKET&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://white.market/market?name=AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

Skinport SKINPORT1 种模式
游戏 730来源核实

目标主机:skinport.com

  • 名称用于搜索;数字 ID 详情路径与网页排序参数未核实。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://skinport.com/market?search={value}
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=SKINPORT&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://skinport.com/market?search=AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

核实来源官方首页
HaloSkins HALOSKINS1 种模式
游戏 730来源核实

目标主机:www.haloskins.com

  • 使用 keyword 搜索;页面可能受到登录或区域限制。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://www.haloskins.com/market?keyword={value}
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=HALOSKINS&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://www.haloskins.com/market?keyword=AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

SkinSwap SKINSWAP暂不支持
游戏 730来源核实

目标主机:skinswap.com、www.skinswap.com

  • 暂无已核实的通用转换规则。商品 URL 包含款式 slug 与可选磨损段,现有参数不能可靠构造;所有模式返回 422 MODE_UNSUPPORTED。

steam_market_hash_name 不支持

market_item_id 不支持

market_listing_id 不支持

WaxPeer WAXPEER1 种模式
游戏 730来源核实

目标主机:waxpeer.com、www.waxpeer.com

  • 传入标准名称进入商品搜索列表,无需提供 slug。单独的数字挂单 ID 不足以构造完整链接,本版不开放挂单模式。
  • 最新上架使用已核实的 order=date&sort=ASC;不凭直觉改为 DESC。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://waxpeer.com/?game=csgo&search={value}
排序映射
  • price_asc → order=price&sort=ASC
  • price_desc → order=price&sort=DESC
  • newest → order=date&sort=ASC
请求示例 · GET
https://link.cs.cheap/resolve?market_code=WAXPEER&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://waxpeer.com/?game=csgo&search=AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

Shadowpay SHADOWPAY1 种模式
游戏 730来源核实

目标主机:shadowpay.com

  • 仅核实名称搜索与价格升降排序。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://shadowpay.com/csgo-items?search={value}
排序映射
  • price_asc → sort_column=price&sort_dir=asc
  • price_desc → sort_column=price&sort_dir=desc
请求示例 · GET
https://link.cs.cheap/resolve?market_code=SHADOWPAY&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://shadowpay.com/csgo-items?search=AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

Swap.gg SWAPGG1 种模式
游戏 730来源核实

目标主机:swap.gg

  • 名称可能是全文搜索,不保证严格匹配磨损分类。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://swap.gg/cs2/store?search={value}
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=SWAPGG&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://swap.gg/cs2/store?search=AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

DMarket DMARKET1 种模式
游戏 730来源核实

目标主机:dmarket.com

  • 仅核实 CS2 名称搜索与价格升降排序。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://dmarket.com/ingame-items/item-list/csgo-skins?title={value}
排序映射
  • price_asc → orderBy=price&orderDir=asc
  • price_desc → orderBy=price&orderDir=desc
请求示例 · GET
https://link.cs.cheap/resolve?market_code=DMARKET&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://dmarket.com/ingame-items/item-list/csgo-skins?title=AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

CSFloat CSFLOAT2 种模式
游戏 730来源核实

目标主机:csfloat.com

  • market_listing_id 是市场挂单 ID,不是 Steam asset_id;挂单详情不应用列表排序。
  • 原 0.1.0 的 market_item_id 挂单调用须迁移为 market_listing_id。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://csfloat.com/search?market_hash_name={value}
排序映射
  • 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
请求示例 · GET
https://link.cs.cheap/resolve?market_code=CSFLOAT&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://csfloat.com/search?market_hash_name=AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

挂单 IDmarket_listing_id

CSFloat listing id,具体挂单 ID

无前导零的正整数字符串,不转换为 JavaScript Number · ^[1-9][0-9]*$

转换模板
https://csfloat.com/item/{value}
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=CSFLOAT&app_id=730&market_listing_id=324288155723370196
目标 URL
https://csfloat.com/item/324288155723370196
查看解析 JSON
CS.TRADE CSTRADE1 种模式
游戏 730来源核实

目标主机:cs.trade

  • store 与 trade 页面参数不能混用;本服务只使用已核实的 store 名称规则。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://cs.trade/store?market_name={value}
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=CSTRADE&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://cs.trade/store?market_name=AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

Skin.Land SKINLAND1 种模式
游戏 730来源核实

目标主机:skin.land

  • 调用方只提供标准名称,无需生成或提供 slug;本服务根据官方商品 URL 样本归纳的规则转换。
  • 使用 cs2 商品路径,保留 ★ 和名称标点;不擅自补充 Doppler 相位,不保证商品有库存。

标准名称steam_market_hash_name

传入完整 Steam 标准名称,由本服务生成该站商品路径。

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

名称转换由本服务完成
  1. 将名称转为小写,保留 Unicode,不进行音译或去除重音。
  2. 删除 ™、|、(、) 四种字符,保留括号中的文字。
  3. 去掉首尾空白,将连续空白替换为一个短横线。

保留 ★、撇号、逗号、$、!、点号及其余字符;保留 StatTrak 和 Souvenir 文字。

将结果作为单一路径段按 RFC 3986 编码,包括 !、撇号、括号和 *。

转换后为空、. 或 .. 时返回 400 INVALID_IDENTIFIER。

由各市场官方商品 URL 样本归纳,不保证库存或任意名称都有商品页面。

转换模板
https://skin.land/market/cs2/{value}/
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=SKINLAND&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://skin.land/market/cs2/ak-47-redline-field-tested/
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

CS.MONEY (Market) CSMONEY_MARKET1 种模式
游戏 730来源核实

目标主机:cs.money

  • Market 与 Trade 是独立市场代码,不能混用排序参数。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://cs.money/market/buy/?search={value}
排序映射
  • 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
请求示例 · GET
https://link.cs.cheap/resolve?market_code=CSMONEY_MARKET&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://cs.money/market/buy/?search=AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

CS.MONEY (Trade) CSMONEY_TRADE1 种模式
游戏 730来源核实

目标主机:cs.money

  • 仅核实名称搜索;不直接复用 Market 的排序参数。

标准名称steam_market_hash_name

Steam 标准市场名称,原样编码后定位商品或搜索列表

Steam 标准名称,保留空格与 Unicode,禁止纯空白及单独的 . 或 ..

转换模板
https://cs.money/csgo/trade/?search={value}
排序映射

仅 default;其他排序返回 SORT_UNSUPPORTED。

请求示例 · GET
https://link.cs.cheap/resolve?market_code=CSMONEY_TRADE&app_id=730&steam_market_hash_name=AK-47+%7C+Redline+%28Field-Tested%29
目标 URL
https://cs.money/csgo/trade/?search=AK-47%20%7C%20Redline%20(Field-Tested)
查看解析 JSON

market_item_id 不支持

market_listing_id 不支持

05响应与错误

端点

/

无查询串时返回本中文参考文档;带查询串时沿用跳转入口,按参数校验后返回 302。

/redirect

推荐跳转入口,Location 为第三方商品或挂单链接。

/resolve

返回解析 JSON,用于接入与调试,不访问第三方站点。

/markets

23 个市场的能力、规则、来源与核实日期。

/reference.json

完整机器可读契约,与首页及运行转换规则同源。

/llms.txt

完整纯文本 Markdown 参考,供 AI 与文本客户端读取。

/health

仅检查 Worker 存活,不承诺第三方网站可用。

解析响应

GET /resolve · 200
{
  "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": []
}
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"
  }
}
HTTP错误代码说明
400INVALID_INPUT缺少必填值、未知/重复/空参数、长度或 app_id / sort 格式错误。
400UNKNOWN_MARKETmarket_code 不在已登记市场中。
400INVALID_IDENTIFIER所选模式可用,但 ID 格式错误,或名称转换后为空或点路径段。
422APP_UNSUPPORTED该市场尚未支持指定 app_id。
422MODE_UNSUPPORTED该市场不支持所选的名称、款式 ID 或挂单 ID 模式。
404NOT_FOUND端点或静态资源不存在。
405METHOD_NOT_ALLOWED仅支持 GET / HEAD,响应含 Allow: GET, HEAD。
500INVALID_TARGET适配器生成的目标未通过固定 HTTPS 主机白名单校验。
500INTERNAL_ERROR服务内部错误,不向调用方返回内部异常详情。
503ASSETS_UNAVAILABLE文档静态资源绑定不可用;链接转换不依赖此绑定。

06版本记录

2026-10-23

v0.3.0 · 标准名称转换与统一参考

  • 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 均不能直接套用。
  • 规则变化必须同时更新来源核实日期、接口版本/更新日期和契约测试。第三方核实日期与文档更新日期分别标注,不能用文档发布日期冒充全站重新验证。

真相源:本页、/reference.json、/llms.txt 与 /markets 由同一套执行规则生成。请在接入记录中保留所用版本。