Endpoint Playground
Returns the AliExpress web category ids that its own product cards carry on one listing page, with each id's parent, depth and full category path. Pass q to discover the categories of products matching a keyword, or category_id to inspect one category listing. Pass exactly one of them. The ids are the same web category ids used in /category/<id>/<slug>.html URLs and by the search endpoint's cat_id parameter; they are NOT the platform/taxonomy ids returned by the categories endpoint. A parent category listing contains products from its descendants, so inspecting a category reveals its child ids, and every returned path names that id's ancestors: the value space is discoverable by walking from a keyword or a category id rather than guessing.
26 Oct 2026: 1 paths; 4 fields had a value in every checked item.
Sample value profiles: path: median 3 entries.
curl 'https://api.crawlora.net/api/v1/aliexpress/category-ids' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| q | string | No | Free-text keywords whose result cards' web category ids are returned; pass exactly one of q or category_id | |
| category_id | integer | No | AliExpress web category id whose listing is inspected; a parent category reveals its descendants' ids. Pass exactly one of q or category_id | |
| page | integer | No | 1-indexed listing page to inspect (1-60), defaults to 1 |
{
"code": 200,
"msg": "OK",
"data": {
"source": "category",
"category_id": 5090301,
"page": 1,
"total_results": 601,
"count": 2,
"categories": [
{
"category_id": 509,
"level": 1,
"leaf": false,
"product_hits": 60,
"path": [
509,
5090301
]
},
{
"category_id": 5090301,
"parent_id": 509,
"level": 2,
"leaf": true,
"product_hits": 60,
"path": [
509,
5090301
]
}
],
"paths": [
{
"path": [
509,
5090301
],
"leaf_id": 5090301,
"depth": 2,
"products": 60
}
],
"source_url": "https://www.aliexpress.com/category/5090301/products.html",
"fetched_at": "2026-10-26T09:00:00Z"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.