---
title: "Product"
description: "Get one AliExpress product: price, every SKU with its stock, images, specifications, seller and, on request, shipping."
---

> Every apinoa docs page as markdown: https://apinoa.com/llms.txt (all in one file: https://apinoa.com/llms-full.txt; this API family in one file: https://apinoa.com/docs/marketplace/llms.txt)

```http
GET | POST /v1/aliexpress/product
```

Send parameters as a query string with `GET`, or as a JSON body with `POST`. Both are equivalent.

## Request

```bash tab="cURL"
curl "https://gateway.apinoa.com/v1/aliexpress/product?id=1005012583726882" \
  -H "x-api-key: $APINOA_API_KEY"
```

```js tab="JavaScript"
const params = new URLSearchParams({ id: "1005012583726882" });
const res = await fetch(`https://gateway.apinoa.com/v1/aliexpress/product?${params}`, {
  headers: { "x-api-key": process.env.APINOA_API_KEY },
});
const { success, data, error } = await res.json();
```

```python tab="Python"
import os

import requests

res = requests.get(
    "https://gateway.apinoa.com/v1/aliexpress/product",
    params={"id": "1005012583726882"},
    headers={"x-api-key": os.environ["APINOA_API_KEY"]},
)
body = res.json()
```

## Parameters

| Parameter | Type | Required | Notes |
|---|---|---|---|
| `id` | string | yes | AliExpress product id, as carried by a search item. |
| `currency` | string |  | Presentment currency. |
| `include` | enum |  | include=shipping adds `delivery`: the cheapest shipping cost and delivery days to `region` for the product's listed variant. Costs one more unit. `shipping` |
| `language` | string |  | Presentment language. |
| `region` | string |  | Buyer country (ISO 3166-1 alpha-2). |

The same parameters, and every response type, are in the OpenAPI document: https://apinoa.com/openapi.json

## Response

Returns [`Product`](/docs/api-reference/marketplaces/response-schema#searchitem-and-product) in `data`. A real response, shortened: arrays keep their first entries and long text is cut.

```json
{
  "data": {
    "marketplace": "aliexpress",
    "id": "1005012583726882",
    "url": "https://www.aliexpress.com/item/1005012583726882.html",
    "title": "New Floating Airbag Waterproof Swimming Bag Phone Case For iPhone Samsung Xiaomi Redmi Huawei Google OPPO Vivo Phone Co…",
    "price": {
      "currency": "USD",
      "amount": 2.25
    },
    "listPrice": {
      "currency": "USD",
      "amount": 4.5
    },
    "brand": "GOT-TOG",
    "rating": {
      "average": 0
    },
    "seller": {
      "id": "1105627229",
      "name": "Shop1105624218 Store",
      "country": "CN",
      "ext": {
        "detailedRatings": {
          "itemAsDescribed": 4.5,
          "communication": 4.7,
          "shippingSpeed": 4.7
        }
      }
    },
    "salesCount": 2,
    "salesLabel": "2",
    "inStock": true,
    "delivery": {
      "handlingDays": 7
    },
    "stock": 39,
    "badges": [],
    "promotions": [],
    "attributes": [
      {
        "name": "High-concerned chemical",
        "value": "none"
      },
      {
        "name": "Origin",
        "value": "Mainland China"
      }
    ],
    "description": "<p><img src=\"https://ae-pic-a1.aliexpress-media.com/kf/S3541bd22822b4ded8745118983aa6c485.jpg\" slate-data-type=\"image\"/…",
    "features": [],
    "media": {
      "images": [
        "https://ae01.alicdn.com/kf/Se9739ac4e32a46deaae06bba6a6d0003l.jpg",
        "https://ae01.alicdn.com/kf/Sa167b127f8bb44cd85473d9928d486c5G.jpg"
      ],
      "videos": []
    },
    "category": [
      {
        "name": "Luggage & Bags"
      },
      {
        "name": "Special Purpose Bags"
      }
    ],
    "options": [
      {
        "id": "14",
        "name": "Color",
        "values": [
          {
            "id": "193",
            "name": "black",
            "imageUrl": "https://ae01.alicdn.com/kf/S3541bd22822b4ded8745118983aa6c485.jpg"
          }
        ]
      }
    ],
    "variants": [
      {
        "id": "12000058743753115",
        "price": {
          "currency": "USD",
          "amount": 2.25
        },
        "listPrice": {
          "currency": "USD",
          "amount": 4.5
        },
        "inStock": true,
        "stock": 39,
        "selections": [
          {
            "optionId": "14",
            "valueId": "193",
            "optionName": "Color",
            "valueName": "black"
          }
        ],
        "ext": {
          "taxIncluded": false
        }
      }
    ],
    "offers": [],
    "reviewAspects": [],
    "boxContents": [],
    "reviews": [],
    "package": {
      "weightKg": 0.043,
      "ext": {
        "heightCm": 1,
        "lengthCm": 23,
        "soldInLot": false,
        "widthCm": 16
      }
    },
    "ext": {
      "wholesale": false
    }
  },
  "requestId": "6fc82fad9e5249c1b0bccff6aede0c73",
  "success": true
}
```

## Errors

| Status | Code | Meaning |
|---|---|---|
| 400 | `INVALID_PARAMS` | A parameter is missing, unknown or out of range. The message names it. |
| 401 | `UNAUTHORIZED` | The `x-api-key` header is missing, or the key is revoked or unknown. |
| 402 | `INSUFFICIENT_BALANCE` | The balance does not cover this call. Top up in the dashboard. |
| 404 | `ITEM_NOT_FOUND` | AliExpress has no such product. |
| 503 | `TOKEN_EXPIRED` | AliExpress is temporarily unavailable. Retry later. |

Every code is listed in [Errors](/docs/errors). Failed calls are not billed.

## Pricing

**Price** $0.001 per call, plus $0.001 for each extra call it makes — at most 1 more, so $0.002 in total. [List price](https://apinoa.com/en/pricing); the rate steps down above 1,000 calls a day.

## Notes

- **A search item's `id` chains straight in.**
- **`include=shipping` adds delivery** to `region` for the variant whose price is reported: `delivery` is the cheapest option (price plus `delivery.cost` is the delivered price) and `shippingOptions` lists every quoted option, cheapest first. It makes the call 2 units. [Shipping](/docs/api-reference/aliexpress/shipping) quotes any variant on its own.
