AliExpress API — Batch Price Check for Monitoring
Documentation menu
FetchLayer FetchLayer API

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.

POST /product-prices Prices
https://api.fetchlayer.dev/aliexpress/product-prices
OpenAPI JSON

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": {}
    }
  ]
}