Overview
This node performs advanced HTTP requests with flexible configuration options and enhanced type conversion for request data. It supports all common HTTP methods (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS) and allows users to specify URLs, headers, and request bodies either statically or dynamically from incoming JSON data.
Typical use cases include:
- Integrating with REST APIs where dynamic request parameters are needed.
- Sending complex JSON payloads with automatic type validation and conversion.
- Handling HTTP redirects and SSL validation flexibly.
- Retrieving full HTTP responses including headers and status codes for debugging or advanced workflows.
For example, you can use this node to send a POST request with a JSON body constructed dynamically from previous workflow data, or perform a GET request with custom headers and timeout settings.
Properties
| Name | Meaning |
|---|---|
| Method | The HTTP method to use. Options: DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT |
| URL | The target URL for the HTTP request. Must be a valid HTTP or HTTPS URL |
| Use Dynamic Data | Whether to use dynamic data from incoming JSON input with automatic type conversion |
| Headers | Custom HTTP headers to send with the request (only when not using dynamic data). Multiple name-value pairs allowed |
| Body | JSON body to send with POST, PUT, or PATCH requests (only when not using dynamic data) |
| Options | Additional request options: |
| - Follow Redirects | Whether to follow HTTP redirects (default: true) |
| - Max Redirects | Maximum number of redirects to follow (default: 5) |
| - Return Full Response | Whether to return the full HTTP response including headers and status code (default: false) |
| - Timeout | Request timeout in milliseconds (default: 30000) |
| - Validate SSL Certificate | Whether to validate SSL certificates (default: true) |
Output
The node outputs an array of items corresponding to each input item processed. Each output item contains a json field structured as follows:
If "Return Full Response" option is false (default):
{ "data": <response_body> }Where
<response_body>is the parsed JSON or raw response body returned by the HTTP request.If "Return Full Response" option is true:
{ "statusCode": <HTTP_status_code>, "headers": { <response_headers> }, "body": <response_body>, "url": <requested_url>, "method": <HTTP_method_used> }The headers redact sensitive authorization tokens and cookies for security.
The node does not output binary data.
Dependencies
- Requires an internet connection to make HTTP requests.
- Supports optional API authentication via credentials configured in n8n (e.g., basic auth or header-based auth), but these are not mandatory.
- No external libraries beyond standard Node.js HTTP request helpers and n8n workflow utilities.
Troubleshooting
- Invalid URL error: The node validates the URL format strictly. Ensure the URL starts with
http://orhttps://and is well-formed. - Timeouts: Requests may fail if the server is slow or unresponsive. Adjust the "Timeout" option accordingly.
- SSL Validation errors: If connecting to servers with self-signed or invalid certificates, disable "Validate SSL Certificate" to avoid failures.
- Type conversion errors: When using dynamic data, malformed JSON or incorrect types in the input can cause conversion errors. Verify input data structure matches expected types.
- Authentication issues: If using credentials, ensure they are correctly configured and authorized for the target API.
- Redirect loops: Excessive redirects may cause errors; adjust "Max Redirects" or disable following redirects if necessary.