主题
GET /api/keepa/seller
查询 Amazon 卖家信息:评分、反馈数、品类与品牌统计、地址、(可选)店铺 ASIN 列表等。
对应 Keepa 官方接口:Request Seller Information
接口
GET https://mcp.keepamore.com/api/keepa/seller计费
| 模式 | units |
|---|---|
storefront=false(默认) | 每个卖家 ID 1 unit(最少 1 unit) |
storefront=true | 10 units / 次(且仅允许 1 个卖家 ID) |
- storefront 模式走 Keepa 实时抓取 Amazon 店铺页,因此单价较高
update/page/perPage/csvDays等附加参数 不会 额外计费- 卖家 ID 列表会自动去重后再计费
参数(Query String)
| 名称 | 类型 | 必填 | 默认 | 约束 | 说明 |
|---|---|---|---|---|---|
domain | integer | ✅ | — | 1–12 | 站点 ID,参见 domain 映射。也可用 domainId / country 别名 |
seller | string[] / csv | ✅ | — | 1–100,正则 ^[A-Z0-9]{10,20}$ | 卖家 ID 列表。可写 ?seller=A,B,C 或多次 ?seller=A&seller=B;storefront=1 时仅允许 1 个 |
storefront | boolean | false | — | true 时 Keepa 实时抓店铺页,返回 ASIN 列表 / 品类 / 品牌 | |
update | integer | — | ≥ 0 | storefront 数据新鲜度阈值(小时);仅 storefront=1 时生效,否则会被忽略 | |
page | integer | — | ≥ 0 | storefront asinList 分页;不传则返回全部 | |
perPage | integer | — | 1–10000 | 每页 ASIN 数量;不传则返回全部 | |
csvDays | integer | -1 | ≥ -1 | csv 时间序列控制:-1 = 全部;0 = 完全移除;>0 = 最近 N 天 |
服务端会对卖家 ID 自动 trim / uppercase / 去重 / 排序,以保证缓存命中稳定。
响应
json
{
"code": "0000",
"msg": "ok",
"data": {
"sellers": {
"A1PA6795UKMFR9": {
"sellerId": "A1PA6795UKMFR9",
"sellerName": "Amazon.com",
"hasFBA": true,
"ratingCount": [3, 10, 98, 321],
"positiveRating": [96, 98, 98, 95],
"csv": [
[7000000, 95, 7100000, 96],
[7000000, 12000, 7100000, 12500]
],
"asinList": ["B0..."],
"asinListLastSeen": [7234567, 7234560],
"_pagination": {
"page": 0,
"perPage": 100,
"total": 1234,
"totalPages": 13
}
}
},
"fromCache": false
}
}_pagination仅在传入page/perPage时出现- csv 字段:根据
csvDays可能被完整移除、裁剪到最近 N 天、或保持全量 asinList/asinListLastSeen仅在storefront=1时返回
每个卖家对象的完整 27+ 字段(评分四元组、csv 双索引、类目品牌竞品 / Buy Box 占有率等)见 Seller Object。
示例
bash
# 请将 km_xxx 替换为你的 API Key
# 批量查 3 个卖家的评分
curl "https://mcp.keepamore.com/api/keepa/seller?domain=1&seller=A1PA6795UKMFR9,ATVPDKIKX0DER&csvDays=0" \
-H "X-API-Key: km_xxx"
# 拉某卖家店铺前 200 个 ASIN
curl "https://mcp.keepamore.com/api/keepa/seller?domain=1&seller=A1PA6795UKMFR9&storefront=1&page=0&perPage=200" \
-H "X-API-Key: km_xxx"js
// 请将 km_xxx 替换为你的 API Key
// 批量查卖家评分
const resp = await fetch(
"https://mcp.keepamore.com/api/keepa/seller?domain=1&seller=A1PA6795UKMFR9,ATVPDKIKX0DER&csvDays=0",
{ headers: { "X-API-Key": "km_xxx" } },
);
console.log(await resp.json());
// 拉店铺前 200 个 ASIN
const resp2 = await fetch(
"https://mcp.keepamore.com/api/keepa/seller?domain=1&seller=A1PA6795UKMFR9&storefront=1&page=0&perPage=200",
{ headers: { "X-API-Key": "km_xxx" } },
);
console.log(await resp2.json());python
# 请将 km_xxx 替换为你的 API Key
import requests
URL = "https://mcp.keepamore.com/api/keepa/seller"
HEADERS = {"X-API-Key": "km_xxx"}
# 1) 批量查卖家评分(最常见,省 csv)
r1 = requests.get(URL,
params={"domain": 1, "seller": "A1PA6795UKMFR9,ATVPDKIKX0DER", "csvDays": 0},
headers=HEADERS, timeout=180)
print(r1.json())
# 2) 拉店铺前 200 个 ASIN
r2 = requests.get(URL,
params={"domain": 1, "seller": "A1PA6795UKMFR9",
"storefront": 1, "page": 0, "perPage": 200},
headers=HEADERS, timeout=180)
print(r2.json())php
<?php
// 请将 km_xxx 替换为你的 API Key
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$client = new Client();
$resp = $client->get('https://mcp.keepamore.com/api/keepa/seller', [
'headers' => ['X-API-Key' => 'km_xxx'],
'query' => [
'domain' => 1,
'seller' => 'A1PA6795UKMFR9,ATVPDKIKX0DER',
'csvDays' => 0,
],
'timeout' => 180,
]);
echo $resp->getBody();java
// 请将 km_xxx 替换为你的 API Key(Java 11+ 标准库)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
String url = "https://mcp.keepamore.com/api/keepa/seller"
+ "?domain=1&seller=A1PA6795UKMFR9,ATVPDKIKX0DER&csvDays=0";
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("X-API-Key", "km_xxx")
.timeout(Duration.ofSeconds(180))
.GET()
.build();
HttpResponse<String> resp = client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.body());go
// 请将 km_xxx 替换为你的 API Key(Go 标准库 net/http)
package main
import (
"fmt"
"io"
"net/http"
"net/url"
"time"
)
func main() {
q := url.Values{}
q.Set("domain", "1")
q.Set("seller", "A1PA6795UKMFR9,ATVPDKIKX0DER")
q.Set("csvDays", "0")
req, _ := http.NewRequest("GET",
"https://mcp.keepamore.com/api/keepa/seller?"+q.Encode(), nil)
req.Header.Set("X-API-Key", "km_xxx")
client := &http.Client{Timeout: 180 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}典型配方
| 场景 | 建议参数 |
|---|---|
| 批量查卖家基本信息(最省) | seller=A,B,C + csvDays=0 |
| 拉单个卖家完整店铺 ASIN | seller=A + storefront=1(不传 page / perPage 即返回全部) |
| 分页拉超大店铺 ASIN | seller=A + storefront=1 + page=0&perPage=1000,逐页递增 page |
| 强制刷新 storefront 数据 | seller=A + storefront=1 + update=0(忽略缓存新鲜度阈值) |
和 MCP 的对应
- MCP:
keepa_get_seller