Playground

O Playground (barra lateral > Playground) permite executar requests de API em tempo real com sua chave real sem escrever nenhum código. É a maneira mais rápida de testar um novo site de destino, depurar uma response complicada ou comparar Single, Proxy e Browser lado a lado.

Abra em foura.ai/dashboard#playground.

O que ele faz

Um formulário. Três motores. Tráfego real.

  • Single: fetch HTTP direto com características de rede realistas semelhantes às de um navegador
  • Proxy: fetch de proxy rotativo gerenciado
  • Browser: abre a URL em uma instância do navegador Chrome para sites renderizados em JS

Os requests são executados com a chave de API que você escolher no topo da página. O uso é contabilizado na cota dessa chave da mesma forma que uma chamada de produção, portanto, não consuma todo o seu plano durante os testes.

Escolhendo uma chave

O menu suspenso de chave de API mostra todas as chaves ativas no seu escopo: chaves pessoais, chaves de organização que você administra e chaves compartilhadas com a equipe que você pode acessar. Escolha aquela na qual deseja faturar o request. Se você ainda não tiver nenhuma chave ativa, um aviso na tela direcionará você para a página de API Keys para criar uma.

Escolhendo um produto

Três pílulas ficam acima do formulário: Single, Proxy, Browser. Alternar entre as pílulas altera quais campos ficam visíveis e qual motor o request atinge. A seleção atual é preservada quando você recarrega a página.

Product Quando usar
Single Fetch HTTP rápido. A melhor primeira escolha para qualquer URL.
Proxy O mesmo fetch com rotação automática de proxy. Use quando o Single continuar sendo bloqueado.
Browser Carrega a página em uma instância do navegador Chrome. Use quando os dados aparecem apenas após a execução do JavaScript.

Construindo o request

Linha da URL

A linha superior contém o método HTTP (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS), a URL de destino e o botão Send. Single + Proxy aceitam todos os métodos. O Browser ignora o método (o Chrome sempre emite GET para navegação) e o body.

Abas de request

Abaixo da linha da URL, cinco abas permitem preencher todo o resto:

Aba O que controla
UI Campos de formulário para timeouts, redirecionamentos, flags, proxy, opções específicas do browser e regras de validação
Body Corpo de formato livre para requests POST / PUT / PATCH
Headers Headers de request personalizados como pares chave-valor
Cookies Cookies para enviar com o request
Raw O payload JSON exato que será enviado, editável diretamente

Qualquer alteração feita em UI / Body / Headers / Cookies é refletida em Raw. Editar o Raw também funciona, atualizando as outras abas de acordo.

Seções do painel UI

A aba UI agrupa as configurações em seções recolhíveis. Campos vazios voltam para o padrão do schema do motor.

  • Timeouts: timeout_ms, connect_timeout_ms, accept_timeout_ms, server_response_timeout_ms, dns_cache_timeout_sec
  • Redirects: ative e defina followRedirects (0-20). Apenas Single + Proxy. O Browser segue redirecionamentos por conta própria.
  • Flags: unblocker, tryJsonData, returnBuffer. Single + Proxy.
  • Proxy: escolha um ID de proxy específico para Single ou Browser, ou defina maxTries, o timeout externo do Proxy e ignoreProxies para o motor Proxy.
  • Browser: opções exclusivas do browser, como checkStatus e checkText.
  • Validate: regras de aceitação/falha para validate.status (status codes), validate.headers (regras de chave-valor de header) e validate.data (substrings de aceitação/falha do body, alternativas separadas por |).

Campos que não se aplicam ao produto selecionado no momento são ocultados.

Reset da barra de ferramentas

O botão Reset na barra de ferramentas (ao lado de History) redefine o formulário do produto ativo de volta aos padrões. Os padrões mantêm unblocker and tryJsonData ativados, o que corresponde ao ponto de partida mais comum. Use-o quando você tiver se desviado muito de uma base funcional e quiser recomeçar do zero sem recarregar a página.

Enviando e cancelando

Clique em Send para disparar o request. A coluna da direita muda para um estado de carregamento com um indicador de progresso e um botão Cancel enquanto a chamada está em andamento. Clique em Cancel (ou toque no botão novamente no celular) para abortar. Um request cancelado restaura o marcador de inatividade com "Request canceled." em vez de renderizar um erro.

O card de response muda para o resultado no momento em que o request é concluído (ou falha).

Lendo a response

A coluna de response espelha o layout do request com suas próprias abas:

