API Hop

Documentação

Documentação do API Hop

Referência de endpoints do YouTube

Consulte vídeos, canais, Shorts, comentários, publicações da comunidade, buscas e metadados de mídia do YouTube por 34 endpoints autenticados: 32 GET e 2 POST.

Envie apenas os campos documentados do endpoint escolhido. Forneça ao menos um campo de cada grupo de alternativas. Os cursores vêm da resposta anterior; não há paginação automática.

As operações GET usam parâmetros de consulta sem corpo. A mídia V3 usa POST com corpo application/json e sem parâmetros de consulta; envie proxy_url somente no corpo. O segmento de versão seleciona a interface YouTube. Campos desconhecidos ou repetidos são rejeitados. Mantenha identificadores e cursores como strings, inclusive além do intervalo inteiro seguro do JavaScript.

Para requisições síncronas: A cobrança é por requisição bem-sucedida, não por item retornado. Cada página é uma requisição separada. A maioria das operações custa $0.001. As duas variantes de busca V2 custam $0.002 e a variante de mídia V2 custa $0.004. Consulte o preço de cada endpoint. Preços específicos da conta têm prioridade. Descontos por volume do fornecedor não são repassados automaticamente. Falhas do fornecedor liberam a reserva; falhas na liquidação retornam erro sem repetir a chamada ao fornecedor.

Tarefas de legendas

POST https://api.apihop.ai/v1/youtube/web-v2/videos/captions devolve HTTP 202, um ID de tarefa da plataforma e Location: /v1/jobs/\{id\}. Consulte GET https://api.apihop.ai/v1/youtube/web-v2/videos/captions/result?job_id=\{id\} a cada 2–5 segundos. Apenas o tenant proprietário pode aceder. A consulta é gratuita; a criação custa $0.008 ao preço de tabela. Um resultado sem legendas é bem-sucedido e cobrado. O formato é fixado na criação (srt por omissão); o format opcional na consulta deve coincidir, caso contrário recebe HTTP 400. data.result é null até COMPLETED; também pode terminar em FAILED. São obtidas legendas existentes, sem transcrição por IA.

Se a aceitação for incerta, o pedido não é repetido e a reserva pode permanecer até ao prazo de 30 minutos da tarefa. O resultado pode ficar pendente durante a conciliação da faturação. Um erro temporário de consulta não significa falha definitiva da tarefa.

json
{"success":true,"data":{"id":"9007199254740993001","status":"PROCESSING","result":null},"requestId":"example"}

Escopo e limites

web e web-v2 selecionam a família de interfaces. A mídia V3 aceita POST com seu próprio proxy HTTP de saída fixa. Os endpoints de mídia retornam metadados e URLs, não arquivos nem garantia de download. A descrição de um canal pode exigir outra requisição cobrada com continuation_token. Não há novas tentativas automáticas.

web-get_relate_video

GET https://api.apihop.ai/v1/youtube/web/videos/related

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
video_idSimstring
continuation_tokenNãostring
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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
search_querySimstring
language_codeNãostring; default: "en"
order_byNãostring; default: "this_month"
country_codeNãostring; default: "us"
continuation_tokenNãostring
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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
channel_nameSimstring
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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
channel_urlSimstring
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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
channel_idSimstring
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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
channel_idSimstring
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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
channel_idSimstring
continuation_tokenNãostring
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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
channel_idSimstring
search_querySimstring
language_codeNãostring; default: "en"
country_codeNãostring; default: "us"
continuation_tokenNãostring
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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
video_idSimstring; minLength: 11; maxLength: 11
language_codeNãostring; default: "zh-CN"
need_formatNãoboolean; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

Ao menos um: video_id, video_url.

CampoObrigatórioContrato
video_idNãostring
video_urlNãostring
need_formatNãoboolean; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
video_idSimstring; minLength: 11; maxLength: 11
language_codeNãostring; default: "zh-CN"
country_codeNãostring; default: "US"
sort_byNãostring; top, newest; default: "top"
continuation_tokenNãostring
need_formatNãoboolean; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
continuation_tokenSimstring
language_codeNãostring; default: "zh-CN"
country_codeNãostring; default: "US"
need_formatNãoboolean; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

Ao menos um: channel_id, continuation_token.

CampoObrigatórioContrato
channel_idNãostring
continuation_tokenNãostring
language_codeNãostring; default: "zh-CN"
country_codeNãostring; default: "US"
need_formatNãoboolean; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
search_querySimstring; maxLength: 200
language_codeNãostring; default: "zh-CN"
country_codeNãostring; default: "US"
time_zoneNãostring; default: "America/Los_Angeles"
upload_timeNãostring; hour, today, week, month, year
durationNãostring; short, medium, long
content_typeNãostring; video, channel, playlist, movie
featureNãostring; live, 4k, hd, subtitles, creative_commons, 360, vr180, 3d, hdr, location, purchased
sort_byNãostring; relevance, upload_date, view_count, rating
continuation_tokenNãostring
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

Preço por requisição bem-sucedida: $0.002 (2000 credits).

Ao menos um: keyword, continuation_token.

