Daily Search Clusters Statistics
http
POST /adv/v1/normquery/statsBase URL: https://advert-api.wildberries.ru · Module: promotion · Section: Statistics · Specification doc ↗
Returns statistics (views, clicks, add-to-cart, orders, CTR, CPC, CPM, etc.) by search clusters for the specified period detailed by day. You can use this method for campaigns with cpm — for impressions, and cpc — for clicks payment models.
Request limit per one seller account:
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 10 requests | 6 s | 20 requests |
| Service | 1 min | 10 requests | 6 s | 20 requests |
| Base with secret | 1 min | 10 requests | 6 s | 20 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
Request body
application/json — schema V1GetNormQueryStatsRequest, required
fromstring(required) — Period start datetostring(required) — Period end dateitemsobject[](required)advertIdinteger<int64>(required) — Campaign IDnmIdinteger<int64>(required) — WB item number
Responses
| Code | Description | Schema |
|---|---|---|
200 | Success | V1GetNormQueryStatsResponse |
400 | Bad request | response400 |
401 | Unauthorized | object |
403 | Access denied | object |
429 | Too many requests | object |
Structure 200:
itemsV1GetNormQueryStatsResponseItem[]advertIdinteger<int64>— Campaign IDnmIdinteger<int64>— WB item numberdailyStatsV1GetNormQueryStatsResponseItemDailyStat[]— Daily detailed statisticsdatestring— DatestatV1GetNormQueryStatsResponseItemStatnormQuerystring— Search clusterviewsinteger<int64>— Number of views. Forcpccampaigns (pay-per-click), the value will benullclicksinteger<int64>— Number of clicksatbsinteger<int64>— Number of items added to the cartordersinteger<int64>— Number of ordersctrnumber<float>— CTR (click-through rate) is the ratio of clicks to impressions, expressed as a percentage. Forcpccampaigns (pay-per-click), the value will benullcpcnumber<float>— Average cost per click in the base units of the seller account currencycpmnumber<float>— Average cost per mille in the base units of the seller account currency. Forcpccampaigns (pay-per-click), the value will benullavgPosnumber<float>— Average item position on search results pagesshksinteger<int64>— Number of ordered items, pcsspendnumber<double>— Item promo costs in a specific search cluster of the campaign
Structure 400:
detailstring— Error detailsoriginstring— WB internal service IDrequest_idstring— Unique request IDstatusinteger<int64>— HTTP status codetitlestring— Error title
Structure 401:
titlestring— Error titledetailstring— Error detailscodestring— Internal error coderequestIdstring— Unique request IDoriginstring— WB internal service IDstatusnumber— HTTP status codestatusTextstring— Text of the HTTP status codetimestampstring— Request date and time
Structure 403:
titlestring— Error titledetailstring— Error detailscodestring— Internal error coderequestIdstring— Request IDoriginstring— WB internal service IDstatusnumber— HTTP status codestatusTextstring— Text of the HTTP status codetimestampstring— Request date and time
Structure 429:
titlestring— Error titledetailstring— Error detailscodestring— Internal error coderequestIdstring— Unique request IDoriginstring— WB internal service IDstatusnumber— HTTP status codestatusTextstring— Text of the HTTP status codetimestampstring— Request date and time
Call examples
Arguments are shown as parameter names — substitute your own values. Languages whose client does not expose this operation are omitted.
python
from wb_api_client.promotion import Configuration, ApiClient
from wb_api_client.promotion.api import PromotionApi
cfg = Configuration(access_token="<your WB JWT>")
api = PromotionApi(ApiClient(cfg))
result = api.post_v1_normquery_stats(v1_get_norm_query_stats_request=...)
print(result)ts
import {
Configuration,
PromotionApi,
} from "@valeryverkhoturov/wb-api-client/promotion";
const cfg = new Configuration({});
cfg.setAccessToken("<your WB JWT>");
const api = new PromotionApi(cfg);
const { data } = await api.postV1NormqueryStats(v1GetNormQueryStatsRequest);
console.log(data);go
import (
"context"
"fmt"
wbpromotion "github.com/ValeryVerkhoturov/wb-api-client-go/promotion"
)
cfg := wbpromotion.NewConfiguration()
cfg.SetAccessToken("<your WB JWT>")
client := wbpromotion.NewAPIClient(cfg)
result, _, err := client.PromotionAPI.PostV1NormqueryStats(context.Background()).V1GetNormQueryStatsRequest(v1GetNormQueryStatsRequest).Execute()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", result)java
import io.github.valeryverkhoturov.wbapi.promotion.ApiClient;
import io.github.valeryverkhoturov.wbapi.promotion.SecretString;
import io.github.valeryverkhoturov.wbapi.promotion.api.PromotionApi;
ApiClient client = new ApiClient();
client.setAccessToken(new SecretString("<your WB JWT>"));
PromotionApi api = new PromotionApi(client);
System.out.println(api.postV1NormqueryStats(v1GetNormQueryStatsRequest));php
use ValeryVerkhoturov\WbApiClient\Promotion\Configuration;
use ValeryVerkhoturov\WbApiClient\Promotion\SecretString;
use ValeryVerkhoturov\WbApiClient\Promotion\Api\PromotionApi;
use GuzzleHttp\Client;
$config = (new Configuration())
->setAccessTokenSecret(new SecretString('<your WB JWT>'));
$api = new PromotionApi(new Client(), $config);
print_r($api->postV1NormqueryStats($v1_get_norm_query_stats_request));bsl
#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<your WB JWT>");
Клиент = Новый PromotionApi(Настройки);
Сообщить(Клиент.PostV1NormqueryStats(Тело).Тело);csharp
using ValeryVerkhoturov.WbApiClient.Promotion.Api;
using ValeryVerkhoturov.WbApiClient.Promotion.Client;
var config = new Configuration();
config.AccessTokenSecret = new SecretString("<your WB JWT>");
var api = new PromotionApi(config);
Console.WriteLine(api.PostV1NormqueryStats(v1GetNormQueryStatsRequest));rust
use wb_api_client::promotion::apis::{configuration::Configuration, promotion_api};
#[tokio::main]
async fn main() {
let mut cfg = Configuration::new();
cfg.set_access_token("<your WB JWT>");
let result = promotion_api::post_v1_normquery_stats(&cfg, v1_get_norm_query_stats_request).await;
println!("{:#?}", result);
}