API Hop

Документация

Документация 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-минутного срока задания. Результат поставщика может ожидать сверки расчётов. Временная ошибка опроса не означает окончательный сбой задания.

json
{"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
bash
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
bash
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
bash
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
bash
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
bash
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
bash
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
bash
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
bash
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
bash
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
bash
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
bash
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
bash
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
bash
curl --get "https://api.apihop.ai/v1/youtube/web-v2/channels/description" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-urlencode "channel_id=UCeu6U67OzJhV1KwBansH3Dg"

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
bash
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
bash
curl --get "https://api.apihop.ai/v1/youtube/web-v2/search-v2" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-urlencode "keyword=Python tutorial"

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
bash
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
bash
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
bash
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
bash
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
bash
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
bash
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
bash
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
bash
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"
bash
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"
bash
curl --get "https://api.apihop.ai/v1/youtube/web-v2/videos/captions/result" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-urlencode "job_id=9007199254740993001"

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
bash
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
bash
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"
bash
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
bash
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
bash
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
bash
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
bash
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
bash
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
bash
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. Примеры иллюстративные, не реальные результаты.

json
{"code":200,"data":{"channel_id":"UCXuqSBlHAE6Xw-yeJA0Tunw"}}

Ошибки

HTTP 400 означает неверные параметры, 401 неверную авторизацию, 402 недостаточный баланс, 403 отказ в доступе, 429 ограничение частоты, 5xx сбой сервиса или поставщика. Сохраняйте X-Request-Id для диагностики. HTTP 200 с кодом прикладной ошибки не означает успех.

Источники

Эндпоинты и цены сверены 2026-10-31 с официальной схемой и текущими метаданными цен. При противоречии тексту приоритет имеют текущие метаданные.

TikHub · OpenAPI · Prices