商品名を入力して国を選ぶと、Web UnlockerがAliExpressの検索ページを返します。商品60件と、その現地価格、割引、評価、販売数が載り、課金は1ページ分です。商品をクリックすると、レビューを最大100件表示します。読み込みに失敗したページは無料です。
無料リクエスト1,000件 · 課金は成功時のみ · 195以上の国 · Claude対応
チームについて簡単にご記入いただくと、次の内容をお届けします。
AliExpressの検索ページには、価格、割引、評価、販売数、配送バッジ付きの商品が60件載っており、Web Unlockerは1ページとして課金します。ApifyやBright DataのAliExpress商品スクレイパーは、商品を1件ずつ課金します。
1ページで商品60件。
167ページで商品10,000件。
読み込みに失敗したページは無料です。2ページ目も10ページ目も、注文数順や価格順といった並べ替えも、それぞれ60件のページが1つ増えるだけです。
AliExpressの商品10,000件の料金
商品60件の検索ページ167件、公開価格で
GrowthプランのWeb Unlocker、1,000ページあたり$0.98。他社は商品ごとに課金します。Bright Dataは従量課金、Apifyで最も使われているAliExpress検索アクターと、より安いアクターはApifyの$19プランの価格です。
ご自身の検索で実行しますか?APIキーと無料リクエストを入手しましょう。
AliExpressスクレイピングのテスト:1ページにつきリクエスト1回、再試行なしで100ページを取得しました。20商品の検索、2〜10ページ目とすべての並べ替え、同じ検索をほかの20か国から、そしてレビューを100件ずつ。返ってきた結果と、その速さは次のとおりです。
返ってこなかったページは$0。
課金されるのはページで、試行回数ではありません。
AliExpressは商品のレビューを1リクエスト100件ずつ返します。各レビューには星の数、購入者の国、購入したバリエーション、AliExpressによる英語訳付きの本文、購入者の写真が付いています。下のイヤホンにはレビューが2,153件あり、22リクエストで2セントです。
AliExpress自身のAPIは評価を返します。
スクレイパーはレビューそのものを返します。
AliExpressは国ごとに異なる検索結果と価格を表示します。同じ検索を8か国から実行すると6つの通貨で返り、アメリカとドイツのページでは、60件の商品に共通するものがほとんどありませんでした。
HTMLを解析しないAliExpressのWebスクレイピング。検索ページにはどれもAliExpress自身のJSONが入っており、商品60件が載っています。商品のレビュー一覧はJSONで応答し、1回にレビュー100件ずつ返ります。別の国からの同じ検索も、ページが1つ増えるだけです。
上のフォームにご記入ください。キーは1営業日以内にメールで届きます。
キーワードの検索、その2ページ目や並べ替え、またはpageSize=100を付けた商品のレビュー一覧を指定します。
検索ページから商品の一覧を切り出すか、レビューを応答から直接読み取ります。価格、評価、販売数、本文、写真が手に入ります。
pip install requestsGOLOGIN_SCRAPING_API_KEY=your_key python aliexpress_search.pyhttps://parsing.webunlocker.gologin.com/v1/scrapeimport json
import os
import time
import requests
query = "wireless earbuds"
country = "us"
def scrape(url):
for attempt in range(3):
response = requests.get(
"https://parsing.webunlocker.gologin.com/v1/scrape",
params={"url": url + (f"?_r={time.time_ns()}" if attempt else ""), "geo": country, "format": "json"},
headers={"apikey": os.environ["GOLOGIN_SCRAPING_API_KEY"]},
timeout=90,
)
page = response.json().get("data", {}).get("html", "") if response.ok else ""
if '"itemList":{"content":' in page:
return page
time.sleep(5)
raise RuntimeError("No products came back, try again later")
def embedded(page, marker):
start = page.index(marker) + len(marker)
value, _ = json.JSONDecoder().raw_decode(page[start:])
return value
search = "https://www.aliexpress.com/w/wholesale-" + "-".join(query.lower().split()) + ".html"
page = scrape(search)
products = []
for item in embedded(page, '"itemList":{"content":'):
product_id = item.get("trace", {}).get("utLogMap", {}).get("x_object_id") or item["productId"]
price = item.get("prices", {}).get("salePrice", {})
products.append(
{
"id": product_id,
"title": item["title"]["displayTitle"],
"price": price.get("minPrice"),
"currency": price.get("currencyCode"),
"discount": price.get("discount"),
"rating": item.get("evaluation", {}).get("starRating"),
"sold": item.get("trade", {}).get("tradeDesc"),
"ad": bool(item.get("p4p")),
"url": f"https://www.aliexpress.com/item/{product_id}.html",
}
)
print(json.dumps({"query": query, "country": country, "products_on_page": len(products), "products": products}, indent=2, ensure_ascii=False))GOLOGIN_SCRAPING_API_KEY=your_key node aliexpress-reviews.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeimport { writeFileSync } from 'node:fs';
const productId = '1005007823486360';
const scrape = async (url) => {
for (let attempt = 0; attempt < 3; attempt += 1) {
const params = new URLSearchParams({ url: attempt ? `${url}&_r=${Date.now()}` : url, geo: 'us', format: 'json' });
const response = await fetch(`https://parsing.webunlocker.gologin.com/v1/scrape?${params}`, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
});
const html = (await response.json()).data?.html ?? '';
const json = (html.match(/<pre[^>]*>([\s\S]*)<\/pre>/)?.[1] ?? html)
.replace(/"/g, '"')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/'/g, "'")
.replace(/&/g, '&');
try {
const data = JSON.parse(json).data;
if (data?.evaViewList) return data;
} catch {}
await new Promise((resolve) => setTimeout(resolve, 5000));
}
throw new Error('No reviews came back, try again later');
};
const reviews = new Map();
let total = 0;
let pages = 1;
for (let page = 1; page <= pages; page += 1) {
const data = await scrape(
`https://feedback.aliexpress.com/pc/searchEvaluation.do?productId=${productId}&lang=en_US&country=US&page=${page}&pageSize=100&filter=all&sort=complex_default`,
);
total = data.totalNum;
pages = data.totalPage;
for (const review of data.evaViewList) {
reviews.set(review.evaluationIdStr, {
id: review.evaluationIdStr,
rating: review.buyerEval / 20,
date: review.evalDate,
country: review.buyerCountry,
variant: review.skuInfo?.trim() ?? '',
text: review.buyerTranslationFeedback || review.buyerFeedback || '',
photos: (review.images ?? []).join(' '),
});
}
}
const csv = (value) => `"${String(value).replace(/"/g, '""')}"`;
const rows = [...reviews.values()].map((r) => [r.id, r.rating, r.date, r.country, r.variant, r.text, r.photos].map(csv).join(','));
writeFileSync('reviews.csv', ['id,rating,date,country,variant,text,photos', ...rows].join('\n'));
console.log(`${reviews.size} of ${total} reviews from ${pages} requests saved to reviews.csv`);GOLOGIN_SCRAPING_API_KEY=your_key node aliexpress-prices.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeconst query = 'wireless earbuds';
const countries = ['us', 'gb', 'de', 'fr', 'es'];
const scrape = async (url, geo) => {
for (let attempt = 0; attempt < 3; attempt += 1) {
const params = new URLSearchParams({ url: attempt ? `${url}?_r=${Date.now()}` : url, geo, format: 'json' });
const response = await fetch(`https://parsing.webunlocker.gologin.com/v1/scrape?${params}`, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
});
const html = (await response.json()).data?.html ?? '';
const at = html.indexOf('"itemList":{"content":');
if (at < 0) {
await new Promise((resolve) => setTimeout(resolve, 5000));
continue;
}
const start = html.indexOf('[', at);
let depth = 0;
for (const match of html.slice(start).matchAll(/"(?:[^"\\]|\\.)*"|[[\]{}]/g)) {
depth += '[{'.includes(match[0]) ? 1 : ']}'.includes(match[0]) ? -1 : 0;
if (depth === 0) return JSON.parse(html.slice(start, start + match.index + 1));
}
}
return [];
};
const search = `https://www.aliexpress.com/w/wholesale-${query.toLowerCase().split(' ').join('-')}.html`;
const seen = new Map();
for (const geo of countries) {
const items = await scrape(search, geo);
console.log(`${geo}: ${items.length} products in ${items[0]?.prices?.salePrice?.currencyCode ?? '-'}`);
for (const item of items) {
const id = item.trace?.utLogMap?.x_object_id ?? item.productId;
const price = item.prices?.salePrice?.formattedPrice;
if (!price) continue;
seen.set(id, { title: seen.get(id)?.title ?? item.title.displayTitle, prices: { ...seen.get(id)?.prices, [geo]: price } });
}
}
const shared = [...seen.entries()].filter(([, product]) => Object.keys(product.prices).length > 1);
console.log(`\n${shared.length} products found in more than one country:`);
for (const [id, product] of shared.slice(0, 5)) {
console.log(`${id} ${product.title.slice(0, 50)}\n ${Object.entries(product.prices).map(([geo, price]) => `${geo} ${price}`).join(' | ')}`);
}ご自身の商品で実行しますか?APIキーと無料リクエストを入手しましょう。
AliExpress自身のAPI、Apifyで最も使われているAliExpressのアクター、Bright DataのAliExpressスクレイパー。同じ商品とレビューにそれぞれいくら課金し、始める前に何が必要かは次のとおりです。
| 必要なもの | AliExpress API | Apify | Bright Data | |
|---|---|---|---|---|
| 課金の対象 | 1ページ | 現時点ではなし | 商品またはレビューごと | レコードごと |
| 検索の商品10,000件 | $0.16 | 承認されれば無料 | $18.30〜$80 | $15 |
| レビュー10,000件 | $0.10 | レビューなし | $8〜$30 | $15 |
| キーワード検索 | あり | 承認されれば | あり | なし(リンクのみ) |
| レビューの本文と写真 | あり | なし(評価のみ) | あり | 記載なし |
| 申請なしで開始 | あり | なし | あり | あり |
| 無料で開始 | 1,000ページ | 現時点では無料 | 月$5 | 5,000レコード |
| 他のどのサイトでも同じ料金 | あり | なし | なし | なし |
ほかのマーケットプレイスでも販売していますか?Web Unlockerなら、ほかのどのサイトも同じ方法、同じ料金で返します。
各バリエーションの価格と在庫、お客様の国への配送、出品者が載った商品ページ全体は、買い物客のブラウザ内で組み立てられます。Cloud Browserは買い物客としてそのページを開きます。アメリカの商品ページ4件中4件を9〜14秒で取得しました。
Cloud Browserは選んだ国のレジデンシャルIPで本物のブラウザを動かすため、AliExpressはその国の買い物客に対するのと同じように商品ページを組み立てます。
ページ自身のデータからバリエーションを読み取ります。このケースでは27種類あり、それぞれに在庫、セール前後の価格、配送日が付いています。
Playwright、Puppeteer、Claudeがページを開き、読み取り、次へ進みます。レジデンシャルIP込みで、別途借りるものも、合わせて管理するものもありません。
Playwright、PuppeteerまたはClaudeから実行できます。Cloud Browserを見る。
1つのアカウント、1つのプロキシネットワーク、1つのエコシステム。用途に合った製品をお選びください。
ほかのショップもスクレイピングしますか?Amazon、eBay、Walmartのスクレイパー、またはすべてのWebスクレイピングツールをご覧ください。
AliExpressスクレイパーは、AliExpressの公開データを集めてJSONやスプレッドシートにするツールです。検索ページの商品とその価格、評価、販売数、購入者のレビューなどが対象です。GologinのAliExpressスクレイパーは、スクレイピング用のAliExpress APIとして使えます。検索アドレスと国を送ると、Web Unlockerが商品60件の載ったページを返し、課金は1ページ分です。
AliExpressの検索アドレス(aliexpress.com/w/wholesale-にキーワードを続けたもの)を、取得したい国を指定してWeb Unlockerに送ります。本物のブラウザでページを開き、AliExpress自身のJSONを含めて返します。商品60件に、ID、タイトル、価格、通貨、割引、評価、販売数、バッジが付いています。商品のレビューはレビュー一覧から、1リクエスト100件ずつ取得します。上のコードはその両方を行います。
検索ページからは商品60件が取得でき、それぞれにID、タイトル、価格と通貨、割引、評価、販売数、画像のリンク、そして「Free shipping」や「Fastest delivery in 7 days」といったAliExpressのバッジが付いています。レビューからは評価、日付、購入者の国、バリエーション、本文、写真が取得できます。すべてのバリエーションの価格と在庫、配送日、出品者、仕様を含む商品ページ全体が必要なら、このAliExpress商品スクレイパーをCloud Browserと組み合わせてください。
はい、AliExpress Open Platformがあり、AliExpressが承認したアフィリエイト、出品者、アプリが対象です。申請するとAliExpressがアプリを審査し、そのアフィリエイト商品検索はキーワード、国、通貨を受け付けます。返すのは各商品の評価で、レビューは返しません。また、利用規約でデータを第三者に渡すことが禁じられています。Web Unlockerは申請なしで公開ページそのものを返します。
現時点では無料です。AliExpressの規約では、APIは一時的に無料とされており、対象は申請が承認された開発者です。Web Unlockerには1,000件の無料リクエストが付き、検索ページから商品60,000件、またはレビュー100,000件に相当します。
AliExpress Open Platformにアプリで申請すると、アクセスを許可するかどうかをAliExpressが判断します。Web Unlockerのキーは上のフォームから1営業日以内に届き、ご自身の商品で試せる無料リクエストが付いています。
はい、AliExpressにアフィリエイトとして承認されれば可能です。商品クエリはキーワード、配送先の国、通貨をトラッキングIDとともに受け付け、手数料率と評価付きの商品を返します。レビュー、バリエーション、在庫は含まれません。
上の「レビューをCSVに」タブがreviews.csvを書き出します。レビュー1件につき1行で、評価、日付、国、バリエーション、本文、写真のリンクが入ります。お使いのレビューアプリがCSVのインポートに対応していれば、列をアプリのテンプレートに合わせてファイルをアップロードしてください。
はい。AliExpressは商品のレビューをJSONで応答する一覧から読み込み、1リクエストで最大100件を返します。評価、日付、購入者の国、購入したバリエーション、AliExpressによる英語訳付きの本文、購入者の写真に加え、商品の星別の内訳も取得できます。レビュー2,153件の商品なら22リクエストです。
1リクエスト100件ずつ、最後のページまで順に取得できます。AliExpressはリクエストごとに順序を少し入れ替えるため、商品のページを1巡すると95〜99%のレビューが集まり、2巡目で残りのほとんどが埋まります。レビュー892件のスマホケースでは、1巡で884件が返りました。
はい。同じ検索や同じ商品を定期的に取得して比較します。1つの検索ページを1時間ごとにチェックすると1日24ページで、月$0.71です。アカウントなしの訪問者に表示される価格には新規購入者向けのセールが含まれるため、同じ条件同士で比較してください。
AliExpress自体では見られません。検索ページに表示されるのは今日の価格と割引、せいぜい「Lowest price in 90 days」のようなバッジです。履歴はご自身で作れます。チェックのたびに価格を日付とともに保存すれば、1ページで商品60件です。1つの検索を毎日1年間チェックすると365ページで、約$0.36です。
はい。検索を注文数順に並べ、1ページ60件の商品で販売数、評価、配送バッジを比較し、出品する前に購入者の写真付きレビューを読みます。購入者の国から同じ検索を実行してください。AliExpressは国ごとに異なる商品と価格を表示します。ストア側の運用にはドロップシッピング向けGologinをご覧ください。
AliExpressスクレイパーAPIは1,000ページあたり$1未満で、どのページも同じ料金です。検索ページから商品10,000件で$0.16、レビュー10,000件で約$0.10です。読み込みに失敗したページは無料です。Web Unlockerのプランは50,000リクエストで月$49からです。
いいえ。Web Unlockerが195以上の国からIPを選び、選んだ国からページを開きます。
3つの種類があります。ApifyのアクターとBright Dataは完成した行を提供し、商品やレビューごとに課金します。汎用のWebスクレイピングAPIはリクエストごとに課金し、料金はサイトに必要なオプションで決まります。Web Unlockerは、ページ全体を1ページ1つの料金で返すAliExpressスクレイパーで、AliExpress自身のJSONが入っているため、残す項目はご自身で決められます。
AliExpressは信頼できない訪問者に対して、読み込まれても商品が載っていないページを返すことがあり、既製のスクレイパーはその場合、空のリストのまま実行完了と報告します。Web Unlockerは買い物客が見るページを返します。テストでは100ページ中100ページが商品またはレビュー付きで返りました。
AliExpressの検索ページとレビューは公開されており、ログインなしで読み込めます。Web Unlockerは買い物客のブラウザと同じようにページを読み込んで返します。何を収集し、どう使うかはお客様の判断ですので、プロジェクトに適用されるルールに照らして確認してください。
チームについて簡単にご記入いただくと、次の内容をお届けします。