HomeAutomation Insights › n8n HTTP Request Node: The Complete Guide
Automation

n8n HTTP Request Node: The Complete Guide

By Ali · 2026-06-27 · Esipick.ai
n8n HTTP Request Node: The Complete Guide

If you've spent more than a week inside n8n, you've almost certainly hit a wall where the built-in integrations don't quite cover what you need. That's where the n8n HTTP Request node becomes your best friend. It's the Swiss Army knife of the platform — ugly on the surface, incredibly powerful once you know how it works. In this guide I'll walk you through everything I've learned building production automations for clients across the UK, from authentication patterns to handling paginated APIs.

What the n8n HTTP Request Node Actually Does

At its core, the HTTP Request node lets you call any REST API from inside an n8n workflow. No dedicated integration required. If a service has an API (and in 2024, every service worth using does), you can connect to it. I use it daily for things like:

The node supports GET, POST, PUT, PATCH, DELETE, HEAD, and OPTIONS methods. It handles JSON, form data, binary files, and raw text. In short — if HTTP can do it, this node can do it.

Setting Up Your First Request: The Anatomy of the Node

When you drop an HTTP Request node into your canvas, the first thing to configure is the Method and URL. Sounds obvious, but there are a few things that trip people up early on.

URL and Path Parameters

You can hardcode a URL, but you'll almost always want to use an expression. For example, if you're fetching a contact from HubSpot by ID that came from a previous node, your URL looks like this:

https://api.hubapi.com/crm/v3/objects/contacts/{{ $json.contactId }}

That double curly syntax pulls the contact ID directly from the incoming data. Clean, dynamic, and zero hardcoding.

Query Parameters vs Body

GET requests send data as query parameters. POST/PUT requests send data in the body. In the node UI, use the Query Parameters section for the former and set the Body Content Type to JSON for the latter. I've seen people add query params manually into the URL string — don't. Use the dedicated section so n8n handles the encoding properly.

Headers

Most APIs need at least an Authorization header and a Content-Type header. Add them in the Headers section. For bearer tokens, the value is literally Bearer YOUR_TOKEN_HERE — including the word Bearer, which people forget constantly.

Authentication: The Right Way to Handle Credentials

The n8n HTTP Request node has a dedicated Authentication section that supports:

My strong advice: always store credentials using n8n's credential manager rather than hardcoding them into expressions. It keeps your workflows clean, makes rotation easier, and stops secrets leaking into execution logs.

For APIs that use OAuth2 with client credentials flow (common in B2B SaaS), set the grant type to Client Credentials and let n8n handle token refresh automatically. I've had workflows running for six months without touching the auth setup.

Real Example: Pulling Leads from Instantly.ai into a Google Sheet

One of our clients — a B2B sales agency — needed to pull all campaign leads marked as 'Interested' from Instantly.ai and log them into a Google Sheet for the sales team every morning at 8am.

Instantly doesn't have an n8n native node, so we used the HTTP Request node. Here's the rough workflow:

The whole thing took about 45 minutes to build and saves their team roughly 2 hours of manual export work per week. The HTTP Request node was the only reason it was possible — Instantly's API is solid but there's no native n8n integration.

Handling Pagination and Large Datasets

Most APIs won't return all your data in one shot. They paginate — usually via a page parameter, a cursor, or a next URL in the response. Here's how I handle each:

Page-Based Pagination

Use a Loop Over Items node combined with a counter stored in a Set node. Increment the page number each loop, make the request, check if the results array is empty, and break the loop when it is.

Cursor-Based Pagination

After each request, grab the next_cursor value from the response and pass it as a query parameter on the next call. Use an IF node to stop when the cursor comes back null or undefined.

Link Header Pagination (GitHub-style)

Some APIs return a Link header with the next page URL baked in. The HTTP Request node exposes response headers — enable Include Response Headers and Status in the Options section to access them.

Common Errors and How to Fix Them

Pro Tips I Wish I'd Known Earlier

The n8n HTTP Request node is honestly one of the most underestimated tools in the platform. Once you're comfortable with it, you stop caring whether n8n has a native integration for something — you just build it yourself in ten minutes.

If you're building automations and finding the HTTP node is the piece blocking you, feel free to reach out to us at Esipick. We build these workflows day in, day out and are happy to point you in the right direction.

— Ali, Esipick

Want this automated for your business?

I build n8n workflows, WhatsApp automations, and AI pipelines — starting from $300. Most go live in under a week.

Get a Free Audit →