AI

Especificações da API aberta da Bright Data para integração em IA como ferramentas

Descubra como as especificações da Bright Data OpenAPI simplificam a integração das APIs SERP e Web Unlocker em fluxos de trabalho de IA, com guias passo a passo e exemplos.
15 min de leitura
OpenAPI specs for Bright Data integration in AI agents

Nesta postagem do blog, você verá:

  • O que é a especificação OpenAPI.
  • Por que ela é tão popular para a definição de ferramentas em estruturas e plataformas de IA.
  • Como a Bright Data oferece suporte ao OpenAPI para integração simplificada em agentes e fluxos de trabalho de IA.
  • A especificação OpenAPI da API Bright Data Web Unlocker.
  • A especificação OpenAPI da API SERP da Bright Data.
  • Como essas especificações funcionam na prática em uma plataforma de IA do mundo real

Vamos mergulhar no assunto!

O que é a especificação OpenAPI?

A especificação OpenAPI (OAS) é um padrão aberto, independente de linguagem, para descrever APIs RESTful. Ela fornece um formato estruturado e legível por máquina (normalmente YAML ou JSON) para definir as operações, parâmetros, respostas, esquemas de segurança e outras características de uma API.

Explore o repositório GitHub para ver a especificação!

Observação: a especificação OpenAPI era originalmente chamada de “especificação Swagger”. Portanto, se você está procurando por “especificações Bright Data Swagger”, você está no lugar certo!

Por que muitas soluções de IA dependem das especificações OpenAPI para definição de ferramentas

Muitas estruturas de IA adotam o suporte OpenAPI para definição de ferramentas. A principal razão é que a especificação OpenAPI fornece um contrato padronizado e legível por máquina que descreve exatamente o que uma API externa faz.

Essa padronização traz três benefícios principais:

  1. Interoperabilidade e atrito mínimo: a OpenAPI é um padrão amplamente suportado. Depois de fornecer uma especificação, a plataforma pode importar automaticamente a API, gerar formulários de entrada, chamadas e tratamento de respostas e integrá-la às suas ferramentas.
  2. Curva de aprendizado reduzida: mesmo usuários não técnicos podem criar ferramentas usando APIs simplesmente copiando as especificações OpenAPI da documentação ou de outras fontes. Assim, não há necessidade de conexões manuais ou codificação, e é por isso que o suporte a OpenAPI é tão comum em plataformas de IA de baixo ou nenhum código.
  3. Melhor manutenção: com um contrato de API explícito, as atualizações são fáceis. Quando a API evolui, você só precisa atualizar a especificação na definição da ferramenta, simplificando muito a manutenção e reduzindo a necessidade de grandes reescritas.

Em resumo, definir ferramentas por meio da OpenAPI abre as portas para um ecossistema pronto para empresas, onde CRMs, provedores de dados, APIs internas e outros serviços externos podem ser conectados, documentados e mantidos com segurança, com o mínimo de sobrecarga manual em agentes de IA, pipelines e fluxos de trabalho.

Apresentando as especificações OpenAPI da Bright Data

A Bright Data vem com um conjunto de produtos e serviços para extração de dados da web, interação automatizada com a web, rastreamento da web e muito mais.

Essas soluções estão disponíveis por meio de APIs (e também por meio de opções sem código), o que significa que você pode configurá-las usando as especificações OpenAPI em plataformas de IA que suportam esse recurso.

Neste artigo, vamos nos concentrar em duas das ferramentas mais importantes da Bright Data:

  • API SERP: extrai automaticamente dados estruturados de mecanismos de pesquisa como Google, Bing e Yandex. Ela lida com tarefas complexas, como gerenciamento de Proxy, Resolução de CAPTCHA e renderização de JavaScript, permitindo que você receba resultados limpos e em tempo real no formato JSON ou HTML sem ser bloqueado.
  • API Web Unlocker: contorna medidas anti-bot complexas (como CAPTCHAs, bloqueios de IP e impressão digital) para extrair dados da web de qualquer página da web. Ela atua como um intermediário, gerenciando Proxies, emulando usuários reais e fornecendo respostas limpas em HTML, JSON e Markdown.

