AliExpress APIaliexpress.com ↗
Search AliExpress products, fetch details, read customer reviews, and browse categories via a structured JSON API. 5 endpoints, no scraping setup needed.
What is the AliExpress API?
The AliExpress API provides 5 endpoints to search product listings, retrieve product details by ID or URL, read paginated customer reviews, and fetch the top-level category tree. The search_products endpoint returns up to 60 products per page including price, rating, order count, and seller name. It handles the full discovery-to-detail workflow without requiring any AliExpress account or session management.
curl -X GET 'https://api.parse.bot/scraper/f989ff95-1fce-426d-935d-2b3787e3f343/search_products?page=1&query=wireless+earbuds&sort_by=best_match' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace aliexpress-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""AliExpress SDK walkthrough: search, drill into details, read reviews."""
from parse_apis.aliexpress_api import AliExpress, Sort, ProductNotFound
client = AliExpress()
# Search for products sorted by orders — limit= caps total items fetched.
for item in client.productsummaries.search(query="wireless earbuds", sort_by=Sort.ORDERS, limit=5):
print(item.title, item.price, item.rating)
# Drill into the first result's full detail via the nav op.
first = client.productsummaries.search(query="phone case", limit=1).first()
if first:
detail = first.details()
print(detail.name, detail.aliexpress_url, len(detail.images))
# Walk reviews for this product.
for review in first.reviews.list(limit=3):
print(review.reviewer_name, review.rating, review.review_text[:60])
# Fetch a product directly by ID.
try:
product = client.products.get(product_id="3256811621288203")
print(product.name, product.images[0])
except ProductNotFound as exc:
print(f"Product gone: {exc}")
# Browse top-level categories.
for cat in client.categories.list(limit=5):
print(cat.id, cat.name, cat.icon)
print("exercised: productsummaries.search / details / reviews.list / products.get / categories.list")
Full-text search over AliExpress product listings. Returns up to 60 products per page with pricing, ratings, and sales data. Sorting controls result ordering; pagination via page number. Some products may have null prices depending on seller configuration.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| queryrequired | string | Search keyword (e.g. 'wireless earbuds', 'phone case'). |
| sort_by | string | Sort order for results. |
{
"type": "object",
"fields": {
"total": "integer, number of products returned on this page",
"products": "array of product objects with product_id, title, price, original_price, rating, orders_desc, thumbnail_url, product_url, seller_name"
},
"sample": {
"data": {
"total": 60,
"products": [
{
"price": 19.43,
"title": "【 Pro 3 】 Bluetooth noise cancelling wireless earphones",
"rating": 4.9,
"product_id": "3256811621288203",
"orders_desc": "3,000+ sold",
"product_url": "https://www.aliexpress.com/item/3256811621288203.html",
"seller_name": null,
"thumbnail_url": "https://ae-pic-a1.aliexpress-media.com/kf/Se8d10822ef0740c5987a3ba1522f6e77Z.png",
"original_price": 49.65
}
]
},
"status": "success"
}
}About the AliExpress API
Search and Product Lookup
The search_products endpoint accepts a query string and optional sort_by parameter with five accepted values: best_match, orders, price_asc, price_desc, and newest. Each product object in the response includes product_id, title, price, original_price, rating, orders_desc, thumbnail_url, product_url, and seller_name. Pagination is controlled via the page parameter.
To get deeper detail on a single item, use get_product_details with a numeric product_id. The response includes name, an images array, product_id, and aliexpress_url. Additional fields — cost, rating, reviews_count, and seller_name — may also appear depending on the product. If you have a full product URL rather than an ID, get_product_by_url accepts the URL directly and returns the same shape, making it useful when working from links rather than search results.
Reviews and Categories
get_product_reviews takes a product_id and optional page number, returning a reviews array where each object contains reviewer_name, rating, review_text, review_date, sku_info, country, and images. The response also includes total_reviews (total count across all pages) and average_rating (out of 5). This is sufficient to build review aggregation, sentiment analysis pipelines, or purchase validation tools.
The get_categories endpoint takes no inputs and returns the top-level AliExpress category tree as an array of objects with id, name, and icon URL. This is useful for populating navigation, mapping category IDs to search queries, or auditing category coverage.
The AliExpress API is a managed, monitored endpoint for aliexpress.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when aliexpress.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official aliexpress.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a price comparison tool using
search_productswithprice_ascandprice_descsort to surface cheapest and most expensive listings for a keyword. - Aggregate customer review data with
get_product_reviewsto analyze ratings by country or SKU variant. - Populate a product catalog from AliExpress search results including thumbnails, prices, and seller names.
- Validate supplier listings by cross-referencing
orders_descandaverage_ratingfrom search and review endpoints. - Convert AliExpress product URLs to structured JSON using
get_product_by_urlfor browser extension or link-processing workflows. - Map the AliExpress category tree with
get_categoriesto organize or filter product discovery by category ID. - Track original vs. discounted pricing by comparing
priceandoriginal_pricefields in search results.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does AliExpress have an official developer API?+
What does `get_product_details` return compared to `search_products`?+
search_products returns a broad set of fields across many products — title, price, thumbnail, order count, seller name — suitable for listing pages. get_product_details returns a name, full images array, product_id, and aliexpress_url for a single item, with cost, rating, reviews_count, and seller_name available as conditional fields. It does not currently return variant or specification data like color options or shipping info.Are seller details or store pages covered by the API?+
seller_name as part of search results and optionally in product detail responses, but there are no endpoints for seller profiles, store catalogs, or seller feedback scores. You can fork this API on Parse and revise it to add a seller or store endpoint.How does review pagination work?+
get_product_reviews returns a reviews array for one page at a time. The total_reviews field tells you the full count so you can calculate how many pages to request. Use the page parameter to step through them. Review images and sku_info (the variant the reviewer purchased) are included per review object.Does the API cover product variants, like sizes or colors?+
get_product_details and get_product_by_url endpoints return name, images, and URL-level data, with some conditional pricing and rating fields. Variant-level data (SKU options, stock per variant) is not exposed. You can fork this API on Parse and revise it to add variant extraction from product pages.