CampoObrigatórioContrato
keywordNãostring; maxLength: 200
continuation_tokenNãostring
upload_dateNãostring; last_hour, today, this_week, this_month, this_year
typeNãostring; video, channel, playlist, movie
durationNãostring; short, medium, long
featuresNãostring
sort_byNãostring; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
search_querySimstring; maxLength: 200
language_codeNãostring; default: "en-US"
country_codeNãostring; default: "US"
time_zoneNãostring; default: "America/Los_Angeles"
upload_timeNãostring; hour, today, week, month, year
sort_byNãostring; relevance, upload_date, view_count, rating
continuation_tokenNãostring
filter_mixed_contentNãoboolean; 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

Preço por requisição bem-sucedida: $0.002 (2000 credits).

Ao menos um: keyword, continuation_token.

CampoObrigatórioContrato
keywordNãostring; maxLength: 200
continuation_tokenNãostring
upload_dateNãostring; last_hour, today, this_week, this_month, this_year
sort_byNãostring; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
channel_urlSimstring
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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
channel_idSimstring
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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
channel_idSimstring
language_codeNãostring; default: "zh-CN"
country_codeNãostring; default: "US"
continuation_tokenNãostring
need_formatNãoboolean; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

Ao menos um: video_id, video_url.

CampoObrigatórioContrato
video_idNãostring
video_urlNãostring
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

Preço por requisição bem-sucedida: $0.004 (4000 credits).

Ao menos um: video_id, video_url.

CampoObrigatórioContrato
video_idNãostring
video_urlNãostring
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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

Ao menos um: video_id, video_url.

CampoObrigatórioContrato
video_idNãostring
video_urlNãostring
itagSiminteger
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

Preço por requisição bem-sucedida: $0.008 (8000 credits).

Ao menos um: video_id, video_url.

CampoObrigatórioContrato
video_idNãostring
video_urlNãostring
language_codeNãostring
formatNãostring; 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

Preço por requisição bem-sucedida: $0 (0 credits).

CampoObrigatórioContrato
job_idSimstring; ^[1-9][0-9]{0,18}$
formatNãostring; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

Ao menos um: video_id, video_url.

CampoObrigatórioContrato
video_idNãostring
video_urlNãostring
need_formatNãoboolean; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

Ao menos um: channel_id, channel_url.

CampoObrigatórioContrato
channel_idNãostring
channel_urlNãostring
continuation_tokenNãostring
need_formatNãoboolean; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
keywordSimstring; maxLength: 200
languageNãostring; default: "en"
regionNãostring; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

Ao menos um: keyword, continuation_token.

CampoObrigatórioContrato
keywordNãostring; maxLength: 200
continuation_tokenNãostring
need_formatNãoboolean; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
channel_idSimstring
language_codeNãostring; default: "zh-CN"
country_codeNãostring; default: "US"
continuation_tokenNãostring
need_formatNãoboolean; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
post_idSimstring
language_codeNãostring; default: "zh-CN"
country_codeNãostring; default: "US"
need_formatNãoboolean; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

Ao menos um: post_id, continuation_token.

CampoObrigatórioContrato
post_idNãostring
continuation_tokenNãostring
language_codeNãostring; default: "zh-CN"
country_codeNãostring; default: "US"
need_formatNãoboolean; 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

Preço por requisição bem-sucedida: $0.001 (1000 credits).

CampoObrigatórioContrato
continuation_tokenSimstring
language_codeNãostring; default: "zh-CN"
country_codeNãostring; default: "US"
need_formatNãoboolean; 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

Preço por requisição bem-sucedida: $0.003 (3000 credits).

A mídia V3 usa POST JSON por HTTPS e custa $0.003 por requisição bem-sucedida. Forneça video_id e proxy_url (http:// com porta explícita e host público). Destinos privados, de loopback e link local são proibidos; codifique os caracteres reservados das credenciais. Use saída fixa ou sessão persistente. itags tem padrão ["137", "140"]; formatos ausentes falham sem substituição. verify_download tem padrão false. Baixe com a mesma sessão de proxy, o mesmo IP público de saída real e streams[].download_headers. A extração bem-sucedida de URLs (HTTP 200) é cobrada mesmo quando all_selected_streams_verified ou streams[].verified é false. A verificação lê pequenas amostras de bytes, não o arquivo inteiro. URLs e sessões expiram separadamente; una os fluxos de áudio e vídeo no cliente.

CampoObrigatórioContrato
video_idSimstring; ^[A-Za-z0-9_-]{11}$
proxy_urlSimstring; minLength: 1; maxLength: 2048; writeOnly: true
itagsNãoarray; items: string ^[0-9]+$; minItems: 1; maxItems: 4; uniqueItems: true; default: ["137","140"]
verify_downloadNãoboolean; 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}'

Respostas

Os endpoints síncronos preservam a resposta JSON original. Os de legendas devolvem success, data.id, data.status, data.result e requestId. Os exemplos são ilustrativos, não resultados reais.

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

Erros

HTTP 400 indica parâmetros inválidos, 401 autenticação inválida, 402 saldo insuficiente, 403 acesso negado, 429 limite de frequência e 5xx falhas do serviço ou fornecedor. Guarde X-Request-Id para diagnóstico. HTTP 200 com código de negócio de falha não é sucesso.

Fontes

Endpoints e preços foram conferidos em 2026-10-31 com o esquema oficial e metadados de preços atuais. Os metadados atuais prevalecem sobre preços conflitantes no texto.

TikHub · OpenAPI · Prices