🔌 n8n Tools

n8n API Request Builder

Visually configure your n8n HTTP Request node — URL, method, authentication, headers, query params, and body — then get the ready-to-import n8n workflow JSON with one click.

All HTTP methods
Auth types (Bearer, API Key, Basic)
Headers & query params builder
JSON / Form body editor
Live JSON preview
API presets (OpenAI, Slack, etc.)
⚡ Quick API Presets
Click a preset to auto-fill the builder with a ready-to-use API configuration.
🌐 Request
🔐 Authentication
📋 Request Headers
🔗 Query Parameters
📦 Request Body
⚙️ Advanced Options
👁️ Live Preview
Fill in the form to see a live preview...
📥 How to Import into n8n
1
Click Generate n8n Node JSON above and then Copy.
2
Open your n8n workflow canvas.
3
Press Ctrl+V (or Cmd+V on Mac) — n8n will paste the node directly onto the canvas.
4
Connect the node to your workflow and configure credentials if needed.
5
For the Full Workflow tab: use workflow menu (⋮) → Import from JSON.

n8n HTTP Request Node Builder — Configure Any API Without Guessing

The n8n HTTP Request node is the most powerful and flexible node in n8n — it can connect to virtually any REST API. But configuring it correctly involves setting the right method, URL, auth type, headers, query parameters, and request body. Getting the JSON structure wrong means the API call fails. This free builder lets you configure all of these visually, then generates the exact n8n node JSON you can paste directly into your workflow.

The builder includes presets for the most popular APIs used in n8n workflows — OpenAI, Slack, Airtable, Notion, Telegram, and GitHub — so you can start with a working configuration and customize it for your use case. It also generates the equivalent cURL command so you can test the API call directly from your terminal before importing into n8n.

🔐

All Auth Types Supported

The builder supports every authentication method used by modern REST APIs:

  • Bearer Token — adds Authorization: Bearer TOKEN header. Used by OpenAI, GitHub, most modern APIs.
  • API Key (Header) — adds a custom header like X-API-Key: KEY. Used by Airtable, SendGrid, many SaaS APIs.
  • API Key (Query) — appends ?api_key=KEY to the URL. Used by some weather and data APIs.
  • Basic Auth — encodes username:password as Base64 in the Authorization header.
  • Custom Header — any custom header name and value for non-standard auth.
📦

Request Body Types

Configure your request body in any format APIs accept:

  • JSON body — the most common format. The builder adds Content-Type: application/json automatically.
  • Form Data (x-www-form-urlencoded) — used by OAuth token endpoints, legacy APIs, and Stripe.
  • Multipart Form Data — for file uploads alongside other fields.
  • Raw Text — for XML, plain text, or other custom formats.
  • All body fields support n8n expressions like {{$json.fieldName}} for dynamic values.

API Presets Included

One-click presets for the most commonly used APIs in n8n:

  • OpenAI — pre-configured Chat Completions API call with Bearer auth and JSON body
  • Slack — post message to a channel using the Slack Web API
  • Airtable — list records from a base with API key header auth
  • Notion — query a Notion database with Bearer auth
  • Telegram — send a Telegram message via Bot API
  • GitHub — create a GitHub issue with Bearer auth
💻

cURL Export

The cURL export lets you test your API call directly in a terminal before importing into n8n. This is useful for:

  • Verifying the API works with your credentials before building the workflow
  • Debugging authentication issues — test the exact headers n8n will send
  • Sharing with teammates who prefer command-line testing
  • Documenting API calls — cURL is universally understood
  • Copy and paste directly into your terminal — no modifications needed

Frequently Asked Questions — n8n HTTP Request Node

How do I use n8n expressions in the HTTP Request body? +
n8n expressions use double curly braces syntax: {{$json.fieldName}}. In the request body, you can reference data from previous nodes. For example: {"email": "{{$json.email}}", "name": "{{$json.firstName}} {{$json.lastName}}"}. You can also use JavaScript expressions: {"timestamp": "{{new Date().toISOString()}}", "count": "{{$json.items.length}}"}. Note: when using expressions in a JSON body, n8n evaluates them at runtime — make sure the referenced fields exist in the incoming data or add fallbacks with ??.
What's the difference between 'Continue on Fail' options in n8n HTTP Request? +
n8n offers three error handling modes: (1) 'Stop Workflow' — any HTTP error (4xx, 5xx) stops the entire workflow immediately. Best for critical requests where failure should halt everything. (2) 'Continue (Regular Output)' — on error, passes the error information as a regular item to the next node. The error details are in $json.error. Best when you want to handle errors gracefully in the same flow. (3) 'Continue (Error Output)' — routes errors to a separate error output pin, letting you build a dedicated error handling branch while successful responses continue normally. Best for production workflows needing robust error handling.
How do I handle paginated API responses in n8n? +
For paginated APIs, n8n's HTTP Request node has a built-in Pagination feature. In the node's Options section, enable Pagination and configure: Pagination Mode (response contains next URL, or offset/page-based), the field path containing the next page URL (e.g. 'meta.next' or 'links.next'), and a completion condition (when the next URL is empty). For custom pagination, use a SplitInBatches loop: increment an offset or page number in a Set node, make the HTTP Request with the current page, check if more pages exist with an IF node, and loop back to SplitInBatches if true.