Документация API Hop
Справочник эндпоинтов YouTube
Получайте видео, каналы, Shorts, комментарии, публикации сообщества, результаты поиска и метаданные потоков YouTube через 34 эндпоинта с авторизацией: 32 GET и 2 POST.
Передавайте только документированные поля выбранного эндпоинта. В каждой группе альтернатив требуется хотя бы одно поле. Курсоры берутся из предыдущего ответа; автоматической пагинации нет.
Операции GET используют параметры запроса без тела. Потоки V3 используют POST с телом application/json без параметров запроса; proxy_url передаётся только в теле. Сегмент версии выбирает версию интерфейса YouTube. Неизвестные и повторяющиеся поля отклоняются. Сохраняйте идентификаторы и курсоры как строки, включая значения за пределами безопасного целого JavaScript.
Для синхронных запросов: Оплачивается успешный запрос, а не количество элементов. Каждая страница является отдельным запросом. Большинство операций стоит $0.001. Два варианта поиска V2 стоят $0.002, вариант потоков V2 — $0.004. Цена указана для каждого эндпоинта. Индивидуальные тарифы аккаунта имеют приоритет. Объёмные скидки поставщика автоматически не переносятся. При сбое поставщика резерв освобождается; ошибка расчёта не вызывает повторный запрос поставщику.
Задания субтитров
POST https://api.apihop.ai/v1/youtube/web-v2/videos/captions возвращает HTTP 202, ID задания платформы и Location: /v1/jobs/\{id\}. Опрашивайте GET https://api.apihop.ai/v1/youtube/web-v2/videos/captions/result?job_id=\{id\} раз в 2–5 секунд. Читать задание может только владеющий им tenant. Опрос бесплатен; создание стоит $0.008 по прайс-листу. Отсутствие субтитров считается успешным платным результатом. Формат фиксируется при создании (по умолчанию srt); необязательный format при опросе должен совпадать, иначе возвращается HTTP 400. До COMPLETED поле data.result равно null; возможно завершение FAILED. Получаются существующие субтитры, без ИИ-транскрипции.
Если принятие запроса не подтверждено, он не отправляется повторно, а резерв может сохраняться до истечения 30-минутного срока задания. Результат поставщика может ожидать сверки расчётов. Временная ошибка опроса не означает окончательный сбой задания.
{"success":true,"data":{"id":"9007199254740993001","status":"PROCESSING","result":null},"requestId":"example"}Возможности и ограничения
web и web-v2 выбирают семейство интерфейсов. Потоки V3 поддерживают POST с вашим HTTP-прокси с постоянным выходным IP. Потоки возвращают метаданные и URL, а не файлы или гарантию загрузки. Описание канала может потребовать второй оплачиваемый запрос с continuation_token. Автоматических повторов нет.
web-get_relate_video
GET https://api.apihop.ai/v1/youtube/web/videos/related
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
video_id | Да | string |
continuation_token | Нет | string |
curl --get "https://api.apihop.ai/v1/youtube/web/videos/related" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "video_id=LuIL5JATZsc"web-search_video
GET https://api.apihop.ai/v1/youtube/web/search/videos
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
search_query | Да | string |
language_code | Нет | string; default: "en" |
order_by | Нет | string; default: "this_month" |
country_code | Нет | string; default: "us" |
continuation_token | Нет | string |
curl --get "https://api.apihop.ai/v1/youtube/web/search/videos" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "search_query=Minecraft"web-get_channel_id
GET https://api.apihop.ai/v1/youtube/web/channels/id
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
channel_name | Да | string |
curl --get "https://api.apihop.ai/v1/youtube/web/channels/id" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "channel_name=LinusTechTips"web-get_channel_id_v2
GET https://api.apihop.ai/v1/youtube/web/channels/id/by-url
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
channel_url | Да | string |
curl --get "https://api.apihop.ai/v1/youtube/web/channels/id/by-url" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "channel_url=https://www.youtube.com/@CozyCraftYT"web-get_channel_url
GET https://api.apihop.ai/v1/youtube/web/channels/url
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
channel_id | Да | string |
curl --get "https://api.apihop.ai/v1/youtube/web/channels/url" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "channel_id=UCeu6U67OzJhV1KwBansH3Dg"web-get_channel_info
GET https://api.apihop.ai/v1/youtube/web/channels/info
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
channel_id | Да | string |
curl --get "https://api.apihop.ai/v1/youtube/web/channels/info" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "channel_id=UCXuqSBlHAE6Xw-yeJA0Tunw"web-get_channel_short_videos
GET https://api.apihop.ai/v1/youtube/web/channels/shorts
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
channel_id | Да | string |
continuation_token | Нет | string |
curl --get "https://api.apihop.ai/v1/youtube/web/channels/shorts" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "channel_id=UCXuqSBlHAE6Xw-yeJA0Tunw"web-search_channel
GET https://api.apihop.ai/v1/youtube/web/channels/search
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
channel_id | Да | string |
search_query | Да | string |
language_code | Нет | string; default: "en" |
country_code | Нет | string; default: "us" |
continuation_token | Нет | string |
curl --get "https://api.apihop.ai/v1/youtube/web/channels/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "channel_id=UCXuqSBlHAE6Xw-yeJA0Tunw" \
--data-urlencode "search_query=AMD"web_v2-get_video_info
GET https://api.apihop.ai/v1/youtube/web-v2/videos/info
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
video_id | Да | string; minLength: 11; maxLength: 11 |
language_code | Нет | string; default: "zh-CN" |
need_format | Нет | boolean; default: true |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/videos/info" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "video_id=oaSNBz4qMQY"web_v2-get_video_info_v2
GET https://api.apihop.ai/v1/youtube/web-v2/videos/info-v2
Цена успешного запроса: $0.001 (1000 credits).
Хотя бы одно: video_id, video_url.
| Поле | Обязательно | Контракт |
|---|---|---|
video_id | Нет | string |
video_url | Нет | string |
need_format | Нет | boolean; default: true |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/videos/info-v2" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "video_id=dQw4w9WgXcQ"web_v2-get_video_comments
GET https://api.apihop.ai/v1/youtube/web-v2/videos/comments
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
video_id | Да | string; minLength: 11; maxLength: 11 |
language_code | Нет | string; default: "zh-CN" |
country_code | Нет | string; default: "US" |
sort_by | Нет | string; top, newest; default: "top" |
continuation_token | Нет | string |
need_format | Нет | boolean; default: true |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/videos/comments" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "video_id=LuIL5JATZsc"web_v2-get_video_comment_replies
GET https://api.apihop.ai/v1/youtube/web-v2/videos/comments/replies
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
continuation_token | Да | string |
language_code | Нет | string; default: "zh-CN" |
country_code | Нет | string; default: "US" |
need_format | Нет | boolean; default: true |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/videos/comments/replies" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "continuation_token=example"web_v2-get_channel_description
GET https://api.apihop.ai/v1/youtube/web-v2/channels/description
Цена успешного запроса: $0.001 (1000 credits).
Хотя бы одно: channel_id, continuation_token.
| Поле | Обязательно | Контракт |
|---|---|---|
channel_id | Нет | string |
continuation_token | Нет | string |
language_code | Нет | string; default: "zh-CN" |
country_code | Нет | string; default: "US" |
need_format | Нет | boolean; default: true |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/channels/description" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "channel_id=UCeu6U67OzJhV1KwBansH3Dg"web_v2-get_general_search
GET https://api.apihop.ai/v1/youtube/web-v2/search
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
search_query | Да | string; maxLength: 200 |
language_code | Нет | string; default: "zh-CN" |
country_code | Нет | string; default: "US" |
time_zone | Нет | string; default: "America/Los_Angeles" |
upload_time | Нет | string; hour, today, week, month, year |
duration | Нет | string; short, medium, long |
content_type | Нет | string; video, channel, playlist, movie |
feature | Нет | string; live, 4k, hd, subtitles, creative_commons, 360, vr180, 3d, hdr, location, purchased |
sort_by | Нет | string; relevance, upload_date, view_count, rating |
continuation_token | Нет | string |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "search_query=Python编程"web_v2-get_general_search_v2
GET https://api.apihop.ai/v1/youtube/web-v2/search-v2
Цена успешного запроса: $0.002 (2000 credits).
Хотя бы одно: keyword, continuation_token.
| Поле | Обязательно | Контракт |
|---|---|---|
keyword | Нет | string; maxLength: 200 |
continuation_token | Нет | string |
upload_date | Нет | string; last_hour, today, this_week, this_month, this_year |
type | Нет | string; video, channel, playlist, movie |
duration | Нет | string; short, medium, long |
features | Нет | string |
sort_by | Нет | string; relevance, upload_date, view_count, rating |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/search-v2" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "keyword=Python tutorial"web_v2-get_shorts_search
GET https://api.apihop.ai/v1/youtube/web-v2/search/shorts
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
search_query | Да | string; maxLength: 200 |
language_code | Нет | string; default: "en-US" |
country_code | Нет | string; default: "US" |
time_zone | Нет | string; default: "America/Los_Angeles" |
upload_time | Нет | string; hour, today, week, month, year |
sort_by | Нет | string; relevance, upload_date, view_count, rating |
continuation_token | Нет | string |
filter_mixed_content | Нет | boolean; default: true |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/search/shorts" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "search_query=Python编程"web_v2-get_shorts_search_v2
GET https://api.apihop.ai/v1/youtube/web-v2/search/shorts-v2
Цена успешного запроса: $0.002 (2000 credits).
Хотя бы одно: keyword, continuation_token.
| Поле | Обязательно | Контракт |
|---|---|---|
keyword | Нет | string; maxLength: 200 |
continuation_token | Нет | string |
upload_date | Нет | string; last_hour, today, this_week, this_month, this_year |
sort_by | Нет | string; relevance, upload_date, view_count, rating |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/search/shorts-v2" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "keyword=coding tips"web_v2-get_channel_id
GET https://api.apihop.ai/v1/youtube/web-v2/channels/id
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
channel_url | Да | string |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/channels/id" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "channel_url=https://www.youtube.com/@CozyCraftYT"web_v2-get_channel_url
GET https://api.apihop.ai/v1/youtube/web-v2/channels/url
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
channel_id | Да | string |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/channels/url" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "channel_id=UCeu6U67OzJhV1KwBansH3Dg"web_v2-get_channel_videos
GET https://api.apihop.ai/v1/youtube/web-v2/channels/videos
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
channel_id | Да | string |
language_code | Нет | string; default: "zh-CN" |
country_code | Нет | string; default: "US" |
continuation_token | Нет | string |
need_format | Нет | boolean; default: true |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/channels/videos" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "channel_id=UCJHBJ7F-nAIlMGolm0Hu4vg"web_v2-get_video_streams
GET https://api.apihop.ai/v1/youtube/web-v2/videos/streams
Цена успешного запроса: $0.001 (1000 credits).
Хотя бы одно: video_id, video_url.
| Поле | Обязательно | Контракт |
|---|---|---|
video_id | Нет | string |
video_url | Нет | string |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/videos/streams" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "video_id=dQw4w9WgXcQ"web_v2-get_video_streams_v2
GET https://api.apihop.ai/v1/youtube/web-v2/videos/streams-v2
Цена успешного запроса: $0.004 (4000 credits).
Хотя бы одно: video_id, video_url.
| Поле | Обязательно | Контракт |
|---|---|---|
video_id | Нет | string |
video_url | Нет | string |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/videos/streams-v2" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "video_id=dQw4w9WgXcQ"web_v2-get_signed_stream_url
GET https://api.apihop.ai/v1/youtube/web-v2/videos/streams/signed-url
Цена успешного запроса: $0.001 (1000 credits).
Хотя бы одно: video_id, video_url.
| Поле | Обязательно | Контракт |
|---|---|---|
video_id | Нет | string |
video_url | Нет | string |
itag | Да | integer |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/videos/streams/signed-url" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "itag=18" \
--data-urlencode "video_id=dQw4w9WgXcQ"web_v2-get_video_captions
POST https://api.apihop.ai/v1/youtube/web-v2/videos/captions
Цена успешного запроса: $0.008 (8000 credits).
Хотя бы одно: video_id, video_url.
| Поле | Обязательно | Контракт |
|---|---|---|
video_id | Нет | string |
video_url | Нет | string |
language_code | Нет | string |
format | Нет | string; srt, xml, json3, txt; default: "srt" |
curl -X POST "https://api.apihop.ai/v1/youtube/web-v2/videos/captions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
--data '{"format":"srt","video_id":"dQw4w9WgXcQ"}'web_v2-get_video_captions_result
GET https://api.apihop.ai/v1/youtube/web-v2/videos/captions/result
Цена успешного запроса: $0 (0 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
job_id | Да | string; ^[1-9][0-9]{0,18}$ |
format | Нет | string; srt, xml, json3, txt; default: "srt" |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/videos/captions/result" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "job_id=9007199254740993001"web_v2-get_related_videos
GET https://api.apihop.ai/v1/youtube/web-v2/videos/related
Цена успешного запроса: $0.001 (1000 credits).
Хотя бы одно: video_id, video_url.
| Поле | Обязательно | Контракт |
|---|---|---|
video_id | Нет | string |
video_url | Нет | string |
need_format | Нет | boolean; default: true |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/videos/related" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "video_id=dQw4w9WgXcQ"web_v2-get_channel_shorts
GET https://api.apihop.ai/v1/youtube/web-v2/channels/shorts
Цена успешного запроса: $0.001 (1000 credits).
Хотя бы одно: channel_id, channel_url.
| Поле | Обязательно | Контракт |
|---|---|---|
channel_id | Нет | string |
channel_url | Нет | string |
continuation_token | Нет | string |
need_format | Нет | boolean; default: true |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/channels/shorts" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "channel_id=UCuAXFkgsw1L7xaCfnd5JJOw"web_v2-get_search_suggestions
GET https://api.apihop.ai/v1/youtube/web-v2/search/suggestions
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
keyword | Да | string; maxLength: 200 |
language | Нет | string; default: "en" |
region | Нет | string; default: "US" |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/search/suggestions" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "keyword=Rick Astley"web_v2-search_channels
GET https://api.apihop.ai/v1/youtube/web-v2/search/channels
Цена успешного запроса: $0.001 (1000 credits).
Хотя бы одно: keyword, continuation_token.
| Поле | Обязательно | Контракт |
|---|---|---|
keyword | Нет | string; maxLength: 200 |
continuation_token | Нет | string |
need_format | Нет | boolean; default: true |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/search/channels" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "keyword=Rick Astley"web_v2-get_channel_community_posts
GET https://api.apihop.ai/v1/youtube/web-v2/channels/posts
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
channel_id | Да | string |
language_code | Нет | string; default: "zh-CN" |
country_code | Нет | string; default: "US" |
continuation_token | Нет | string |
need_format | Нет | boolean; default: true |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/channels/posts" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "channel_id=UCkRfArvrzheW2E7b6SVT7vQ"web_v2-get_post_detail
GET https://api.apihop.ai/v1/youtube/web-v2/posts/detail
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
post_id | Да | string |
language_code | Нет | string; default: "zh-CN" |
country_code | Нет | string; default: "US" |
need_format | Нет | boolean; default: true |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/posts/detail" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "post_id=UgkxiCSRfD6g7SPlWGPDa3vbP7aIsytXRkvy"web_v2-get_post_comments
GET https://api.apihop.ai/v1/youtube/web-v2/posts/comments
Цена успешного запроса: $0.001 (1000 credits).
Хотя бы одно: post_id, continuation_token.
| Поле | Обязательно | Контракт |
|---|---|---|
post_id | Нет | string |
continuation_token | Нет | string |
language_code | Нет | string; default: "zh-CN" |
country_code | Нет | string; default: "US" |
need_format | Нет | boolean; default: true |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/posts/comments" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "post_id=UgkxiCSRfD6g7SPlWGPDa3vbP7aIsytXRkvy"web_v2-get_post_comment_replies
GET https://api.apihop.ai/v1/youtube/web-v2/posts/comments/replies
Цена успешного запроса: $0.001 (1000 credits).
| Поле | Обязательно | Контракт |
|---|---|---|
continuation_token | Да | string |
language_code | Нет | string; default: "zh-CN" |
country_code | Нет | string; default: "US" |
need_format | Нет | boolean; default: true |
curl --get "https://api.apihop.ai/v1/youtube/web-v2/posts/comments/replies" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "continuation_token=example"web_v2-get_video_streams_v3
POST https://api.apihop.ai/v1/youtube/web-v2/videos/streams-v3
Цена успешного запроса: $0.003 (3000 credits).
Потоки V3 используют POST JSON по HTTPS и стоят $0.003 за успешный запрос. Передайте video_id и proxy_url (http:// с явным портом и публичным адресом). Частные, loopback и link-local адреса запрещены; кодируйте зарезервированные символы учётных данных в URL. Используйте постоянный выходной IP или закреплённую сессию. itags по умолчанию ["137", "140"]; отсутствующие форматы вызывают ошибку без замены. verify_download по умолчанию false. Загружайте с той же сессией прокси, фактическим публичным IP и streams[].download_headers. Успешное получение URL (HTTP 200) оплачивается даже при all_selected_streams_verified или streams[].verified, равном false. Проверяются лишь небольшие выборки байтов, не весь файл. URL и сессия истекают независимо; отдельные аудио- и видеопотоки объединяет клиент.
| Поле | Обязательно | Контракт |
|---|---|---|
video_id | Да | string; ^[A-Za-z0-9_-]{11}$ |
proxy_url | Да | string; minLength: 1; maxLength: 2048; writeOnly: true |
itags | Нет | array; items: string ^[0-9]+$; minItems: 1; maxItems: 4; uniqueItems: true; default: ["137","140"] |
verify_download | Нет | boolean; default: false |
curl -X POST "https://api.apihop.ai/v1/youtube/web-v2/videos/streams-v3" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
--data '{"video_id":"phlZ2J3x4hI","proxy_url":"http://USERNAME:PASSWORD@proxy.example.com:1000","itags":["137","140"],"verify_download":false}'Ответы
Синхронные эндпоинты сохраняют исходный JSON. Эндпоинты субтитров возвращают success, data.id, data.status, data.result и requestId. Примеры иллюстративные, не реальные результаты.
{"code":200,"data":{"channel_id":"UCXuqSBlHAE6Xw-yeJA0Tunw"}}Ошибки
HTTP 400 означает неверные параметры, 401 неверную авторизацию, 402 недостаточный баланс, 403 отказ в доступе, 429 ограничение частоты, 5xx сбой сервиса или поставщика. Сохраняйте X-Request-Id для диагностики. HTTP 200 с кодом прикладной ошибки не означает успех.
Источники
Эндпоинты и цены сверены 2026-10-31 с официальной схемой и текущими метаданными цен. При противоречии тексту приоритет имеют текущие метаданные.