The N8N HTTP Request node sends HTTP requests to any REST API endpoint you specify. It supports all standard methods (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS), every common authentication type (API Key, Bearer, Basic Auth, OAuth1, OAuth2, Digest), built-in pagination, and automatic JSON parsing. If a service has an API, this node can reach it — no built-in N8N integration required.

Updated September 2026. This tutorial covers six steps: making your first GET request, adding authentication, sending a JSON POST body, handling paginated responses, parsing the output, and five real business workflows you can build today.

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:

Start with the simplest case: a GET request that requires no authentication.

Tip: Most API documentation includes example curl commands. N8N has a built-in curl import feature — paste a curl command into the import field at the top of the HTTP Request node and N8N will auto-populate the method, URL, headers, and body. This is the fastest way to configure requests from any API docs page.

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.

  1. Set Method to GET
  2. Set URL to the API endpoint (for example: https://open.er-api.com/v6/latest/USD)
  3. Leave Authentication as "None" for public endpoints
  4. 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"
OAuth1 Older APIs (Twitter v1, some payment gateways) Create "OAuth1 API" credential. Enter consumer key, consumer secret, and token URLs
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. For APIs with unusual auth schemes, N8N also offers a "Simplified Custom Auth" option where you define the auth logic directly in the credential.

Practical Example: OpenAI API Call

Here is the exact configuration to call the OpenAI Chat Completions API from an N8N workflow:

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:

  1. Set Method to POST
  2. Enable Send Body
  3. Set Body Content Type to JSON
  4. 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. N8N supports two modes — check your API's documentation to see which pattern it uses:

Mode When to Use How It Works
Update a Parameter in Each Request APIs that accept a page number, offset, or cursor in a query parameter or body N8N increments or updates the parameter on each request. You define the parameter name, starting value, and the completion condition. Works for offset-based, page-number-based, and cursor-based APIs where you update the parameter yourself.
Response Contains Next URL APIs that return a "next page" URL inside the response body or headers N8N reads the next-page URL from each response and follows it automatically. You specify the JSON path or header where the URL lives (e.g. body.meta.next). N8N stops when the field is empty or missing.

N8N merges all pages into a single output array, so downstream nodes see the complete dataset as if it came from one request. Use the built-in variable $pageCount inside completion conditions to add a safety cap on the number of pages fetched.

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:

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.

Using the HTTP Request Node with N8N AI Agents

When you attach the HTTP Request node as a tool to an N8N AI agent, N8N automatically optimizes the response format to reduce token usage. Instead of passing raw HTML or oversized JSON back to the model, N8N strips it down to the relevant content. You can also configure the response type (JSON, HTML, or Text) explicitly in the node to control what the agent receives.

This makes the HTTP Request node the standard way to give N8N AI agents access to external APIs — for example, letting an agent query a knowledge base API, look up customer records, or fetch live pricing data mid-conversation.

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:

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

Download: Four Tested-by-You HTTP Request Examples

Everything above describes what the node does. These four workflows let you watch it do it. Each one is a complete n8n workflow JSON — import it, press Test workflow, and read the output. They point at public APIs that need no key, so the only setup is one credential in the first example.

They are built for HTTP Request node typeVersion 4.2. They contain no credentials and no secrets; the auth example references an n8n credential by name, which is the whole point it is making.

Example What it demonstrates What you should see
01 — Authentication patterns Header auth via a credential, query auth, and the same token pasted straight into the node All three authenticate. That is the lesson: nothing in n8n warns you about the third, and the cost only arrives at rotation time.
02 — Pagination, both modes Update a parameter in each request against an offset API, and Response contains next URL against a cursor API 150 products and 60 Pokémon, from three requests each, merged into one output array.
03 — Rate limits and back-off Request batching, retry settings, and separating a retryable 429 from a permanent 401 Each simulated status classified retryable: true/false, with Retry-After honoured when the server sends it.
04 — Safe retries and idempotency An idempotency key derived from the order, next to one generated per attempt The stable key is identical across runs. The per-attempt key is not — which is why it deduplicates nothing.

How to import one: download the file, open n8n, choose Workflows → Import from File, and select it. Every node carries a note explaining what it is doing and why; open the node and read the Notes panel rather than only running it.

Each file's meta block records the n8n version it was written for, the setup required, the expected output, and the failure cases worth triggering on purpose. Two of the four exist specifically to show a plausible pattern failing: example 01's third node and example 04's second node both work, pass review, and are wrong. Run them and watch what the server actually receives.

The examples cover the request. The thing that breaks in production is the recovery — what happens on the retry, and whether re-running is safe. That is the subject of the n8n error handling guide, which carries two more downloadable workflows: an error workflow that tells you whether a failed run is safe to replay, and a recovery workflow that will not do the same work twice.

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.

Two nodes pair with it constantly. When the service does have a first-party node, use it: the n8n Gmail integration walks through the OAuth2 credential setup and every operation the Gmail node exposes, which is less work than hand-rolling the same calls through HTTP Request. And when the job is a poll rather than a reaction, the n8n Schedule Trigger guide covers the cron syntax and the timezone chain that decides when your API call actually fires.

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.

Book a Free Discovery Call

Suyash Raj
Suyash Raj Founder, Voxdonna AI and AiSewak. Writes here about n8n, AI agents, and voice automation.