主题
ABA 关键词 API
ABA 关键词数据来自 Amazon Brand Analytics 周榜单,覆盖 9 个 Amazon 站点(us/uk/de/fr/it/jp/ca/es/mx)。
权威数据源,让选品选词更可靠。
端点总览
| 方法 | 路径 | 用途 | 消耗 units |
|---|---|---|---|
GET | /api/aba/countries | 站点列表与最新日期 | 0(免费) |
GET | /api/aba/report-dates | 某站可用报告日期 | 1 |
GET | /api/aba/rank | 周榜单关键字排名 | ceil(limit/1000) |
GET | /api/aba/search | 关键词字典搜索 | 1 |
GET | /api/aba/word/:wordId | 关键词详情(含历史+Top3) | 1 |
GET | /api/aba/word/:wordId/history | 关键词排名历史 | 1 |
GET | /api/aba/word/:wordId/goods | 关键词 Top3 商品 | 1 |
POST | /api/aba/asin-reverse | ASIN 反查关键词 | 1 × ASIN 数 |
GET /api/aba/countries
获取所有 ABA 站点的最新可用报告日期。
参数:无
示例:
bash
# 请将 km_xxx 替换为你的 API Key
curl "https://mcp.keepamore.com/api/aba/countries" \
-H "X-API-Key: km_xxx"js
// 请将 km_xxx 替换为你的 API Key
const r = await fetch("https://mcp.keepamore.com/api/aba/countries", {
headers: { "X-API-Key": "km_xxx" },
});
console.log(await r.json());python
# 请将 km_xxx 替换为你的 API Key
import requests
resp = requests.get(
"https://mcp.keepamore.com/api/aba/countries",
headers={"X-API-Key": "km_xxx"},
timeout=30,
)
print(resp.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/aba/countries', [
'headers' => ['X-API-Key' => 'km_xxx'],
'timeout' => 30,
]);
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;
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://mcp.keepamore.com/api/aba/countries"))
.header("X-API-Key", "km_xxx")
.timeout(Duration.ofSeconds(30))
.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"
"time"
)
func main() {
url := "https://mcp.keepamore.com/api/aba/countries"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("X-API-Key", "km_xxx")
client := &http.Client{Timeout: 30 * 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))
}响应:
json
{
"code": "0000",
"msg": "ok",
"data": {
"countries": [
{
"country": "us",
"latest_report_date": "2026-05-11",
"available_dates": ["2026-05-11", "2026-05-04", "2026-04-27"],
"tld": "com"
}
]
}
}GET /api/aba/report-dates
获取某站点可用的报告日期列表(倒序,最多 20 个)。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
country | string | ✅ | 站点代码(如 us) |
示例:
bash
# 请将 km_xxx 替换为你的 API Key
curl "https://mcp.keepamore.com/api/aba/report-dates?country=us" \
-H "X-API-Key: km_xxx"js
// 请将 km_xxx 替换为你的 API Key
const r = await fetch(
"https://mcp.keepamore.com/api/aba/report-dates?country=us",
{ headers: { "X-API-Key": "km_xxx" } },
);
console.log(await r.json());python
# 请将 km_xxx 替换为你的 API Key
import requests
resp = requests.get(
"https://mcp.keepamore.com/api/aba/report-dates",
params={"country": "us"},
headers={"X-API-Key": "km_xxx"},
timeout=30,
)
print(resp.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/aba/report-dates', [
'headers' => ['X-API-Key' => 'km_xxx'],
'query' => ['country' => 'us'],
'timeout' => 30,
]);
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;
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://mcp.keepamore.com/api/aba/report-dates?country=us"))
.header("X-API-Key", "km_xxx")
.timeout(Duration.ofSeconds(30))
.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"
"time"
)
func main() {
url := "https://mcp.keepamore.com/api/aba/report-dates?country=us"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("X-API-Key", "km_xxx")
client := &http.Client{Timeout: 30 * 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))
}响应:
json
{
"code": "0000",
"msg": "ok",
"data": {
"country": "us",
"dates": ["2026-05-11", "2026-05-04", "2026-04-27"]
}
}GET /api/aba/rank
查询 ABA 周榜单关键词排名。支持多维度筛选和 Keyset / Offset 分页。
参数:
| 名称 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
country | string | ✅ | — | 站点代码 |
reportDate | string | — | 报告日期(YYYY-MM-DD),不传则用最新 | |
rankMin | integer | — | 最低排名 | |
rankMax | integer | — | 最高排名 | |
keyword | string | — | 关键词模糊筛选 | |
fluctuationType | string | — | new / rising / falling / stable | |
brand | string | — | 品牌精确筛选 | |
category | string | — | 类目精确筛选 | |
clickSumMin | integer | — | 最低点击量 | |
convSumMin | integer | — | 最低转化量 | |
limit | integer | 200 | 返回条数(1-1000) | |
offset | integer | — | 分页偏移量。与 afterRank 互斥 | |
afterRank | integer | — | Keyset 分页(传入上一页最后排名) |
示例:
bash
# 请将 km_xxx 替换为你的 API Key
# 美国站前 200 名(默认 limit)
curl "https://mcp.keepamore.com/api/aba/rank?country=us" \
-H "X-API-Key: km_xxx"
# 筛选新上榜关键词
curl "https://mcp.keepamore.com/api/aba/rank?country=us&fluctuationType=new&rankMax=100" \
-H "X-API-Key: km_xxx"
# Keyset 翻页
curl "https://mcp.keepamore.com/api/aba/rank?country=us&afterRank=200" \
-H "X-API-Key: km_xxx"js
// 请将 km_xxx 替换为你的 API Key
const r = await fetch(
"https://mcp.keepamore.com/api/aba/rank?country=us&limit=200",
{ headers: { "X-API-Key": "km_xxx" } },
);
console.log(await r.json());python
# 请将 km_xxx 替换为你的 API Key
import requests
resp = requests.get(
"https://mcp.keepamore.com/api/aba/rank",
params={"country": "us", "limit": 200},
headers={"X-API-Key": "km_xxx"},
timeout=60,
)
print(resp.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/aba/rank', [
'headers' => ['X-API-Key' => 'km_xxx'],
'query' => ['country' => 'us', 'limit' => 200],
'timeout' => 60,
]);
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;
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://mcp.keepamore.com/api/aba/rank?country=us&limit=200"))
.header("X-API-Key", "km_xxx")
.timeout(Duration.ofSeconds(60))
.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"
"time"
)
func main() {
url := "https://mcp.keepamore.com/api/aba/rank?country=us&limit=200"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("X-API-Key", "km_xxx")
client := &http.Client{Timeout: 60 * 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))
}GET /api/aba/search
在 ABA 关键词字典中全文搜索。英文走 FULLTEXT 全文索引,中文走 LIKE 模糊。
参数:
| 名称 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
country | string | ✅ | — | 站点代码 |
keyword | string | ✅ | — | 搜索关键词 |
limit | integer | 20 | 返回条数(1-200) |
示例:
bash
# 请将 km_xxx 替换为你的 API Key
curl "https://mcp.keepamore.com/api/aba/search?country=us&keyword=bluetooth&limit=20" \
-H "X-API-Key: km_xxx"js
// 请将 km_xxx 替换为你的 API Key
const r = await fetch(
"https://mcp.keepamore.com/api/aba/search?country=us&keyword=bluetooth&limit=20",
{ headers: { "X-API-Key": "km_xxx" } },
);
console.log(await r.json());python
# 请将 km_xxx 替换为你的 API Key
import requests
resp = requests.get(
"https://mcp.keepamore.com/api/aba/search",
params={"country": "us", "keyword": "bluetooth", "limit": 20},
headers={"X-API-Key": "km_xxx"},
timeout=30,
)
print(resp.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/aba/search', [
'headers' => ['X-API-Key' => 'km_xxx'],
'query' => ['country' => 'us', 'keyword' => 'bluetooth', 'limit' => 20],
'timeout' => 30,
]);
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;
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://mcp.keepamore.com/api/aba/search?country=us&keyword=bluetooth&limit=20"))
.header("X-API-Key", "km_xxx")
.timeout(Duration.ofSeconds(30))
.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"
"time"
)
func main() {
url := "https://mcp.keepamore.com/api/aba/search?country=us&keyword=bluetooth&limit=20"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("X-API-Key", "km_xxx")
client := &http.Client{Timeout: 30 * 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))
}GET /api/aba/word/:wordId
获取关键词完整信息(基本属性 + 52 周排名历史 + 最新 Top3 ASIN)。
示例:
bash
# 请将 km_xxx 替换为你的 API Key
curl "https://mcp.keepamore.com/api/aba/word/1234567890123456789" \
-H "X-API-Key: km_xxx"js
// 请将 km_xxx 替换为你的 API Key
const r = await fetch(
"https://mcp.keepamore.com/api/aba/word/1234567890123456789",
{ headers: { "X-API-Key": "km_xxx" } },
);
console.log(await r.json());python
# 请将 km_xxx 替换为你的 API Key
import requests
resp = requests.get(
"https://mcp.keepamore.com/api/aba/word/1234567890123456789",
headers={"X-API-Key": "km_xxx"},
timeout=30,
)
print(resp.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/aba/word/1234567890123456789', [
'headers' => ['X-API-Key' => 'km_xxx'],
'timeout' => 30,
]);
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;
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://mcp.keepamore.com/api/aba/word/1234567890123456789"))
.header("X-API-Key", "km_xxx")
.timeout(Duration.ofSeconds(30))
.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"
"time"
)
func main() {
url := "https://mcp.keepamore.com/api/aba/word/1234567890123456789"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("X-API-Key", "km_xxx")
client := &http.Client{Timeout: 30 * 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))
}GET /api/aba/word/:wordId/history
仅获取排名历史(不含商品信息)。
参数:
| 名称 | 类型 | 默认 | 说明 |
|---|---|---|---|
limit | integer | 52 | 返回周数(≤104) |
示例:
bash
# 请将 km_xxx 替换为你的 API Key
curl "https://mcp.keepamore.com/api/aba/word/1234567890123456789/history" \
-H "X-API-Key: km_xxx"js
// 请将 km_xxx 替换为你的 API Key
const r = await fetch(
"https://mcp.keepamore.com/api/aba/word/1234567890123456789/history",
{ headers: { "X-API-Key": "km_xxx" } },
);
console.log(await r.json());python
# 请将 km_xxx 替换为你的 API Key
import requests
resp = requests.get(
"https://mcp.keepamore.com/api/aba/word/1234567890123456789/history",
headers={"X-API-Key": "km_xxx"},
timeout=30,
)
print(resp.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/aba/word/1234567890123456789/history', [
'headers' => ['X-API-Key' => 'km_xxx'],
'timeout' => 30,
]);
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;
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://mcp.keepamore.com/api/aba/word/1234567890123456789/history"))
.header("X-API-Key", "km_xxx")
.timeout(Duration.ofSeconds(30))
.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"
"time"
)
func main() {
url := "https://mcp.keepamore.com/api/aba/word/1234567890123456789/history"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("X-API-Key", "km_xxx")
client := &http.Client{Timeout: 30 * 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))
}GET /api/aba/word/:wordId/goods
获取最新一期 Top3 ASIN 商品。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
country | string | ✅ | 站点代码 |
reportDate | string | ✅ | 报告日期(YYYY-MM-DD) |
示例:
bash
# 请将 km_xxx 替换为你的 API Key
curl "https://mcp.keepamore.com/api/aba/word/1234567890123456789/goods?country=us&reportDate=2026-05-11" \
-H "X-API-Key: km_xxx"js
// 请将 km_xxx 替换为你的 API Key
const params = new URLSearchParams({ country: "us", reportDate: "2026-05-11" });
const r = await fetch(
`https://mcp.keepamore.com/api/aba/word/1234567890123456789/goods?${params}`,
{ headers: { "X-API-Key": "km_xxx" } },
);
console.log(await r.json());python
# 请将 km_xxx 替换为你的 API Key
import requests
resp = requests.get(
"https://mcp.keepamore.com/api/aba/word/1234567890123456789/goods",
params={"country": "us", "reportDate": "2026-05-11"},
headers={"X-API-Key": "km_xxx"},
timeout=30,
)
print(resp.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/aba/word/1234567890123456789/goods', [
'headers' => ['X-API-Key' => 'km_xxx'],
'query' => ['country' => 'us', 'reportDate' => '2026-05-11'],
'timeout' => 30,
]);
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;
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://mcp.keepamore.com/api/aba/word/1234567890123456789/goods?country=us&reportDate=2026-05-11"))
.header("X-API-Key", "km_xxx")
.timeout(Duration.ofSeconds(30))
.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"
"time"
)
func main() {
url := "https://mcp.keepamore.com/api/aba/word/1234567890123456789/goods?country=us&reportDate=2026-05-11"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("X-API-Key", "km_xxx")
client := &http.Client{Timeout: 30 * 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))
}POST /api/aba/asin-reverse
ASIN 反查:查询 ASIN 出现在哪些 ABA 关键词下。
请求体 (JSON):
| 字段 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
asins | string[] | ✅ | — | ASIN 列表(最多 50 个) |
country | string | — | 限定站点 | |
startDate | string | — | 起始日期(YYYY-MM-DD) | |
endDate | string | — | 结束日期(YYYY-MM-DD) | |
limit | integer | 100 | 每 ASIN 最多返回条数 |
示例:
bash
# 请将 km_xxx 替换为你的 API Key
curl -X POST "https://mcp.keepamore.com/api/aba/asin-reverse" \
-H "Content-Type: application/json" \
-H "X-API-Key: km_xxx" \
-d '{"asins":["B08N5WRWNW","B09XS7JWHH"],"country":"us"}'js
// 请将 km_xxx 替换为你的 API Key
const r = await fetch("https://mcp.keepamore.com/api/aba/asin-reverse", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "km_xxx",
},
body: JSON.stringify({ asins: ["B08N5WRWNW", "B09XS7JWHH"], country: "us" }),
});
console.log(await r.json());python
# 请将 km_xxx 替换为你的 API Key
import requests
resp = requests.post(
"https://mcp.keepamore.com/api/aba/asin-reverse",
json={"asins": ["B08N5WRWNW", "B09XS7JWHH"], "country": "us"},
headers={"X-API-Key": "km_xxx"},
timeout=60,
)
print(resp.json())php
<?php
// 请将 km_xxx 替换为你的 API Key
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$client = new Client();
$resp = $client->post('https://mcp.keepamore.com/api/aba/asin-reverse', [
'headers' => ['Content-Type' => 'application/json', 'X-API-Key' => 'km_xxx'],
'json' => ['asins' => ['B08N5WRWNW', 'B09XS7JWHH'], 'country' => 'us'],
'timeout' => 60,
]);
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 json = "{\"asins\":[\"B08N5WRWNW\",\"B09XS7JWHH\"],\"country\":\"us\"}";
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://mcp.keepamore.com/api/aba/asin-reverse"))
.header("Content-Type", "application/json")
.header("X-API-Key", "km_xxx")
.timeout(Duration.ofSeconds(60))
.POST(HttpRequest.BodyPublishers.ofString(json))
.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 (
"bytes"
"fmt"
"io"
"net/http"
"time"
)
func main() {
body := bytes.NewBufferString(`{"asins":["B08N5WRWNW","B09XS7JWHH"],"country":"us"}`)
req, _ := http.NewRequest("POST", "https://mcp.keepamore.com/api/aba/asin-reverse", body)
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "km_xxx")
client := &http.Client{Timeout: 60 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
b, _ := io.ReadAll(resp.Body)
fmt.Println(string(b))
}对应 MCP 工具
| HTTP 端点 | MCP 工具 |
|---|---|
GET /api/aba/countries | aba_get_countries |
GET /api/aba/rank | aba_get_rank_list |
GET /api/aba/search | aba_search_keywords |
GET /api/aba/word/:wordId | aba_get_word_detail |
POST /api/aba/asin-reverse | aba_reverse_asin |
计费总览
| 端点 | 计费公式 | 示例 |
|---|---|---|
/countries | 0 | 免费 |
/report-dates、/search | 1 unit | 每次 1 |
/rank | ceil(limit / 1000) | limit=200 → 1 unit |
/word/:id 及子路由 | 1 unit | 每次 1 |
/asin-reverse | 1 × ASIN 数 | 5 个 ASIN → 5 units |