REST Client

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Note: CORS applies — only CORS-enabled or same-origin APIs will work in the browser.

Collections are stored in this browser only and exported as files you download. Nothing you save here — URLs, headers, tokens or bodies — is ever sent to a server.

Any HTTP method, your own headers and body. Use this for ordinary JSON APIs.

Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand REST Client

Envia requisições HTTP reais a partir da aba do seu navegador e mostra o status, o tempo, os cabeçalhos de resposta e o corpo.

How it works

A requisição sai pela própria API fetch() do navegador, o que significa que ela herda todas as regras que o navegador aplica a requisições iniciadas por uma página. O tempo de resposta é medido com performance.now() em volta da chamada, então ele inclui o estabelecimento da conexão e a sobrecarga do navegador, em vez de ser um número puramente do servidor. O corpo da resposta é interpretado e formatado quando o Content-Type diz JSON, e deixado como texto bruto caso contrário. Corpos são omitidos em GET e HEAD, porque a especificação do fetch os proíbe ali.

When to use it

  • Cutucar a sua própria API durante o desenvolvimento sem instalar um cliente de desktop
  • Verificar exatamente o que um endpoint público devolve — status, cabeçalhos e formato — antes de escrever código contra ele
  • Confirmar que um bearer token ou uma chave de API é aceita, e ver o corpo do erro quando não é
  • Comparar lado a lado a resposta de um endpoint de homologação e a de produção

Watch out for

  • O CORS se aplica. Um navegador não deixa uma página ler uma resposta de outra origem a menos que o servidor envie Access-Control-Allow-Origin, então muitas APIs que funcionam vão falhar aqui com um erro de rede que não é culpa do servidor — use curl ou um cliente de desktop nesses casos.
  • Você não consegue ver todos os cabeçalhos de resposta. Só os da lista segura do CORS (Content-Type, Cache-Control, Content-Length, Expires, Last-Modified, Pragma, Content-Language) são legíveis entre origens, a menos que o servidor liste outros em Access-Control-Expose-Headers.
  • Alguns cabeçalhos não podem ser definidos por uma página. Host, Origin, Referer, Connection e Cookie são nomes de cabeçalho proibidos — o navegador os define e descarta o seu valor em silêncio.
  • Redirecionamentos são seguidos de forma transparente, então um 301 aparece como o 200 final e o salto intermediário fica invisível. Use `curl -i` sem `-L` quando o próprio redirecionamento é o que você está depurando.

Not the right tool for: Requisições que precisam levar cookies a outra origem, ou envio de arquivos. Cookies não são enviados entre origens por padrão aqui, e corpos multipart precisam do `-F` do curl ou de um cliente de desktop com seletor de arquivos.

Frequently Asked Questions

Por que minha requisição de API falha com erro de CORS?

Navegadores bloqueiam requisições entre origens feitas por aplicações web a menos que a API envie cabeçalhos Access-Control-Allow-Origin. Se você controla a API, acrescente os cabeçalhos de CORS. Caso contrário, teste com curl, Postman ou um proxy de CORS. CORS é uma política de segurança do navegador, não um erro do servidor.

Dá para enviar dados de formulário multipart?

No momento, o cliente REST suporta corpos em JSON, texto e codificados como formulário. Para multipart (envio de arquivos), use o curl com a flag -F ou o Postman, que tem seletor de arquivos nativo.

Como me autenticar com este cliente?

Acrescente um cabeçalho Authorization: "Bearer SEU_TOKEN" para JWT/OAuth, "Basic BASE64(usuario:senha)" para autenticação HTTP Basic, ou cabeçalhos específicos da API, como "X-Api-Key: SUA_CHAVE". O cliente não armazena nem transmite credenciais para fora do seu navegador.

How to Use REST Client

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.