mcpField
A
Amazon Trends API

Amazon Trends API

远程服务
trendsapi.ai商业与营销010 周前更新

关于 Amazon Trends API

Amazon Trends API 通过 Python、JavaScript 客户端或 HTTP 提供商品搜索兴趣历史、增长数据和畅销榜动态,适用于电商研究。关键词历史与当前畅销商品数据是不同的数据类型。

主要功能

  1. 01获取关键词兴趣时间序列
  2. 02衡量不同日期范围的增长
  3. 03读取实时畅销榜
  4. 04按类别筛选信息流
  5. 05使用异步 Python 客户端
  6. 06通过 HTTP API 访问

适用场景

  1. 01跟踪 Amazon 商品词的搜索兴趣
  2. 02比较关键词在不同周期的增长
  3. 03查看当前畅销商品排名
  4. 04使用 Pandas 分析时间序列

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://amazon.api.trendsapi.ai/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://amazon.api.trendsapi.ai/mcp需要授权

工具

详细介绍

Amazon 商品搜索需求 API

通过 Trends API 获取 Amazon 搜索热度和畅销商品信息流。无需使用爬虫即可开展电商研究。

许可证:MIT PyPI Python npm

密钥:trendsapi.ai/#get-key。HTTP 接口约定和所有数据源:trendsapi-ai/trendsapi。

身份验证

pip install trendsapi-amazon
export TRENDSAPI_KEY=your_key

Python 3.9+。与 HTTP API 使用相同的密钥。

from trendsapi_amazon import TrendsAPI

client = TrendsAPI()                    # TRENDSAPI_KEY
# client = TrendsAPI(api_key="YOUR_KEY")

关键词辅助方法默认使用 source: "amazon"。传入 source= 即可通过同一客户端访问其他平台。官方完整客户端(支持所有数据源,无预设):trendsapi。

方法

方法REST mode返回值
get_time_series(keyword, source=, data_mode=)get_time_serieslist[TrendsDataPoint]
get_growth(keyword, percent_growth=, source=, data_mode=)get_growthGetGrowthResponse
get_live(limit=, offset=, category=)get_top_trendsGetTopTrendsResponse
get_top_trends(type=, ...)get_top_trendsGetTopTrendsResponse

source 使用小写(amazon)。type 必须精确匹配(Amazon Best Sellers Top Rated)。混用两者会返回 400 错误。

from trendsapi_amazon import TrendsAPI

client = TrendsAPI()                    # TRENDSAPI_KEY
# client = TrendsAPI(api_key="YOUR_KEY")

series = client.get_time_series("standing desk")
print(series[-1].date, series[-1].value)

growth = client.get_growth("standing desk", percent_growth=["3M", "12M"])
print(growth.results[0].growth, growth.results[0].direction)

hot = client.get_live(limit=10)
print(hot.data)                         # [[1, "..."], ...]

get_time_series

points = client.get_time_series("standing desk")

每个数据点:

字段始终存在含义
date是YYYY-MM-DD
value是此时间序列的 0-100 指数
keyword是回显的关键词
volume否可用时提供绝对搜索量
source 或 datatype否数据管道标签

Python 返回 list[TrendsDataPoint]。请使用 .date 和 .value,而不是 ["date"]。 JS 返回的对象属性与上述字段相同。

get_growth

g = client.get_growth("standing desk", percent_growth=["12M", "3M", "YTD"])
print(g.results[0].growth, g.results[0].direction)

percent_growth 默认值:["12M"]。预设值:7D 14D 30D 1M 2M 3M 6M 9M 12M/1Y 18M 24M/2Y 36M/3Y 48M 60M/5Y MTD QTD YTD。自定义值:{"name": "Launch", "recent": "2024-06-01", "baseline": "2024-01-01"}。

字段含义
search_term关键词
data_source数据源
results每个时间窗口对应一个对象(包含 period、growth、direction、日期和数值)
metadata计数 / 成功标志

多个时间窗口仍计为一次请求。Python:growth.results[0].growth。JS:growth.results[0].growth。

get_live

hot = client.get_live(limit=10)
字段含义
as_of_ts快照时间
type信息流名称
limit、offset、count分页
data[rank, label] 行

Python:hot.data。JS:hot.data。可选的 offset= 和 category=(仅适用于 Amazon Best Sellers by Category、Top Websites)。

异步

import asyncio
from trendsapi_amazon import AsyncTrendsAPI

async def main():
    c = AsyncTrendsAPI()
    return await asyncio.gather(
        c.get_time_series("standing desk"),
        c.get_time_series("standing desk", source="google search"),
    )

asyncio.run(main())

每个 200 响应计为一次计费请求。

Pandas

from dataclasses import asdict
import pandas as pd
from trendsapi_amazon import TrendsAPI

df = pd.DataFrame(asdict(p) for p in TrendsAPI().get_time_series("standing desk"))
df["date"] = pd.to_datetime(df["date"])
print(df.set_index("date")["value"].resample("ME").mean().tail())

JavaScript / TypeScript

npm install trendsapi-amazon

支持 Node 18+、Deno、Bun 和 Workers。使用相同的 API 密钥。以上字段表同样适用。

方法
方法REST mode返回值
getTimeSeries(keyword, { source, data_mode })get_time_series每周数据点
getGrowth(keyword, { percent_growth, source, data_mode })get_growth增长对象
getLive({ limit, offset, category })get_top_trends实时信息流
getTopTrends({ type, ... })get_top_trends实时信息流
import { TrendsAPI } from "trendsapi-amazon";

const client = new TrendsAPI({ apiKey: process.env.TRENDSAPI_KEY! });
const series = await client.getTimeSeries("standing desk");
console.log(series.at(-1)?.date, series.at(-1)?.value);

const growth = await client.getGrowth("standing desk", {
  percent_growth: ["3M", "12M"],
});
console.log(growth.results[0].growth, growth.results[0].direction);

const live = await client.getLive({ limit: 10 });
console.log(live.data);                 // [[1, "..."], ...]

调用(curl)

字段值
端点POST https://api.trendsapi.ai/api
身份验证Authorization: Bearer $TRENDSAPI_KEY
历史数据使用 get_time_series 或 get_growth,并设置 source: amazon
关键词商品短语,例如 standing desk
实时 typeAmazon Best Sellers Top Rated、Amazon Best Sellers by Category
curl -sS -X POST https://api.trendsapi.ai/api \
  -H "Authorization: Bearer $TRENDSAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode":"get_time_series","source":"amazon","keyword":"standing desk"}'

来源说明

  • value 是 0-100 的搜索兴趣指数,不代表销量。
  • Feed 可回答当前哪些商品正在热销。关键词序列可回答用户正在搜索什么。
  • Google Shopping 是不同的 source(google shopping)。

错误

HTTP客户端
200已解析的载荷。Python 数据类 / JS 类型化对象
400引发错误。请修正 source 或 type 的拼写
401引发错误。请检查 TRENDSAPI_KEY
404引发错误。该关键词没有对应的序列。请勿重试
429引发错误。配额已用尽
5xx客户端重试后引发错误

HTTP body 字段是一个 JSON 字符串。SDK 会对其解码。使用原始 curl 时,必须再次解析 body。

网站:https://trendsapi.ai/trends/amazon-trends。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。