Para cada serviço, você verá a especificação OpenAPI 3.x nos formatos YAML e JSON, bem como exemplos de testes no Swagger Editor.

A partir dessas especificações, você pode converter APIs de Scraping de dados e outros pontos de extremidade de API em especificações OpenAPI para integração com IA.

Observação: alguns produtos da Bright Data compartilham os mesmos pontos finais de API, alterando o comportamento com base apenas no corpo da solicitação. Como você não pode definir duas especificações completamente separadas para o mesmo caminho e método em um único documento OpenAPI, você precisa de especificações OpenAPI separadas. É por isso que forneceremos duas especificações OpenAPI dedicadas para a API SERP e a API Web Unlocker (já que elas compartilham o mesmo ponto final).

Especificação OpenAPI da API Web Unlocker

Descubra a especificação OpenAPI para a API Web Unlocker da Bright Data.
Observação: para obter mais detalhes, verifique os argumentos, opções, métodos de autenticação disponíveis e muito mais nas seguintes páginas da documentação:

Especificação YAML

Esta é a especificação OpenAPI YAML para a API Web Unlocker da Bright Data:

openapi: 3.0.4
info:
  title: Web Unlocker da Bright Data
  version: 1.0.0
  description: |
    A Web Unlocker da Bright Data permite que você contorne medidas anti-bot, gerencie Proxies e realize a resolução de CAPTCHAs automaticamente para facilitar a coleta de dados da web.
    [Documentação da API Web Unlocker](https://docs.brightdata.com/scraping-automation/web-unlocker/introduction)
  contact:
    name: Bright Data
    url: 
servers:
  - url: https://api.brightdata.com
tags:
  - name: Web Unlocker
    description: Operações para interagir com a API do Bright Data Web Unlocker.
componentes:
  esquemas de segurança:
    BearerAuth:
      tipo: http
      esquema: bearer
      formato do portador: BRIGHT_DATA_API_KEY
caminhos:
  /request:
    post:
      operationId: sendWebUnlockerRequest
      resumo: Enviar uma solicitação da API do Web Unlocker
      descrição: |
        Envie uma solicitação da API Web Unlocker usando sua zona da API Bright Data Web Unlocker.  

        [Documentação da API Web Unlocker `/request`](https://docs.brightdata.com/api-reference/rest-api/unlocker/unlock-website)
      tags:
        - Web Unlocker
      segurança:
        - BearerAuth: []
      requestBody:
    obrigatório: verdadeiro
    conteúdo:
      application/json:
            esquema:
              tipo: objeto
              obrigatório:
                - zona
                - url
                - formato
              propriedades:
                zona:
                  tipo: string
                  descrição: O nome da sua zona Web Unlocker.
                url:
                  tipo: string
                  descrição: A URL do site de destino a ser desbloqueada e buscada.
exemplo: https://example.com/products
formato:
tipo: string
descrição: |
Formato da resposta.  
Valores permitidos:  
- `raw`: Retorna a resposta imediatamente no corpo.  
- `json`: Retorna a resposta como um objeto JSON estruturado.  
                  padrão: raw
método:
tipo: string
descrição: Método HTTP usado ao buscar o URL de destino.
exemplo: GET
país:
tipo: string
descrição: |
Código do país para localização do Proxy (formato ISO 3166-1 alfa-2). 
exemplo: us
formato_dos_dados:
tipo: string
descrição: |
                    Formato dos dados de saída extraídos.  
                    Valores permitidos:
                    - `markdown`: Conteúdo da página convertido para Markdown.
                    - `screenshot`: Para capturar uma imagem PNG da página renderizada.
                  enum:
                    - markdown
                    - screenshot
      responses:
        "200":
          descrição: Resposta bem-sucedida contendo resultados de pesquisa.
        "400":
          descrição: Solicitação inválida (campos obrigatórios ausentes ou parâmetros inválidos).
        "401":
          descrição: Não autorizado (chave API Bright Data inválida ou ausente).

Observação:
A seção securitySchemes especifica um esquema de segurança que usa autenticação HTTP bearer. Em detalhes, os clientes devem enviar uma BRIGHT_DATA_API_KEY como um token bearer no cabeçalho Authorization ao chamar a API.

Ao mesmo tempo, a maioria das plataformas de IA já inclui métodos de autenticação integrados e pode ignorar esse campo de especificação. Ainda assim, é útil incluí-lo na especificação OpenAPI para maior clareza e referência.

Especificação JSON

Abaixo está a especificação JSON OpenAPI para a API Web Unlocker:

{
  "openapi": "3.0.4",
  "info": {
    "title": "Bright Data Web Unlocker API",
    "version": "1.0.0",
    "description": "A API Bright Data Web Unlocker permite que você contorne medidas anti-bot, gerencie Proxies e resolva CAPTCHAs automaticamente para facilitar a coleta de dados da web.nn[Documentação da API Web Unlocker](https://docs.brightdata.com/scraping-automation/web-unlocker/introduction)n",
    "contact": {
      "name": "Bright Data",
      "url": ""
    }
  },
  "servidores": [
    {
      "url": "https://api.brightdata.com"
    }
  ],
  "tags": [
    {
      "nome": "Web Unlocker",
      "descrição": "Operações para interagir com a API Bright Data Web Unlocker."
    }
  ],
  "componentes": {
    "esquemas de segurança": {
      "BearerAuth": {
        "tipo": "http",
        "esquema": "bearer",
        "formato do portador": "BRIGHT_DATA_API_KEY"
      }
    }
  },
  "paths": {
    "/request": {
      "post": {
        "operationId": "sendWebUnlockerRequest",
        "summary": "Enviar uma solicitação da API Web Unlocker",
        "description": "Envie uma solicitação da API Web Unlocker usando sua zona da API Bright Data Web Unlocker.  nn[Documentação da API Web Unlocker `/request`](https://docs.brightdata.com/api-reference/rest-api/unlocker/unlock-website)n",
        "tags": [
          "Web Unlocker"
        ],
        "segurança": [
          {
            "BearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "zone",
                  "url",
                  "format"
                ],
                "properties": {
                  "zone": {
                    "type": "string",
                    "description": "O nome da sua zona do Web Unlocker."
                  },
                  "url": {
                    "type": "string",
                    "description": "URL do site de destino a ser desbloqueado e buscado.",
                    "example": "https://example.com/products"
                  },
                  "format": {
                    "type": "string",
                    "description": "Formato da resposta.  nValores permitidos:  n- `raw`: Retorna a resposta imediatamente no corpo.  n- `json`: Retorna a resposta como um objeto JSON estruturado.  n",
                    "default": "raw"
                  },
                  "method": {
                    "type": "string",
                    "description": "Método HTTP usado ao buscar a URL de destino.",
                    "example": "GET"
                  },
                  "country": {
                    "type": "string",
                    "description": "Código do país para localização do Proxy (formato ISO 3166-1 alfa-2). n",
                    "example": "us"
                  },
                  "data_format": {
                    "type": "string",
                    "description": "Formato dos dados de saída extraídos.  nValores permitidos:n- `markdown`: Conteúdo da página convertido para Markdown.n- `screenshot`: Para capturar uma imagem PNG da página renderizada.n",
                    "enum": [
                      "markdown",
                      "screenshot"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Resposta bem-sucedida contendo resultados da pesquisa."
          },
          "400": {
            "description": "Solicitação inválida (campos obrigatórios ausentes ou parâmetros inválidos)."
          },
          "401": {
            "description": "Não autorizado (chave API Bright Data inválida ou ausente)."
          }
        }
      }
    }
  }
}

Testando no Swagger Editor

Teste a especificação OpenAPI colando-a no Swagger Editor:
Testing the Bright Data Web Unlocker API specification in Swagger

Especificação OpenAPI da API SERP

Explore a especificação OpenAPI para a API SERP da Bright Data.

Observação: para obter mais informações, consulte os argumentos, opções, métodos de autenticação e muito mais nas seguintes páginas da documentação:

Especificação YAML

Aqui está a especificação OpenAPI YAML para a API SERP:

openapi: 3.0.4
info:
  title: API SERP da Bright Data
  version: 1.0.0
  description: |
    Extraia resultados de mecanismos de pesquisa usando a API SERP da Bright Data. Extraia dados estruturados dos principais mecanismos de pesquisa, incluindo Google, Bing, Yandex, DuckDuckGo e muito mais.
Obtenha resultados orgânicos, anúncios pagos, listagens locais, resultados de compras e outros recursos SERP.
    [Documentação da API SERP](https://docs.brightdata.com/scraping-automation/serp-api/introduction)
  contact:
    name: Bright Data
    url: 
servers:
  - url: https://api.brightdata.com
tags:
  - name: SERP
    description: Operações relacionadas à API SERP da Bright Data.
componentes:
  esquemas de segurança:
    BearerAuth:
      tipo: http
      esquema: bearer
      formato do portador: BRIGHT_DATA_API_KEY
caminhos:
  /request:
    post:
      operationId: sendSerpRequest
      resumo: Enviar uma solicitação da API SERP
      descrição: |
        Envie uma solicitação da API SERP usando sua zona da API SERP da Bright Data.  

        [Documentação da API SERP `/request`](https://docs.brightdata.com/api-reference/rest-api/serp/scrape-serp)
      tags:
        - SERP
      segurança:
        - BearerAuth: []
      requestBody:
    obrigatório: verdadeiro
    conteúdo:
      application/json:
        esquema:
          tipo: objeto
          obrigatório:
            - zona
            - url
            - formato
          propriedades:
            zona:
                tipo: string
                descrição: O nome da sua zona API SERP.
                url:
                  tipo: string
                  descrição: A URL do mecanismo de pesquisa a ser consultada (por exemplo, `https://www.google.com/search?q=<search_query>`).
                  exemplo: https://www.google.com/search?q=pizza&hl=en&gl=us
                formato:
                  tipo: string
                  descrição: |
                    Formato da resposta.  
Valores permitidos:  
- `raw`: Retorna a resposta imediatamente no corpo.  
- `json`: Retorna a resposta como um objeto JSON estruturado.  
padrão: raw
enum:
- raw
- json
país:
tipo: string
descrição: |
                    Código do país para localização do Proxy (formato ISO 3166-1 alfa-2). 
exemplo: us
data_format:
tipo: string
descrição: |
Formato dos dados de saída SERP.  
Valores permitidos:
- `json`: Dados JSON totalmente analisados com resultados SERP estruturados, incluindo orgânicos, pagos, locais, compras e trechos de destaque.
                    - `markdown`: Conteúdo SERP convertido para Markdown.  
enum:
- json
- markdown
respostas:
"200":
descrição: Resposta bem-sucedida contendo resultados de pesquisa.
"400":
descrição: Solicitação inválida (campos obrigatórios ausentes ou parâmetros inválidos).
        "401":
          descrição: Não autorizado (chave API Bright Data inválida ou ausente).

Especificação JSON

Esta é a especificação JSON OpenAPI para a API SERP:

{
  "openapi": "3.0.4",
  "info": {
    "title": "Bright Data SERP API",
    "version": "1.0.0",
    "description": "Extraia resultados de mecanismos de pesquisa usando a API SERP da Bright Data. Extraia dados estruturados dos principais mecanismos de pesquisa, incluindo Google, Bing, Yandex, DuckDuckGo e muito mais.  nObtenha resultados orgânicos, anúncios pagos, listagens locais, resultados de compras e outros recursos SERP.n[Documentação da API SERP](https://docs.brightdata.com/scraping-automation/serp-api/introduction)n",
    "contact": {
      "name": "Bright Data",
      "url": ""
    }
  ],
  "servers": [
    {
      "url": "https://api.brightdata.com"
    }
  ],
  "tags": [
    {
      "name": "SERP",
      "description": "Operações relacionadas à API SERP da Bright Data."
    }
  ],
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "BRIGHT_DATA_API_KEY"
      }
    }
  },
  "paths": {
    "/request": {
      "post": {
        "operationId": "sendSerpRequest",
        "summary": "Enviar uma solicitação da API SERP",
        "description": "Envie uma solicitação da API SERP usando sua zona da API SERP da Bright Data.  nn[Documentação da API SERP `/request`](https://docs.brightdata.com/api-reference/rest-api/serp/scrape-serp)n",
        "tags": [
          "SERP"
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "Zona",
                  "url",
                  "format"
                ],
                "properties": {
                  "zone": {
                    "type": "string",
                    "description": "O nome da sua zona API SERP."
                  },
                  "url": {
                    "tipo": "string",
                    "descrição": "A URL do mecanismo de pesquisa a ser consultada (por exemplo, `https://www.google.com/search?q=<search_query>`).",
                    "example": "https://www.google.com/search?q=pizza&hl=en&gl=us"
                  },
                  "format": {
                    "type": "string",
                    "description": "Formato da resposta.  nValores permitidos:  n- `raw`: Retorna a resposta imediatamente no corpo.  n- `json`: Retorna a resposta como um objeto JSON estruturado.  n",
                    "default": "raw",
                    "enum": [
                      "raw",
                      "json"
                    ]
                  },
                  "country": {
                    "type": "string",
                    "description": "Código do país para localização do Proxy (formato ISO 3166-1 alfa-2). n",
                    "example": "us"
                  },
                  "data_format": {
                    "type": "string",
                    "description": "Formato dos dados de saída SERP.  nValores permitidos:n- `json`: Dados JSON totalmente analisados com resultados SERP estruturados, incluindo orgânicos, pagos, locais, compras e trechos de recursos.n- `markdown`: Conteúdo SERP convertido para Markdown.  n",
                    "enum": [
                      "json",
                      "markdown"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Resposta bem-sucedida contendo resultados de pesquisa."
          },
          "400": {
            "description": "Solicitação inválida (campos obrigatórios ausentes ou parâmetros inválidos)."
          },
          "401": {
            "description": "Não autorizado (chave API Bright Data inválida ou ausente)."
          }
        }
      }
    }
  }
}

Testando no Swagger Editor

Para testar esta especificação, cole-a no Editor Swagger online:
Testing the Bright Data SERP API specification in Swagger

Testando as especificações OpenAPI da Bright Data para integração de ferramentas no Dify

Para verificar se as especificações OpenAPI acima para conexão com os serviços Bright Data via API funcionam, vamos testá-las no Dify.

Especificamente, testaremos a especificação OpenAPI da API SERP da Bright Data, mas você pode facilmente adaptar esta seção guiada a outras especificações SERP da API Web Unlocker também.

O Dify é uma plataforma de desenvolvimento de código aberto e baixo código que simplifica a criação, implantação e gerenciamento de aplicativos alimentados por IA. Entre seus muitos recursos, ele permite definir ferramentas personalizadas usando especificações OpenAPI.

Essa capacidade não é exclusiva do Dify. Muito pelo contrário, muitas outras plataformas de criação de agentes de IA, especialmente soluções de baixo código/sem código ou prontas para uso corporativo, também oferecem suporte à integração de ferramentas por meio de especificações OpenAPI.

Explore integrações adicionais com a Bright Data por meio das especificações OpenAPI nos seguintes guias:

Agora, vamos testar as especificações OpenAPI da Bright Data no Dify!

Pré-requisitos

Para seguir esta seção do tutorial, você precisa de:

Siga o guia oficial para gerar uma chave API da Bright Data. Guarde-a em um local seguro, pois precisaremos dela para autenticar as chamadas da ferramenta API SERP.

Em seguida, siga as instruções na documentação da Bright Data para configurar uma zona API SERP em sua conta:
Note the SERP API zone called "serp_api” in your account
A partir de agora, vamos supor que sua zona API SERP se chama serp_api. Certifique-se de adaptar o nome da zona nos exemplos para corresponder ao nome da sua zona.

Etapa 1: crie uma nova ferramenta personalizada

Faça login na sua conta Dify Cloud ou inicie sua instância local. Para criar uma nova ferramenta personalizada, comece selecionando a opção “Ferramentas” no menu superior:
Selecting the “Tools” option

Na página “Ferramentas”, vá para a guia “Personalizado”:
Reaching the “Custom” tab

Na guia “Personalizado”, clique no cartão “Criar ferramenta personalizada”:
Pressing the “Create Custom Tool” button

O seguinte modal “Criar ferramenta personalizada” será exibido:
The  “Create Custom Tool” modal
Ótimo! É aqui que você colará sua especificação OpenAPI da API SERP da Bright Data.

Etapa 2: definir a ferramenta API SERP usando a especificação OpenAPI

No modal “Criar ferramenta personalizada”, dê um nome à ferramenta, como “API SERP”. No campo “Esquema”, cole a especificação YAML OpenAPI para a API SERP da Bright Data.

Você deverá ver algo assim:
The populated custom tool creation modal
Observe que a seção “Ferramentas disponíveis” é preenchida automaticamente com base na definição fornecida na especificação OpenAPI.

Como previsto anteriormente, a maioria das plataformas exige que você defina a autenticação por meio de um método integrado. Nesse caso, para fazer isso, clique no ícone de engrenagem na seção “Método de autenticação”:
Clicking the gear icon in the “Authentication Method” section

Configure a autenticação da seguinte forma:

  • Tipo de autenticação: “Cabeçalho”
  • Tipo: “Portador”
  • Chave: “Autorização”
  • Valor: Cole sua chave API da Bright Data

Configuring the authentication method
Isso configura a autenticação por meio de um cabeçalho de autorização, que será enviado como:

Portador <SUA_CHAVE_API_BRIGHT_DATA>

Esse é precisamente o método de autenticação suportado pelas APIs da Bright Data.

Ótimo! A ferramenta API SERP agora foi definida e configurada corretamente.

Etapa 3: Teste a ferramenta

Na seção “Ferramentas disponíveis”, localize a linha do endpoint /request configurado e clique no botão “Testar”:

Pressing the “Test” button
Isso abrirá o modal “Testar sendSerpRequest”, onde você pode personalizar parâmetros e valores para verificar se a ferramenta configurada funciona.

Por exemplo, comece testando uma resposta básica no formato JSON. O resultado esperado é uma resposta JSON estruturada contendo a página SERP extraída do Google no formato HTML (o formato de dados padrão da API SERP):
Testing the SERP API tool

Role para baixo até a seção “Resultados do teste” para visualizar a resposta da API. Você verá que o campo do corpo no JSON contém o HTML da página SERP, conforme esperado:
Note the HTML contained in the “body” field
Fantástico! Este resultado corresponde às expectativas.

Agora, tente obter a versão Markdown da mesma página diretamente no corpo da resposta:
Note the SERP result in Markdown
Observe como, desta vez, a resposta é um texto simples (porque format: raw) contendo os dados SERP no formato Markdown (devido a data_format: markdown) —pronto para ingestão LLM.

Agora que você sabe que a ferramenta funciona (porque ela chama com sucesso a API subjacente), você pode integrá-la a qualquer fluxo de trabalho Dify ou agente de IA.

Et voilà! A ferramenta Bright Data definida por meio da especificação OpenAPI funciona perfeitamente.

Conclusão

Neste artigo, você aprendeu por que as plataformas e bibliotecas de IA permitem o uso de especificações OpenAPI para definição de ferramentas e como a Bright Data oferece suporte a essa opção. Em particular, você viu as especificações OpenAPI para as soluções Web Unlocker e API SERP da Bright Data.

Ao integrar essas duas ferramentas, você pode criar agentes de IA complexos que pesquisam na web e recuperam dados da web para RAG, pesquisa profunda e muitas outras tarefas. Aproveite o conjunto completo de serviços de API da Bright Data para IA e libere todo o potencial dos seus agentes!

Crie uma conta Bright Data gratuitamente hoje mesmo e comece a integrar nossas APIs para recuperação de dados da web!