Taobao & Tmall APIs - Shop Product List (V3)
Retrieves a paginated list of products under a Taobao/Tmall shop, including basic product metadata (e.g., item ID, title, price, images when available) and listing status.
Typical use cases:
- Monitoring a shop's assortment and new/removed products
- Building shop-level catalogs and scheduled collection pipelines
- Competitor shop tracking and e-commerce analytics
Highlights
- Works across all shops supported by this endpoint.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
token | query | string | Yes | Access token for this API service. |
userId | query | string | Yes | Shop identifier. Also known as Seller ID or User ID (they refer to the same value). |
shopId | query | string | Yes | Unique shop identifier on Taobao/Tmall (shop ID). |
sort | query | string | No | Sort order for the result set. Available Values: - coefp: Comprehensive sorting- hotsell: Hot selling / Sales volume- oldstarts: New arrivals / Old starts- bid: Price: Low to High- _bid: Price: High to Low |
page | query | integer | No | Page number for pagination. |
Code Samples
💡 Environment Note
Default samples use https://api.justoneapi.com (prod-global). For users in Mainland China, it is recommended to replace it with http://47.117.133.51:30015 (prod-cn) for better performance. See Environment Guide.
bash
# Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
curl -X GET "https://api.justoneapi.com/api/taobao/get-shop-item-list/v3?token=YOUR_API_KEY&userId=VALUE&shopId=VALUE"text
I want to use the "Shop Product List (V3)" API from Just One API.
API Endpoint: https://api.justoneapi.com/api/taobao/get-shop-item-list/v3
HTTP Method: GET
Authentication: Append "?token=YOUR_API_KEY" to the URL.
OpenAPI Definition: https://docs.justoneapi.com/openapi/taobao-tmall-apis/shop-product-list-v3-en.json
Parameters:
- token (query): Access token for this API service. (Required)
- userId (query): Shop identifier. Also known as Seller ID or User ID (they refer to the same value). (Required)
- shopId (query): Unique shop identifier on Taobao/Tmall (shop ID). (Required)
- sort (query): Sort order for the result set.
Available Values:
- `coefp`: Comprehensive sorting
- `hotsell`: Hot selling / Sales volume
- `oldstarts`: New arrivals / Old starts
- `bid`: Price: Low to High
- `_bid`: Price: High to Low
- page (query): Page number for pagination.
Return format: JSON
Response Handling & Error Codes:
1. Business results should be determined by the "code" field in the response body (code 0 means success).
2. Timeout Recommendation: Set request timeout to at least 60 seconds.
3. Business Code Reference:
- 0: Success
- 100: Invalid or Inactive Token
- 301: Collection Failed. Please Retry.
- 302: Rate Limit Exceeded
- 303: Daily Quota Exceeded
- 400: Invalid Parameters
- 500: Internal Server Error
- 600: Permission Denied
- 601: Insufficient Balance
Please help me write a script in my preferred programming language to call this API and handle the response.python
# Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
import requests
url = "https://api.justoneapi.com/api/taobao/get-shop-item-list/v3?token=YOUR_API_KEY&userId=VALUE&shopId=VALUE"
response = requests.get(url)
print(response.json())js
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
const response = await fetch("https://api.justoneapi.com/api/taobao/get-shop-item-list/v3?token=YOUR_API_KEY&userId=VALUE&shopId=VALUE", {
method: "GET"
});
const data = await response.json();
console.log(data);java
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.justoneapi.com/api/taobao/get-shop-item-list/v3?token=YOUR_API_KEY&userId=VALUE&shopId=VALUE"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}go
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
client := &http.Client{}
url := "https://api.justoneapi.com/api/taobao/get-shop-item-list/v3?token=YOUR_API_KEY&userId=VALUE&shopId=VALUE"
req, _ := http.NewRequest("GET", url, nil)
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}php
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.justoneapi.com/api/taobao/get-shop-item-list/v3?token=YOUR_API_KEY&userId=VALUE&shopId=VALUE");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
$response = curl_exec($ch);
curl_close($ch);
echo $response;Responses
json
{
"code": 0,
"data": {
"result": {
"currentSort": "coefp",
"totalResults": 2305,
"pageSize": 10,
"shopTitle": "优衣库官方旗舰店",
"shopId": 57303596,
"currentPage": 1,
"itemsArray": [
{
"isChannelBybt": false,
"umpPromoPrice": {
"adsPoints": null,
"originalPrice": "999.00",
"channelKey": null,
"price": "999.00",
"display": "优惠后",
"newBenefit": null,
"skuId": 6084192078392
},
"isJoinBrand": true,
"discntType": "活动价",
"spatialThumbPic": null,
"itemTitle": "优衣库莫雷加德同款男装女装高级保暖羽绒大衣外套冰雪羽绒481200",
"spZkType": "活动价",
"recommendDesc": "",
"liveData": null,
"atmosphereList": [],
"imageUrlList": "",
"isPresell": false,
"itemImages": [
"i1/196993935/O1CN01lS3CDD1ewHdP4CQr7_!!4611686018427380623-0-item_pic.jpg"
],
"isJHS": true,
"showTitleStructure": "{\"interest\":\"优衣库男装女装高级保暖羽绒大衣\"}",
"icQuantity": "200",
"spatialVideoDimension": "",
"spUvsum": "500+",
"pictUrlWap": null,
"spatialVideoUrl": "",
"auctionExt": "femaleclothe_upright_image_structure:1 upright_imageurl:i1/196993935/O1CN01jxulex1ewHdOqlbZw_!!46116...",
"isJoinSameItem": false,
"categoryp": "50011167 30 0",
"isPostFree": false,
"mainPicVideoDetail": [],
"spUvsumSuc": "500+",
"whiteBgImage": "i1/196993935/O1CN01OAf7co1ewHcQkUs10_!!4611686018427380623-2-item_pic.png",
"auctionTag": "587 907 1163 1478 1483 2049 2059 2123 3394 3851 3974 4166 4491 4550 4555 6401 6603 7046 7174 9478 11...",
"auction_id": "970865704078",
"pictUrl": "i1/196993935/O1CN01lS3CDD1ewHdP4CQr7_!!4611686018427380623-0-item_pic.jpg",
"discntPrice": "999.00",
"preSellPrice": null,
"userId": "196993935",
"tmcTags": "100047031 47109 47302 47048 100047260 100047101 47213 100047302 100047109 47031 100047213 47260 4710...",
"icSubTitle": "初上市价格1299元",
"videoPic": "",
"promoMBasePrice": "999.00",
"showTitle": "优衣库男装女装高级保暖羽绒大衣",
"auctionStatus": 1,
"feedbackCount": "1000+",
"tradeData": [
{
"feature": {},
"sceneCode": "REAL_SALES_365",
"text": "已售1万+",
"subjectId": 970865704078
}
],
"isMall": "1",
"category": "50011167",
"h5ResistDetail": false
}
]
},
"logs": []
}
}💡 Note: For list data, the example shows only 1-2 items for simplicity. The actual count depends on the API response.
