Developer Tool updated 23 hours ago

Free Online HTTP Request Client and API Tester (Postman Alternative)

Test REST APIs and send HTTP requests with custom methods, headers, body, and authentication. Generate code in 21 languages, import cURL, and share requests via link.

Always Free Easy to use Instant results Private and secure

Use Free Online HTTP Request Client and API Tester (Postman Alternative)

|

Query parameters appended to the URL
Custom HTTP headers
Form fields with optional file upload
URL-encoded form data
Upload a binary file
Recently sent requests (saved in browser)
No history yet. Send a request to see it here.
Sending...
Sending request...
200 OK
0ms 0 B 0 redirects
Response body was truncated at 512 KB.
Timing:
Redirects:
Response body
No preview available for this content type.
Response preview
Header Value
No cookies in this response.
Name Value Domain Path Expires Secure HttpOnly SameSite

Code Snippet

Read Content

Learn how the tool works and when to use it.

The HTTP Request Client is a free online API testing tool that lets you send HTTP requests to any REST endpoint and inspect the full response right in your browser. It works as a lightweight Postman alternative and ReqBin-style client, supporting every common HTTP method, custom headers, query parameters, multiple request body formats, and several authentication modes. You can import cURL commands, view formatted responses, search the body, inspect timing and redirect chains, and generate ready-to-run code snippets in 21 programming languages.

What Is an HTTP Request Client?

An HTTP request client is a tool that builds and sends HTTP requests to a server and shows the response. Developers use it to test APIs, debug webhooks, validate authentication, and check response shapes without writing code. This online client runs entirely through a secure backend proxy, so you can reach public endpoints even from a restricted network.

Why Use an Online API Tester?

  • Test REST and GraphQL endpoints during development and debugging.
  • Validate headers, cookies, status codes, and response bodies.
  • Generate client code in many languages to paste into your project.
  • Share a saved request with teammates through a single link.
  • No installation required; works on any device with a browser.

How To Send an HTTP Request

  1. Enter the target URL in the address field.
  2. Select the HTTP method (GET, POST, PUT, PATCH, DELETE, HEAD, or OPTIONS).
  3. Add query parameters and request headers as key-value pairs.
  4. Choose a request body type and enter the payload if needed.
  5. Set authentication (none, Basic, Bearer, or API key).
  6. Click Send and review the response in the tabs below.

Supported HTTP Methods

The tool supports GET, POST, PUT, PATCH, DELETE, HEAD, and OPTIONS, covering standard CRUD operations and health or metadata checks.

Request Builder Features

Headers

Add custom request headers with autocomplete for common names such as Content-Type, Accept, Authorization, and User-Agent. A header presets menu lets you apply standard values in one click.

Query Parameters

Manage query string parameters in a table; the URL updates live as you type, and editing the URL syncs the parameter rows back.

Request Body Types

  • None - send no body.
  • form-data - multipart form data with optional file upload.
  • x-www-form-urlencoded - URL-encoded key-value pairs.
  • raw - plain text in JSON, XML, HTML, text, or JavaScript.
  • binary - upload a single file as the raw body.

Authentication

  • None - send the request without credentials.
  • Basic - HTTP Basic auth from a username and password.
  • Bearer - Bearer token sent in the Authorization header.
  • API key - key-value pair sent in a header or as a query parameter.

Understanding the Response

Pretty, Raw, and Preview Tabs

The Pretty tab auto-detects JSON, XML, HTML, or JavaScript and shows syntax-highlighted, formatted output. The Raw tab shows the unmodified body, and the Preview tab renders HTML or shows an image, PDF, audio, or video preview for binary responses.

Response Body Formats

A format selector lets you force or auto-detect the view: Auto, JSON, XML, HTML, JavaScript, Text, Raw, Hex, or Base64. Hex and Base64 views help inspect binary payloads, and invalid JSON still displays as plain text.

Binary and Media Preview

Images, PDFs, audio, and video are detected by content type and rendered as playable or viewable previews. Large or non-media binaries can be inspected as Hex or Base64 and downloaded with the correct file extension.

Cookies and Headers

The Headers tab lists every response header, and the Cookies view parses Set-Cookie headers into name, value, and attribute rows for quick review.

Response Search

A search box highlights every match inside the Pretty body, making it easy to locate a field in a long JSON response.

Timing Breakdown and Redirect Chain

The timing bar visualizes DNS lookup, connection, wait, and download phases with a total time. When a request follows redirects, the redirect chain lists each visited URL so you can trace the flow.

Generate Code Snippets in 21 Languages

After building a request, the tool generates runnable code in cURL, PHP (cURL and Guzzle), JavaScript (Fetch, jQuery, Axios, Node.js), Python (requests and http.client), Java (OkHttp and Unirest), Ruby, Go, C#, Swift, Kotlin, Rust, Dart, PowerShell, R, and Perl. Copy or download any snippet.

Import cURL Commands

Paste a cURL command into the import modal to auto-fill the method, URL, headers, body, and authentication. This is the fastest way to turn a terminal command into an editable request.

Request History and Shareable Links

Recent requests are saved in your browser local storage for one-click restore. The Share button encodes the full request configuration into a URL hash; opening that link rebuilds the request in the builder.

Safety, Limits, and Privacy

Requests are proxied through the server. Response bodies larger than 1MB are truncated for display, the default timeout is 30 seconds and is adjustable, redirects are followed automatically, and SSL certificate verification can be toggled for testing self-signed endpoints. Request history stays in your browser and is never stored on the server.

