Most N8N tutorials cover the popular built-in integrations: Google Sheets, Slack, HubSpot, Gmail. Those are great. But what happens when you need to connect to a service N8N does not have a native node for?
That is where the HTTP Request node comes in. It is the single most powerful node in N8N because it gives you direct access to any REST API in the world. No built-in integration required.
This tutorial walks you through everything: basic GET and POST requests, adding authentication, handling pagination, parsing JSON responses, and five real business workflows you can build today. By the end, you will be able to connect N8N to virtually any software your business uses.
If you are still getting started with N8N, read how to build your first N8N workflow first. If you are looking to connect N8N to Google Sheets specifically, that is covered in the Google Sheets integration guide.
What Is the HTTP Request Node?
The N8N HTTP Request node sends HTTP requests to any URL you specify. You control the method (GET, POST, PUT, PATCH, DELETE), headers, query parameters, request body, and authentication. It returns the API response as structured data that flows into the next node in your workflow.
Think of it as a programmable web browser that makes API calls on your behalf and hands the results to the rest of your workflow. Every API that accepts HTTP requests works with this node. That covers thousands of tools: internal company APIs, government data sources, niche SaaS tools, payment processors, shipping carriers, and more.
Step 1: Add the HTTP Request Node to Your Workflow
In the N8N canvas, click the plus button to add a new node. Search for "HTTP Request" and select it. You will see a configuration panel on the right side with these main sections:
- Method - GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS
- URL - The full API endpoint URL
- Authentication - How to authenticate with the API
- Send Headers - Custom request headers
- Send Query Parameters - URL query string parameters
- Send Body - Request body for POST/PUT/PATCH
- Options - Advanced settings including pagination, timeouts, SSL, and response handling
Start with the simplest case: a GET request that requires no authentication.
Step 2: Make Your First GET Request
For this example, we will use the Open Exchange Rates API to fetch current currency data. This is a real-world pattern: fetching data from an external source on a schedule, then routing it into a spreadsheet or database.
- Set Method to GET
- Set URL to the API endpoint (for example:
https://open.er-api.com/v6/latest/USD) - Leave Authentication as "None" for public endpoints
- Click "Execute node" to test
N8N will display the full JSON response in the output panel. You can see the data structure and start referencing fields in downstream nodes using N8N's expression syntax: {{ $json.rates.EUR }} would pull the EUR exchange rate from that response.
Step 3: Add Authentication
Most production APIs require authentication. N8N supports all common methods. Here is how each one works in the HTTP Request node:
| Auth Method | When to Use | How to Configure in N8N |
|---|---|---|
| API Key (Header) | Most common. APIs like SendGrid, OpenAI, Stripe | Create "Header Auth" credential. Set header name (e.g. X-API-Key) and value (your key) |
| Bearer Token | JWTs and OAuth access tokens | Create "Header Auth" credential. Set header to Authorization, value to "Bearer your-token" |
| Basic Auth | Legacy APIs, WordPress REST API, some internal tools | Create "Basic Auth" credential. Enter username and password |
| OAuth2 | Google APIs, Salesforce, modern SaaS platforms | Create OAuth2 credential. Enter client ID, secret, and token URLs from the provider |
| API Key (Query Param) | Older APIs that put the key in the URL | Add query parameter named "api_key" (or whatever the API expects) with your key as the value |
To add a credential: click "Authentication" in the node panel, select the method, then click "Create new credential." N8N stores the credential encrypted and separate from your workflow JSON. This means you can share or export workflow templates without exposing API keys.
Practical Example: OpenAI API Call
Here is the exact configuration to call the OpenAI Chat Completions API from an N8N workflow:
- Method: POST
- URL:
https://api.openai.com/v1/chat/completions - Authentication: Header Auth with header name
Authorizationand valueBearer sk-your-key-here - Content-Type header:
application/json - Body (JSON):
{ "model": "gpt-4o", "messages": [{"role": "user", "content": "{{ $json.prompt }}"}], "max_tokens": 500 }
Notice the {{ $json.prompt }} expression. That pulls the prompt text from whatever node fed data into the HTTP Request node. This is how you build dynamic API calls where the request body changes based on workflow data.
Step 4: Send a POST Request with a JSON Body
POST requests send data to an API, typically to create or update a record. The configuration differs from GET in one key area: you need to define the request body.
In the HTTP Request node:
- Set Method to POST
- Enable Send Body
- Set Body Content Type to JSON
- Enter your JSON in the body field, using N8N expressions to inject dynamic values
For form-based APIs that expect application/x-www-form-urlencoded, switch the Body Content Type to "Form" and add key-value pairs instead. For file uploads, use "Form-Data" and attach the file from a previous node.
Step 5: Handle Pagination
Many APIs return results in pages. Without pagination handling, your workflow only gets the first page and silently misses everything else. N8N has built-in pagination support that handles this automatically.
In the HTTP Request node, scroll down to Options and enable Pagination. You will see three strategies:
- Offset / Limit: The API accepts a page number or offset parameter. N8N increments it until the response returns fewer results than the limit.
- Cursor-based: The API returns a cursor or "next page" token in each response. N8N reads that token and uses it in the next request automatically.
- URL-based: The API returns a full "next page" URL in the response. N8N follows it until no next URL exists.
For offset-based pagination, configure it like this:
- Pagination type: Offset
- Limit parameter name:
limit(whatever your API calls it) - Offset parameter name:
offset - Page size: 100 (or whatever the API maximum is)
- Complete when: Response count is less than page size
N8N merges all pages into a single output array, so downstream nodes see the complete dataset as if it came from one request.
Step 6: Parse and Use the Response Data
When the HTTP Request node returns data, N8N automatically parses JSON responses. You access fields using expressions in any downstream node.
Common patterns:
{{ $json.id }}- top-level field named "id"{{ $json.customer.email }}- nested field{{ $json.items[0].name }}- first item in an array{{ $json.items.length }}- count of items in array
If the API returns an array at the top level (not wrapped in an object), use the Split In Batches node or the Item Lists node to loop through each item and process them individually.
For complex response reshaping, add a Set node after the HTTP Request node to rename fields, extract nested values, or calculate derived fields before they reach your database or next API call.
Five Real Business Workflows Using the HTTP Request Node
1. Enrich CRM Contacts with Company Data
Trigger: New contact added in HubSpot (HubSpot native node). Action: POST to Clearbit's Enrichment API with the contact's email address. Use the HTTP Request node to call https://person.clearbit.com/v2/combined/find?email={{ $json.email }}. Map the returned company name, industry, and employee count back into HubSpot fields using another HubSpot node. This workflow alone saves 15 minutes of manual research per lead.
2. Post to Any Social Network
Most social networks have official N8N nodes, but smaller platforms often do not. Use the HTTP Request node to POST to LinkedIn's API, Mastodon instances, Discord webhooks, or Telegram bots. Trigger from an RSS feed node or a Google Sheets row to schedule content across platforms without a separate social media tool.
3. Sync Orders Between Shopify and a 3PL
When a new Shopify order triggers your workflow, use the HTTP Request node to POST the order details to your third-party logistics provider's API. The body pulls order data from Shopify's trigger output: customer name, shipping address, line items, and quantities. The 3PL confirms with an order ID, which you write back to a Google Sheet for tracking. This replaces a full middleware subscription.
4. Monitor a Competitor's Pricing
Schedule a workflow to run every morning. Use the HTTP Request node to call a price monitoring API or scraping service. Compare the returned prices against a baseline stored in Airtable (using the N8N Airtable integration). If prices drop below a threshold, trigger a Slack alert. If they rise above yours, trigger an email summary. This keeps your team informed without any manual checking.
5. Generate and Send AI-Written Reports
Pull weekly data from your analytics platform using its API and the HTTP Request node. Format the data into a prompt. Use a second HTTP Request node to call OpenAI's API. Take the AI-generated summary and send it via a third HTTP Request node to your email API (SendGrid, Postmark, etc.). One workflow, no subscriptions beyond the APIs you already use.
Want to see what this looks like in production? The Le Marquier case study shows how multi-API N8N workflows cut operational costs by 80% for a real SMB. The same HTTP Request node patterns you are learning here are the building blocks.
Common Errors and How to Fix Them
Pairing this guide with the N8N error handling best practices will make your HTTP Request workflows production-ready. But here are the most common issues specific to this node:
- 401 Unauthorized: Authentication is wrong. Double-check the credential configuration, header name, and whether the API expects "Bearer" prefix on the token.
- 403 Forbidden: You are authenticated, but the API key or account does not have permission for this endpoint. Check the API's permission/scope settings.
- 400 Bad Request: The request body is malformed. Check that the Content-Type header matches the body format. Validate your JSON syntax.
- 429 Too Many Requests: Rate limit hit. Enable the "Retry on Fail" option in the HTTP Request node and add a Wait node before it to throttle requests.
- SSL Certificate Error: The API's certificate is not trusted. This happens with some internal or self-hosted APIs. Enable "Ignore SSL Issues" in Options, but only for trusted internal services.
When to Use the HTTP Request Node vs. a Built-In Integration
| Situation | Use Built-In Node | Use HTTP Request Node |
|---|---|---|
| Common CRUD operations (create, read, update) | Yes, faster setup | Not needed |
| Advanced endpoints the built-in node does not expose | No | Yes |
| Service with no N8N integration at all | No | Yes |
| Internal company API | No | Yes |
| OAuth2 flow setup (first time) | Yes, built-in handles the flow | More complex |
| Bulk data fetch with pagination | Depends on the node | Yes, reliable pagination built in |
Taking This Further: N8N Automation for Your Business
The HTTP Request node is the foundation for connecting N8N to the systems your business already uses. Once you see how it works, you stop looking for dedicated integrations and start seeing APIs everywhere.
The question for most SMBs is not whether to automate. It is where to start and what to prioritize. Use our AI readiness assessment to identify which workflows in your business are the best candidates for automation right now. And use the ROI calculator to put numbers on the time and cost savings before you build anything.
If you want someone to build and maintain these N8N workflows for you, that is exactly what we do at our N8N automation service. We have built integrations with dozens of APIs for clients across industries, including the Le Marquier project where N8N workflows now handle 98% of customer interactions automatically.
Frequently Asked Questions
What is the N8N HTTP Request node used for?
The N8N HTTP Request node lets you connect to any REST API that N8N does not have a built-in node for. You configure the URL, HTTP method, headers, authentication, and request body directly in the node. It handles GET, POST, PUT, PATCH, and DELETE requests, making it the universal connector for any third-party service with an API.
How do I add authentication to the N8N HTTP Request node?
N8N supports several authentication methods natively in the HTTP Request node: API Key (header or query string), Bearer Token, Basic Auth (username and password), OAuth2, and Digest Auth. You create a credential object in N8N's credential store, then select it from the Authentication dropdown in the node. This keeps your API keys out of the workflow JSON.
Can the N8N HTTP Request node handle paginated API responses?
Yes. N8N has built-in pagination support in the HTTP Request node. Under Options, you can configure pagination using cursor-based, offset-based, or page-based strategies. N8N will automatically loop through pages and merge results into a single output array, so you do not need to build manual looping logic.
What is the difference between using the HTTP Request node and a built-in N8N integration?
Built-in N8N integrations are pre-configured with field mappings and OAuth flows. They are faster to set up for common operations. The HTTP Request node gives you full access to every API endpoint, including custom or less common ones that built-in nodes do not expose. Use built-in nodes for standard operations, and the HTTP Request node for advanced API calls or services without a dedicated N8N integration.
How do I parse a JSON API response in N8N after using the HTTP Request node?
When the HTTP Request node returns JSON, N8N automatically parses it. You can access fields using expressions in subsequent nodes: {{ $json.fieldName }} for top-level fields, or {{ $json.nested.field }} for nested objects. Use the Set node to reshape the data before passing it downstream.
Ready to Get Started?
Book a free 30-minute discovery call. We'll identify your biggest opportunities and show you exactly what AI automation can do for your business.