Sign In

HTTP Request

Call any external API with configurable method, headers, body, authentication, retries, and pagination.

The HTTP Request node lets you call any external HTTP endpoint from within a workflow. It supports all standard methods, multiple authentication schemes, automatic retries, paginated responses, and SSRF protection for safe outbound requests.

Configuration

FieldTypeRequiredDescription
MethodSelectNoHTTP method: GET, POST, PUT, PATCH, DELETE, HEAD, or OPTIONS. Defaults to GET.
URLText (variable)YesThe endpoint URL. Supports template variables.
HeadersKey/Value listNoCustom request headers. Both key and value support template variables.
Body TypeSelectNoFormat of the request body: JSON, Form Data, or Raw. Only shown for POST, PUT, PATCH, DELETE, and OPTIONS. Defaults to JSON.
BodyText (variable)NoRequest body content. Supports template variables. Only shown when the method allows a body.
AuthenticationSelectNoAuth mode: None, Bearer Token, or Basic Auth. Defaults to None.
TokenText (variable)NoBearer token value. Only shown when auth is Bearer Token.
UsernameText (variable)NoBasic auth username. Only shown when auth is Basic Auth.
PasswordText (variable)NoBasic auth password. Only shown when auth is Basic Auth.
Response Data PathTextNoDot-path to extract from the response body (e.g., data.items).
Never ErrorToggleNoWhen enabled, HTTP error responses are returned as success with success: false instead of failing the node. Defaults to off.
Follow RedirectsToggleNoAutomatically follow HTTP redirects. Defaults to on. Each redirect hop is validated against SSRF rules.
Max RedirectsNumberNoMaximum number of redirects to follow (0-10). Defaults to 5. Only shown when Follow Redirects is on.
Timeout (ms)NumberNoRequest timeout in milliseconds (1000-300000). Defaults to 30000.
RetriesNumberNoNumber of retry attempts on failure (0-5). Defaults to 0. Uses exponential backoff.

Pagination

Pagination is a collapsible section for fetching multi-page API results automatically.

FieldTypeRequiredDescription
ModeSelectNoDisabled, Cursor-based, or Offset-based.
Cursor PathTextNoDot-path in the response body to read the next cursor value (cursor mode only).
Cursor ParamTextNoQuery parameter name to send the cursor in (cursor mode only).
Offset ParamTextNoQuery parameter name for the offset (offset mode only).
Limit ParamTextNoQuery parameter name for the page size. Shared by both pagination modes.
Page SizeNumberNoNumber of items per page (1-1000). Defaults to 100.
Max PagesNumberNoMaximum number of pages to fetch (1-100). Defaults to 50.

Output

FieldTypeDescription
statusCodenumberThe HTTP status code returned by the server.
bodyobjectThe parsed response body, or the extracted value if Response Data Path is set. When pagination is active, this is an array of all collected items.
headersobjectResponse headers as key/value pairs.
successbooleanWhether the request succeeded (2xx status).
responseTimeMsnumberTotal elapsed time in milliseconds.
errorstringError message, present only when Never Error is on and the request failed.
totalItemsnumberTotal number of items collected across all pages (pagination only).

Example

A workflow that fetches a paginated user list from an external CRM API and filters the results:

  1. HTTP Request -- Method: GET, URL: https://api.crm.com/v2/contacts, Auth: Bearer Token, Pagination: cursor mode with cursor path meta.nextCursor and cursor param cursor.
  2. Filter -- Condition: httpRequest_1.body[].status equals active.
  3. Send Email -- Notify the team with the filtered results.

When Never Error is enabled, you can use a downstream If/Else node to check httpRequest_1.success and branch on whether the API call succeeded or returned an error response.

On this page

HTTP Request | Buildorado