The AliExpress Product API retrieves full product detail page (PDP) data from an AliExpress /item/ URL. Pass a product page URL and receive structured JSON with title, images, seller identity, pricing, specifications, delivery estimates, and FAQs.
AliExpress product pages are JavaScript single-page applications. Piloterr uses browser rendering to load the PDP and extract parsed fields. Pair with AliExpress Search to discover product URLs, then fetch full details here.
GET https://api.piloterr.com/v2/aliexpress/product?query=https://www.aliexpress.com/item/1005009517624640.html
Via POST:
POST https://api.piloterr.com/v2/aliexpress/product
Content-Type: application/json
{"query": "https://www.aliexpress.com/item/1005009517624640.html", "return_page_source": false}
| Parameter |
Type |
Required |
Description |
query |
string |
yes |
Full AliExpress product URL |
return_page_source |
boolean |
no |
Return raw HTML as {"result": "..."} (default: false) |
https://www.aliexpress.com/item/1005009517624640.html
https://es.aliexpress.com/item/1005012069266068.html?spm=...
- Locale subdomains supported (
es., fr., …)
- Tracking query params preserved in
info.link
- Page fetched via canonical
/item/ URL (without query params)
- Bundle / SSR links (
productIds=..., /ssr/BundleDeals2)
- URLs without
/item/{id}
- Non-AliExpress domains
| Field |
Type |
Always present |
Description |
product_id |
integer |
yes |
AliExpress numeric product ID |
name |
string |
yes |
Product title (missing → 404) |
link |
string |
yes |
Input URL with query params preserved |
media |
string[] |
yes |
Image URLs (960×960 when available) |
rate |
number | null |
yes |
Star rating, 1 decimal; null if absent |
reviews |
integer | null |
yes |
Review count; null if absent |
sold_count |
integer |
yes |
Units sold (0 if not displayed) |
available_count |
integer |
yes |
Available stock (0 if not displayed) |
seller_name |
string | null |
yes |
Seller name from /store/{id} link |
seller_id |
string | null |
yes |
Seller store ID |
| Field |
Type |
Always present |
Description |
price |
number |
yes |
Current sale price (missing → 404) |
price_currency |
string | null |
yes |
ISO 4217 code (EUR, USD, …) |
original_price |
number | string |
yes |
Strikethrough price or "No discount" |
discount |
string |
yes |
Discount label or "No discount" |
Object or null if the delivery block is absent on the page.
| Field |
Type |
Description |
pickup_method |
string |
e.g. "Pick-up points" |
shipping_cost |
number |
Shipping cost when displayed |
shipping_cost_currency |
string |
ISO 4217 code |
estimated_delivery |
string |
Estimated delivery window |
| Key |
Type |
Structure |
specifications |
array |
{ "name": string, "value": string }[] |
faqs |
array |
{ "question": string, "answer": string }[] |
- Search: discover listings and
listing_url values
- Product: fetch full PDP JSON (this endpoint)
| Code |
Meaning |
400 |
Missing parameter or invalid / rejected URL |
404 |
Resource not found or not parseable |
500 |
Rendering or parsing error |
A product page with no title or price returns 404, not an empty 200 response.
- Currency symbols are normalized to ISO 4217 (
€ → EUR).
- Ratings are floats rounded to 1 decimal place.
- Seller identity is included inline (
seller_name, seller_id).
- Costs 2 credits per call (browser rendering).
- Dropshipping validation: verify live price, stock, seller, and shipping
- Competitive monitoring: track PDP changes across locales
- Catalog enrichment: populate databases with specs, images, and delivery data
- Seller intelligence: link product listings to store IDs