# 商品搜索接口

> 2 个平台的 2 个接口，用同一个 Product 对象返回商品搜索结果。按关键词搜平台商城里的商品，按页返回：标题、现价和原价、图片、店铺，商城展示的话还有销量和评分。每次 $0.004 到 $0.02，各接口按自己的价格计费；失败的调用不扣费。

网页版：https://okdata.online/zh/roles/products-search/

## 各平台接口

| 平台 | 接口 | 路径 | 每页 | 价格 |
|---|---|---|---|---|
| TikTok | [TikTok Shop 商品搜索](https://okdata.online/zh/apis/tiktok/shop/products/search/) | `GET /v1/tiktok/shop/products/search` | 20 | $0.004/次 · 每页约 20 个商品 |
| 小红书 | [小红书商城商品搜索](https://okdata.online/zh/apis/xiaohongshu/shop/products/search/) | `GET /v1/xiaohongshu/shop/products/search` | 20 | $0.02/次 · 每页约 20 个商品 |

## 返回的对象：[Product](https://okdata.online/zh/docs/objects/product/)

上面每个接口返回的字段名和类型都一样。平台不展示的字段返回 null，并在 meta.unavailable 里注明。

| 字段 | 类型 | 含义 |
|---|---|---|
| `id` | `string` | 商品在商城里的 ID。 |
| `url` | `string` | 商品页面。 |
| `title` | `string` | 商品标题。 |
| `price` | `number \| null` | 现价（最低规格），单位见 currency。 |
| `original_price` | `number \| null` | 折前原价（有的话）。 |
| `currency` | `string \| null` | ISO 4217 货币代码。 |
| `sold` | `integer \| null` | 销量，以商城显示为准。 |
| `rating` | `number \| null` | 平均星级，0 到 5。 |
| `reviews` | `integer \| null` | 评价数。 |
| `images` | `string[] \| null` | 商品图片地址。 |
| `shop` | `ShopRef` | 卖家店铺。 |
| `ext` | `object` | 平台特有字段，只在 view=full 时返回。 |

## 两个平台上的同一个调用

参数一样、翻页方式一样、返回结构一样，只换路径。

```bash
# TikTok
curl -G "https://api.okdata.online/v1/tiktok/shop/products/search" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'query=portable coffee maker'

# 小红书
curl -G "https://api.okdata.online/v1/xiaohongshu/shop/products/search" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'query=便携咖啡机'
```

## 常见用途

- 自己定价之前，先看一个品类的价格区间。
- 找出某个关键词下卖得最好的商品。
- 一周周盯着搜索结果，发现新冒出来的竞品。

## 常见问题

### 带销量吗？

商城展示的就有。TikTok Shop 有；小红书商城不以数字展示销量，所以那边 sold 为 null。

### 价格是什么币种？

每个商品都带 currency 代码。小红书的价格是人民币；TikTok Shop 的价格是店铺展示的币种。

### 搜到之后做什么？

把商品 id 存下来。传给商品详情拿全部图片和店铺信息，传给商品评价看买家怎么说。

## 其他数据类型

- [评论接口](https://okdata.online/zh/roles/posts-comments-list/)
- [热榜接口](https://okdata.online/zh/roles/trends-list/)
- [评论回复接口](https://okdata.online/zh/roles/comments-replies-list/)
- [话题内容接口](https://okdata.online/zh/roles/topics-posts-list/)
- [账号信息接口](https://okdata.online/zh/roles/accounts-get/)
- [账号作品列表接口](https://okdata.online/zh/roles/accounts-posts-list/)
- [内容详情接口](https://okdata.online/zh/roles/posts-get/)
- [内容搜索接口](https://okdata.online/zh/roles/posts-search/)
- [热门内容接口](https://okdata.online/zh/roles/posts-trending/)
- [账号搜索接口](https://okdata.online/zh/roles/accounts-search/)
- [内容数据接口](https://okdata.online/zh/roles/posts-metrics/)
- [社区帖子接口](https://okdata.online/zh/roles/communities-posts-list/)
- [广告详情接口](https://okdata.online/zh/roles/ads-get/)
- [广告主广告列表接口](https://okdata.online/zh/roles/advertisers-ads-list/)
- [广告搜索接口](https://okdata.online/zh/roles/ads-search/)
- [字幕接口](https://okdata.online/zh/roles/transcripts-get/)
- [粉丝列表接口](https://okdata.online/zh/roles/accounts-followers-list/)
- [商品详情接口](https://okdata.online/zh/roles/products-get/)
- [商品评价接口](https://okdata.online/zh/roles/products-reviews-list/)
- [达人搜索接口](https://okdata.online/zh/roles/creators-search/)
- [达人详情接口](https://okdata.online/zh/roles/creators-get/)
- [达人粉丝画像接口](https://okdata.online/zh/roles/creators-audience-get/)