Aba O que mostra
Body Corpo analisado. Alterna entre as visualizações JSON, HTML e Text dependendo do que retornou.
Headers Headers de response, um por linha.
Cookies Cookies retornados pelo destino, tanto na visualização analisada (agrupada por host) quanto na bruta (texto Set-Cookie). A visualização analisada mostra um selo HO nos cookies exclusivos do host; os cookies de domínio não são marcados.
Raw O envelope JSON completo retornado pela API.

Uma faixa de metadados acima das abas mostra o status HTTP de origem, o tempo total e (para requests Proxy / single-with-proxy-id) o ID do proxy que processou a chamada. Os botões de copiar e baixar ficam no canto superior direito de cada painel, para que você possa extrair o body ou os headers para um arquivo com um único clique.

Expandir para tela cheia

O ícone de expansão na barra de ferramentas de response retira o card de response do layout dividido e o coloca em uma sobreposição de tela cheia. Use-o para árvores JSON profundas, dumps longos de Set-Cookie ou corpos HTML largos onde a coluna de meia largura fica apertada. A página em si para de rolar enquanto a sobreposição está aberta. Clique no ícone novamente (ou pressione Escape) para fechar.

O reprodutor curl

Abaixo da response, um bloco de curl mostra o equivalente exato em linha de comando do request que você acabou de construir. Copie-o para reproduzir o request a partir de um terminal, compartilhe-o com um colega de equipe ou cole-o em um relatório de bug.

Para chaves reveláveis, um botão Reveal key ao lado do snippet insere a chave real em texto simples diretamente no curl para que você possa copiar e executar como está. Clique novamente para ocultar. Chaves legadas (criadas antes do lançamento do recurso de revelação) mantêm um marcador PASTE_PLAINTEXT_FOR_<key-name>; regenere a chave na página de API Keys para torná-la revelável.

A revelação é registrada no log de auditoria do servidor todas as vezes, e a chave em texto simples permanece na memória apenas durante a sessão atual da página.

Salvando presets

Se você precisar reconfigurar o mesmo destino repetidamente, salve-o. Clique em Save na linha de abas de request para armazenar a configuração atual como um preset nomeado.

Abra Saved na barra de ferramentas para navegar, renomear ou excluir seus presets. Clique em qualquer preset para carregá-lo de volta no formulário.

Campo do preset O que armazena
Name Um rótulo curto (até 100 caracteres)
Description Notas opcionais (até 500 caracteres)
Endpoint Para qual produto o preset se destina (single / proxy / browser)
Config O payload completo do request, incluindo campos de UI, headers, cookies e body

Presets são restritos à sua conta de usuário e não são compartilhados com membros da equipe.

Reexecutando a partir do histórico

Cada request que você executa é registrado. Abra History na barra de ferramentas para ver suas últimas 20 execuções, ordenadas da mais recente para a mais antiga.

Cada linha mostra o endpoint, a URL de destino, o status e o tempo. Clique em Replay em qualquer linha para carregar esse request de volta no formulário e, em seguida, em Send para executá-lo novamente.

O histórico é automaticamente restrito à sua conta: você vê apenas suas próprias execuções.

Abrindo a partir da atividade

A caixa de diálogo de detalhes do Activity Log possui um botão Open in Playground. Clique nele e o Playground será carregado com o request arquivado e a response arquivada. O formulário é preenchido a partir do payload armazenado, e o card de response mostra o que a API retornou naquele momento com um selo "archived" na faixa de metadados do proxy ("archived

A partir daí, você pode alterar um parâmetro e clicar em Send para executar um novo request na API ativa, ou apenas inspecionar o payload arquivado sem executá-lo novamente. Os payloads são mantidos por 24 horas, portanto, as linhas mais antigas de Activity não terão uma response recarregável.

Dicas

  • Comece no Playground antes de escrever código para um novo destino. Você saberá em segundos se o Single é suficiente ou se precisará do Browser.
  • Salve um preset para cada destino que você faz scraping regularmente. Reexecutar um preset salvo requer apenas um clique; reconstruir o request de cabeça demora mais.
  • Use a aba Cookies para depurar scraping baseado em sessão. A visualização Set-Cookie bruta mostra exatamente o que o destino enviou.
  • Os requests do Playground são faturados na chave que você escolher. Use uma chave dedicada de cota baixa para exploração casual se quiser manter o uso de produção limpo.

Relacionado

Atualizado em: 30 de junho de 2026