Get data analysis by SPU
POST/openapi/2026-07/data-analysis/spu
Provides merchants with detailed insights into sales data, enabling data-driven decision-making by analyzing products by SPU.
Request
- application/json
- Body
- Example
Bodyrequired
created_at: Product creation timefirst_published_at: First publish timepublished_at: Latest publish timeproduct_op_updated_at: Last product operation update timeorder_count: Number of orderssales_count: Number of items soldsales_total: Total sales amountnet_sales_total: Net sales amountdiscount: Discount amounttax: Tax amountviews_count: Page view countadd_to_cart_count: Add-to-cart countadd_to_cart_rate: Add-to-cart rateview_client_count: Unique viewer countadd_cart_client_count: Unique add-to-cart user countadd_to_cart_conversion_rate: Add-to-cart conversion ratetransform_rate: Overall conversion ratein/not in-> value is an ARRAY of strings, e.g.["SPU001", "SPU002"]like/not like-> value is a STRING, e.g."shirt"=>>=<<=-> value is a SCALAR (string or number), e.g.10- list keys
spuskuproduct_idtitletag_list-> array - range keys
price_min/price_max,cost_price_min/cost_price_max,compare_at_price_min/compare_at_price_max,created_at_min/created_at_max,updated_at_min/updated_at_max-> scalar - boolean keys
publishedsub_category->"true"/"false" - other keys
collection_idkeywordvendorcategoryproduct_notesales_platform-> string no_filter_crawler: do not filter; count all traffic (default)official_crawler: exclude known crawlers/bots
Type of resource to analyze
Start time for retrieving analysis data: a Unix timestamp in seconds, passed as a string (e.g. "1748736000"). Must be less than end_time; typically the start of the day (00:00) in the relevant timezone
End time for retrieving analysis data: a Unix timestamp in seconds, passed as a string (e.g. "1781481600"). Must be greater than begin_time; typically the start of the following day (00:00) in the relevant timezone
Cursor for pagination
Page size
10Notice: Values outside the range -12 to 14 might lead to unexpected results in time-based calculations. Time zone offset (in hours) used for analysis. Recommended range: -12 to 14
Field to sort by. Supported values:
Sorting direction: asc (ascending) or desc (descending)
Filter by collection ID. When the collection ID is passed, results are filtered by that collection
When the keyword is not empty, products are filtered. Keywords will fuzzy match these product fields: title, ID, brief, SKU, SPU, tags, note
Filtering mode: base (default) or advanced. When set to advanced, the filter field takes effect
Advanced filter conditions as a JSON string. Only takes effect when search_model
is "advanced".
Structure: a flat JSON object that maps each filter key to a leaf
{"operator": "...", "value": ...}; multiple keys are combined with AND (this endpoint
does not support OR groups).
The value type to send depends on the operator (operators are case-insensitive):
Key -> expected value:
Unknown keys are silently ignored (the request still returns 200), so a filter "not taking effect" usually means a mistyped key.
e.g. {"spu": {"operator": "in", "value": ["SPU001", "SPU002"]}}
Whether to include impression data in the response
Crawler-filtering policy that controls whether bot/crawler traffic is excluded from the statistics. Values:
{
"type": "string",
"begin_time": "string",
"end_time": "string",
"cursor": "string",
"page_size": 10,
"time_zone": 0,
"sort_by": "string",
"sort_direction": "string",
"collection_id": "string",
"keyword": "string",
"search_model": "string",
"filter": "string",
"with_impression": true,
"filter_crawler_type": "string"
}
Responses
- 200
OK
- application/json
- Schema
- Example
Schema
- Array [
- ]
error code
error message
data object
data object[]
Data list
UTM source
UTM medium
UTM campaign
UTM term
UTM content
Image
Title
Original order count
Original sales count
Original total sales amount
Original net sales total
Original discount amount
Original tax amount
Original views count
Original add-to-cart count
Original views rate
Original add-to-cart rate
Original view client count
Original add-to-cart client count
Original add-to-cart conversion rate
Original transform rate
Product ID
Brief description
SPU (Standard Product Unit)
Collection
Creation time, in ISO-8601 format
First publish time, in ISO-8601 format
Publish time, in ISO-8601 format
Product last operation update time, in ISO-8601 format
Whether the product is published
Original duty total
Number of orders
Sales count
Total sales amount
Net sales total
Discount amount
Tax
Views count
Add-to-cart count
Views rate
Add-to-cart rate
View client count
Add-to-cart client count
Add-to-cart to order conversion rate
Transform rate
Total duty cost
SEO-friendly URL
Impression count
Total number of matching records
Cursor for pagination
Whether there are more records
{
"code": "string",
"message": "string",
"data": {
"data": [
{
"utm_source": "string",
"utm_medium": "string",
"utm_campaign": "string",
"utm_term": "string",
"utm_content": "string",
"image": "string",
"title": "string",
"order_count_original": 0,
"sales_count_original": 0,
"sales_total_original": 0,
"net_sales_total_original": 0,
"discount_original": 0,
"tax_original": 0,
"views_count_original": 0,
"add_to_cart_count_original": 0,
"views_rate_original": 0,
"add_to_cart_rate_original": 0,
"view_client_count_original": 0,
"add_cart_client_count_original": 0,
"add_to_cart_conversion_rate_original": 0,
"transform_rate_original": 0,
"product_id": "string",
"brief": "string",
"spu": "string",
"collection": "string",
"created_at": "string",
"first_published_at": "string",
"published_at": "string",
"product_op_updated_at": "string",
"published": true,
"duty_total_original": 0,
"order_count": "string",
"sales_count": "string",
"sales_total": "string",
"net_sales_total": "string",
"discount": "string",
"tax": "string",
"views_count": "string",
"add_to_cart_count": "string",
"views_rate": "string",
"add_to_cart_rate": "string",
"view_client_count": "string",
"add_cart_client_count": "string",
"add_to_cart_conversion_rate": "string",
"transform_rate": "string",
"duty_total": "string",
"seo_url": "string",
"impression": "string"
}
],
"count": 0,
"cursor": "string",
"has_more": true
}
}