> For the complete documentation index, see [llms.txt](https://developers.oxylabs.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.oxylabs.io/api-targets/pt-br/video-and-social-media/youtube/youtube-scraping-guide-for-ai.md).

# Guia de scraping para IA

Aprenda a obter dados do YouTube para treinamento de IA usando o Web Scraper API. Saiba mais sobre o fluxo de trabalho completo, da busca por vídeos até a criação de um banco de dados.

Este guia orientará você sobre o fluxo de trabalho para coletar e filtrar dados do YouTube para fins de treinamento de IA usando [**fontes especializadas da Web Scraper API**](https://oxylabs.io/products/scraper-api/web/youtube): `youtube_search`, `youtube_video_trainability`, `youtube_metadata`, `youtube_download`, `youtube_subtitles`.

## Etapa 1: Pesquisar vídeos

Comece pesquisando vídeos relacionados ao seu tópico de interesse.

### Pesquisa básica

Para uma pesquisa rápida que retorna até 20 resultados:

```json
{
  "source": "youtube_search",
  "query": "your search term"
}
```

### Pesquisa estendida

Para resultados mais abrangentes (até 700 resultados):

```json
{
  "source": "youtube_search_max",
  "query": "your search term"
}
```

### Pesquisar com filtros

Refine sua pesquisa com filtros:

```json
{
  "source": "youtube_search",
  "query": "your search term",
  "type": "video",
  "duration": "4-20",
  "upload_date": "this_month",
  "sort_by": "view_count",
  "hd": true
}
```

{% hint style="info" %}
Use os filtros apropriados para restringir os resultados com base nas suas necessidades específicas. As opções incluem tipo de conteúdo (vídeo, canal, playlist), duração, data de envio e configurações de qualidade.
{% endhint %}

## Etapa 2: Extrair IDs de vídeo dos resultados da pesquisa

Após receber os resultados da pesquisa, extraia os **IDs de vídeo** para processamento adicional. Na resposta de `youtube_search` ou `youtube_search_max`, os IDs de vídeo estão disponíveis diretamente no `videoId` campo de cada item de resultado, como mostrado neste trecho de resposta de exemplo:

```json
{
    "results": [
        {
            "content": [
                {
                    "videoId": "LK9XuImr8Xg",  // This is the video ID you need
                    "thumbnail": {
                        "thumbnails": [
                            {
                                "url": "https://i.ytimg.com/vi/LK9XuImr8Xg/hq720_2.jpg?sqp=-oaymwE2COgCEMoBSFXyq4qpAygIARUAAIhCGABwAcABBvABAfgBtgiAAoAPigIMCAAQARhaIGUoLTAP&rs=AOn4CLDTvqEgoE2ZNfnn3EalF2ujcthVNw",
                                "width": 360,
                                "height": 202
                            }
                        ]
                    },
                    "title": {
                        // title details
                    }
                }
            ]
        }
    ]
}
```

Extraia esses IDs de vídeo em uma lista para uso em chamadas de API subsequentes.

## Etapa 3: Verificar a elegibilidade para treinamento de IA

Antes de baixar ou usar vídeos para treinamento de IA, verifique a elegibilidade deles:

```json
{
  "source": "youtube_video_trainability",
  "video_id": "rFNDylrjn_w"
}
```

A resposta indicará se o vídeo pode ser usado para fins de treinamento de IA:

* `["all"]` - Treinamento permitido para todas as partes
* `["none"]` - Nenhum treinamento permitido para qualquer parte
* `["party1", "party2", ...]` - Treinamento permitido apenas para partes específicas

## Etapa 4: Obter metadados de vídeo

Colete informações adicionais sobre os vídeos para avaliar melhor sua qualidade e relevância:

```json
{
  "source": "youtube_metadata",
  "query": "VIDEO_ID",
  "parse": true
}
```

A resposta conterá metadados como contagens de visualizações, comentários, avaliações e outras métricas que podem ajudar você a avaliar a qualidade do conteúdo.

{% hint style="success" %}
O `parse` o parâmetro deve ser definido como `verdadeiro` para a fonte de metadados.
{% endhint %}

## Etapa 5: Recuperar conteúdo dos vídeos selecionados

Após identificar vídeos de alta qualidade e adequados para treinamento com base em sua elegibilidade e metadados, você pode prosseguir com a recuperação de conteúdo. Isso pode ser feito em duas etapas paralelas:

### 5.1 Baixar conteúdo de vídeo/áudio

```json
{
  "source": "youtube_download",
  "query": "VIDEO_ID",
  "storage_type": "s3",
  "storage_url": "s3://your-bucket/your-folder/"
}
```

Opções adicionais para download:

```json
{
  "source": "youtube_download",
  "query": "VIDEO_ID",
  "storage_type": "s3",
  "storage_url": "s3://your-bucket/your-folder/",
  "context": [
    {
      "key": "download_type",
      "value": "video"
    },
    {
      "key": "video_quality",
      "value": "1080"
    }
  ]
}
```

{% hint style="info" %}
Esta fonte está disponível apenas por meio da integração assíncrona [**Push-Pull**](/products/pt-br/web-scraper-api/integration-methods/push-pull.md) e [**Armazenamento em nuvem**](/products/pt-br/web-scraper-api/features/result-processing-and-storage/cloud-storage.md) recurso.
{% endhint %}

**Observação:**

* Os vídeos podem ter até 3 horas de duração
* A resolução padrão é 720p (pode ser personalizada)
* Você pode especificar apenas áudio, apenas vídeo ou ambos

### 5.2 Recuperar legendas de vídeo

#### **Verificando se um vídeo tem legendas (manualmente):**

No YouTube, clique no ícone **CC** abaixo do vídeo para ativar as legendas.

Se quiser selecionar legendas em um idioma específico, procure o ícone **Configurações** ao lado do ícone **CC** , clique nele e acesse **"Subtitles/CC"** nas opções. Lá você encontrará **Tradução automática**, clique nela e você será direcionado à lista de idiomas.

Se as legendas estiverem disponíveis, você poderá recuperá-las com:

```json
{
  "source": "youtube_subtitles",
  "query": "VIDEO_ID",
  "context": [
    {
      "key": "language_code",
      "value": "en"
    }
  ]
}
```

Para vídeos com legendas criadas manualmente, especifique:

```json
{
    "source": "youtube_subtitles",
    "query": "VIDEO_ID",
    "context": [
        {
            "key": "language_code",
            "value": "en"
        },
        {
            "key": "subtitle_origin",
            "value": "uploader_provided"
        }
    ]
}
```

## Processamento em lote

Para o processamento eficiente de vários vídeos, use endpoints em lote:

```json
{
  "source": "youtube_video_trainability",
  "query": ["VIDEO_ID_1", "VIDEO_ID_2", "VIDEO_ID_3"]
}
```

## Boas práticas

1. Siga o fluxo de descoberta de **pesquisa → treinabilidade → metadados → conteúdo** para maximizar a eficiência
2. Restrinja os resultados da pesquisa antes de processar vídeos individuais
3. Sempre verifique a treinabilidade antes de usar conteúdo para IA
4. Verifique [**códigos de resposta**](/products/pt-br/web-scraper-api/response-codes.md) e implemente tentativas novamente para solicitações com falha


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developers.oxylabs.io/api-targets/pt-br/video-and-social-media/youtube/youtube-scraping-guide-for-ai.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
