Como Usar a API Cloud do Navegador

Mark Ponomarev

Mark Ponomarev

10 junho 2025

Como Usar a API Cloud do Navegador

Este tutorial irá guiá-lo por tudo o que você precisa saber para aproveitar o poder da automação de navegador impulsionada por IA. Se você está procurando automatizar a extração de dados, testar suas aplicações web ou criar ferramentas de monitoramento sofisticadas, este guia fornecerá o conhecimento e os exemplos para começar.

💡
Quer uma ótima ferramenta de Teste de API que gera documentação de API bonita?

Quer uma plataforma integrada, Tudo-em-Um para sua Equipe de Desenvolvedores trabalhar com produtividade máxima?

Apidog entrega todas as suas demandas e substitui o Postman por um preço muito mais acessível!

button

O que é o Browser Use Cloud?

Browser Use Cloud é uma plataforma poderosa que permite criar e gerenciar agentes de automação de navegador inteligentes programaticamente. Pense nisso como ter uma frota de assistentes virtuais que podem navegar na web, interagir com sites e realizar tarefas complexas em seu nome.

No centro da plataforma está o conceito de "tarefa". Uma tarefa é um conjunto de instruções que você fornece a um agente em linguagem natural. Por exemplo, você poderia dar a um agente uma tarefa como: "Vá para hacker-news.com, encontre os 5 artigos mais populares e salve seus títulos e URLs em um arquivo." O agente então usará um modelo de linguagem grande (LLM) para entender e executar essas instruções em um ambiente de navegador real.

Uma das funcionalidades mais empolgantes do Browser Use Cloud é o loop de feedback em tempo real. Cada tarefa que você cria vem com uma live_url. Esta URL fornece uma prévia interativa e ao vivo do que o agente está fazendo. Você pode observar o agente navegando em tempo real e até mesmo assumir o controle, se necessário. Isso torna a depuração e o monitoramento incrivelmente intuitivos.

Obtendo Sua Chave de API

Antes de começar a criar agentes, você precisará de uma chave de API. A chave de API autentica suas requisições e as vincula à sua conta.

Nota: Para obter sua chave de API, você precisará de uma assinatura ativa do Browser Use Cloud. Você pode gerenciar sua assinatura e obter sua chave de API na página de cobrança: cloud.browser-use.com/billing.

Assim que tiver sua chave de API, certifique-se de mantê-la segura. Trate-a como uma senha e nunca a exponha em código do lado do cliente ou a inclua no controle de versão. É melhor armazená-la em uma variável de ambiente segura.

export BROWSER_USE_API_KEY="your_api_key_here"

Entendendo o Modelo de Preços

A API do Browser Use Cloud possui um modelo de preços simples, pay-as-you-go (pague pelo uso). Isso garante que você pague apenas pelo que usar, tornando-o econômico tanto para projetos pequenos quanto em larga escala. O preço é composto por duas partes principais:

  1. Custo de Inicialização da Tarefa: Uma taxa fixa de $0.01 é cobrada para cada tarefa que você inicia. Isso cobre o custo de inicialização do ambiente do navegador para seu agente.
  2. Custo por Passo da Tarefa: Este é o custo para cada ação ou "passo" que o agente executa. O custo por passo depende do LLM que você escolher para impulsionar seu agente.

Preços por Passo do LLM

Diferentes LLMs possuem capacidades e preços diferentes. Você pode escolher o modelo que melhor se adapta às suas necessidades de desempenho e custo. Aqui está um detalhamento do custo por passo para cada modelo disponível:

Modelo Custo por Passo
GPT-4o $0.03
GPT-4.1 $0.03
Claude 3.7 Sonnet (2025-02-19) $0.03
GPT-4o mini $0.01
GPT-4.1 mini $0.01
Gemini 2.0 Flash $0.01
Gemini 2.0 Flash Lite $0.01
Llama 4 Maverick $0.01

Exemplo de Cálculo de Custo

Vamos imaginar que você queira automatizar uma tarefa que envolve fazer login em um site, navegar para uma página específica e extrair alguns dados. Você estima que isso levará cerca de 15 passos. Se você escolher usar o poderoso modelo GPT-4o, o custo total seria calculado da seguinte forma:

Este preço transparente permite que você preveja e controle seus custos de forma eficaz.

Criando Seu Primeiro Agente: Um Exemplo "Hello, World!"

Agora para a parte emocionante! Vamos criar seu primeiro agente de automação de navegador. Começaremos com uma tarefa muito simples: ir ao Google e procurar por "Browser Use".

