n8n HTTP Request Node Documentation: A Comprehensive Guide to API Integrations

If you are building workflows in n8n, you will eventually hit a wall where a pre-built node doesn’t exist for the service you need. Enter the HTTP Request node.

This node is the “Swiss Army Knife” of n8n. It allows you to talk to any service on the internet that has an API. However, because it is so flexible, configuring it can be intimidating.

Below, we expand on the official n8n http request node documentation, providing you with a practical guide to mastering API calls, authentication, and data manipulation within your workflows.


What is the HTTP Request Node?

The HTTP Request node allows n8n to send HTTP requests (GET, POST, PUT, DELETE, etc.) to any URL. It is used to fetch data from external sources, update records in a CRM, send webhooks, or interact with custom internal APIs.

While n8n has hundreds of dedicated nodes (like Google Sheets, Slack, or Airtable), the HTTP Request node is necessary when:

  1. A dedicated node does not exist for your specific tool.
  2. The dedicated node lacks a specific endpoint or feature you need.
  3. You are connecting to a custom or internal API.

Core Configuration Parameters

To successfully set up this node, you need to understand the five main configuration areas.

1. Request Method

This defines the action you want to perform.

  • GET: Retrieve data (e.g., “Get a list of users”).
  • POST: Create new data (e.g., “Create a new lead”).
  • PUT/PATCH: Update existing data.
  • DELETE: Remove data.

2. URL

This is the endpoint provided by the API documentation of the service you are connecting to.

  • Pro Tip: You can make this dynamic. By clicking the “Expression” cog wheel next to the URL field, you can insert data from previous nodes (like an ID) directly into the URL string (e.g., https://api.example.com/users/{{$json[“userId”]}}).

3. Authentication

Most APIs require permission to access. n8n simplifies this via the Authentication dropdown.

  • Predefined Credential Type: If n8n already knows the service (e.g., OpenAI, Hubspot), select it here.
  • Generic Credential Type: Use this for custom connections. Common types include:
    • Header Auth: For API Keys (e.g., Authorization: Bearer <key>).
    • Basic Auth: For Username/Password combinations.
    • Query Auth: When the API key must be sent in the URL string.

4. Send Query Parameters

Query parameters appear at the end of a URL after a ? (e.g., ?limit=10&sort=desc).
Instead of typing these manually into the URL string, use the “Send Query Parameters” toggle. This keeps your URL clean and allows you to dynamically inject values into specific parameters using the expression editor.

5. Send Body (Payload)

Used primarily for POST, PUT, and PATCH requests. This is the data you are sending to the server.

  • JSON: The most common format. You can construct the JSON manually or reference a JSON object from a previous node.
  • Form-Data: Used for uploading files or submitting form-like data.

Advanced Features and “Hidden” Gems

The official documentation covers the basics, but here are the features that power-users rely on.

The “Import cURL” Feature

This is a massive time-saver. If the API documentation you are reading provides a cURL example, you don’t need to manually configure the node.

  1. Copy the cURL command from the API docs.
  2. In the n8n HTTP Request node, click the request method dropdown (or look for the import button in newer versions).
  3. Select Import cURL.
  4. Paste the code. n8n will automatically fill in the Headers, Body, and Method for you.

Pagination

When you request a list of items (GET), APIs often limit the results (e.g., 50 items per page). To get all items, you need pagination.
The n8n HTTP Request node has a built-in Pagination setting. You can configure it to:

  • Loop through pages automatically.
  • Stop when a specific condition is met (e.g., the returned list is empty).

Error Handling (The “Settings” Tab)

By default, if an API call fails (returns a 4xx or 5xx status), the workflow stops.
To prevent this:

  1. Go to the Settings tab of the node.
  2. Toggle “On Error” to “Continue”.
  3. This allows you to add an If node immediately after to check json.statusCode. If it is 200, proceed; if not, send an alert to Slack/Email.

Common Troubleshooting

If your request isn’t working, check these three things first:

  1. Headers: Many APIs require a Content-Type: application/json header. n8n usually adds this automatically when you select JSON as the body type, but some strict APIs require it manually.
  2. Data Structure: Ensure your JSON body is valid. Use a JSON validator if you are typing the code manually.
  3. Variable Resolution: If you are using expressions (purple text), ensure the previous node actually has data. If the input is empty, the variable in the URL or Body will resolve to nothing, causing an error.

Conclusion

Mastering the HTTP Request node is the equivalent of unlocking the full potential of n8n. While the platform offers great pre-built integrations, the ability to read and implement the n8n http request node documentation allows you to build truly custom, enterprise-grade automations without waiting for official updates.

Start by testing with a simple GET request to a public API, and soon you will be orchestrating complex POST requests across your entire tech stack.