n8n HTTP Request Node guide - browser to server API request flow illustration
Tutorial

How to Use the n8n HTTP Request Node: A Complete Beginner's Guide

5 min read

Quick Summary

  • The HTTP Request node connects n8n to any REST API using GET, POST, PUT, DELETE methods
  • Configure authentication via API keys, Bearer tokens, or OAuth in the Authentication tab
  • Use query parameters for GET requests and JSON/form-data body for POST requests
  • Always handle errors and respect rate limits for production workflows

The n8n HTTP request node is your gateway to connecting workflows with virtually any external API. Whether you're pulling data from a weather service, posting to Slack, or integrating with a custom backend, this node handles the heavy lifting.

If you're tired of wrestling with API documentation and manual request formatting, this guide walks you through everything you need—from basic GET requests to advanced authentication patterns. By the end, you'll be making API calls confidently and understanding when it might be easier to let Synta's AI copilot handle the complexity for you.

What the n8n HTTP Request Node Actually Does

At its core, the HTTP Request node in n8n sends HTTP requests (GET, POST, PUT, DELETE, etc.) to external URLs and returns the responses for use in your workflow. Think of it as a universal adapter - if a service has a REST API, you can connect to it.

Unlike dedicated nodes for specific services (like the Slack or Airtable nodes), the HTTP Request node requires more configuration but offers unlimited flexibility. You define the method, headers, body, and query parameters yourself.

Setting Up Your First GET Request

HTTP methods comparison diagram showing GET, POST, PUT, DELETE

Let's start with the simplest HTTP request—fetching data from a public API. Drag the HTTP Request node onto your workflow canvas. In the General tab, set Method to GET and enter your URL. Use the Query Parameters section for filtering instead of hardcoding them in the URL. Click Execute Node to test.

POST Requests: Sending Data to APIs

POST requests send data to an API - creating records, triggering actions, or submitting forms. Set Method to POST, enter the webhook URL, and in the Body tab select JSON as the content type. Always check the API documentation to see what content type it expects.

Authentication: Bearer Tokens, API Keys, and OAuth

Most APIs require authentication. The n8n HTTP request node supports multiple methods in the Authentication tab. For API keys, select Header Auth and create a credential with your API header name and key. For Bearer tokens, use Header Auth with Authorization as the name and Bearer YOUR_TOKEN as the value. For OAuth 2.0, select OAuth2 API from the dropdown and configure credentials - n8n handles token refresh automatically.

Handling JSON Responses

After an HTTP Request node executes, reference its output in subsequent nodes using expressions like {{$json.data.user.name}}. The HTTP Request node throws an error on non-2xx status codes unless you enable the Continue on Fail option in node settings.

Real-World Example: Fetching Weather Data

Here's a complete example: Schedule Trigger runs daily at 8 AM, HTTP Request fetches weather from OpenWeatherMap API, Function Node formats the data, and Slack Node posts to your team channel.

Common HTTP Request Node Errors

401 Unauthorized means bad credentials - check your API key. 403 Forbidden means valid auth but no permission - verify your API key has the right scopes. 429 Too Many Requests means rate limit hit - add a Wait node. 500 Server Error means the API is down - retry with exponential backoff.

Conclusion

The n8n HTTP request node opens up unlimited integration possibilities. While it requires more setup than dedicated nodes, the flexibility is worth it for custom APIs and advanced use cases.

For workflows that would take hours to build manually, Synta can generate them from a simple description - letting you skip the node-by-node configuration entirely. Start with simple requests, respect rate limits, and always handle errors gracefully.