Usaremos curl para fazer uma requisição POST para o endpoint /api/v1/run-task. Este é o endpoint principal para criar novas tarefas.

curl -X POST <https://api.browser-use.com/api/v1/run-task> \\\\
  -H "Authorization: Bearer $BROWSER_USE_API_KEY" \\\\
  -H "Content-Type: application/json" \\\\
  -d '{
    "task": "Go to google.com and search for Browser Use"
  }'

Vamos detalhar este comando:

Entendendo a Resposta da API

Ao enviar esta requisição, a API responderá com um objeto JSON contendo informações sobre a tarefa recém-criada. Aqui está um exemplo de como essa resposta pode parecer:

{
  "task_id": "ts_2a9b4e7c-1d0f-4g8h-9i1j-k2l3m4n5o6p7",
  "status": "running",
  "live_url": "<https://previews.browser-use.com/ts_2a9b4e7c-1d0f-4g8h-9i1j-k2l3m4n5o6p7>"
}

Pré-visualizações Interativas ao Vivo

A live_url é uma das funcionalidades mais poderosas do Browser Use Cloud. Não é apenas um stream de vídeo somente leitura; é uma sessão totalmente interativa.

Você pode incorporar a live_url diretamente em suas próprias aplicações usando um iframe. Isso permite que você construa dashboards e ferramentas de monitoramento personalizados que incluem uma visualização em tempo real de seus agentes.

Aqui está um snippet HTML simples para incorporar a prévia ao vivo:

<!DOCTYPE html>
<html>
<head>
  <title>Agent Live Preview</title>
  <style>
    body, html { margin: 0; padding: 0; height: 100%; overflow: hidden; }
    iframe { width: 100%; height: 100%; border: none; }
  </style>
</head>
<body>
  <iframe src="YOUR_LIVE_URL_HERE"></iframe>
</body>
</html>

Substitua YOUR_LIVE_URL_HERE pela live_url da resposta da API. Ao abrir este arquivo HTML em um navegador, você verá a tela do agente. Você pode clicar, digitar e rolar a página como se estivesse navegando em seu próprio computador. Isso é incrivelmente útil para:

Gerenciando o Ciclo de Vida da Tarefa

Uma vez que uma tarefa esteja em execução, você tem controle total sobre seu ciclo de vida. Você pode pausar, retomar e parar tarefas usando a API. Você precisará do task_id para todas as operações de gerenciamento.

Pausando e Retomando uma Tarefa

Há muitas razões pelas quais você pode querer pausar uma tarefa. Talvez você precise inspecionar a página web manualmente, ou talvez queira esperar que um evento externo ocorra antes de continuar.

Para pausar uma tarefa, envie uma requisição POST para o endpoint /api/v1/pause-task:

curl -X POST <https://api.browser-use.com/api/v1/pause-task> \\\\
  -H "Authorization: Bearer $BROWSER_USE_API_KEY" \\\\
  -H "Content-Type: application/json" \\\\
  -d '{
    "task_id": "YOUR_TASK_ID_HERE"
  }'

O agente terminará seu passo atual e então entrará em um estado paused (pausado).

Para retomar a tarefa, envie uma requisição POST para o endpoint /api/v1/resume-task:

curl -X POST <https://api.browser-use.com/api/v1/resume-task> \\\\
  -H "Authorization: Bearer $BROWSER_USE_API_KEY" \\\\
  -H "Content-Type: application/json" \\\\
  -d '{
    "task_id": "YOUR_TASK_ID_HERE"
  }'

O agente continuará exatamente de onde parou.

Parando uma Tarefa

Se você quiser encerrar uma tarefa permanentemente, pode usar o endpoint /api/v1/stop-task. Isso é útil se a tarefa estiver completa, tiver dado errado ou não for mais necessária.

curl -X POST <https://api.browser-use.com/api/v1/stop-task> \\\\
  -H "Authorization: Bearer $BROWSER_USE_API_KEY" \\\\
  -H "Content-Type: application/json" \\\\
  -d '{
    "task_id": "YOUR_TASK_ID_HERE"
  }'

Nota: Uma vez que uma tarefa é parada, ela não pode ser retomada. O ambiente do navegador é destruído, e todos os recursos associados são limpos.

Criação Avançada de Tarefas

O exemplo "Hello, World!" foi apenas o começo. O endpoint run-task suporta mais do que apenas uma string simples de task. Você pode personalizar o comportamento do seu agente fornecendo parâmetros adicionais.

Escolhendo um LLM

Como vimos na seção de preços, você pode escolher entre vários LLMs diferentes para impulsionar seu agente. Você pode especificar o modelo na requisição run-task usando o parâmetro model.

