Skip to main content
The HTTP Request node calls any URL. Pick the method as the node’s operation: GET, POST, PUT, PATCH, or DELETE. A URL is required.
In a hurry? Click Import cURL at the top of the node and paste a curl command from any API’s docs — the method, URL, query params, headers, and body are filled in for you.

Configuration

FieldWhat it does
URLThe endpoint to call (required). References work here, e.g. https://api.example.com/users/{{form.user_id}}
Query ParametersKey/value rows added to the URL’s query string and URL-encoded for you. Values support references.
HeadersKey/value rows. Toggle a row off without deleting it. Values support references.
BodyChoose a Body type — None, JSON, Form URL-Encoded, or Raw — available on every method, so GET and DELETE can send a body too. JSON must be valid JSON (it fails loudly if not). Raw lets you set an explicit Content-Type (e.g. application/xml).

Options

OptionDefaultWhat it does
Timeout (seconds)30How long to wait before giving up.
Max Retries0Retry network errors and 429/5xx responses with exponential backoff, honoring Retry-After. Retries can re-submit non-idempotent requests (POST/PATCH).
Follow Redirects / Max RedirectsYes / 10Follow 3xx redirects. Authorization is dropped on cross-origin redirects.
Verify SSL CertificateYesDisable only for internal endpoints with self-signed certs.
Response FormatAuto-detectForce how the body is read: Auto, JSON, Text, or Binary (base64).
Include Full ResponseStatus + headers + bodySwitch to Body only to return just the response body.
Continue on HTTP ErrorNo (fail)See the note below.

Authentication

Attach a credential to the node instead of pasting secrets into headers:
CredentialWhat it sends
Bearer TokenAuthorization: Bearer <token>
Basic AuthUsername and password as an Authorization: Basic header
API KeyThe key in a header (any name, default X-API-Key) or in the query string — choose Send In.
OAuth2 (client credentials)Mints a short-lived token from your token URL (client id/secret + scope) and sends it as Authorization: Bearer.

Output

The response becomes the node’s output:
FieldWhat it is
status_codeHTTP status code
statussuccess for codes below 400
responseParsed JSON when possible, otherwise text. Binary content (images, PDFs, audio, video) is saved and returned as {url, mime_type, name, size_bytes} with is_file: true — pass {{http-1.response.url}} straight into an upload node (YouTube, Drive, Slack, …) or a media block
response_headersResponse headers
elapsed_msRequest duration
Downstream nodes reference fields directly, e.g. {{http-1.response.items}}. With Include Full Response → Body only, a JSON response is returned directly so you reference {{http-1.field}}.
By default a 4xx/5xx response (or a network/timeout failure) fails the node loudly so the run stops with a clear error. To branch on errors instead, turn on Continue on HTTP Error — the node then returns the error response as data (with status: "error"), and you can add a Conditional on status_code.
For security, requests to private, loopback, or link-local addresses (including the cloud metadata endpoint) are blocked, and responses larger than 25 MB are rejected.

Next steps