API リファレンス
はじめに
AliExpress Reviews API は、AliExpress の商品レビューを JSON で返します。HTTPS 上の単一の REST エンドポイントで、エラーを含むすべてのレスポンスが JSON です。
- ベース URL
https://api.aliexpress-reviews.com- 認証
x-api-keyヘッダー- 形式
- JSON, UTF-8
クイックスタート:無料のキーを作成し、ダッシュボードの API テスターで試すか、次のコマンドを実行します。
curl "https://api.aliexpress-reviews.com/v1/reviews/1005006123456789?filter=5&pageSize=20" \
-H "x-api-key: $REVIEWS_API_KEY"認証
ダッシュボードで API key を作成し、すべてのリクエストの x-api-key ヘッダーに含めて送信してください。キーは rv_ で始まります。
キーは作成時に一度だけ表示されます。保存しているのはキーそのものではなくハッシュです。紛失した場合はダッシュボードからローテーションしてください。古いキーは5分以内に使えなくなります。
キーはサーバー側で管理してください。キーを持っている人は誰でもあなたのクォータを消費できます。
GET /v1/reviews/{productId}
商品のレビュー1ページ分と、その評価のサマリーを返します。
パスパラメーター
| 名前 | 型 | 説明 |
|---|---|---|
productId 必須 | string | AliExpress の数値の商品 ID:aliexpress.com/item/<id>.html に含まれる数字です。 |
クエリパラメーター
| 名前 | 型 | デフォルト | プラン | 説明 |
|---|---|---|---|---|
page | integer | 1 | Free | ページ番号(1〜1000)。 |
pageSize | integer | 20 | Free | 1ページあたりのレビュー数:Free は最大20、Pro と Max は最大100。 |
filter | string | all | Free | 下記のフィルターのいずれか。一部の値は上位プランが必要です。 |
country | string | US | Pro | 購入者の国(ISO 3166-1 alpha-2)。filter=local が返すレビューと local の件数を決定します。 |
lang | string | en_US | Pro | レビューの翻訳先の言語。originalContent には購入者の原文が残ります。 |
不明なパラメーターは 400 を返します。ご利用のプランに含まれないパラメーターは、値がデフォルトであっても 403 を返します。
リクエスト例
curl "https://api.aliexpress-reviews.com/v1/reviews/1005006123456789?filter=5&pageSize=20" \
-H "x-api-key: $REVIEWS_API_KEY"const url = new URL('https://api.aliexpress-reviews.com/v1/reviews/1005006123456789');
url.search = new URLSearchParams({ filter: '5', pageSize: '20' }).toString();
const res = await fetch(url, { headers: { 'x-api-key': process.env.REVIEWS_API_KEY } });
if (!res.ok) throw new Error((await res.json()).error.message);
const { summary, data } = await res.json();import os, requests
res = requests.get(
"https://api.aliexpress-reviews.com/v1/reviews/1005006123456789",
params={"filter": "5", "pageSize": 20},
headers={"x-api-key": os.environ["REVIEWS_API_KEY"]},
)
res.raise_for_status()
body = res.json()フィルター
フィルターは AliExpress の商品ページに表示されるものと同じで、AliExpress 側で適用されます。filter は1リクエストにつき1つだけ指定でき、組み合わせることはできません。
| 値 | プラン | 返す内容 |
|---|---|---|
filter=all | Free | すべてのレビュー(デフォルト)。 |
filter=5 | Free | 星5のレビューのみ。 |
filter=4 | Free | 星4のレビューのみ。 |
filter=3 | Free | 星3のレビューのみ。 |
filter=2 | Free | 星2のレビューのみ。 |
filter=1 | Free | 星1のレビューのみ。 |
filter=additional | Pro | 追加(フォローアップ)フィードバック付きのレビュー。 |
filter=local | Pro | country パラメーターで指定した国の購入者によるレビュー。 |
filter=image | Max | 写真付きのレビュー。 |
レスポンスの summary.filterCounts で各フィルターが返すレビュー数がわかるため、追加のリクエストなしで UI から空のフィルターを非表示にできます。
言語
lang(Pro)を指定すると、content と additionalFeedback が AliExpress によって翻訳されて返されます。originalContent には常に購入者自身の言葉がそのまま残ります。
| 値 | 言語 |
|---|---|
en_US | 英語 |
es_ES | スペイン語 |
fr_FR | フランス語 |
de_DE | ドイツ語 |
it_IT | イタリア語 |
pt_BR | ポルトガル語(ブラジル) |
nl_NL | オランダ語 |
pl_PL | ポーランド語 |
レスポンス
{
"productId": "1005006123456789",
"filter": "all",
"page": 1,
"pageSize": 20,
"total": 452,
"totalPages": 23,
"summary": {
"averageRating": 4.4,
"totalReviews": 452,
"ratingDistribution": { "5": 323, "4": 54, "3": 33, "2": 12, "1": 30 },
"filterCounts": { "all": 452, "image": 32, "additional": 6, "local": 63 }
},
"data": [
{
"id": "60012345678901234",
"author": "J***n",
"country": "ES",
"rating": 5,
"content": "Very good quality, arrived in 10 days",
"originalContent": "Muy buena calidad, llegó en 10 días",
"additionalFeedback": null,
"date": "2026-08-09",
"sku": "Color:Black",
"helpfulVotes": 3,
"images": ["https://..."],
"thumbnails": ["https://..."]
}
]
}ページのフィールド
| フィールド | 型 | 説明 |
|---|---|---|
productId | string | リクエストした商品。 |
filter | string | 適用されたフィルター。 |
page, pageSize | integer | 返されたページと、リクエストしたページサイズ。 |
total | integer | フィルターに一致するレビュー数。 |
totalPages | integer | この pageSize で取得できるページ数。 |
summary.averageRating | number | null | 商品の平均星数。レビューがない場合は null。 |
summary.totalReviews | integer | フィルターに関係なく、商品のすべてのレビュー数。 |
summary.ratingDistribution | object | 星ごとのレビュー数。キーは "1"〜"5"。 |
summary.filterCounts | object | フィルターごとのレビュー数:all、image、additional、local(country に依存)。 |
data | Review[] | このページのレビュー。 |
レビューのフィールド
| フィールド | 型 | 説明 |
|---|---|---|
id | string | AliExpress のレビュー ID。 |
author | string | AliExpress によってマスクされた購入者名(例:J***n)。 |
country | string | 購入者の国(ISO 3166-1 alpha-2)。 |
rating | integer | 星の数(1〜5)。 |
content | string | lang に翻訳されたレビュー本文。 |
originalContent | string | 購入者が書いたままのレビュー本文。 |
additionalFeedback | string | null | フォローアップのフィードバック(ある場合)。 |
date | string | レビューの日付(YYYY-MM-DD)。 |
sku | string | null | 購入者が購入したバリエーション(例:Color:Black)。 |
helpfulVotes | integer | 他の購入者が「役に立った」と評価した回数。 |
images | string[] | フルサイズ写真の URL。Max プランのみ。 |
thumbnails | string[] | サムネイルの URL。Max プランのみ。 |
Free と Pro では images と thumbnails は省略されます。
ページネーション
page が totalPages に達するまで、page=1、2、… とリクエストします。各ページがクォータの1リクエストとして計上されるため、プランで許可されている最大の pageSize を使ってください。
async function allReviews(productId, filter = 'all') {
const reviews = [];
for (let page = 1; ; page++) {
const url = `https://api.aliexpress-reviews.com/v1/reviews/${productId}?filter=${filter}&page=${page}`;
const res = await fetch(url, { headers: { 'x-api-key': process.env.REVIEWS_API_KEY } });
const body = await res.json();
reviews.push(...body.data);
if (page >= body.totalPages) return reviews;
}
}レート制限
| プラン | 1日あたりのリクエスト数 | 最大 pageSize |
|---|---|---|
| Free | 100 | 20 |
| Pro | 1,000 | 100 |
| Max | 10,000 | 100 |
クォータは 00:00 UTC にリセットされます。クォータに計上されるすべてのレスポンス(200、404、429、502)には次のヘッダーが含まれます。
| ヘッダー | 説明 |
|---|---|
x-ratelimit-limit | 1日のクォータ。 |
x-ratelimit-remaining | 本日の残りリクエスト数。 |
x-ratelimit-reset | 次回リセットの Unix 時刻。 |
400/401/403 で拒否されたリクエストは計上されません。クォータを超えると、リセットまで 429 が返されます。また、全ユーザー共通で毎秒50リクエストのグローバル制限があります。
キャッシュ
各ページ(商品+パラメーター)は最大24時間キャッシュされるため、新しいレビューが表示されるまで最大1日かかることがあります。キャッシュされたレスポンスもクォータに計上されます。
エラー
エラーは標準的な HTTP ステータスコードと、次の JSON ボディで返されます。
{ "error": { "message": "filter=image requires the MAX plan" } }| ステータス | 意味 | クォータに計上 |
|---|---|---|
400 | パラメーターが無効または不明か、商品 ID の形式が正しくありません。 | いいえ |
401 | x-api-key ヘッダーがありません。 | いいえ |
403 | API key が無効か、ご利用のプランに含まれないパラメーターまたはフィルターです。 | いいえ |
404 | その ID の商品は AliExpress に存在しません。 | はい |
429 | 1日のクォータを超えたか、グローバルなレート制限に達しました。 | — |
502 | AliExpress から応答がありませんでした。しばらくしてから再試行してください。 | はい |
OpenAPI
完全な仕様は /openapi.json(OpenAPI 3.0)にあります。Postman、Insomnia、クライアントジェネレーターにインポートして使えます。