开发者与开放平台免费 REST API博客卡片与嵌入组件

TAKE.SKIN API 与组件开放平台

免费获取 CS2 饰品行情数据、职业选手配置与准星代码,并支持零成本将职业选手、皮肤 3D 预览、武器箱以及模拟器/配装器生成卡片一键嵌入到您的文章或外部网站中。

平台概览

Take.Skin 开放平台同时提供高性能 REST JSON 接口与交互式前端嵌入卡片。无论是构建您自己的 CS2 网站、撰写 Markdown 博客文章,还是在外部网站中嵌入实时皮肤卡片,所有功能均完全免费,无需申请 API Key。

接口基地址 (Base URL)

https://take.skin

身份验证

无需密钥认证 (基于 IP 的透明流控)

卡片嵌入与 Markdown 短代码

支持职业选手、饰品皮肤、武器箱、开箱模拟器与配装生成器

跨域 (CORS) 与 Iframe 嵌入

全域开放 — 可在任意域名、CMS(WordPress/Notion等)或自建网站中直接嵌入

博客卡片与嵌入组件生成器

通过下方生成器实时配置并体验各类卡片的真实交互效果。一键复制专属 Markdown 短代码用于博客文章,或获取 HTML Iframe 嵌入代码直接在任意第三方网页中展示高质感 CS2 卡片。

博客卡片与嵌入组件Markdown & HTML Embed

博客卡片与嵌入组件生成器

Take.Skin 支持在文章中无缝插入职业选手、饰品皮肤、武器箱、开箱模拟器与配装生成器等高质感卡片。只需简单的 Markdown 语法或 Iframe 即可随处调用。

2. 配置参数 (Configure Options)
热门职业选手 (点击快速选择):
实时渲染组件
take.skin/embed/player/s1mple
测试嵌入独立链接
[s1mple — 职业选手准星与外设设置](player:s1mple)

💡 博客 Markdown 规则: 在 Take.Skin 博客文章(以及兼容的 React-Markdown 渲染器)中,单独成行的链接格式如 [文案](player:slug) 或 [文案](skin:slug) 会自动转换为此高质感卡片组件。

博客卡片语法规范与嵌入参考

Take.Skin 支持在 Markdown 文章中原生解析卡片组件,也提供独立的嵌入路由。以下是全部 5 种卡片组件的语法规范与渲染效果说明。

组件类型Markdown 短代码格式Iframe 嵌入独立路由渲染内容与特性
职业选手卡片[Player Name](player:s1mple)/embed/player/s1mple?lang=cn选手头像、鼠标灵敏度/DPI、准星代码一键复制、分辨率与全套外设。
饰品皮肤卡片[Skin Name](skin:ak-47-asiimov)/embed/skin/ak-47-asiimov?lang=cn皮肤 3D 预览图、品质动态光晕边框、实时 Steam 市场底价与走势图链接。
武器箱卡片[Case Name](case:kilowatt-case)/embed/case/kilowatt-case?lang=cn武器箱高清图、当前市场售价,并支持一键进入模拟器直接开箱。
开箱模拟器卡片[Simulator](simulator:en)/embed/simulator?lang=cn模拟器功能大卡片,展示官方掉落概率(~0.26% 金色)与开箱回报率追踪。
配装生成器卡片[Loadout Generator](loadout:en)/embed/loadout?lang=cn智能配装器 Banner,展示色系搭配、预算配装、手套刀具匹配与导出分享。

Markdown 排版规则

  • 单行独立卡片: 将 Markdown 链接单独写在独立的一行段落中,即可自动触发卡片大组件渲染。 ([s1mple](player:s1mple))
  • 行内文字链接: 如果链接嵌入在一段话的正文中,会自动渲染为精致的行内超链接直达对应页面。
  • 多语言参数: 对于模拟器和配装器卡片,可在冒号后添加 :en 或 :zh 来指定卡片显示语言。

接口频率限制 (Rate Limits)

频率限制基于请求方 IP 地址计算,在 1 小时滑动窗口内共享。每次 HTTP GET 请求计为 1 次。市场行情数据已内置高速缓存,无需频繁轮询。所有响应头中均包含剩余额度信息。

60

每小时请求上限 (所有公共接口)

最长 30 天

价格历史跨度

最多 100 件

每页皮肤数量

响应头信息 (Response Headers)

X-RateLimit-Limit当前窗口允许的最大请求数

X-RateLimit-Remaining当前时间窗口内剩余的请求次数

X-RateLimit-Reset距离重置频率限制的剩余秒数

GET/api/public/v1/skins

分页获取 CS2 饰品皮肤列表,支持按武器类型、品质等级以及关键词进行多维过滤搜索。

请求参数

参数名类型必填说明
pageintegerPage index (0-based). Default: 0
limitintegerItems per page (1-100). Default: 50
searchstringSearch skins by name (case-insensitive)
categorystringFilter by weapon category: RIFLES, PISTOLS, SMGS, KNIVES, HEAVY, OTHER
weaponstringFilter by weapon slug, e.g. ak-47, karambit
raritystringFilter by rarity: Covert, Classified, Restricted, Mil-Spec Grade, etc.