Por exemplo, para usar o modelo Claude 3.7 Sonnet, você faria a seguinte requisição:

curl -X POST <https://api.browser-use.com/api/v1/run-task> \\\\
  -H "Authorization: Bearer $BROWSER_USE_API_KEY" \\\\
  -H "Content-Type: application/json" \\\\
  -d '{
    "task": "Go to reddit.com/r/programming and find the top post of the day.",
    "model": "claude-3.7-sonnet-20250219"
  }'

Se você não especificar um modelo, a API usará um modelo padrão, que geralmente é uma opção econômica e performática como o GPT-4o mini.

Construindo Seu Próprio Cliente

Embora o curl seja ótimo para testes simples, você provavelmente desejará integrar a API do Browser Use Cloud em suas aplicações usando uma biblioteca cliente adequada. A melhor maneira de fazer isso é usar nossa especificação OpenAPI para gerar um cliente com segurança de tipo (type-safe).

A especificação OpenAPI é uma maneira padronizada de descrever APIs REST. Você pode encontrar nossa especificação aqui: http://api.browser-use.com/openapi.json.

Geração de Cliente Python

Para desenvolvedores Python, recomendamos o openapi-python-client. Ele gera um cliente moderno, focado em async, com dicas de tipo completas.

Primeiro, instale a ferramenta geradora:

# We recommend using pipx to keep your global environment clean
pipx install openapi-python-client --include-deps

Agora, gere o cliente:

openapi-python-client generate --url <http://api.browser-use.com/openapi.json>

Isso criará um novo diretório contendo seu pacote cliente Python. Você pode instalá-lo usando pip:

pip install .

Agora você pode usar o cliente em seu código Python:

import asyncio
from browser_use_api import Client
from browser_use_api.models import RunTaskRequest

async def main():
    client = Client(base_url="<https://api.browser-use.com/api/v1>")
    request = RunTaskRequest(task="Go to ycombinator.com and list the top 3 companies.")

    response = await client.run_task.api_v1_run_task_post(
        client=client,
        json_body=request,
        headers={"Authorization": f"Bearer {YOUR_API_KEY}"}
    )

    if response:
        print(f"Task created with ID: {response.task_id}")
        print(f"Live URL: {response.live_url}")

if __name__ == "__main__":
    asyncio.run(main())

Geração de Cliente TypeScript/JavaScript

Para projetos de frontend ou Node.js, openapi-typescript é uma excelente ferramenta para gerar definições de tipo TypeScript a partir da especificação OpenAPI.

Primeiro, instale o gerador como uma dependência de desenvolvimento:

npm install -D openapi-typescript

Em seguida, execute o gerador:

npx openapi-typescript <http://api.browser-use.com/openapi.json> -o src/browser-use-api.ts

Isso criará um único arquivo, src/browser-use-api.ts, contendo todas as definições de tipo para a API. Você pode então usar esses tipos com seu cliente HTTP preferido, como fetch ou axios, para fazer requisições com segurança de tipo.

Aqui está um exemplo usando fetch em um projeto TypeScript:

import { paths } from './src/browser-use-api';

const API_URL = "<https://api.browser-use.com/api/v1>";

type RunTaskRequest = paths["/run-task"]["post"]["requestBody"]["content"]["application/json"];
type RunTaskResponse = paths["/run-task"]["post"]["responses"]["200"]["content"]["application/json"];

async function createTask(task: string, apiKey: string): Promise<RunTaskResponse> {
  const body: RunTaskRequest = { task };

  const response = await fetch(`${API_URL}/run-task`, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${apiKey}`,
    },
    body: JSON.stringify(body),
  });

  if (!response.ok) {
    throw new Error(`API request failed with status ${response.status}`);
  }

  return response.json() as Promise<RunTaskResponse>;
}

async function run() {
  const apiKey = process.env.BROWSER_USE_API_KEY;
  if (!apiKey) {
    throw new Error("API key not found in environment variables.");
  }

  try {
    const result = await createTask("Find the current weather in New York City.", apiKey);
    console.log("Task created:", result);
  } catch (error) {
    console.error("Failed to create task:", error);
  }
}

run();

💡
Quer uma ótima ferramenta de Teste de API que gera documentação de API bonita?

Quer uma plataforma integrada, Tudo-em-Um para sua Equipe de Desenvolvedores trabalhar com produtividade máxima?

Apidog entrega todas as suas demandas e substitui o Postman por um preço muito mais acessível!

button

Pratique o design de API no Apidog

Descubra uma forma mais fácil de construir e usar APIs