API
API 文档
快速开始
每个请求都发送到 https://api.apiskins.com,并需要在 X-API-KEY 请求头中提供密钥。响应为 JSON;价格为 USD。
失败的请求会返回 HTTP 状态码和 JSON 错误信息。 限额和错误
整个 API 也提供 OpenAPI 文档,供代码生成器和 AI 智能体使用。
交易平台
用于 providers 参数以及响应中出现的平台名称。每个平台都有挂单;只有标记的平台才有求购单。
cs_floatCSFloatbuff_163Buff.163youpinYouPin898dmarket求购单DMarketskinportSkinportcs_moneycs.moneymarket_csgo求购单Market.CSGObuff_marketBuff.MarketwaxpeerWaxpeerlis_skinsLis-skinsskin_baronSkinBaronhalo_skinsHaloSkinswhite_marketWhite.Marketshadow_payShadowPayskinsSKINSskin_swapSkinSwapcs_dealsCS.Dealsloot_farmLoot.farmcs_tradeCS.TRADEtradeitTradeit.ggsteam求购单SteamsihSIH Market挂单
我们跟踪的每个交易平台上每件物品的最低挂单价。对支持的客户端使用 gzip 压缩响应,因此所有平台的所有物品可在一次请求中返回。
我们跟踪武器饰品(普通和 StatTrak™)、刀具、手套、武器箱和胶囊、探员、音乐盒、布章、挂件、徽章和通行证。不跟踪纪念品、印花和涂鸦。
多件物品的挂单
/v1/offers各交易平台上物品的最低挂单。用 market_hash_name 指定最多 100 件物品进行批量查询,或省略以在一个响应中获取所有挂售物品。没有任何平台挂售的物品不会出现在响应中。
参数
market_hash_namequery, 可选string物品名称。重复以批量查询最多 100 件。省略时返回所有挂售物品
providersquery, 可选string逗号分隔的交易平台(见交易平台)。省略时返回全部
请求
type ItemOffers = {
market_hash_name: string;
offers: { provider: string; price: number }[];
};
const API_KEY = process.env.APISKINS_API_KEY!;
const params = new URLSearchParams([
["market_hash_name", "AK-47 | Redline (Field-Tested)"],
["market_hash_name", "AWP | Asiimov (Field-Tested)"],
["providers", "cs_float,buff_163"],
]);
const response = await fetch(`https://api.apiskins.com/v1/offers?${params}`, {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const offers: ItemOffers[] = await response.json();响应 200
[
{
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"offers": [
{
"provider": "buff_163",
"price": 31.42
},
{
"provider": "cs_float",
"price": 33.1
}
]
}
]- 免费订阅只返回 Steam:不指定 providers 时,回答只包含 Steam;请求其他交易平台会返回 403。付费订阅可获取所有交易平台。
- 未挂售某物品的平台不会出现在其挂单中。
- 对支持的客户端使用 gzip 压缩响应(所有 HTTP 库都支持;curl 需添加 --compressed):所有平台的所有物品约 28 MB JSON,gzip 后不到 2 MB。
单件物品的挂单
/v1/offers/{market_hash_name}单件物品在各平台的最低挂单。没有平台挂售时返回 404。
参数
market_hash_namepathstringURL 编码的物品名称
providersquery, 可选string逗号分隔的交易平台(见交易平台)。省略时返回全部
请求
type ItemOffers = {
market_hash_name: string;
offers: { provider: string; price: number }[];
};
const API_KEY = process.env.APISKINS_API_KEY!;
const market_hash_name = "AK-47 | Redline (Field-Tested)";
const params = new URLSearchParams([
["providers", "cs_float,dmarket"],
]);
const response = await fetch(`https://api.apiskins.com/v1/offers/${encodeURIComponent(market_hash_name)}?${params}`, {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const offers: ItemOffers = await response.json();响应 200
{
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"offers": [
{
"provider": "buff_163",
"price": 31.42
},
{
"provider": "cs_float",
"price": 33.1
}
]
}- 免费订阅只返回 Steam:不指定 providers 时,回答只包含 Steam;请求其他交易平台会返回 403。付费订阅可获取所有交易平台。
求购单
DMarket、Market.CSGO 和 Steam 上每件物品的最高求购单:你现在能卖出的价格。与挂单使用相同的密钥、相同的 30 天限额和相同的压缩响应。
多件物品的求购单
/v1/orders各平台上物品的最高求购单:DMarket(每隔几秒刷新)、Market.CSGO(每 15 分钟)和 Steam(每小时)。用 market_hash_name 指定最多 100 件物品进行批量查询,或省略以在一个响应中获取所有有求购单的物品。没有求购单的物品不会出现。
参数
market_hash_namequery, 可选string物品名称。重复以批量查询最多 100 件。省略时返回所有有求购单的物品
providersquery, 可选string逗号分隔的交易平台:dmarket、market_csgo、steam。省略时返回全部
请求
type ItemOrders = {
market_hash_name: string;
orders: { provider: string; price: number }[];
};
const API_KEY = process.env.APISKINS_API_KEY!;
const params = new URLSearchParams([
["market_hash_name", "AK-47 | Redline (Field-Tested)"],
["market_hash_name", "AWP | Asiimov (Field-Tested)"],
["providers", "dmarket,market_csgo"],
]);
const response = await fetch(`https://api.apiskins.com/v1/orders?${params}`, {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const orders: ItemOrders[] = await response.json();响应 200
[
{
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"orders": [
{
"provider": "dmarket",
"price": 24.51
},
{
"provider": "market_csgo",
"price": 23.822
}
]
}
]- 免费订阅只返回 Steam:不指定 providers 时,回答只包含 Steam;请求其他交易平台会返回 403。付费订阅可获取所有交易平台。
- 没有某物品求购单的平台不会出现在其求购单中。
- 包括纪念品、印花和涂鸦。与挂单请求一样,每个得到响应的请求都计入30 天限额,响应也同样压缩。
单件物品的求购单
/v1/orders/{market_hash_name}单件物品在各平台的最高求购单。没有平台有求购单时返回 404。
参数
market_hash_namepathstringURL 编码的物品名称
providersquery, 可选string逗号分隔的交易平台:dmarket、market_csgo、steam。省略时返回全部
请求
type ItemOrders = {
market_hash_name: string;
orders: { provider: string; price: number }[];
};
const API_KEY = process.env.APISKINS_API_KEY!;
const market_hash_name = "AK-47 | Redline (Field-Tested)";
const response = await fetch(`https://api.apiskins.com/v1/orders/${encodeURIComponent(market_hash_name)}`, {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const orders: ItemOrders = await response.json();响应 200
{
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"orders": [
{
"provider": "dmarket",
"price": 24.51
},
{
"provider": "market_csgo",
"price": 23.822
}
]
}- 免费订阅只返回 Steam:不指定 providers 时,回答只包含 Steam;请求其他交易平台会返回 403。付费订阅可获取所有交易平台。
销售历史
每件物品在 DMarket 和 Market.CSGO 上的销售摘要:售出数量、最近 7、15、30 和 90 天的中位价和平均价,以及典型 15 天的销量。与挂单相同的密钥、相同的 30 天限额和相同的 gzip 响应。
多件物品的销售摘要
/v1/sales/summary物品在各平台上的销售摘要:DMarket(每隔几小时刷新)和 Market.CSGO(约每小时)。用 market_hash_name 指定最多 100 件物品进行批量查询,或省略以在一个响应中获取最近 90 天售出的所有物品。最近 90 天没有销售的物品不会出现。
参数
market_hash_namequery, 可选string物品名称。重复以批量查询最多 100 件。省略时返回最近 90 天售出的所有物品
providersquery, 可选string逗号分隔的交易平台:dmarket、market_csgo。省略时返回两者
请求
type SalesPeriod = { sales: number; median: number | null; avg: number | null };
type SalesSummary = {
market_hash_name: string;
sales: {
provider: string;
last_7d: SalesPeriod;
last_15d: SalesPeriod;
last_30d: SalesPeriod;
last_90d: SalesPeriod;
index_volume_units: number;
index_volume_dollars: number;
updated_at: string;
}[];
};
const API_KEY = process.env.APISKINS_API_KEY!;
const params = new URLSearchParams([
["market_hash_name", "AK-47 | Redline (Field-Tested)"],
["market_hash_name", "AWP | Asiimov (Field-Tested)"],
["providers", "dmarket,market_csgo"],
]);
const response = await fetch(`https://api.apiskins.com/v1/sales/summary?${params}`, {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const sales: SalesSummary[] = await response.json();响应 200
[
{
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"sales": [
{
"provider": "market_csgo",
"last_7d": {
"sales": 154,
"median": 28.63,
"avg": 28.76
},
"last_15d": {
"sales": 310,
"median": 28.7,
"avg": 28.9
},
"last_30d": {
"sales": 620,
"median": 28.8,
"avg": 29.12
},
"last_90d": {
"sales": 1850,
"median": 29.1,
"avg": 29.4
},
"index_volume_units": 305.5,
"index_volume_dollars": 8900.25,
"updated_at": "2026-10-28T10:00:00.000Z"
}
]
}
]- 需要付费订阅:免费订阅的每个请求都返回 403。
- 在每个时段中,sales 是售出的物品数量,median 和 avg 是它们以 USD 计的中位价和平均价。没有销售的时段 median 和 avg 为 null。
- index_volume_units(数量成交指数)和 index_volume_dollars(美元成交指数)表示典型 15 天的销量:最近 90 天分成六个 15 天的时段,没有销售的时段计为 0。index_volume_units 是各时段售出数量的中位数,index_volume_dollars 是各时段 USD 总额的中位数,因此单个特别活跃或冷清的时段不会影响它们。
- 摘要在每次遍历某平台的销售后计算;updated_at 表示计算时间。
- Market.CSGO 最多向我们提供一件物品最近 6,000 笔销售,因此在我们记录满 90 天之前,销量最高的物品的 last_90d、index_volume_units 和 index_volume_dollars 可能偏低。
- Doppler 和 Gamma Doppler 相位共用市场名称,所以一条记录涵盖所有相位。
- 包括纪念品、印花和涂鸦。与挂单请求一样,每个得到响应的请求都计入30 天限额,响应也同样压缩。
单件物品的销售摘要
/v1/sales/summary/{market_hash_name}单件物品在各平台上的销售摘要。最近 90 天没有平台售出时返回 404。
参数
market_hash_namepathstringURL 编码的物品名称
providersquery, 可选string逗号分隔的交易平台:dmarket、market_csgo。省略时返回两者
请求
type SalesPeriod = { sales: number; median: number | null; avg: number | null };
type SalesSummary = {
market_hash_name: string;
sales: {
provider: string;
last_7d: SalesPeriod;
last_15d: SalesPeriod;
last_30d: SalesPeriod;
last_90d: SalesPeriod;
index_volume_units: number;
index_volume_dollars: number;
updated_at: string;
}[];
};
const API_KEY = process.env.APISKINS_API_KEY!;
const market_hash_name = "AK-47 | Redline (Field-Tested)";
const response = await fetch(`https://api.apiskins.com/v1/sales/summary/${encodeURIComponent(market_hash_name)}`, {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const sales: SalesSummary = await response.json();响应 200
{
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"sales": [
{
"provider": "market_csgo",
"last_7d": {
"sales": 154,
"median": 28.63,
"avg": 28.76
},
"last_15d": {
"sales": 310,
"median": 28.7,
"avg": 28.9
},
"last_30d": {
"sales": 620,
"median": 28.8,
"avg": 29.12
},
"last_90d": {
"sales": 1850,
"median": 29.1,
"avg": 29.4
},
"index_volume_units": 305.5,
"index_volume_dollars": 8900.25,
"updated_at": "2026-10-28T10:00:00.000Z"
}
]
}- 需要付费订阅:免费订阅的每个请求都返回 403。
物品
每件 CS2 物品的信息:类型、武器、磨损和 float 范围、品质、稀有度、收藏品和武器箱。用于在交易平台上筛选物品,market_hash_name 与挂单和求购单相同。包括所有饰品、印花、探员、挂件、武器箱等,也包括纪念品。与报价一样,每个得到应答的请求都计入 30 天限额。
多件物品
/v1/items每件 CS2 物品的信息:类型、武器、磨损和 float 范围、品质、稀有度、收藏品和武器箱,每个 market_hash_name 一条记录,用于在交易平台上筛选物品。一次应答返回全部物品(gzip 后约 2 MB),也可用 limit 和 offset 分页,或用 market_hash_name 指定最多 100 件。筛选条件对两者都生效。
参数
market_hash_namequery, 可选string物品名称。重复以批量查询最多 100 件。省略时返回所有物品
typequery, 可选stringskin、sticker、agent、charm、patch、music_kit、graffiti、collectible、container。逗号分隔,匹配任一
weaponquery, 可选string武器 id:awp、ak-47、karambit、sport-gloves....。逗号分隔,匹配任一
collectionquery, 可选string收藏品 id:the-dust-2-collection....。逗号分隔,匹配任一
containerquery, 可选string掉落该物品的武器箱和纪念包 id:dreams-nightmares-case....。逗号分隔,匹配任一
rarityquery, 可选string稀有度 id:consumer、industrial、mil-spec、restricted、classified、covert、contraband,以及印花和探员的稀有度(high、remarkable、exotic、extraordinary、distinguished、exceptional、superior、master)。逗号分隔,匹配任一
qualityquery, 可选stringNormal、StatTrak™、Souvenir、★ 或 ★ StatTrak™。逗号分隔,匹配任一
limitquery, 可选number应答中最多的物品数,1 或以上。省略时返回全部物品,应答中的 limit 即为其包含的数量
offsetquery, 可选number要跳过的物品数,用于下一页
请求
type ItemsPage = {
total: number;
limit: number;
offset: number;
items: Item[];
};
type Item = {
market_hash_name: string;
name: string;
type: "skin" | "sticker" | "agent" | "charm" | "patch" | "music_kit" | "graffiti" | "collectible" | "container";
category: string | null;
weapon: { id: string; name: string } | null;
pattern: string | null;
wear: { id: "fn" | "mw" | "ft" | "ww" | "bs"; name: string } | null;
min_float: number | null;
max_float: number | null;
quality: "Normal" | "StatTrak™" | "Souvenir" | "★" | "★ StatTrak™";
stattrak: boolean;
souvenir: boolean;
rarity: { id: string; name: string; color: string } | null;
label: string | null;
team: "both" | "ct" | "t" | null;
collections: { id: string; name: string }[];
containers: { id: string; name: string }[];
details: Record<string, string>;
image: string | null;
url: string;
};
const API_KEY = process.env.APISKINS_API_KEY!;
const params = new URLSearchParams([
["type", "skin"],
["weapon", "awp"],
["quality", "StatTrak™"],
["limit", "1"],
]);
const response = await fetch(`https://api.apiskins.com/v1/items?${params}`, {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const page: ItemsPage = await response.json();响应 200
{
"total": 120,
"limit": 1,
"offset": 0,
"items": [
{
"market_hash_name": "StatTrak™ AWP | Asiimov (Field-Tested)",
"name": "AWP | Asiimov",
"type": "skin",
"category": "rifles",
"weapon": {
"id": "awp",
"name": "AWP"
},
"pattern": "Asiimov",
"wear": {
"id": "ft",
"name": "Field-Tested"
},
"min_float": 0.18,
"max_float": 0.38,
"quality": "StatTrak™",
"stattrak": true,
"souvenir": false,
"rarity": {
"id": "covert",
"name": "Covert",
"color": "#eb4b4b"
},
"label": null,
"team": "both",
"collections": [
{
"id": "the-phoenix-collection",
"name": "The Phoenix Collection"
}
],
"containers": [
{
"id": "operation-phoenix-weapon-case",
"name": "Operation Phoenix Weapon Case"
}
],
"details": {},
"image": "https://community.akamai.steamstatic.com/economy/image/i0CoZ81Ui0m-9KwlBY1L_18myuGuq1wfhWSaZgMttyVfPaERSR0Wqmu7LAocGIGz3UqlXOLrxM-vMGmW8VNxu5Dx60noTyLwiYbf_jdk7uW-V6V-Kf2cGFidxOp_pewnF3nhxEt0sGnSzN76dH3GOg9xC8FyEORftRe-x9PuYurq71bW3d8UnjK-0H0YSTpMGQ/512fx384f",
"url": "https://apiskins.com/skins/awp/asiimov"
}
]
}- 需要付费订阅:免费订阅的每个请求都返回 403。
- 所有武器饰品、刀具和手套的 type 为 skin(由 category 区分:knives、gloves、rifles、pistols、smgs、heavy、equipment),武器箱、胶囊和纪念包的 type 为 container(category 为其种类:case、sticker_capsule、souvenir_package...)。
- min_float 和 max_float 是物品可能的 float:饰品在该磨损内的范围。没有 float 的物品为 null。
- details 包含其他已知信息:印花的 Tournament、Team、Player 和 Effect,探员的 Side,容器的 Released 日期。
- Doppler 和 Gamma Doppler 相位共用市场名称,所以一条记录涵盖所有相位。
- 与报价请求一样,每个得到应答的请求都计入 30 天限额,无论包含多少物品,应答同样经过 gzip 压缩。
单件物品
/v1/items/{market_hash_name}单件物品的信息。没有该名称的物品时返回 404。
参数
market_hash_namepathstringURL 编码的物品名称
请求
type Item = {
market_hash_name: string;
name: string;
type: "skin" | "sticker" | "agent" | "charm" | "patch" | "music_kit" | "graffiti" | "collectible" | "container";
category: string | null;
weapon: { id: string; name: string } | null;
pattern: string | null;
wear: { id: "fn" | "mw" | "ft" | "ww" | "bs"; name: string } | null;
min_float: number | null;
max_float: number | null;
quality: "Normal" | "StatTrak™" | "Souvenir" | "★" | "★ StatTrak™";
stattrak: boolean;
souvenir: boolean;
rarity: { id: string; name: string; color: string } | null;
label: string | null;
team: "both" | "ct" | "t" | null;
collections: { id: string; name: string }[];
containers: { id: string; name: string }[];
details: Record<string, string>;
image: string | null;
url: string;
};
const API_KEY = process.env.APISKINS_API_KEY!;
const market_hash_name = "StatTrak™ AWP | Asiimov (Field-Tested)";
const response = await fetch(`https://api.apiskins.com/v1/items/${encodeURIComponent(market_hash_name)}`, {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const item: Item = await response.json();响应 200
{
"market_hash_name": "StatTrak™ AWP | Asiimov (Field-Tested)",
"name": "AWP | Asiimov",
"type": "skin",
"category": "rifles",
"weapon": {
"id": "awp",
"name": "AWP"
},
"pattern": "Asiimov",
"wear": {
"id": "ft",
"name": "Field-Tested"
},
"min_float": 0.18,
"max_float": 0.38,
"quality": "StatTrak™",
"stattrak": true,
"souvenir": false,
"rarity": {
"id": "covert",
"name": "Covert",
"color": "#eb4b4b"
},
"label": null,
"team": "both",
"collections": [
{
"id": "the-phoenix-collection",
"name": "The Phoenix Collection"
}
],
"containers": [
{
"id": "operation-phoenix-weapon-case",
"name": "Operation Phoenix Weapon Case"
}
],
"details": {},
"image": "https://community.akamai.steamstatic.com/economy/image/i0CoZ81Ui0m-9KwlBY1L_18myuGuq1wfhWSaZgMttyVfPaERSR0Wqmu7LAocGIGz3UqlXOLrxM-vMGmW8VNxu5Dx60noTyLwiYbf_jdk7uW-V6V-Kf2cGFidxOp_pewnF3nhxEt0sGnSzN76dH3GOg9xC8FyEORftRe-x9PuYurq71bW3d8UnjK-0H0YSTpMGQ/512fx384f",
"url": "https://apiskins.com/skins/awp/asiimov"
}- 需要付费订阅:免费订阅的每个请求都返回 403。
DMarket 机器人
用同一密钥管理你的 DMarket 挂单和求购单。账户及其 DMarket API 密钥只能在机器人页面添加,绝不通过 API 添加。机器人路由需要付费订阅,只计入每分钟限额,绝不计入30 天限额。
- 挂单:每账户不限量。求购单(DMarket “target”):每账户最多 100 个,为 DMarket 自身限制。
- DMarket 无法修改求购单价格:机器人会用新价格的新求购单替换它。
账户和限额
/v1/robots/dmarket机器人上的 DMarket 账户(在机器人页面用 DMarket API 密钥连接)以及你的订阅对它的限额。
请求
type Robot = {
robot: string;
name: string;
marketplace: string;
limits: { accounts: number; offers_per_account: number | null; orders_per_account: number | null };
accounts: { id: string; name: string; paused: boolean; enabled: boolean; balance: number | null; note: string | null; error: string | null; checked_at: string | null }[];
};
const API_KEY = process.env.APISKINS_API_KEY!;
const response = await fetch("https://api.apiskins.com/v1/robots/dmarket", {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const robot: Robot = await response.json();响应 200
{
"robot": "dmarket",
"name": "Robot for DMarket",
"marketplace": "DMarket",
"limits": {
"accounts": 5,
"offers_per_account": null,
"orders_per_account": 100
},
"accounts": [
{
"id": "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11",
"name": "Main",
"paused": false,
"enabled": true,
"balance": 123.45,
"note": null,
"error": null,
"checked_at": "2026-10-15T08:40:00.000Z"
}
]
}- 限额为 null 表示我们不设限。
- paused:账户超出订阅的账户数;其挂单和求购单等待中。
- enabled: false 表示已在机器人页面关闭:机器人不再调整它,它会以最后的价格留在交易平台上,并仍计入限额。
账户库存
/v1/robots/dmarket/accounts/{account_id}/inventory账户 DMarket 库存中的物品,以及用于出售的 asset_id。DMarket 不允许上架的物品 sellable 为 false。
参数
account_idpathstring账户 id,来自 GET /v1/robots/dmarket
请求
type InventoryItem = {
asset_id: string;
market_hash_name: string;
sellable: boolean;
suggested_price: number | null;
};
const API_KEY = process.env.APISKINS_API_KEY!;
const account_id = "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11";
const response = await fetch(`https://api.apiskins.com/v1/robots/dmarket/accounts/${encodeURIComponent(account_id)}/inventory`, {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const inventory: InventoryItem[] = await response.json();响应 200
[
{
"asset_id": "4c1d8e2f-0b6a-4a51-9f3e-2d7c8b1a6e05",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"sellable": true,
"suggested_price": 33.1
}
]列出挂单
/v1/robots/dmarket/offers你所有账户在 DMarket 上的挂单,最早的在前。
请求
type Offer = {
id: string;
account_id: string;
asset_id: string;
market_hash_name: string;
min_price: number;
max_price: number;
enabled: boolean;
price: number | null;
status: "pending" | "active" | "paused" | "sold" | "closed" | "gone";
error: string | null;
updated_at: string | null;
created_at: string;
};
const API_KEY = process.env.APISKINS_API_KEY!;
const response = await fetch("https://api.apiskins.com/v1/robots/dmarket/offers", {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const offers: Offer[] = await response.json();响应 200
[
{
"id": "b3a90c55-7e1f-4c1b-8d2e-55a1c9e04f7a",
"account_id": "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11",
"asset_id": "4c1d8e2f-0b6a-4a51-9f3e-2d7c8b1a6e05",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"min_price": 30,
"max_price": 40,
"enabled": true,
"price": 31.99,
"status": "active",
"error": null,
"updated_at": "2026-10-15T08:40:00.000Z",
"created_at": "2026-10-14T12:00:00.000Z"
}
]上架或更新挂单
/v1/robots/dmarket/offers上架物品,或覆盖按 asset_id 找到的现有挂单价格。机器人在 DMarket 上架物品并让它保持该名称的最低挂单,绝不低于 min_price。没有竞争时按 max_price 出售。新价格在几秒内或价格解锁后生效:机器人修改的价格保持 15 分钟。
参数
asset_idbodystring物品的 DMarket id,来自账户库存
min_pricebodynumberUSD,最多两位小数
max_pricebodynumberUSD,最多两位小数
account_idbody, 可选string拥有该物品的账户。上架时必填
market_hash_namebody, 可选string物品名称。上架时必填
请求
type Offer = {
id: string;
account_id: string;
asset_id: string;
market_hash_name: string;
min_price: number;
max_price: number;
enabled: boolean;
price: number | null;
status: "pending" | "active" | "paused" | "sold" | "closed" | "gone";
error: string | null;
updated_at: string | null;
created_at: string;
};
const API_KEY = process.env.APISKINS_API_KEY!;
const response = await fetch("https://api.apiskins.com/v1/robots/dmarket/offers", {
method: "POST",
headers: { "X-API-KEY": API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({
"account_id": "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11",
"asset_id": "4c1d8e2f-0b6a-4a51-9f3e-2d7c8b1a6e05",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"min_price": 30,
"max_price": 40
}),
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const offer: Offer = await response.json();响应 200
{
"id": "b3a90c55-7e1f-4c1b-8d2e-55a1c9e04f7a",
"account_id": "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11",
"asset_id": "4c1d8e2f-0b6a-4a51-9f3e-2d7c8b1a6e05",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"min_price": 30,
"max_price": 40,
"enabled": true,
"price": 31.99,
"status": "active",
"error": null,
"updated_at": "2026-10-15T08:40:00.000Z",
"created_at": "2026-10-14T12:00:00.000Z"
}移除挂单
/v1/robots/dmarket/offers忘记该挂单:机器人不再调整它,物品会以最后的价格继续在 DMarket 上出售。
参数
asset_idquerystring物品的 DMarket id,来自账户库存
请求
type Removed = { removed: boolean };
const API_KEY = process.env.APISKINS_API_KEY!;
const params = new URLSearchParams([
["asset_id", "4c1d8e2f-0b6a-4a51-9f3e-2d7c8b1a6e05"],
]);
const response = await fetch(`https://api.apiskins.com/v1/robots/dmarket/offers?${params}`, {
method: "DELETE",
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const result: Removed = await response.json();响应 200
{
"removed": true
}- 机器人没有该挂单时 removed 为 false。
列出求购单
/v1/robots/dmarket/orders你所有账户在 DMarket 上的求购单,最早的在前。
请求
type Order = {
id: string;
account_id: string;
market_hash_name: string;
amount: number;
min_price: number;
max_price: number;
enabled: boolean;
price: number | null;
status: "pending" | "active" | "paused" | "closed" | "gone";
placed: boolean;
error: string | null;
updated_at: string | null;
created_at: string;
};
const API_KEY = process.env.APISKINS_API_KEY!;
const response = await fetch("https://api.apiskins.com/v1/robots/dmarket/orders", {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const orders: Order[] = await response.json();响应 200
[
{
"id": "0d7e4b2c-91aa-4f63-b2e8-7c35e1d8a904",
"account_id": "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"amount": 2,
"min_price": 25,
"max_price": 30,
"enabled": true,
"price": 28.51,
"status": "active",
"placed": true,
"error": null,
"updated_at": "2026-10-15T08:40:00.000Z",
"created_at": "2026-10-14T12:00:00.000Z"
}
]下达或更新求购单
/v1/robots/dmarket/orders在账户上为物品下求购单,或覆盖现有求购单的价格。机器人下 DMarket 求购单(“target”)并让它保持最高,绝不高于 max_price。没有竞争时按 min_price 出价。DMarket 允许每个账户最多 100 个求购单。DMarket 无法修改求购单价格:每个新价格都是替换旧 target 的新 target。它每次购买 1 件,直到买满数量,且只有价格不超过账户余额时才会下求购单。
参数
market_hash_namebodystring物品名称
min_pricebodynumberUSD,最多两位小数
max_pricebodynumberUSD,最多两位小数
account_idbody, 可选string用于买入的账户。只有一个账户时可省略
amountbody, 可选number买入数量,1 到 100。下单时必填;只能在下单前更改
请求
type Order = {
id: string;
account_id: string;
market_hash_name: string;
amount: number;
min_price: number;
max_price: number;
enabled: boolean;
price: number | null;
status: "pending" | "active" | "paused" | "closed" | "gone";
placed: boolean;
error: string | null;
updated_at: string | null;
created_at: string;
};
const API_KEY = process.env.APISKINS_API_KEY!;
const response = await fetch("https://api.apiskins.com/v1/robots/dmarket/orders", {
method: "POST",
headers: { "X-API-KEY": API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({
"account_id": "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"amount": 2,
"min_price": 25,
"max_price": 30
}),
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const order: Order = await response.json();响应 200
{
"id": "0d7e4b2c-91aa-4f63-b2e8-7c35e1d8a904",
"account_id": "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"amount": 2,
"min_price": 25,
"max_price": 30,
"enabled": true,
"price": 28.51,
"status": "active",
"placed": true,
"error": null,
"updated_at": "2026-10-15T08:40:00.000Z",
"created_at": "2026-10-14T12:00:00.000Z"
}- 已下求购单的数量只会随成交减少:要买更多,请移除后重新添加。
移除求购单
/v1/robots/dmarket/orders忘记该求购单:机器人不再调整它,它会以最后的价格留在 DMarket 上。
参数
market_hash_namequerystring物品名称
account_idquery, 可选string求购单所在账户。只有一个账户时可省略
请求
type Removed = { removed: boolean };
const API_KEY = process.env.APISKINS_API_KEY!;
const params = new URLSearchParams([
["market_hash_name", "AK-47 | Redline (Field-Tested)"],
["account_id", "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11"],
]);
const response = await fetch(`https://api.apiskins.com/v1/robots/dmarket/orders?${params}`, {
method: "DELETE",
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const result: Removed = await response.json();响应 200
{
"removed": true
}- 机器人没有该求购单时 removed 为 false。
监控
/v1/robots/dmarket/monitorDMarket 上每件物品成为最佳求购单(buy_price,比最佳求购单高 1 美分)再成为最低挂单(sell_price,比最低挂单低 1 美分)后,扣除该物品 DMarket 手续费的利润。DMarket 的最佳求购单和挂单每隔几秒刷新,其他平台的价格按各自的更新频率刷新,从每 5 分钟到每小时不等。只应用你发送的筛选条件:没有时返回所有有求购单的物品,最赚钱的在前。DMarket 上没有挂单的物品也会显示,其 best_offer、sell_price、profit 和 margin_percent 为 null:利润、利润率和差价筛选会放行它。dollar_volume 和 units_volume 是物品在 DMarket 上 15 天的典型销量:过去 90 天分成六个 15 天段的中位数。
参数
qquery, 可选string名称中必须全部包含的词
min_pricequery, 可选number最低买入价,USD
max_pricequery, 可选number最高买入价,USD
min_profitquery, 可选number扣除手续费后的最低利润,USD
min_marginquery, 可选number最低利润率,占买入价的百分比
min_gapquery, 可选number最佳求购单与最低挂单之间的最小差价,USD
min_liquidityquery, 可选number最低流动性,0 到 100
max_feequery, 可选number最高手续费,百分比
min_units_volumequery, 可选numberDMarket 上典型 15 天内的最少销售件数(units_volume)
min_dollar_volumequery, 可选numberDMarket 上典型 15 天内的最少销售额 USD(dollar_volume)
hidequery, 可选string逗号分隔:stickers、graffiti、souvenir、stattrak
comparequery, 可选string其他平台及其最低挂单价必须高出买入价的百分比:buff_163:5,cs_float:3。未挂售该物品的平台会被跳过。价格在 compare 中返回
compare_ordersquery, 可选string同样适用于其他平台的最高求购单:market_csgo:5(Market.CSGO 或 Steam)。求购单在 compare_orders 中返回
sortquery, 可选stringprofit(省略时)、margin、liquidity、price 或 volume(dollar_volume)
limitquery, 可选number响应中的物品数,1 到 100(省略时为 100)
offsetquery, 可选number要跳过的物品数,用于下一页
请求
type Monitor = {
total: number;
limit: number;
offset: number;
items: {
market_hash_name: string;
buy_price: number;
sell_price: number | null;
best_order: number;
best_offer: number | null;
fee_percent: number;
profit: number | null;
margin_percent: number | null;
liquidity: number | null;
dollar_volume: number | null;
units_volume: number | null;
compare: Record<string, { price: number; percent_over_buy: number }>;
compare_orders: Record<string, { price: number; percent_over_buy: number }>;
}[];
};
const API_KEY = process.env.APISKINS_API_KEY!;
const params = new URLSearchParams([
["min_margin", "5"],
["min_liquidity", "50"],
["hide", "stickers,souvenir"],
["compare", "buff_163:5"],
["limit", "1"],
]);
const response = await fetch(`https://api.apiskins.com/v1/robots/dmarket/monitor?${params}`, {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const monitor: Monitor = await response.json();响应 200
{
"total": 412,
"limit": 1,
"offset": 0,
"items": [
{
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"buy_price": 24.6,
"sell_price": 27.49,
"best_order": 24.59,
"best_offer": 27.5,
"fee_percent": 5,
"profit": 1.52,
"margin_percent": 6.16,
"liquidity": 87,
"dollar_volume": 1830.4,
"units_volume": 74.5,
"compare": {
"buff_163": {
"price": 26.1,
"percent_over_buy": 6.1
}
},
"compare_orders": {}
}
]
}- 与所有机器人路由一样需要付费订阅。不同的是,每个得到应答的请求也会像报价请求一样计入 30 天限额,并带有相同的 X-Usage-Limit 和 X-Usage-Remaining 头。
挂单和求购单状态
pending- 尚未上架或下单
active- 在交易平台上,在你的限额内保持第一。机器人修改的价格保持 15 分钟;之后每秒监控市场
paused- 超出订阅的挂单、求购单或账户数:等待你升级或移除其他项
sold- 挂单:已售出
closed- 挂单:已下架或物品已离开库存。求购单:已全部买入或已移除。如有原因,error 会说明
market.csgo.com 机器人
用同一密钥管理你的 Market.CSGO 挂单和求购单。账户及其 Market.CSGO API 密钥只能在机器人页面添加,绝不通过 API 添加。机器人路由需要付费订阅,只计入每分钟限额,绝不计入30 天限额。
- 挂单:每账户不限量。求购单:每账户最多 100 个,每件物品一个,可直接修改。
- Market.CSGO 上的账户货币必须是 USD。只有你在 Market.CSGO 应用或浏览器扩展中在线时,挂单才会显示。
账户和限额
/v1/robots/market-csgo机器人上的 Market.CSGO 账户(在机器人页面用 Market.CSGO API 密钥连接)以及你的订阅对它的限额。账户的 note 说明妨碍出售的原因,例如离线。
请求
type Robot = {
robot: string;
name: string;
marketplace: string;
limits: { accounts: number; offers_per_account: number | null; orders_per_account: number | null };
accounts: { id: string; name: string; paused: boolean; enabled: boolean; balance: number | null; note: string | null; error: string | null; checked_at: string | null }[];
};
const API_KEY = process.env.APISKINS_API_KEY!;
const response = await fetch("https://api.apiskins.com/v1/robots/market-csgo", {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const robot: Robot = await response.json();响应 200
{
"robot": "market-csgo",
"name": "Robot for market.csgo.com",
"marketplace": "Market.CSGO",
"limits": {
"accounts": 5,
"offers_per_account": null,
"orders_per_account": 100
},
"accounts": [
{
"id": "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11",
"name": "Main",
"paused": false,
"enabled": true,
"balance": 123.45,
"note": null,
"error": null,
"checked_at": "2026-10-15T08:40:00.000Z"
}
]
}- 限额为 null 表示我们不设限。
- paused:账户超出订阅的账户数;其挂单和求购单等待中。
- enabled: false 表示已在机器人页面关闭:机器人不再调整它,它会以最后的价格留在交易平台上,并仍计入限额。
账户库存
/v1/robots/market-csgo/accounts/{account_id}/inventoryMarket.CSGO 可从账户出售的 Steam 物品,以及用于出售的 asset_id。
参数
account_idpathstring账户 id,来自 GET /v1/robots/market-csgo
请求
type InventoryItem = {
asset_id: string;
market_hash_name: string;
sellable: boolean;
suggested_price: number | null;
};
const API_KEY = process.env.APISKINS_API_KEY!;
const account_id = "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11";
const response = await fetch(`https://api.apiskins.com/v1/robots/market-csgo/accounts/${encodeURIComponent(account_id)}/inventory`, {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const inventory: InventoryItem[] = await response.json();响应 200
[
{
"asset_id": "38215462179",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"sellable": true,
"suggested_price": 33.1
}
]列出挂单
/v1/robots/market-csgo/offers你所有账户在 Market.CSGO 上的挂单,最早的在前。
请求
type Offer = {
id: string;
account_id: string;
asset_id: string;
market_hash_name: string;
min_price: number;
max_price: number;
enabled: boolean;
price: number | null;
status: "pending" | "active" | "paused" | "sold" | "closed" | "gone";
error: string | null;
updated_at: string | null;
created_at: string;
};
const API_KEY = process.env.APISKINS_API_KEY!;
const response = await fetch("https://api.apiskins.com/v1/robots/market-csgo/offers", {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const offers: Offer[] = await response.json();响应 200
[
{
"id": "b3a90c55-7e1f-4c1b-8d2e-55a1c9e04f7a",
"account_id": "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11",
"asset_id": "38215462179",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"min_price": 30,
"max_price": 40,
"enabled": true,
"price": 31.99,
"status": "active",
"error": null,
"updated_at": "2026-10-15T08:40:00.000Z",
"created_at": "2026-10-14T12:00:00.000Z"
}
]上架或更新挂单
/v1/robots/market-csgo/offers上架物品,或覆盖按 asset_id 找到的现有挂单价格。机器人在 Market.CSGO 上架物品并让它保持该名称的最低挂单,绝不低于 min_price。没有竞争时按 max_price 出售。只有账户在 Market.CSGO 应用或浏览器扩展中在线时挂单才会显示。新价格在几秒内或价格解锁后生效:机器人修改的价格保持 15 分钟。
参数
asset_idbodystring物品的 Steam asset id,来自账户库存
min_pricebodynumberUSD,最多两位小数
max_pricebodynumberUSD,最多两位小数
account_idbody, 可选string拥有该物品的账户。上架时必填
market_hash_namebody, 可选string物品名称。上架时必填
请求
type Offer = {
id: string;
account_id: string;
asset_id: string;
market_hash_name: string;
min_price: number;
max_price: number;
enabled: boolean;
price: number | null;
status: "pending" | "active" | "paused" | "sold" | "closed" | "gone";
error: string | null;
updated_at: string | null;
created_at: string;
};
const API_KEY = process.env.APISKINS_API_KEY!;
const response = await fetch("https://api.apiskins.com/v1/robots/market-csgo/offers", {
method: "POST",
headers: { "X-API-KEY": API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({
"account_id": "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11",
"asset_id": "38215462179",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"min_price": 30,
"max_price": 40
}),
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const offer: Offer = await response.json();响应 200
{
"id": "b3a90c55-7e1f-4c1b-8d2e-55a1c9e04f7a",
"account_id": "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11",
"asset_id": "38215462179",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"min_price": 30,
"max_price": 40,
"enabled": true,
"price": 31.99,
"status": "active",
"error": null,
"updated_at": "2026-10-15T08:40:00.000Z",
"created_at": "2026-10-14T12:00:00.000Z"
}移除挂单
/v1/robots/market-csgo/offers忘记该挂单:机器人不再调整它,物品会以最后的价格继续在 Market.CSGO 上出售。
参数
asset_idquerystring物品的 Steam asset id,来自账户库存
请求
type Removed = { removed: boolean };
const API_KEY = process.env.APISKINS_API_KEY!;
const params = new URLSearchParams([
["asset_id", "38215462179"],
]);
const response = await fetch(`https://api.apiskins.com/v1/robots/market-csgo/offers?${params}`, {
method: "DELETE",
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const result: Removed = await response.json();响应 200
{
"removed": true
}- 机器人没有该挂单时 removed 为 false。
列出求购单
/v1/robots/market-csgo/orders你所有账户在 Market.CSGO 上的求购单,最早的在前。
请求
type Order = {
id: string;
account_id: string;
market_hash_name: string;
amount: number;
min_price: number;
max_price: number;
enabled: boolean;
price: number | null;
status: "pending" | "active" | "paused" | "closed" | "gone";
placed: boolean;
error: string | null;
updated_at: string | null;
created_at: string;
};
const API_KEY = process.env.APISKINS_API_KEY!;
const response = await fetch("https://api.apiskins.com/v1/robots/market-csgo/orders", {
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const orders: Order[] = await response.json();响应 200
[
{
"id": "0d7e4b2c-91aa-4f63-b2e8-7c35e1d8a904",
"account_id": "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"amount": 2,
"min_price": 25,
"max_price": 30,
"enabled": true,
"price": 28.51,
"status": "active",
"placed": true,
"error": null,
"updated_at": "2026-10-15T08:40:00.000Z",
"created_at": "2026-10-14T12:00:00.000Z"
}
]下达或更新求购单
/v1/robots/market-csgo/orders在账户上为物品下求购单,或覆盖现有求购单的价格。机器人下 Market.CSGO 求购单并让它保持最高,绝不高于 max_price。没有竞争时按 min_price 出价。Market.CSGO 允许每件物品一个求购单、每账户最多 100 个,并可直接修改价格。
参数
market_hash_namebodystring物品名称
min_pricebodynumberUSD,最多两位小数
max_pricebodynumberUSD,最多两位小数
account_idbody, 可选string用于买入的账户。只有一个账户时可省略
amountbody, 可选number买入数量,1 到 100。下单时必填;只能在下单前更改
请求
type Order = {
id: string;
account_id: string;
market_hash_name: string;
amount: number;
min_price: number;
max_price: number;
enabled: boolean;
price: number | null;
status: "pending" | "active" | "paused" | "closed" | "gone";
placed: boolean;
error: string | null;
updated_at: string | null;
created_at: string;
};
const API_KEY = process.env.APISKINS_API_KEY!;
const response = await fetch("https://api.apiskins.com/v1/robots/market-csgo/orders", {
method: "POST",
headers: { "X-API-KEY": API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({
"account_id": "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"amount": 2,
"min_price": 25,
"max_price": 30
}),
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const order: Order = await response.json();响应 200
{
"id": "0d7e4b2c-91aa-4f63-b2e8-7c35e1d8a904",
"account_id": "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"amount": 2,
"min_price": 25,
"max_price": 30,
"enabled": true,
"price": 28.51,
"status": "active",
"placed": true,
"error": null,
"updated_at": "2026-10-15T08:40:00.000Z",
"created_at": "2026-10-14T12:00:00.000Z"
}- 已下求购单的数量只会随成交减少:要买更多,请移除后重新添加。
移除求购单
/v1/robots/market-csgo/orders忘记该求购单:机器人不再调整它,它会以最后的价格留在 Market.CSGO 上。
参数
market_hash_namequerystring物品名称
account_idquery, 可选string求购单所在账户。只有一个账户时可省略
请求
type Removed = { removed: boolean };
const API_KEY = process.env.APISKINS_API_KEY!;
const params = new URLSearchParams([
["market_hash_name", "AK-47 | Redline (Field-Tested)"],
["account_id", "6f1c2e0a-41d2-4a8e-9a8c-1f5b2d7e9c11"],
]);
const response = await fetch(`https://api.apiskins.com/v1/robots/market-csgo/orders?${params}`, {
method: "DELETE",
headers: { "X-API-KEY": API_KEY },
});
if (!response.ok) {
throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}
const result: Removed = await response.json();响应 200
{
"removed": true
}- 机器人没有该求购单时 removed 为 false。
挂单和求购单状态
pending- 尚未上架或下单
active- 在交易平台上,在你的限额内保持第一。机器人修改的价格保持 15 分钟;之后每秒监控市场
paused- 超出订阅的挂单、求购单或账户数:等待你升级或移除其他项
sold- 挂单:已售出
closed- 挂单:已下架或物品已离开库存。求购单:已全部买入或已移除。如有原因,error 会说明
限额和错误
两种限额,均按订阅计算。每个请求都计入每分钟限额;超出的请求会收到 429 和以秒为单位的 Retry-After 头。每个得到应答的报价、求购订单、销售、物品或监控请求也计入 30 天限额,无论包含多少物品;计数从订阅开始起每 30 天重新开始,X-Usage-Limit 和 X-Usage-Remaining 头会告诉你当前用量。
| 订阅 | 请求 / 分钟 | 挂单和求购单请求 / 30 天 |
|---|---|---|
| 免费 | 60 | 100 |
| Trader | 120 | 5,000 |
| Pro | 300 | 25,000 |
| Business | 300 | 100,000 |
400- 请求有误:未知的平台或物品类型、请求体错误、超过 100 件物品、限额超出范围
401- 密钥缺失或错误
403- 需要付费订阅:Steam 以外的所有交易平台、成交摘要和物品路由,以及机器人和监控路由
404- 没有此物品、机器人或账户
409- 当前无法操作:超出订阅的挂单、求购单或账户数,或正在修改已下求购单的数量
429- 已达到每分钟限额(请等待 Retry-After 秒)或 30 天限额
502- 交易平台未响应机器人;请重试