请求示例

curl "https://take.skin/api/public/v1/skins?page=0&limit=5&category=RIFLES"

响应示例

Response
{
  "page": 0,
  "limit": 5,
  "total": 487,
  "totalPages": 98,
  "data": [
    {
      "name": "Asiimov",
      "slug": "ak-47-asiimov",
      "rarity": "Covert",
      "price": 34.20,
      "hasStatTrak": true,
      "hasSouvenir": false,
      "marketHashName": "AK-47 | Asiimov (Field-Tested)",
      "weapon": {
        "name": "AK-47",
        "slug": "ak-47",
        "category": "RIFLES"
      }
    }
  ]
}
GET/api/public/v1/skins/{marketHashName}/price-history

获取指定皮肤变体的每日价格走势数据。免费版支持最长 30 天历史。marketHashName 参数需 URL 编码。

请求参数

参数名类型必填说明
marketHashNamestringURL-encoded Steam market hash name, e.g. "AK-47 | Asiimov (Field-Tested)"
daysintegerNumber of days of history (1-30). Default: 7

请求示例

curl "https://take.skin/api/public/v1/skins/AK-47%20%7C%20Asiimov%20(Field-Tested)/price-history?days=30"

响应示例

Response
{
  "marketHashName": "AK-47 | Asiimov (Field-Tested)",
  "currency": "USD",
  "days": 30,
  "count": 30,
  "data": [
    { "date": "2026-03-18", "price": 32.50, "volume": 142 },
    { "date": "2026-03-19", "price": 33.10, "volume": 98 },
    { "date": "2026-03-20", "price": 34.20, "volume": 201 }
  ]
}
GET/api/public/v1/cases

获取所有 CS2 武器箱列表及其实时市场参考价格。

请求示例

curl "https://take.skin/api/public/v1/cases"

响应示例

Response
{
  "count": 42,
  "data": [
    {
      "name": "Kilowatt Case",
      "slug": "kilowatt-case",
      "price": 1.23,
      "marketHashName": "Kilowatt Case"
    }
  ]
}
GET/api/public/v1/collections

获取所有 CS2 官方饰品收藏品合集列表。

请求示例

curl "https://take.skin/api/public/v1/collections"

响应示例

Response
{
  "count": 68,
  "data": [
    {
      "name": "The Alpha Collection",
      "slug": "the-alpha-collection"
    }
  ]
}
GET/api/mobile/players/{slug}

获取职业选手的准星代码、鼠标灵敏度、eDPI、显示器分辨率设置及战队外设详情。

请求参数

参数名类型必填说明
slugstringPro player slug identifier, e.g. s1mple, m0NESY, donk, zywoo

请求示例

curl "https://take.skin/api/mobile/players/s1mple"

响应示例

Response
{
  "id": "cm1...",
  "name": "s1mple",
  "slug": "s1mple",
  "image": "https://img.take.skin/r2takeskinimg/player-s1mple.webp",
  "team": "Natus Vincere",
  "country": "Ukraine",
  "data": {
    "settings": {
      "mouse": { "DPI": "400", "Sensitivity": "3.09", "eDPI": "1236" },
      "crosshair": { "code": "CSGO-32t4h-s342q-..." }
    },
    "gear": [
      { "type": "Mouse", "name": "Logitech G Pro X Superlight" },
      { "type": "Monitor", "name": "ZOWIE XL2566K" }
    ]
  }
}
GET/api/mobile/skins/{slug}

获取皮肤的完整元数据、3D 渲染图路径、品质分级、磨损变体以及实时市场起步价。

请求参数

参数名类型必填说明
slugstringSkin slug identifier, e.g. ak-47-asiimov, awp-dragon-lore

请求示例

curl "https://take.skin/api/mobile/skins/ak-47-asiimov"

响应示例

Response
{
  "name": "AK-47 | Asiimov",
  "slug": "ak-47-asiimov",
  "rarity": "Covert",
  "imageUrl": "https://img.take.skin/r2takeskinimg/ak-47-asiimov-float.webp",
  "minPrice": 28.50,
  "weaponType": { "name": "AK-47", "category": "RIFLES" }
}

错误状态码

所有错误响应均返回包含 error 和 message 字段的标准 JSON 对象。

200

OK

请求成功。

400

Bad Request

请求参数无效(例如查询天数超过 30 天或缺少必填字段)。

429

Too Many Requests

超出请求频率限制,请等待重置后再试(参考 Retry-After 响应头)。

500

Internal Server Error

服务器内部异常,请稍后重试。

错误响应示例

Response
{
  "error": "Bad Request",
  "message": "Free API only provides up to 30 days of price history. You requested 90 days."
}

遇到问题或有任何建议?欢迎加入我们的官方 Discord 社区.

开发者平台与组件嵌入 — 免费 CS2 皮肤 API 与博客卡片组件 | Take.Skin