Importing a cURL Command: What the Parser Understands

Click Import, paste the command into the Import cURL Command box and press Parse. The command is read on the server by a shell-style tokenizer, so single quotes, double quotes, $'...' strings and backslash escapes are handled the way a terminal would handle them. Line continuations work for bash (\), Windows cmd (^) and PowerShell (`), which means a multi-line command copied from browser developer tools, including Chrome's "Copy as cURL (cmd)" format, can be pasted as is. A leading $ prompt is ignored.

The flags that change the builder are:

  • -X / --request for the method, and -H / --header for headers.
  • -d, --data, --data-raw, --data-binary, --data-urlencode and --json for the body. --json also adds JSON Content-Type and Accept headers if they are missing.
  • -F / --form for multipart fields. A file field such as [email protected] keeps only the file name, so attach the file again before sending.
  • -u for Basic auth and --oauth2-bearer for a Bearer token.
  • -A (user agent), -b (cookie string), -e (referer), -k (turns SSL verification off), -L, -G (moves the data into query parameters) and -I (HEAD).
  • -m / --max-time, rounded to the nearest timeout the page offers: 5, 10, 15, 30, 60 or 120 seconds.

Combined short flags such as -sSLk, --opt=value and attached values like -XPOST are all recognised. Query strings in the URL are split into parameter rows. Without -X, the method is guessed: HEAD for -I, GET for -G, PUT for -T, POST when there is a body, otherwise GET. If no URL can be found, the modal shows an error and nothing is changed.

Using the Code Snippet Panel

The Code Snippet panel stays empty until you send a request, and it always describes the last request that was actually sent, not unsent edits in the builder. Edit, send again, then copy. The language menu has 21 entries: cURL (Bash), PHP (cURL), PHP (Laravel/Guzzle), JavaScript (Fetch), JavaScript (jQuery AJAX), JavaScript (Axios), JavaScript (Node.js Native), Python (requests), Python (http.client), Java (OkHttp), Java (Unirest), Ruby (Net::HTTP), Go (net/http), C# (HttpClient), Swift (URLSession), Kotlin (OkHttp), Rust (reqwest), Dart (http package), PowerShell (Invoke-RestMethod), R (httr) and Perl (LWP::UserAgent). Download saves the code as request. plus the matching extension, for example request.py or request.ps1. The small cURL button near the response copies the same request as a cURL command in one click.

Snippets include your headers and credentials. Basic auth is written as an Authorization header containing the Base64 form of the username and password, which anyone can decode. Replace real tokens with placeholders before pasting a snippet into a ticket or chat.

What the Proxy Refuses

Because requests go through Newisty's server, some targets are blocked on purpose. Only http and https URLs on ports 80 and 443 are accepted, so localhost:3000 or an API on port 8080 will not work. Hosts that resolve to private, loopback or other local network addresses are rejected, which rules out testing a development machine or an intranet service. Redirects stop after five hops. Headers that a proxy must control, such as Host, Connection, X-Forwarded-For and X-Real-IP, are dropped from the request. The server also caps a request at 50 headers, 50 query parameters and 50 form fields. For local APIs, generate the cURL snippet here and run it on your own machine instead.

Frequently Asked Questions

FAQ

Short answers for the questions users ask before trusting the result.

GET, POST, PUT, PATCH, DELETE, HEAD and OPTIONS. The body can be none, multipart form-data with file upload, x-www-form-urlencoded, raw (JSON, XML, HTML, plain text or JavaScript) or a single binary file.

None, HTTP Basic with a username and password, a Bearer token, or an API key sent either as a header or as a query parameter.

Yes. Open Import, paste the command and press Parse. Bash, Windows cmd and PowerShell line continuations are understood, and the method, URL, query parameters, headers, body, auth and timeout are filled in. File fields keep only the file name, so attach the file again.

21 options: cURL, PHP (cURL and Guzzle), JavaScript (Fetch, jQuery, Axios, Node.js), Python (requests and http.client), Java (OkHttp and Unirest), Ruby, Go, C#, Swift, Kotlin, Rust, Dart, PowerShell, R and Perl. Send a request first; the snippet reflects the last request sent.

No. The server proxy rejects private, loopback and local network addresses and only allows ports 80 and 443. Copy the generated cURL command and run it on your own machine instead.

Response bodies over 1 MB are cut off for display. The timeout is 30 seconds by default and can be set to 5, 10, 15, 30, 60 or 120 seconds. Redirects are followed for up to five hops.

History keeps the last 50 requests in your browser's local storage, not on an account. The requests themselves pass through Newisty's server so it can reach the target, so avoid sending production secrets you would not share with a proxy.

Click Share to copy a link that holds the whole request, including method, URL, headers, parameters, body and auth. Anyone who opens it sees those values, so remove real credentials first.

Comments (0)

For user discussion, edge cases, and follow-up tips.
Leave a comment
Your comment will appear publicly after submission.
No comments yet. Be the first to comment!
Let Us Know!
Report an issue with this tool

Describe the issue you encountered so we can investigate and improve the tool.

What helps most
Include the input, expected result, actual result, browser/device, and a screenshot when helpful.
The screenshot button captures the page in the browser and attaches the generated image to this form.
Full-page screenshot
Captured in your browser with newisty.
No screenshot captured yet.
Tool Report