Check prices for up to 20 products
A compact price check built to be polled: up to 20 products in one request, each reported in request order with a status — ok, unavailable (listed but cannot be bought), not_found, or failed (could not be checked this time; check it again later) — plus availability, currency, the lowest and highest variant price, the original price, total stock, and one variant’s price and stock. Name a variant with { product, skuId } to track it; otherwise the default variant is reported, and requestedSkuMissing says when a named one is no longer offered. One product that cannot be checked does not fail the rest, and a batch refused part-way returns what it priced with the rest marked failed. It is much lighter and faster than one /product-details call per product. Pin shipTo and currency and keep them fixed between checks: a price read in a different market is a different price, not a price change. AliExpress refuses product lookups in bursts, and this route depends on them: an occasional 503 is temporary, so wait a little and retry. Search, category listings and reviews are served another way and are not affected. A 404 means the product does not exist or is not public and is not worth retrying. Billing: each product that gets a definitive result — a price, or a status such as out of stock, ended, unavailable or not found — counts as one request, so pricing 20 products bills 20. Products that fail on our side (blocked, timed out, not reached) are not billed, and duplicates count once.
/product-prices Prices https://api.fetchlayer.dev/aliexpress/product-prices Headers
Authorization string required Bearer token — your FetchLayer API key.
Parameters
products (string | object)[] required Up to 20 products, each a product id or URL, or { product, skuId } to also price one variant.
shipTo string optional Two-letter country code the shopper ships to, for example US or DE. Changes prices, shipping and availability. (default: US)
currency string optional Currency prices are returned in: USD, EUR, GBP, CAD, AUD, NZD, BRL, MXN, CLP, COP, PEN, ARS, JPY or KRW. Any other value is a 400. (default: USD)
language string optional Language for titles and labels: en_US, de_DE or pt_BR. Any other value is a 400. (default: en_US)
format string optional json, or markdown to get the result rendered as text. (default: json)
timeoutMs number optional Per-request time limit in milliseconds (max 600000).
Response Fields
product-prices
Check prices for up to 20 products
pagesScraped number Products that received a definitive result. Each counts as one request against your plan; failed products and duplicates do not.
items object[] One entry per requested product, in request order.
items[].productId string Global product id.
items[].status string ok, unavailable, not_found, or failed. failed is temporary — check that product again later.
items[].available boolean | null Whether it can be bought.
items[].currency string | null Currency the prices are in.
items[].price number | null Lowest current variant price.
items[].priceMax number | null Highest current variant price.
items[].originalPrice number | null Price before the discount.
items[].totalStock number | null Units in stock across variants.
items[].variant object | null The requested or default variant: skuId, price, available, stock, and requestedSkuMissing when a requested variant was not offered.
itemCount number Entries in items.
market object The market this result was read in — shipTo, currency and language — after defaults were applied. Compare prices only between results with the same market.
notes string[] Caveats about this specific result — a walk refused part-way, a padded search, a page repeated by the cursor. Read it before treating a result as complete.
requestedUrl string The AliExpress page this result corresponds to.
scrapedAt string ISO 8601 timestamp of when the data was collected.
resultType string Which shape this response is, e.g. product-search or product-reviews.
transport string The upstream source the data came from: aliexpress.
blocked boolean Always false on a successful response.
Request
curl -X POST "https://api.fetchlayer.dev/aliexpress/product-prices" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"products":["1005009494458560","1005006994630464"],"shipTo":"US","currency":"USD"}'Response
{
"resultType": "product-prices",
"market": {
"shipTo": "US",
"currency": "USD",
"language": "en_US"
},
"notes": [],
"itemCount": 2,
"items": [
{
"productId": "1005009494458560",
"status": "ok",
"available": true,
"currency": "USD",
"price": 16.33,
"originalPrice": 41.14,
"variant": {}
},
{
"productId": "1005006994630464",
"status": "ok",
"available": true,
"currency": "USD",
"price": 28.48,
"originalPrice": 81.04,
"variant": {}
}
]
}