{"id":478165,"date":"2026-04-30T17:24:38","date_gmt":"2026-04-30T17:24:38","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=478165"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=478165","title":{"rendered":"Wordstat API \u0432 Yandex Cloud Search API: \u0440\u0430\u0437\u0431\u043e\u0440 endpoints, \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0435 \u043a\u0430\u043c\u043d\u0438, \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 Python wrapper (2026)"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/115\/f46\/833\/115f46833a8125dd0267def118614e64.jpg\" width=\"1200\" height=\"630\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/115\/f46\/833\/115f46833a8125dd0267def118614e64.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/115\/f46\/833\/115f46833a8125dd0267def118614e64.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u041f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u0430\u0441\u044c \u043c\u043d\u0435 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430 &#8212; \u043d\u0435 \u0432 \u0441\u043c\u044b\u0441\u043b\u0435 \u00ab\u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0433\u043b\u044f\u043d\u0443\u0442\u044c Wordstat \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435\u00bb, \u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0442\u044c \u043f\u043e 50-100 \u0444\u0440\u0430\u0437 \u0432 \u0434\u0435\u043d\u044c \u0438 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432 \u0441\u0432\u043e\u044e \u0431\u0430\u0437\u0443. \u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442: \u0432\u0435\u0434\u0443 \u043a\u043e\u043d\u0442\u0435\u043d\u0442-\u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0430\u0433\u0435\u043d\u0442\u0441\u0442\u0432\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0447\u0430\u0442-\u0431\u043e\u0442\u043e\u0432 BotKraft, \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434 \u042f\u043d\u0434\u0435\u043a\u0441 \u041d\u0435\u0439\u0440\u043e. \u0412\u0435\u0431-Wordstat \u0434\u043b\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u043e\u0431\u044a\u0451\u043c\u0430 \u043d\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 &#8212; \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u0438 \u043f\u043e\u043b\u0434\u043d\u044f. Direct API &#8212; \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u043e\u0440\u043e\u0433\u043e\u0439 \u0432\u0445\u043e\u0434: \u043d\u0443\u0436\u0435\u043d \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 OAuth, \u0443 \u043c\u0435\u043d\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0431\u044b\u043b\u043e \u0438 \u0437\u0430\u0432\u043e\u0434\u0438\u0442\u044c \u0440\u0430\u0434\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c.<\/p>\n<p>\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043f\u043e\u043b\u0435\u0437 \u0432 \u043d\u043e\u0432\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b Yandex Cloud AI Studio (\u0442\u0430\u043c \u0441\u0435\u0439\u0447\u0430\u0441 \u0436\u0438\u0432\u0451\u0442 YandexGPT) \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b, \u0447\u0442\u043e Wordstat \u0442\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u0442\u044c \u0432\u00a0<strong>Search API v2<\/strong>\u00a0&#8212; \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c \u0431\u0435\u0437 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 Direct. \u0414\u043e\u0441\u0442\u0443\u043f &#8212; \u043e\u0431\u044b\u0447\u043d\u044b\u0439 API-\u043a\u043b\u044e\u0447 \u0438\u0437 AI Studio, \u0442\u043e\u0442 \u0436\u0435 \u0447\u0442\u043e \u0438 \u0434\u043b\u044f YandexGPT. \u041f\u043e \u0441\u0443\u0442\u0438 \u0432 \u043e\u0434\u0438\u043d \u043a\u043b\u0438\u043a \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0448\u044c \u0435\u0449\u0451 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0435.<\/p>\n<p>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u043b, \u043f\u043e \u0434\u043e\u0440\u043e\u0433\u0435 \u0441\u043e\u0431\u0440\u0430\u043b \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e \u0433\u0440\u0430\u0431\u043b\u0435\u0439. \u042d\u0442\u0438\u043c \u0438 \u043f\u043e\u0434\u0435\u043b\u044e\u0441\u044c.<\/p>\n<h3>\u0413\u0434\u0435 \u044d\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043b\u0435\u0436\u0438\u0442<\/h3>\n<p>\u041d\u0435 \u043f\u0443\u0442\u0430\u0435\u043c \u0442\u0440\u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0441 \u043f\u043e\u0445\u043e\u0436\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c:<\/p>\n<ul>\n<li>\n<p><strong>Search API for sites<\/strong>\u00a0&#8212; \u0441\u0442\u0430\u0440\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u00ab\u043f\u043e\u0438\u0441\u043a \u043f\u043e \u0441\u0430\u0439\u0442\u0443\u00bb, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 SERP \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c, \u043e\u043f\u043b\u0430\u0442\u0430 \u0437\u0430 \u0432\u044b\u0434\u0430\u0447\u0443<\/p>\n<\/li>\n<li>\n<p><strong>Search API v2 (\u043d\u043e\u0432\u044b\u0439)<\/strong>\u00a0&#8212; \u0442\u043e \u0447\u0442\u043e \u0432 AI Studio, \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 Web Search, Image Search, Generative Search \u0438\u00a0<strong>Wordstat<\/strong><\/p>\n<\/li>\n<li>\n<p><strong>Yandex Direct API \u2192 Reports.Wordstat<\/strong>\u00a0&#8212; \u0441\u0442\u0430\u0440\u044b\u0439 \u043f\u0443\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u0435\u043d\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u0432\u0442\u043e\u0440\u043e\u0435. Endpoint root \u0434\u043b\u044f Wordstat:\u00a0<a href=\"https:\/\/searchapi.api.cloud.yandex.net\/v2\/wordstat\/\" rel=\"noopener noreferrer nofollow\"><code>https:\/\/searchapi.api.cloud.yandex.net\/v2\/wordstat\/<\/code><\/a><code>...<\/code><\/p>\n<p>\u041f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c &#8212; gRPC c REST-\u043e\u0431\u0451\u0440\u0442\u043a\u043e\u0439 \u0447\u0435\u0440\u0435\u0437\u00a0<code>google.api.http<\/code>\u00a0annotations. \u041f\u043e\u043b\u043d\u0430\u044f proto-\u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0432 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c\u00a0<a href=\"https:\/\/github.com\/yandex-cloud\/cloudapi\/blob\/master\/yandex\/cloud\/searchapi\/v2\/wordstat_service.proto\" rel=\"noopener noreferrer nofollow\">yandex-cloud\/cloudapi<\/a>\u00a0&#8212; \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u0443\u0434\u0430, \u0430 \u043d\u0435 \u0432 \u0433\u0438\u043f\u0435\u0440\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0443\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e: \u0432 proto \u0432\u0441\u0451 \u0442\u043e\u0447\u043d\u0435\u0435 \u0438 \u0431\u0435\u0437 \u043d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e\u0441\u0442\u0435\u0439.<\/p>\n<p>\u0427\u0435\u0442\u044b\u0440\u0435 \u043c\u0435\u0442\u043e\u0434\u0430:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041c\u0435\u0442\u043e\u0434<\/p>\n<\/th>\n<th>\n<p align=\"left\">Path<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>GetTop<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>\/topRequests<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0442\u043e\u043f \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430 30 \u0434\u043d\u0435\u0439 + \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u0438<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>GetDynamics<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>\/dynamics<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0447\u0430\u0441\u0442\u043e\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 (\u0434\u0435\u043d\u044c\/\u043d\u0435\u0434\u0435\u043b\u044f\/\u043c\u0435\u0441\u044f\u0446)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>GetRegionsDistribution<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>\/regions<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u043e \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u043c\/\u0433\u043e\u0440\u043e\u0434\u0430\u043c<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>GetRegionsTree<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>\/getRegionsTree<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u0432\u0441\u0435\u0445 \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 \u0441 ID<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041d\u0438\u0447\u0435\u0433\u043e \u0441\u0432\u0435\u0440\u0445\u044a\u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e. Operators (<code>!\u0441\u043b\u043e\u0432\u043e<\/code>,\u00a0<code>+\u0441\u043b\u043e\u0432\u043e<\/code>,\u00a0<code>[\u0441\u043b\u043e\u0432\u043e]<\/code>) \u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0444\u0440\u0430\u0437 \u0432 \u043e\u0434\u043d\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435 &#8212; \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442, \u043e\u0431 \u044d\u0442\u043e\u043c \u043d\u0438\u0436\u0435.<\/p>\n<h3>\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u0440\u043e folder<\/h3>\n<p>\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f &#8212; \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a\u00a0<code>Authorization: Api-Key &lt;\u043a\u043b\u044e\u0447&gt;<\/code>. \u041a\u043b\u044e\u0447 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u0432 AI Studio \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u043c \u043a Service Account, \u0442\u043e\u0442 \u0436\u0438\u0432\u0451\u0442 \u0432 \u043a\u0430\u043a\u043e\u043c-\u0442\u043e folder.\u00a0<strong>Folder ID &#8212; \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043b\u0435\u00a0<\/strong><code><strong>folderId<\/strong><\/code><strong>\u00a0\u0432 JSON-\u0442\u0435\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430.<\/strong>\u00a0\u0411\u0435\u0437 \u043d\u0435\u0433\u043e &#8212; \u043e\u0448\u0438\u0431\u043a\u0430\u00a0<code>INVALID_ARGUMENT<\/code>.<\/p>\n<p>\u0418 \u0432\u043e\u0442 \u0442\u0443\u0442 \u043f\u0435\u0440\u0432\u0430\u044f \u0437\u0430\u0441\u0430\u0434\u0430: \u0433\u0434\u0435 \u0432\u0437\u044f\u0442\u044c folder ID? \u0412 UI AI Studio \u044d\u0442\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0435\u0441\u0442\u044c, \u043d\u043e \u043f\u0440\u044f\u0442\u0430\u043d\u043e \u0437\u0430 \u043f\u0430\u0440\u0443 \u043a\u043b\u0438\u043a\u043e\u0432 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 Yandex Cloud \u2192 Folders. \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f AI Studio (\u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043c\u043e\u0435\u0433\u043e \u0442\u044b\u043a\u0430) folder \u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u0445 \u044f\u0432\u043d\u043e \u043d\u0435 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043b\u0430 &#8212; \u0431\u0443\u0434\u0442\u043e \u0432\u0441\u0435 \u0430\u043f\u0440\u0438\u043e\u0440\u0438 \u0437\u043d\u0430\u044e\u0442.<\/p>\n<p>\u042f \u0443\u0437\u043d\u0430\u043b \u0441\u0432\u043e\u0439 folder \u0447\u0435\u0440\u0435\u0437 \u043a\u0440\u0430\u0439\u043d\u0435 \u0434\u0443\u0440\u0430\u0446\u043a\u0438\u0439 \u043f\u0443\u0442\u044c. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0432\u044b\u0437\u0432\u0430\u0442\u044c YandexGPT \u0441 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u00a0<code>gpt:\/\/test\/yandexgpt\/latest<\/code>\u00a0(\u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0447\u0442\u043e \u043a\u043b\u044e\u0447 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442). API \u043e\u0442\u0432\u0435\u0442\u0438\u043b:<\/p>\n<pre><code>Specified folder ID 'test' does not match with service account folder ID 'b1g0gj00k72p1kr6dsc5'<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0440\u0435\u0431\u044f\u0442\u0430\u043c, \u0447\u0442\u043e \u0437\u0430\u0448\u0438\u043b\u0438 \u0438\u043c\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e folder \u0432 \u0442\u0435\u043a\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0438 &#8212; \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u043b\u0430\u0439\u0444\u0445\u0430\u043a \u043d\u0430 \u0440\u043e\u0432\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435. \u0422\u043e\u0442 \u0436\u0435 folder \u043f\u043e\u0434\u043e\u0448\u0451\u043b \u0438 \u0434\u043b\u044f Wordstat-\u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u043e\u0432.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0442\u043e\u0436\u0435 \u043d\u0435 \u0441\u0440\u0430\u0437\u0443 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e \u0433\u0434\u0435 folder &#8212; \u043c\u043e\u0436\u043d\u043e \u043b\u0438\u0431\u043e \u0442\u044b\u043a\u0430\u0442\u044c \u0432 Cloud Console, \u043b\u0438\u0431\u043e \u0432\u043e\u0442 \u0442\u0430\u043a \u0447\u0435\u0440\u0435\u0437 \u0442\u0435\u043a\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0438. \u0413\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0434\u0430\u0441\u0442 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439.<\/p>\n<h3>topRequests &#8212; \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u0435\u0442\u043e\u0434<\/h3>\n<p>\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0432 80% \u0441\u043b\u0443\u0447\u0430\u0435\u0432. \u041e\u043d \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0430\u0441\u0442\u043e\u0442\u043d\u043e\u0441\u0442\u044c \u043e\u0434\u043d\u043e\u0439 \u0444\u0440\u0430\u0437\u044b, \u0430\u00a0<strong>\u0442\u043e\u043f \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043e\u043a<\/strong>\u00a0(<code>results<\/code>) \u0438\u00a0<strong>\u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u043b\u0438\u0437\u043a\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b<\/strong>\u00a0(<code>associations<\/code>). \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 &#8212; \u0437\u043e\u043b\u043e\u0442\u043e, \u043e\u0431 \u044d\u0442\u043e\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e.<\/p>\n<p>\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n<pre><code class=\"bash\">curl -X POST 'https:\/\/searchapi.api.cloud.yandex.net\/v2\/wordstat\/topRequests' \\  -H \"Authorization: Api-Key $YANDEX_AI_API_KEY\" \\  -H 'Content-Type: application\/json' \\  -d '{    \"phrase\": \"\u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430\",    \"numPhrases\": 20,    \"regions\": [\"213\"],    \"folderId\": \"b1g0gj00k72p1kr6dsc5\"  }'<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/p>\n<ul>\n<li>\n<p><code>phrase<\/code>\u00a0&#8212; \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 (\u0434\u043e 400 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e)<\/p>\n<\/li>\n<li>\n<p><code>numPhrases<\/code>\u00a0&#8212; \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0432\u0435\u0440\u043d\u0443\u0442\u044c, 1-2000, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 20<\/p>\n<\/li>\n<li>\n<p><code>regions<\/code>\u00a0&#8212; \u043c\u0430\u0441\u0441\u0438\u0432 \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 ID (<code>[\"213\"]<\/code>\u00a0&#8212; \u041c\u043e\u0441\u043a\u0432\u0430,\u00a0<code>[\"2\"]<\/code>\u00a0&#8212; \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433). \u041e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e<\/p>\n<\/li>\n<li>\n<p><code>devices<\/code>\u00a0&#8212; \u043c\u0430\u0441\u0441\u0438\u0432\u00a0<code>[\"DEVICE_ALL\"|\"DEVICE_DESKTOP\"|\"DEVICE_PHONE\"|\"DEVICE_TABLET\"]<\/code>. \u041e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e<\/p>\n<\/li>\n<li>\n<p><code>folderId<\/code>\u00a0&#8212; \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0442\u0432\u0435\u0442:<\/p>\n<pre><code class=\"json\">{  \"totalCount\": \"21500\",  \"results\": [    {\"phrase\": \"\u0447\u0430\u0442 \u0431\u043e\u0442\u044b \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430\", \"count\": \"1100\"},    {\"phrase\": \"\u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043c\u0430\u043a\u0441\", \"count\": \"145\"},    {\"phrase\": \"\u0438\u0438 \u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430\", \"count\": \"102\"}  ],  \"associations\": [    {\"phrase\": \"\u0447\u0430\u0442\u0431\u043e\u0442\", \"count\": \"7371\"},    {\"phrase\": \"\u0447\u0430\u0442\u0431\u043e\u0442 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c\", \"count\": \"372\"}  ]}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443\u00a0<code>count<\/code>\u00a0&#8212; \u0441\u0442\u0440\u043e\u043a\u0438, \u0430 \u043d\u0435 \u0447\u0438\u0441\u043b\u0430? \u042d\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c gRPC\u2192JSON \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f: protobuf\u00a0<code>int64<\/code>\u00a0\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0432 JSON \u043a\u0430\u043a string, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0442\u0435\u0440\u044f\u0442\u044c \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u0445 (\u0430 JS-number &#8212;\u00a0<code>int53<\/code>). \u0427\u0438\u0441\u0442\u043e \u0433\u0438\u0433\u0438\u0435\u043d\u0438\u0447\u0435\u0441\u043a\u0438 &#8212; \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0439\u0442\u0435\u00a0<code>int(...)<\/code>\u00a0\u043f\u0435\u0440\u0435\u0434 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u043e\u0439, \u0438\u043d\u0430\u0447\u0435 \u0441\u043b\u043e\u0432\u0438\u0442\u0435 \u0441\u044e\u0440\u043f\u0440\u0438\u0437 \u043d\u0430 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f\u0445.<\/p>\n<h4>\u0417\u0430\u0447\u0435\u043c \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 associations<\/h4>\n<p>\u0420\u0435\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f. \u042f \u0433\u043e\u0442\u043e\u0432\u0438\u043b \u0441\u0442\u0430\u0442\u044c\u044e \u00ab\u0427\u0430\u0442-\u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430: \u043a\u0430\u043a \u0432\u044b\u0431\u0440\u0430\u0442\u044c\u00bb, \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u0447\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 &#8212;\u00a0<code>\u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430<\/code>. \u0417\u0430\u043f\u0440\u043e\u0441\u0438\u043b topRequests, \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u00a0<code>totalCount: 21500<\/code>\u00a0\u0438 top-1 \u00ab\u0447\u0430\u0442 \u0431\u043e\u0442\u044b \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430\u00bb &#8212;\u00a0<strong>1100 \u0432 \u043c\u0435\u0441\u044f\u0446<\/strong>. \u041d\u0435 \u0433\u0443\u0441\u0442\u043e.<\/p>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043b \u0432\u00a0<code>associations<\/code>. \u041f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u044f &#8212; \u0441\u043b\u043e\u0432\u043e\u00a0<strong>\u00ab\u0447\u0430\u0442\u0431\u043e\u0442\u00bb<\/strong>\u00a0\u043e\u0434\u043d\u043e. \u041f\u0440\u043e\u0441\u0442\u043e \u0441\u043b\u0438\u0442\u043d\u043e\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435. \u0427\u0430\u0441\u0442\u043e\u0442\u043d\u043e\u0441\u0442\u044c &#8212;\u00a0<strong>7371<\/strong>. \u0412 \u0441\u0435\u043c\u044c \u0440\u0430\u0437 \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u043e\u0435\u0433\u043e \u00ab\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e\u00bb \u0437\u0430\u043f\u0440\u043e\u0441\u0430.<\/p>\n<p>\u041d\u0443 \u0438 \u043a\u0442\u043e \u0438\u0437 \u043d\u0430\u0441 \u0431\u044b\u043b \u00ab\u043f\u0440\u0430\u0432\u00bb. \u041c\u0430\u0440\u043a\u0435\u0442\u043e\u043b\u043e\u0433 \u0441 \u043c\u043d\u043e\u0433\u043e\u043b\u0435\u0442\u043d\u0435\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u043e\u0439 Wordstat \u044d\u0442\u043e \u0431\u044b \u0437\u0430\u043c\u0435\u0442\u0438\u043b \u0433\u043b\u0430\u0437\u0430\u043c\u0438 &#8212; \u0442\u0430\u043c \u0432\u0441\u0451 \u044d\u0442\u043e \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435. \u042f \u043a\u0430\u043a \u0442\u0435\u0445\u043d\u0430\u0440\u044c \u0431\u0435\u0437 regular-\u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0440\u0435\u0448\u0438\u043b: \u00ab\u0432\u043e\u0437\u044c\u043c\u0443 \u0442\u043e \u0447\u0442\u043e \u043d\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f\u00bb. \u0410 API \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u043b \u043c\u0435\u043d\u044f \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430\u00a0<code>associations<\/code>\u00a0\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u043b\u0435\u043c &#8212; \u0438 \u0443\u0431\u0435\u0440\u0451\u0433 \u043e\u0442 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u0433\u043e, \u043d\u043e \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0431\u0430\u0433\u0430.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0432\u043d\u0435\u0434\u0440\u044f\u0435\u0442\u0435 Wordstat \u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d (\u0430 \u0437\u0430\u0447\u0435\u043c \u0435\u0449\u0451 API?) &#8212; \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u0451\u0440\u0433\u0430\u0439\u0442\u0435 \u043e\u0431\u0435 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0439\u0442\u0435\u00a0<code>totalCount<\/code>\u00a0\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u0439 \u0441 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c. \u041d\u0430 \u0441\u0432\u043e\u0439 H1 \u044f \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b \u00ab\u0447\u0430\u0442\u0431\u043e\u0442\u00bb, \u0430 \u043d\u0435 \u00ab\u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430\u00bb. \u041f\u0440\u0438\u043a\u0438\u043d\u0443\u043b \u0431\u044b \u0432\u044b \u0442\u0430\u043a\u043e\u0435 \u0433\u043b\u0430\u0437\u0430\u043c\u0438 \u043d\u0430 50 \u0444\u0440\u0430\u0437\u0430\u0445 \u0432 \u0434\u0435\u043d\u044c?<\/p>\n<h3>dynamics &#8212; \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438<\/h3>\n<p>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0447\u0430\u0441\u0442\u043e\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0430\u043c. \u041f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u0441\u0435\u0437\u043e\u043d\u043d\u043e\u0441\u0442\u0438: \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043b\u0438 \u043d\u0438\u0448\u0438 \u0432 \u043c\u0435\u0436\u0441\u0435\u0437\u043e\u043d\u044c\u0435, \u043a\u0430\u043a\u043e\u0439 \u043c\u0435\u0441\u044f\u0446 \u0431\u0440\u0430\u0442\u044c \u0437\u0430 baseline.<\/p>\n<pre><code class=\"bash\">curl -X POST 'https:\/\/searchapi.api.cloud.yandex.net\/v2\/wordstat\/dynamics' \\  -H \"Authorization: Api-Key $YANDEX_AI_API_KEY\" \\  -H 'Content-Type: application\/json' \\  -d '{    \"phrase\": \"\u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430\",    \"period\": \"PERIOD_MONTHLY\",    \"fromDate\": \"2026-01-01T00:00:00Z\",    \"toDate\": \"2026-03-31T23:59:59Z\",    \"folderId\": \"b1g0gj00k72p1kr6dsc5\"  }'<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><code>period<\/code>\u00a0&#8212;\u00a0<code>PERIOD_DAILY<\/code>\u00a0\/\u00a0<code>PERIOD_WEEKLY<\/code>\u00a0\/\u00a0<code>PERIOD_MONTHLY<\/code>.\u00a0<strong>\u0421 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c\u00a0<\/strong><code><strong>PERIOD_<\/strong><\/code>\u00a0&#8212; \u044d\u0442\u043e enum \u0432 proto, \u0438 API \u0441\u0442\u0440\u043e\u0433\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442. \u0411\u0435\u0437 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 &#8212;\u00a0<code>INVALID_ARGUMENT<\/code>.<\/p>\n<p>\u0414\u0430\u0442\u044b &#8212; RFC3339 timestamps. \u0418 \u0432\u043e\u0442 \u0442\u0443\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 \u0433\u0440\u0430\u0431\u043b\u044c: \u0434\u043b\u044f\u00a0<code>PERIOD_MONTHLY<\/code>\u00a0\u043f\u043e\u043b\u0435\u00a0<code>toDate<\/code>\u00a0\u041e\u0411\u042f\u0417\u0410\u041d\u041e \u0431\u044b\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0434\u043d\u0451\u043c \u043c\u0435\u0441\u044f\u0446\u0430. \u041f\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u00a0<code>2026-04-01T00:00:00Z<\/code>\u00a0&#8212; \u043f\u043e\u043b\u0443\u0447\u0438\u043b:<\/p>\n<pre><code class=\"json\">{  \"code\": 3,  \"message\": \"rpc error: code = InvalidArgument desc = The to field value should be the last day of the month\",  \"details\": [...]}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e &#8212; \u0434\u043b\u044f\u00a0<code>PERIOD_WEEKLY<\/code>\u00a0\u043d\u0443\u0436\u0435\u043d \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438. \u0412 proto \u044d\u0442\u043e\u0433\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0435\u0442, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u00a0<code>google.protobuf.Timestamp<\/code>. \u0423\u0437\u043d\u0430\u0451\u0448\u044c \u0438\u0437 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0415\u0441\u043b\u0438 \u0434\u0435\u043b\u0430\u0435\u0442\u0435 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u043d\u0443\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e &#8212; \u0437\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0439\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e\u00a0<code>last_day_of_period(date, period)<\/code>.<\/p>\n<p>\u041e\u0442\u0434\u0430\u0451\u0442 response \u0432 \u0432\u0438\u0434\u0435:<\/p>\n<pre><code class=\"json\">{  \"results\": [    {\"date\": \"2026-01-31T00:00:00Z\", \"count\": \"1050\", \"share\": 0.0000087},    {\"date\": \"2026-02-28T00:00:00Z\", \"count\": \"1180\", \"share\": 0.0000094},    {\"date\": \"2026-03-31T00:00:00Z\", \"count\": \"1100\", \"share\": 0.0000091}  ]}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><code>share<\/code>\u00a0&#8212; \u0434\u043e\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043e\u0442 \u0432\u0441\u0435\u0445 Yandex-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u044d\u0442\u043e\u043c \u043f\u0435\u0440\u0438\u043e\u0434\u0435. \u041f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u043d\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u043a\u0438 \u0435\u0441\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442\u0435 \u0442\u0440\u0435\u043d\u0434\u044b \u0440\u0430\u0437\u043d\u044b\u0445 \u043d\u0438\u0448.<\/p>\n<h3>regions &#8212; \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h3>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0433\u0434\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0440\u0435\u043a\u043b\u0430\u043c\u0443 \u0438\u043b\u0438 \u043a\u0430\u043a\u043e\u0439 \u0440\u0435\u0433\u0438\u043e\u043d \u0442\u0430\u0440\u0433\u0435\u0442\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043e\u043c.<\/p>\n<pre><code class=\"bash\">curl -X POST 'https:\/\/searchapi.api.cloud.yandex.net\/v2\/wordstat\/regions' \\  -H \"Authorization: Api-Key $YANDEX_AI_API_KEY\" \\  -H 'Content-Type: application\/json' \\  -d '{    \"phrase\": \"\u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430\",    \"region\": \"REGION_REGIONS\",    \"folderId\": \"b1g0gj00k72p1kr6dsc5\"  }'<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><code>region<\/code>\u00a0&#8212; \u0442\u0440\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430:\u00a0<code>REGION_ALL<\/code>\u00a0(\u0432\u0441\u0451 \u043f\u043e\u0434\u0440\u044f\u0434),\u00a0<code>REGION_CITIES<\/code>\u00a0(\u0442\u043e\u043b\u044c\u043a\u043e \u0433\u043e\u0440\u043e\u0434\u0430),\u00a0<code>REGION_REGIONS<\/code>\u00a0(\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u044b \u0420\u0424).<\/p>\n<p>\u0412 \u043a\u0430\u0436\u0434\u043e\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043f\u043e\u043b\u0435\u00a0<code>affinityIndex<\/code>:<\/p>\n<pre><code class=\"json\">{  \"region\": \"1\",  \"count\": \"235\",  \"share\": 0.0000109,  \"affinityIndex\": 120.4}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><code>affinityIndex<\/code>\u00a0&#8212; \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u0433\u0438\u043e\u043d\u0435 \u043a \u0434\u043e\u043b\u0435 \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0435. \u0411\u043e\u043b\u044c\u0448\u0435 100 &#8212; \u00ab\u0433\u043e\u0440\u044f\u0447\u0435\u0435\u00bb \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e, \u043c\u0435\u043d\u044c\u0448\u0435 100 &#8212; \u0441\u043b\u0430\u0431\u0435\u0435. \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0442\u0430\u043a: \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u043d\u0438\u0448\u0438 \u0434\u043b\u044f \u043b\u0435\u043d\u0434\u0438\u043d\u0433\u0430 \u0441\u043c\u043e\u0442\u0440\u044e \u0442\u043e\u043f-10 \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 \u0441\u00a0<code>affinityIndex &gt; 130<\/code>\u00a0&#8212; \u0442\u0430\u043c \u0437\u0430\u043f\u0440\u043e\u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0433\u0440\u0435\u0435\u0442\u0441\u044f, \u043c\u043e\u0436\u043d\u043e \u0435\u0445\u0430\u0442\u044c \u0441 \u043e\u0444\u0435\u0440\u043e\u043c.<\/p>\n<p>\u041c\u0438\u043d\u0443\u0441:\u00a0<code>region<\/code>\u00a0\u0432 \u043e\u0442\u0432\u0435\u0442\u0435 &#8212; \u044d\u0442\u043e ID, \u0430 \u043d\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435. \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0432 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0435 &#8212; \u043d\u0443\u0436\u0435\u043d \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u0438\u0437 \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430.<\/p>\n<h3>getRegionsTree &#8212; \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432<\/h3>\n<p>\u0421\u0430\u043c\u044b\u0439 \u0441\u043a\u0443\u0447\u043d\u044b\u0439, \u043d\u043e \u0431\u0435\u0437 \u043d\u0435\u0433\u043e \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0430\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u044b. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0434\u0435\u0440\u0435\u0432\u043e \u0432\u0441\u0435\u0445 \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 Yandex \u0441 ID \u0438\u00a0<code>label<\/code>\u00a0(\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435). \u042f \u0435\u0433\u043e \u0434\u0451\u0440\u0433\u0430\u044e \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0438 \u043a\u044d\u0448\u0438\u0440\u0443\u044e \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 JSON, \u0434\u0430\u043b\u044c\u0448\u0435 &#8212; \u043f\u0440\u043e\u0441\u0442\u043e \u043c\u0430\u043f\u043f\u0438\u043d\u0433 id\u2192name.<\/p>\n<pre><code class=\"bash\">curl -X POST 'https:\/\/searchapi.api.cloud.yandex.net\/v2\/wordstat\/getRegionsTree' \\  -H \"Authorization: Api-Key $YANDEX_AI_API_KEY\" \\  -H 'Content-Type: application\/json' \\  -d '{\"folderId\": \"b1g0gj00k72p1kr6dsc5\"}'<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0412 \u043e\u0442\u0432\u0435\u0442\u0435 &#8212; \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u00a0<code>regions: [{id, label, children: [...]}]<\/code>. \u0420\u0430\u0437\u043c\u0435\u0440 JSON &#8212; \u043e\u043a\u043e\u043b\u043e 200 KB, \u0432 \u043d\u0451\u043c \u043f\u0430\u0440\u0430 \u0442\u044b\u0441\u044f\u0447 \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u0440\u0430\u0439\u043e\u043d\u043e\u0432 \u0433\u043e\u0440\u043e\u0434\u043e\u0432.<\/p>\n<h3>\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 Python wrapper<\/h3>\n<p>\u0421\u0432\u043e\u0439 \u0432\u043e\u0440\u043a\u0448\u043e\u043f \u0432 60 \u0441\u0442\u0440\u043e\u043a, \u0431\u0435\u0437 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a (\u0442\u043e\u043b\u044c\u043a\u043e stdlib):<\/p>\n<pre><code class=\"python\">import jsonimport osimport sslimport sysimport urllib.requestimport urllib.errorKEY = os.environ[\"YANDEX_AI_API_KEY\"]FOLDER = os.environ.get(\"YANDEX_FOLDER_ID\", \"b1g0gj00k72p1kr6dsc5\")API_BASE = \"https:\/\/searchapi.api.cloud.yandex.net\/v2\/wordstat\"# macOS Python: \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 CA-bundle \u0447\u0430\u0441\u0442\u043e \u043d\u0435 \u043f\u043e\u0434\u0442\u044f\u043d\u0443\u0442 - \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0441\u0442\u0440\u043e\u0433\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443.# \u0412 \u043f\u0440\u043e\u0434\u0435 - \u0441\u0442\u0430\u0432\u044c\u0442\u0435 certifi \u0438 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439 context, \u0442\u0443\u0442 \u0434\u043b\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0441\u043e\u0439\u0434\u0451\u0442.SSL_CTX = ssl.create_default_context()SSL_CTX.check_hostname = FalseSSL_CTX.verify_mode = ssl.CERT_NONEdef call(path: str, body: dict) -&gt; dict:    body.setdefault(\"folderId\", FOLDER)    req = urllib.request.Request(        f\"{API_BASE}\/{path}\",        data=json.dumps(body).encode(\"utf-8\"),        headers={            \"Authorization\": f\"Api-Key {KEY}\",            \"Content-Type\": \"application\/json\",        },        method=\"POST\",    )    try:        with urllib.request.urlopen(req, timeout=30, context=SSL_CTX) as resp:            return json.loads(resp.read().decode(\"utf-8\"))    except urllib.error.HTTPError as e:        return {\"_http_error\": e.code, \"_body\": e.read().decode(\"utf-8\", errors=\"replace\")}def top(phrase: str, num: int = 20) -&gt; None:    res = call(\"topRequests\", {\"phrase\": phrase, \"numPhrases\": num})    if \"_http_error\" in res:        sys.exit(f\"HTTP {res['_http_error']}: {res['_body'][:200]}\")    print(f\"\\n\u00ab{phrase}\u00bb - \u0432\u0441\u0435\u0433\u043e {res['totalCount']} \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432\/\u043c\u0435\u0441\\n\")    print(\"\u0422\u041e\u041f:\")    for r in res.get(\"results\", []):        print(f\"  {int(r['count']):&gt;8}   {r['phrase']}\")    if res.get(\"associations\"):        print(\"\\n\u0410\u0421\u0421\u041e\u0426\u0418\u0410\u0426\u0418\u0418:\")        for r in res[\"associations\"]:            print(f\"  {int(r['count']):&gt;8}   {r['phrase']}\")if __name__ == \"__main__\":    top(sys.argv[1] if len(sys.argv) &gt; 1 else \"\u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430\", num=10)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0448\u044c\u00a0<code>python3 <\/code><a href=\"http:\/\/wordstat.py\" rel=\"noopener noreferrer nofollow\"><code>wordstat.py<\/code><\/a><code> \"\u0432\u0430\u0448\u0430 \u0444\u0440\u0430\u0437\u0430\"<\/code>\u00a0&#8212; \u0432\u0438\u0434\u0438\u0448\u044c \u0442\u043e\u043f + \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u0438. \u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u043a\u0435\u043b\u0435\u0442\u0430 \u0443 \u043c\u0435\u043d\u044f \u0432\u044b\u0440\u043e\u0441\u043b\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b\u00a0<code>dynamics<\/code>,\u00a0<code>regions<\/code>,\u00a0<code>batch<\/code>\u00a0(\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f &#8212; \u043f\u0440\u043e\u0433\u043e\u043d \u043f\u043e \u0441\u043f\u0438\u0441\u043a\u0443 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c SEO-\u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0443 \u0440\u0430\u0437\u043e\u043c).<\/p>\n<p>\u042f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0443\u0448\u0451\u043b \u043e\u0442\u00a0<code>requests<\/code>\u00a0\u0438 \u0432\u0437\u044f\u043b \u0433\u043e\u043b\u044b\u0439\u00a0<code>urllib<\/code>: \u043c\u0435\u043d\u044c\u0448\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u043b\u0435\u0433\u0447\u0435 \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 CI, \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u044b\u0445 breaking changes \u043e\u0442 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u0439 \u043b\u0438\u0431\u044b.<\/p>\n<h3>\u041f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0435 \u043a\u0430\u043c\u043d\u0438 (\u0441\u0432\u043e\u0434\u043d\u043e)<\/h3>\n<ol>\n<li>\n<p><strong>Folder ID \u043d\u0438\u0433\u0434\u0435 \u044f\u0432\u043d\u043e \u043d\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442 \u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u0445<\/strong>\u00a0&#8212; \u0443\u0437\u043d\u0430\u0451\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0442\u0435\u043a\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0438 YandexGPT (\u0441\u043c. \u0432\u044b\u0448\u0435). \u0412 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0435 \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0434\u043e\u0431\u0430\u0432\u044f\u0442 \u0432 quickstart, \u043d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0442\u0430\u043a<\/p>\n<\/li>\n<li>\n<p><code><strong>PERIOD_MONTHLY<\/strong><\/code><strong>\u00a0\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u00a0<\/strong><code><strong>toDate<\/strong><\/code><strong>\u00a0&#8212; \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u043c\u0435\u0441\u044f\u0446\u0430.<\/strong>\u00a0\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0434\u043b\u044f weekly. \u0412 proto \u043d\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043e, \u0443\u0437\u043d\u0430\u0451\u0442\u0435 \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/p>\n<\/li>\n<li>\n<p><strong>macOS Python \u0431\u0435\u0437 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432:<\/strong>\u00a0<code>ssl.SSLCertVerificationError<\/code>. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 &#8212;\u00a0<code>ssl.CERT_NONE<\/code>\u00a0\u0434\u043b\u044f \u043b\u043e\u043a\u0430\u043b\u043a\u0438 \u0438\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u00a0<code>certifi<\/code>\u00a0\u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0430<\/p>\n<\/li>\n<li>\n<p><code><strong>count<\/strong><\/code><strong>\u00a0\u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0441\u0442\u0440\u043e\u043a\u043e\u0439<\/strong>\u00a0(proto-quirk \u0434\u043b\u044f int64). \u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0439\u0442\u0435\u00a0<code>int(...)<\/code>\u00a0\u043f\u0435\u0440\u0435\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438<\/p>\n<\/li>\n<li>\n<p><code><strong>associations<\/strong><\/code><strong>\u00a0\u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c<\/strong>\u00a0\u043d\u0430 \u0443\u0437\u043a\u0438\u0445 \u043d\u0438\u0448\u0435\u0432\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 &#8212; \u043f\u0443\u0441\u0442\u043e\u0439 \u043c\u0430\u0441\u0441\u0438\u0432, \u043d\u0435\u00a0<code>null<\/code>. \u041d\u0435 assume \u0447\u0442\u043e \u043a\u043b\u044e\u0447 \u0432\u0441\u0435\u0433\u0434\u0430 \u0435\u0441\u0442\u044c \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438<\/p>\n<\/li>\n<\/ol>\n<h3>\u0427\u0435\u0433\u043e \u041d\u0415\u0422 vs \u0432\u0435\u0431-Wordstat<\/h3>\n<p>\u0414\u043e \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430 \u0441 \u0432\u0435\u0431-Wordstat \u043d\u0430 API \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u0447\u0442\u043e \u0432 API \u0447\u0435\u0433\u043e-\u0442\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442:<\/p>\n<ul>\n<li>\n<p><strong>\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b<\/strong>\u00a0(<code>!\u0441\u043b\u043e\u0432\u043e<\/code>,\u00a0<code>+\u0441\u043b\u043e\u0432\u043e<\/code>,\u00a0<code>[\u0441\u043b\u043e\u0432\u043e]<\/code>) &#8212; \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f. \u041f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432\u00a0<code>phrase<\/code>\u00a0\u043c\u043e\u0436\u043d\u043e, \u043d\u043e \u0442\u043e\u0447\u043d\u0430\u044f \u0444\u0440\u0430\u0437\u043e\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u043d\u043e\u0441\u0442\u044c \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0444\u0440\u0430\u0437 \u0432 \u043e\u0434\u043d\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435<\/strong>\u00a0&#8212; \u043d\u0435\u0442. \u0422\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043e\u0434\u043d\u043e\u0439 \u0437\u0430 \u0432\u044b\u0437\u043e\u0432<\/p>\n<\/li>\n<li>\n<p><strong>\u041b\u0435\u0432\u0430\u044f \u043a\u043e\u043b\u043e\u043d\u043a\u0430 \/ \u043f\u0440\u0430\u0432\u0430\u044f \u043a\u043e\u043b\u043e\u043d\u043a\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e<\/strong>\u00a0&#8212; API \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e results + associations, \u0431\u0435\u0437 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u0439 \u0431\u0435\u0437 \u0447\u0430\u0441\u0442\u043e\u0442<\/p>\n<\/li>\n<li>\n<p><strong>\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f<\/strong>\u00a0&#8212; \u043d\u0435\u0442 (\u0447\u0442\u043e \u043b\u043e\u0433\u0438\u0447\u043d\u043e)<\/p>\n<\/li>\n<\/ul>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0442\u043e\u043d\u043a\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u043c\u0438 &#8212; \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0435 <a href=\"http:\/\/wordstat-2.yandex.ru\" rel=\"noopener noreferrer nofollow\">wordstat-2.yandex.ru<\/a> \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435. \u0415\u0441\u043b\u0438 \u043c\u0430\u0441\u0441\u043e\u0432\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u044b\u0441\u044f\u0447\u0438 \u0444\u0440\u0430\u0437 \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0430 &#8212; \u044d\u0442\u043e\u0442 API.<\/p>\n<h3>\u041a\u0443\u0434\u0430 \u044f \u044d\u0442\u043e \u0432\u043f\u0438\u0441\u0430\u043b<\/h3>\n<p>\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u0443 \u043c\u0435\u043d\u044f &#8212; \u0432 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 H1 \/ \u043f\u043e\u0434\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \/ FAQ. \u041f\u0435\u0440\u0435\u0434 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u00a0<a href=\"http:\/\/wordstat.py\" rel=\"noopener noreferrer nofollow\"><code>wordstat.py<\/code><\/a><code> top \"&lt;\u0447\u0435\u0440\u043d\u043e\u0432\u043e\u0439 H1&gt;\"<\/code>\u00a0&#8212; \u0441\u043c\u043e\u0442\u0440\u044e \u0447\u0442\u043e \u0442\u0430\u043c \u0432\u00a0<code>associations<\/code>. \u0427\u0430\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u044e H1 \u043f\u043e\u0434 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0443\u044e \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0443. \u0412\u0440\u0435\u043c\u044f &#8212; \u0441\u0435\u043a\u0443\u043d\u0434\u044b, \u0432\u044b\u0433\u043e\u0434\u0430 &#8212; \u0447\u0430\u0441\u044b \u043d\u0435\u0434\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043d\u0430\u0448\u0451\u043b \u0431\u044b.<\/p>\n<p>\u0418\u0437 \u043f\u043e\u0431\u043e\u0447\u043d\u043e\u0433\u043e: \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u00ab\u043d\u0435 \u043f\u0438\u0448\u0435\u043c \u043b\u0438 \u043c\u044b \u043f\u0440\u043e \u043c\u0451\u0440\u0442\u0432\u0443\u044e \u0442\u0435\u043c\u0443\u00bb. \u0415\u0441\u043b\u0438\u00a0<code>totalCount &lt; 200\/\u043c\u0435\u0441<\/code>\u00a0&#8212; \u0441\u0442\u0430\u0442\u044c\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0443\u0437\u043a\u0430\u044f, \u0438\u043b\u0438 \u0431\u044b \u0432\u0437\u044f\u0442\u044c \u0441\u043c\u0435\u0436\u043d\u044b\u0439 \u0448\u0438\u0440\u043e\u043a\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441.<\/p>\n<h3>\u0426\u0435\u043d\u044b \u0438 \u043a\u0432\u043e\u0442\u044b<\/h3>\n<p>\u041f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 \u0441\u044e\u0440\u043f\u0440\u0438\u0437: Wordstat API \u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 AI Studio Search API \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f\u00a0<strong>\u0431\u0435\u0441\u043f\u043b\u0430\u0442\u0435\u043d<\/strong>. \u041f\u043e \u043e\u0431\u0449\u0435\u0439 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0435 AI Studio \u0431\u0435\u0437 \u043e\u043f\u043b\u0430\u0442\u044b \u0438\u0434\u0443\u0442 API-\u0432\u044b\u0437\u043e\u0432\u044b (\u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 Wordstat \u0438 embedding-\u0441\u0435\u0440\u0432\u0438\u0441\u044b), \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b; \u043f\u043b\u0430\u0442\u0438\u0442\u044c \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430 \u0442\u043e\u043a\u0435\u043d\u044b LLM-\u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 Model Gallery (YandexGPT \u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435). Wordstat \u0441\u044e\u0434\u0430 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442.<\/p>\n<p>\u0410\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u043b\u0443\u0447\u0448\u0435 \u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435\u00a0<a href=\"https:\/\/yandex.cloud\/ru\/docs\/ai-studio\/pricing\" rel=\"noopener noreferrer nofollow\">\u0442\u0430\u0440\u0438\u0444\u043e\u0432 AI Studio<\/a>\u00a0\u2014 Yandex \u0438\u043d\u043e\u0433\u0434\u0430 \u043c\u0435\u043d\u044f\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u0441\u0435\u0440\u0432\u0438\u0441 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0438\u0437 \u0431\u0435\u0442\u044b.<\/p>\n<p>Rate limit, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0435\u0441\u0442\u044c \u2014 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0434\u043b\u044f Yandex Cloud, \u0433\u0434\u0435-\u0442\u043e 5-10 RPS. \u042f \u043d\u0435 \u0443\u043f\u0438\u0440\u0430\u043b\u0441\u044f \u043f\u0440\u0438 \u0440\u0430\u0437\u0443\u043c\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438. \u0414\u043b\u044f batch-\u043e\u0431\u0445\u043e\u0434\u043e\u0432 \u043d\u0430 \u0441\u043e\u0442\u043d\u0438 \u043a\u043b\u044e\u0447\u0435\u0439 \u0437\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u00a0<code>time.sleep(0.2)<\/code>\u00a0\u043c\u0435\u0436\u0434\u0443 \u0432\u044b\u0437\u043e\u0432\u0430\u043c\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0437 \u0432\u0435\u0436\u043b\u0438\u0432\u043e\u0441\u0442\u0438 \u0438 \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0441\u043b\u043e\u0432\u0438\u0442\u044c 429.<\/p>\n<h3>\u041a\u043e\u0433\u0434\u0430 \u0431\u0440\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u0442<\/h3>\n<p><strong>\u0411\u0440\u0430\u0442\u044c<\/strong>, \u0435\u0441\u043b\u0438:<\/p>\n<ul>\n<li>\n<p>\u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u043d\u0443\u0436\u043d\u0430 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430 (10+ \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0434\u0435\u043d\u044c)<\/p>\n<\/li>\n<li>\n<p>\u0423\u0436\u0435 \u0435\u0441\u0442\u044c Yandex Cloud-\u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0441 AI Studio (\u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u043f\u043e\u0434 YandexGPT)<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0437\u0430\u0432\u043e\u0434\u0438\u0442\u044c \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0440\u0430\u0434\u0438 Wordstat<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041d\u0435 \u0431\u0440\u0430\u0442\u044c<\/strong>, \u0435\u0441\u043b\u0438:<\/p>\n<ul>\n<li>\n<p>\u0417\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043d\u0430 Wordstat &#8212; 5 \u0432 \u043d\u0435\u0434\u0435\u043b\u044e. \u0412\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0431\u044b\u0441\u0442\u0440\u0435\u0435<\/p>\n<\/li>\n<li>\n<p>\u041d\u0443\u0436\u043d\u044b \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0438 \u0442\u043e\u043d\u043a\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u044f\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u0423\u0436\u0435 \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 Direct API \u0438 Wordstat \u0442\u0430\u043c \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442<\/p>\n<\/li>\n<\/ul>\n<h3>\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/yandex-cloud\/cloudapi\/yandex\/cloud\/searchapi\/v2\/wordstat_service.proto\" rel=\"noopener noreferrer nofollow\">\u041f\u043e\u043b\u043d\u0430\u044f proto-\u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/aistudio.yandex.ru\/docs\/en\/search-api\/concepts\/wordstat.html\" rel=\"noopener noreferrer nofollow\">AI Studio docs<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/yandex.ru\/dev\/audience\/doc\/regions.html\" rel=\"noopener noreferrer nofollow\">\u0420\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 ID Yandex<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/yandex.cloud\/ru\/prices\" rel=\"noopener noreferrer nofollow\">\u0426\u0435\u043d\u044b AI Studio<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u00a0\u0446\u0435\u043b\u043e\u043c\u00a0\u2014 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u043d\u044b\u0439 API \u0437\u0430\u00a0\u0440\u0430\u0437\u0443\u043c\u043d\u044b\u0435 \u0434\u0435\u043d\u044c\u0433\u0438. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043f\u0435\u0440\u0435\u0436\u0438\u0432\u0438\u0442\u0435 \u0433\u0440\u0430\u0431\u043b\u0438 \u0441\u00a0folder ID \u0438 \u043c\u0435\u0441\u044f\u0447\u043d\u044b\u043c\u0438 \u0434\u0430\u0442\u0430\u043c\u0438, \u0434\u0430\u043b\u044c\u0448\u0435 \u0432\u0441\u0451 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e.<\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1030276\/\">https:\/\/habr.com\/ru\/articles\/1030276\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u0430\u0441\u044c \u043c\u043d\u0435 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430 &#8212; \u043d\u0435 \u0432 \u0441\u043c\u044b\u0441\u043b\u0435 \u00ab\u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0433\u043b\u044f\u043d\u0443\u0442\u044c Wordstat \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435\u00bb, \u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0442\u044c \u043f\u043e 50-100 \u0444\u0440\u0430\u0437 \u0432 \u0434\u0435\u043d\u044c \u0438 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432 \u0441\u0432\u043e\u044e \u0431\u0430\u0437\u0443. \u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442: \u0432\u0435\u0434\u0443 \u043a\u043e\u043d\u0442\u0435\u043d\u0442-\u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0430\u0433\u0435\u043d\u0442\u0441\u0442\u0432\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0447\u0430\u0442-\u0431\u043e\u0442\u043e\u0432 BotKraft, \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434 \u042f\u043d\u0434\u0435\u043a\u0441 \u041d\u0435\u0439\u0440\u043e. \u0412\u0435\u0431-Wordstat \u0434\u043b\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u043e\u0431\u044a\u0451\u043c\u0430 \u043d\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 &#8212; \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u0438 \u043f\u043e\u043b\u0434\u043d\u044f. Direct API &#8212; \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u043e\u0440\u043e\u0433\u043e\u0439 \u0432\u0445\u043e\u0434: \u043d\u0443\u0436\u0435\u043d \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 OAuth, \u0443 \u043c\u0435\u043d\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0431\u044b\u043b\u043e \u0438 \u0437\u0430\u0432\u043e\u0434\u0438\u0442\u044c \u0440\u0430\u0434\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c.\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043f\u043e\u043b\u0435\u0437 \u0432 \u043d\u043e\u0432\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b Yandex Cloud AI Studio (\u0442\u0430\u043c \u0441\u0435\u0439\u0447\u0430\u0441 \u0436\u0438\u0432\u0451\u0442 YandexGPT) \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b, \u0447\u0442\u043e Wordstat \u0442\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u0442\u044c \u0432\u00a0Search API v2\u00a0&#8212; \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c \u0431\u0435\u0437 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 Direct. \u0414\u043e\u0441\u0442\u0443\u043f &#8212; \u043e\u0431\u044b\u0447\u043d\u044b\u0439 API-\u043a\u043b\u044e\u0447 \u0438\u0437 AI Studio, \u0442\u043e\u0442 \u0436\u0435 \u0447\u0442\u043e \u0438 \u0434\u043b\u044f YandexGPT. \u041f\u043e \u0441\u0443\u0442\u0438 \u0432 \u043e\u0434\u0438\u043d \u043a\u043b\u0438\u043a \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0448\u044c \u0435\u0449\u0451 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0435.\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u043b, \u043f\u043e \u0434\u043e\u0440\u043e\u0433\u0435 \u0441\u043e\u0431\u0440\u0430\u043b \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e \u0433\u0440\u0430\u0431\u043b\u0435\u0439. \u042d\u0442\u0438\u043c \u0438 \u043f\u043e\u0434\u0435\u043b\u044e\u0441\u044c.\u0413\u0434\u0435 \u044d\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043b\u0435\u0436\u0438\u0442\u041d\u0435 \u043f\u0443\u0442\u0430\u0435\u043c \u0442\u0440\u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0441 \u043f\u043e\u0445\u043e\u0436\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c:Search API for sites\u00a0&#8212; \u0441\u0442\u0430\u0440\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u00ab\u043f\u043e\u0438\u0441\u043a \u043f\u043e \u0441\u0430\u0439\u0442\u0443\u00bb, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 SERP \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c, \u043e\u043f\u043b\u0430\u0442\u0430 \u0437\u0430 \u0432\u044b\u0434\u0430\u0447\u0443Search API v2 (\u043d\u043e\u0432\u044b\u0439)\u00a0&#8212; \u0442\u043e \u0447\u0442\u043e \u0432 AI Studio, \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 Web Search, Image Search, Generative Search \u0438\u00a0WordstatYandex Direct API \u2192 Reports.Wordstat\u00a0&#8212; \u0441\u0442\u0430\u0440\u044b\u0439 \u043f\u0443\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u041c\u0435\u043d\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u0432\u0442\u043e\u0440\u043e\u0435. Endpoint root \u0434\u043b\u044f Wordstat:\u00a0https:\/\/searchapi.api.cloud.yandex.net\/v2\/wordstat\/&#8230;\u041f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c &#8212; gRPC c REST-\u043e\u0431\u0451\u0440\u0442\u043a\u043e\u0439 \u0447\u0435\u0440\u0435\u0437\u00a0google.api.http\u00a0annotations. \u041f\u043e\u043b\u043d\u0430\u044f proto-\u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0432 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c\u00a0yandex-cloud\/cloudapi\u00a0&#8212; \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u0443\u0434\u0430, \u0430 \u043d\u0435 \u0432 \u0433\u0438\u043f\u0435\u0440\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0443\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e: \u0432 proto \u0432\u0441\u0451 \u0442\u043e\u0447\u043d\u0435\u0435 \u0438 \u0431\u0435\u0437 \u043d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e\u0441\u0442\u0435\u0439.\u0427\u0435\u0442\u044b\u0440\u0435 \u043c\u0435\u0442\u043e\u0434\u0430:\u041c\u0435\u0442\u043e\u0434Path\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435GetTop\/topRequests\u0442\u043e\u043f \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430 30 \u0434\u043d\u0435\u0439 + \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u0438GetDynamics\/dynamics\u0447\u0430\u0441\u0442\u043e\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 (\u0434\u0435\u043d\u044c\/\u043d\u0435\u0434\u0435\u043b\u044f\/\u043c\u0435\u0441\u044f\u0446)GetRegionsDistribution\/regions\u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u043e \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u043c\/\u0433\u043e\u0440\u043e\u0434\u0430\u043cGetRegionsTree\/getRegionsTree\u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u0432\u0441\u0435\u0445 \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 \u0441 ID\u041d\u0438\u0447\u0435\u0433\u043e \u0441\u0432\u0435\u0440\u0445\u044a\u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e. Operators (!\u0441\u043b\u043e\u0432\u043e,\u00a0+\u0441\u043b\u043e\u0432\u043e,\u00a0[\u0441\u043b\u043e\u0432\u043e]) \u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0444\u0440\u0430\u0437 \u0432 \u043e\u0434\u043d\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435 &#8212; \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442, \u043e\u0431 \u044d\u0442\u043e\u043c \u043d\u0438\u0436\u0435.\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u0440\u043e folder\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f &#8212; \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a\u00a0Authorization: Api-Key &lt;\u043a\u043b\u044e\u0447&gt;. \u041a\u043b\u044e\u0447 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u0432 AI Studio \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u043c \u043a Service Account, \u0442\u043e\u0442 \u0436\u0438\u0432\u0451\u0442 \u0432 \u043a\u0430\u043a\u043e\u043c-\u0442\u043e folder.\u00a0Folder ID &#8212; \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043b\u0435\u00a0folderId\u00a0\u0432 JSON-\u0442\u0435\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430.\u00a0\u0411\u0435\u0437 \u043d\u0435\u0433\u043e &#8212; \u043e\u0448\u0438\u0431\u043a\u0430\u00a0INVALID_ARGUMENT.\u0418 \u0432\u043e\u0442 \u0442\u0443\u0442 \u043f\u0435\u0440\u0432\u0430\u044f \u0437\u0430\u0441\u0430\u0434\u0430: \u0433\u0434\u0435 \u0432\u0437\u044f\u0442\u044c folder ID? \u0412 UI AI Studio \u044d\u0442\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0435\u0441\u0442\u044c, \u043d\u043e \u043f\u0440\u044f\u0442\u0430\u043d\u043e \u0437\u0430 \u043f\u0430\u0440\u0443 \u043a\u043b\u0438\u043a\u043e\u0432 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 Yandex Cloud \u2192 Folders. \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f AI Studio (\u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043c\u043e\u0435\u0433\u043e \u0442\u044b\u043a\u0430) folder \u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u0445 \u044f\u0432\u043d\u043e \u043d\u0435 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043b\u0430 &#8212; \u0431\u0443\u0434\u0442\u043e \u0432\u0441\u0435 \u0430\u043f\u0440\u0438\u043e\u0440\u0438 \u0437\u043d\u0430\u044e\u0442.\u042f \u0443\u0437\u043d\u0430\u043b \u0441\u0432\u043e\u0439 folder \u0447\u0435\u0440\u0435\u0437 \u043a\u0440\u0430\u0439\u043d\u0435 \u0434\u0443\u0440\u0430\u0446\u043a\u0438\u0439 \u043f\u0443\u0442\u044c. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0432\u044b\u0437\u0432\u0430\u0442\u044c YandexGPT \u0441 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u00a0gpt:\/\/test\/yandexgpt\/latest\u00a0(\u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0447\u0442\u043e \u043a\u043b\u044e\u0447 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442). API \u043e\u0442\u0432\u0435\u0442\u0438\u043b:Specified folder ID &#8216;test&#8217; does not match with service account folder ID &#8216;b1g0gj00k72p1kr6dsc5&#8217;\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0440\u0435\u0431\u044f\u0442\u0430\u043c, \u0447\u0442\u043e \u0437\u0430\u0448\u0438\u043b\u0438 \u0438\u043c\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e folder \u0432 \u0442\u0435\u043a\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0438 &#8212; \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u043b\u0430\u0439\u0444\u0445\u0430\u043a \u043d\u0430 \u0440\u043e\u0432\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435. \u0422\u043e\u0442 \u0436\u0435 folder \u043f\u043e\u0434\u043e\u0448\u0451\u043b \u0438 \u0434\u043b\u044f Wordstat-\u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u043e\u0432.\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0442\u043e\u0436\u0435 \u043d\u0435 \u0441\u0440\u0430\u0437\u0443 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e \u0433\u0434\u0435 folder &#8212; \u043c\u043e\u0436\u043d\u043e \u043b\u0438\u0431\u043e \u0442\u044b\u043a\u0430\u0442\u044c \u0432 Cloud Console, \u043b\u0438\u0431\u043e \u0432\u043e\u0442 \u0442\u0430\u043a \u0447\u0435\u0440\u0435\u0437 \u0442\u0435\u043a\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0438. \u0413\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0434\u0430\u0441\u0442 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439.topRequests &#8212; \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u0435\u0442\u043e\u0434\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0432 80% \u0441\u043b\u0443\u0447\u0430\u0435\u0432. \u041e\u043d \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0430\u0441\u0442\u043e\u0442\u043d\u043e\u0441\u0442\u044c \u043e\u0434\u043d\u043e\u0439 \u0444\u0440\u0430\u0437\u044b, \u0430\u00a0\u0442\u043e\u043f \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043e\u043a\u00a0(results) \u0438\u00a0\u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u043b\u0438\u0437\u043a\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b\u00a0(associations). \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 &#8212; \u0437\u043e\u043b\u043e\u0442\u043e, \u043e\u0431 \u044d\u0442\u043e\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e.\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441:curl -X POST &#8216;https:\/\/searchapi.api.cloud.yandex.net\/v2\/wordstat\/topRequests&#8217; \\  -H &#171;Authorization: Api-Key $YANDEX_AI_API_KEY&#187; \\  -H &#8216;Content-Type: application\/json&#8217; \\  -d &#8216;{    &#171;phrase&#187;: &#171;\u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430&#187;,    &#171;numPhrases&#187;: 20,    &#171;regions&#187;: [&#171;213&#187;],    &#171;folderId&#187;: &#171;b1g0gj00k72p1kr6dsc5&#187;  }&#8217;\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:phrase\u00a0&#8212; \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 (\u0434\u043e 400 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e)numPhrases\u00a0&#8212; \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0432\u0435\u0440\u043d\u0443\u0442\u044c, 1-2000, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 20regions\u00a0&#8212; \u043c\u0430\u0441\u0441\u0438\u0432 \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 ID ([&#171;213&#187;]\u00a0&#8212; \u041c\u043e\u0441\u043a\u0432\u0430,\u00a0[&#171;2&#187;]\u00a0&#8212; \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433). \u041e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043edevices\u00a0&#8212; \u043c\u0430\u0441\u0441\u0438\u0432\u00a0[&#171;DEVICE_ALL&#187;|&#187;DEVICE_DESKTOP&#187;|&#187;DEVICE_PHONE&#187;|&#187;DEVICE_TABLET&#187;]. \u041e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043efolderId\u00a0&#8212; \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u041e\u0442\u0432\u0435\u0442:{  &#171;totalCount&#187;: &#171;21500&#187;,  &#171;results&#187;: [    {&#171;phrase&#187;: &#171;\u0447\u0430\u0442 \u0431\u043e\u0442\u044b \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430&#187;, &#171;count&#187;: &#171;1100&#187;},    {&#171;phrase&#187;: &#171;\u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043c\u0430\u043a\u0441&#187;, &#171;count&#187;: &#171;145&#187;},    {&#171;phrase&#187;: &#171;\u0438\u0438 \u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430&#187;, &#171;count&#187;: &#171;102&#187;}  ],  &#171;associations&#187;: [    {&#171;phrase&#187;: &#171;\u0447\u0430\u0442\u0431\u043e\u0442&#187;, &#171;count&#187;: &#171;7371&#187;},    {&#171;phrase&#187;: &#171;\u0447\u0430\u0442\u0431\u043e\u0442 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c&#187;, &#171;count&#187;: &#171;372&#187;}  ]}\u041f\u043e\u0447\u0435\u043c\u0443\u00a0count\u00a0&#8212; \u0441\u0442\u0440\u043e\u043a\u0438, \u0430 \u043d\u0435 \u0447\u0438\u0441\u043b\u0430? \u042d\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c gRPC\u2192JSON \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f: protobuf\u00a0int64\u00a0\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0432 JSON \u043a\u0430\u043a string, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0442\u0435\u0440\u044f\u0442\u044c \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u0445 (\u0430 JS-number &#8212;\u00a0int53). \u0427\u0438\u0441\u0442\u043e \u0433\u0438\u0433\u0438\u0435\u043d\u0438\u0447\u0435\u0441\u043a\u0438 &#8212; \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0439\u0442\u0435\u00a0int(&#8230;)\u00a0\u043f\u0435\u0440\u0435\u0434 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u043e\u0439, \u0438\u043d\u0430\u0447\u0435 \u0441\u043b\u043e\u0432\u0438\u0442\u0435 \u0441\u044e\u0440\u043f\u0440\u0438\u0437 \u043d\u0430 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f\u0445.\u0417\u0430\u0447\u0435\u043c \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 associations\u0420\u0435\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f. \u042f \u0433\u043e\u0442\u043e\u0432\u0438\u043b \u0441\u0442\u0430\u0442\u044c\u044e \u00ab\u0427\u0430\u0442-\u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430: \u043a\u0430\u043a \u0432\u044b\u0431\u0440\u0430\u0442\u044c\u00bb, \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u0447\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 &#8212;\u00a0\u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430. \u0417\u0430\u043f\u0440\u043e\u0441\u0438\u043b topRequests, \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u00a0totalCount: 21500\u00a0\u0438 top-1 \u00ab\u0447\u0430\u0442 \u0431\u043e\u0442\u044b \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430\u00bb &#8212;\u00a01100 \u0432 \u043c\u0435\u0441\u044f\u0446. \u041d\u0435 \u0433\u0443\u0441\u0442\u043e.\u0414\u0430\u043b\u044c\u0448\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043b \u0432\u00a0associations. \u041f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u044f &#8212; \u0441\u043b\u043e\u0432\u043e\u00a0\u00ab\u0447\u0430\u0442\u0431\u043e\u0442\u00bb\u00a0\u043e\u0434\u043d\u043e. \u041f\u0440\u043e\u0441\u0442\u043e \u0441\u043b\u0438\u0442\u043d\u043e\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435. \u0427\u0430\u0441\u0442\u043e\u0442\u043d\u043e\u0441\u0442\u044c &#8212;\u00a07371. \u0412 \u0441\u0435\u043c\u044c \u0440\u0430\u0437 \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u043e\u0435\u0433\u043e \u00ab\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e\u00bb \u0437\u0430\u043f\u0440\u043e\u0441\u0430.\u041d\u0443 \u0438 \u043a\u0442\u043e \u0438\u0437 \u043d\u0430\u0441 \u0431\u044b\u043b \u00ab\u043f\u0440\u0430\u0432\u00bb. \u041c\u0430\u0440\u043a\u0435\u0442\u043e\u043b\u043e\u0433 \u0441 \u043c\u043d\u043e\u0433\u043e\u043b\u0435\u0442\u043d\u0435\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u043e\u0439 Wordstat \u044d\u0442\u043e \u0431\u044b \u0437\u0430\u043c\u0435\u0442\u0438\u043b \u0433\u043b\u0430\u0437\u0430\u043c\u0438 &#8212; \u0442\u0430\u043c \u0432\u0441\u0451 \u044d\u0442\u043e \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435. \u042f \u043a\u0430\u043a \u0442\u0435\u0445\u043d\u0430\u0440\u044c \u0431\u0435\u0437 regular-\u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0440\u0435\u0448\u0438\u043b: \u00ab\u0432\u043e\u0437\u044c\u043c\u0443 \u0442\u043e \u0447\u0442\u043e \u043d\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f\u00bb. \u0410 API \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u043b \u043c\u0435\u043d\u044f \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430\u00a0associations\u00a0\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u043b\u0435\u043c &#8212; \u0438 \u0443\u0431\u0435\u0440\u0451\u0433 \u043e\u0442 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u0433\u043e, \u043d\u043e \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0431\u0430\u0433\u0430.\u0415\u0441\u043b\u0438 \u0432\u044b \u0432\u043d\u0435\u0434\u0440\u044f\u0435\u0442\u0435 Wordstat \u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d (\u0430 \u0437\u0430\u0447\u0435\u043c \u0435\u0449\u0451 API?) &#8212; \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u0451\u0440\u0433\u0430\u0439\u0442\u0435 \u043e\u0431\u0435 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0439\u0442\u0435\u00a0totalCount\u00a0\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u0439 \u0441 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c. \u041d\u0430 \u0441\u0432\u043e\u0439 H1 \u044f \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b \u00ab\u0447\u0430\u0442\u0431\u043e\u0442\u00bb, \u0430 \u043d\u0435 \u00ab\u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430\u00bb. \u041f\u0440\u0438\u043a\u0438\u043d\u0443\u043b \u0431\u044b \u0432\u044b \u0442\u0430\u043a\u043e\u0435 \u0433\u043b\u0430\u0437\u0430\u043c\u0438 \u043d\u0430 50 \u0444\u0440\u0430\u0437\u0430\u0445 \u0432 \u0434\u0435\u043d\u044c?dynamics &#8212; \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0447\u0430\u0441\u0442\u043e\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0430\u043c. \u041f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u0441\u0435\u0437\u043e\u043d\u043d\u043e\u0441\u0442\u0438: \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043b\u0438 \u043d\u0438\u0448\u0438 \u0432 \u043c\u0435\u0436\u0441\u0435\u0437\u043e\u043d\u044c\u0435, \u043a\u0430\u043a\u043e\u0439 \u043c\u0435\u0441\u044f\u0446 \u0431\u0440\u0430\u0442\u044c \u0437\u0430 baseline.curl -X POST &#8216;https:\/\/searchapi.api.cloud.yandex.net\/v2\/wordstat\/dynamics&#8217; \\  -H &#171;Authorization: Api-Key $YANDEX_AI_API_KEY&#187; \\  -H &#8216;Content-Type: application\/json&#8217; \\  -d &#8216;{    &#171;phrase&#187;: &#171;\u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430&#187;,    &#171;period&#187;: &#171;PERIOD_MONTHLY&#187;,    &#171;fromDate&#187;: &#171;2026-01-01T00:00:00Z&#187;,    &#171;toDate&#187;: &#171;2026-03-31T23:59:59Z&#187;,    &#171;folderId&#187;: &#171;b1g0gj00k72p1kr6dsc5&#187;  }&#8217;period\u00a0&#8212;\u00a0PERIOD_DAILY\u00a0\/\u00a0PERIOD_WEEKLY\u00a0\/\u00a0PERIOD_MONTHLY.\u00a0\u0421 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c\u00a0PERIOD_\u00a0&#8212; \u044d\u0442\u043e enum \u0432 proto, \u0438 API \u0441\u0442\u0440\u043e\u0433\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442. \u0411\u0435\u0437 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 &#8212;\u00a0INVALID_ARGUMENT.\u0414\u0430\u0442\u044b &#8212; RFC3339 timestamps. \u0418 \u0432\u043e\u0442 \u0442\u0443\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 \u0433\u0440\u0430\u0431\u043b\u044c: \u0434\u043b\u044f\u00a0PERIOD_MONTHLY\u00a0\u043f\u043e\u043b\u0435\u00a0toDate\u00a0\u041e\u0411\u042f\u0417\u0410\u041d\u041e \u0431\u044b\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0434\u043d\u0451\u043c \u043c\u0435\u0441\u044f\u0446\u0430. \u041f\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u00a02026-04-01T00:00:00Z\u00a0&#8212; \u043f\u043e\u043b\u0443\u0447\u0438\u043b:{  &#171;code&#187;: 3,  &#171;message&#187;: &#171;rpc error: code = InvalidArgument desc = The to field value should be the last day of the month&#187;,  &#171;details&#187;: [&#8230;]}\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e &#8212; \u0434\u043b\u044f\u00a0PERIOD_WEEKLY\u00a0\u043d\u0443\u0436\u0435\u043d \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438. \u0412 proto \u044d\u0442\u043e\u0433\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0435\u0442, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u00a0google.protobuf.Timestamp. \u0423\u0437\u043d\u0430\u0451\u0448\u044c \u0438\u0437 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0415\u0441\u043b\u0438 \u0434\u0435\u043b\u0430\u0435\u0442\u0435 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u043d\u0443\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e &#8212; \u0437\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0439\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e\u00a0last_day_of_period(date, period).\u041e\u0442\u0434\u0430\u0451\u0442 response \u0432 \u0432\u0438\u0434\u0435:{  &#171;results&#187;: [    {&#171;date&#187;: &#171;2026-01-31T00:00:00Z&#187;, &#171;count&#187;: &#171;1050&#187;, &#171;share&#187;: 0.0000087},    {&#171;date&#187;: &#171;2026-02-28T00:00:00Z&#187;, &#171;count&#187;: &#171;1180&#187;, &#171;share&#187;: 0.0000094},    {&#171;date&#187;: &#171;2026-03-31T00:00:00Z&#187;, &#171;count&#187;: &#171;1100&#187;, &#171;share&#187;: 0.0000091}  ]}share\u00a0&#8212; \u0434\u043e\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043e\u0442 \u0432\u0441\u0435\u0445 Yandex-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u044d\u0442\u043e\u043c \u043f\u0435\u0440\u0438\u043e\u0434\u0435. \u041f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u043d\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u043a\u0438 \u0435\u0441\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442\u0435 \u0442\u0440\u0435\u043d\u0434\u044b \u0440\u0430\u0437\u043d\u044b\u0445 \u043d\u0438\u0448.regions &#8212; \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0433\u0434\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0440\u0435\u043a\u043b\u0430\u043c\u0443 \u0438\u043b\u0438 \u043a\u0430\u043a\u043e\u0439 \u0440\u0435\u0433\u0438\u043e\u043d \u0442\u0430\u0440\u0433\u0435\u0442\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043e\u043c.curl -X POST &#8216;https:\/\/searchapi.api.cloud.yandex.net\/v2\/wordstat\/regions&#8217; \\  -H &#171;Authorization: Api-Key $YANDEX_AI_API_KEY&#187; \\  -H &#8216;Content-Type: application\/json&#8217; \\  -d &#8216;{    &#171;phrase&#187;: &#171;\u0447\u0430\u0442 \u0431\u043e\u0442 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430&#187;,    &#171;region&#187;: &#171;REGION_REGIONS&#187;,    &#171;folderId&#187;: &#171;b1g0gj00k72p1kr6dsc5&#187;  }&#8217;region\u00a0&#8212; \u0442\u0440\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430:\u00a0REGION_ALL\u00a0(\u0432\u0441\u0451 \u043f\u043e\u0434\u0440\u044f\u0434),\u00a0REGION_CITIES\u00a0(\u0442\u043e\u043b\u044c\u043a\u043e \u0433\u043e\u0440\u043e\u0434\u0430),\u00a0REGION_REGIONS\u00a0(\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u044b \u0420\u0424).\u0412 \u043a\u0430\u0436\u0434\u043e\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043f\u043e\u043b\u0435\u00a0affinityIndex:{  &#171;region&#187;: &#171;1&#187;,  &#171;count&#187;: &#171;235&#187;,  &#171;share&#187;: 0.0000109,  &#171;affinityIndex&#187;: 120.4}affinityIndex\u00a0&#8212; \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u0433\u0438\u043e\u043d\u0435 \u043a \u0434\u043e\u043b\u0435 \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0435. \u0411\u043e\u043b\u044c\u0448\u0435 100 &#8212; \u00ab\u0433\u043e\u0440\u044f\u0447\u0435\u0435\u00bb \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e, \u043c\u0435\u043d\u044c\u0448\u0435 100 &#8212; \u0441\u043b\u0430\u0431\u0435\u0435. \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0442\u0430\u043a: \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u043d\u0438\u0448\u0438 \u0434\u043b\u044f \u043b\u0435\u043d\u0434\u0438\u043d\u0433\u0430 \u0441\u043c\u043e\u0442\u0440\u044e \u0442\u043e\u043f-10 \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 \u0441\u00a0affinityIndex &gt; 130\u00a0&#8212; \u0442\u0430\u043c \u0437\u0430\u043f\u0440\u043e\u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0433\u0440\u0435\u0435\u0442\u0441\u044f, \u043c\u043e\u0436\u043d\u043e \u0435\u0445\u0430\u0442\u044c \u0441 \u043e\u0444\u0435\u0440\u043e\u043c.\u041c\u0438\u043d\u0443\u0441:\u00a0region\u00a0\u0432 \u043e\u0442\u0432\u0435\u0442\u0435 &#8212; \u044d\u0442\u043e ID, \u0430 \u043d\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435. \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0432 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0435 &#8212; \u043d\u0443\u0436\u0435\u043d \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u0438\u0437 \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430.getRegionsTree &#8212; \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432\u0421\u0430\u043c\u044b\u0439 \u0441\u043a\u0443\u0447\u043d\u044b\u0439, \u043d\u043e \u0431\u0435\u0437 \u043d\u0435\u0433\u043e \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0430\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u044b. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0434\u0435\u0440\u0435\u0432\u043e \u0432\u0441\u0435\u0445 \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 Yandex \u0441 ID \u0438\u00a0label\u00a0(\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435). \u042f \u0435\u0433\u043e \u0434\u0451\u0440\u0433\u0430\u044e \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0438 \u043a\u044d\u0448\u0438\u0440\u0443\u044e \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 JSON, \u0434\u0430\u043b\u044c\u0448\u0435 &#8212; \u043f\u0440\u043e\u0441\u0442\u043e \u043c\u0430\u043f\u043f\u0438\u043d\u0433 id\u2192name.curl -X POST &#8216;https:\/\/searchapi.api.cloud.yandex.net\/v2\/wordstat\/getRegionsTree&#8217; \\  -H &#171;Authorization: Api-Key $YANDEX_AI_API_KEY&#187; \\  -H &#8216;Content-Type: application\/json&#8217; \\  -d &#8216;{&#171;folderId&#187;: &#171;b1g0gj00k72p1kr6dsc5&#187;}&#8217;\u0412 \u043e\u0442\u0432\u0435\u0442\u0435 &#8212; \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u00a0regions: [{id, label, children: [&#8230;]}]. \u0420\u0430\u0437\u043c\u0435\u0440 JSON &#8212; \u043e\u043a\u043e\u043b\u043e 200 KB, \u0432 \u043d\u0451\u043c \u043f\u0430\u0440\u0430 \u0442\u044b\u0441\u044f\u0447 \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u0440\u0430\u0439\u043e\u043d\u043e\u0432 \u0433\u043e\u0440\u043e\u0434\u043e\u0432.\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 Python wrapper\u0421\u0432\u043e\u0439 \u0432\u043e\u0440\u043a\u0448\u043e\u043f \u0432 60 \u0441\u0442\u0440\u043e\u043a, \u0431\u0435\u0437 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a (\u0442\u043e\u043b\u044c\u043a\u043e stdlib):import jsonimport osimport sslimport sysimport urllib.requestimport urllib.errorKEY = os.environ[&#171;YANDEX_AI_API_KEY&#187;]FOLDER = os.environ.get(&#171;YANDEX_FOLDER_ID&#187;, &#171;b1g0gj00k72p1kr6dsc5&#187;)API_BASE = &#171;https:\/\/searchapi.api.cloud.yandex.net\/v2\/wordstat&#187;# macOS Python: \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 CA-bundle \u0447\u0430\u0441\u0442\u043e \u043d\u0435 \u043f\u043e\u0434\u0442\u044f\u043d\u0443\u0442 &#8212; \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0441\u0442\u0440\u043e\u0433\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443.# \u0412 \u043f\u0440\u043e\u0434\u0435 &#8212; \u0441\u0442\u0430\u0432\u044c\u0442\u0435 certifi \u0438 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439 context, \u0442\u0443\u0442 \u0434\u043b\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0441\u043e\u0439\u0434\u0451\u0442.SSL_CTX = ssl.create_default_context()SSL_CTX.check_hostname = FalseSSL_CTX.verify_mode = ssl.CERT_NONEdef call(path: str, body: dict) -&gt; dict:    body.setdefault(&#171;folderId&#187;, FOLDER)    req = urllib.request.Request(        f&#187;{API_BASE}\/{path}&#187;,        data=json.dumps(body).encode(&#171;utf-8&#187;),        headers={            &#171;Authorization&#187;: f&#187;Api-Key {KEY}&#187;,            &#171;Content-Type&#187;: &#171;application\/json&#187;,        },        method=&#187;POST&#187;,    )    try:        with urllib.request.urlopen(req, timeout=30, context=SSL_CTX) as resp:            return json.loads(resp.read().decode(&#171;utf-8&#187;))    except urllib.error.HTTPError as &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-478165","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/478165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=478165"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/478165\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=478165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=478165"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=478165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}