Pipedream HTTP requests → n8n HTTP Request node
Updated 2026-10-21 · 3 min read
The n8n HTTP Request node replaces both ways Pipedream workflows called APIs: the no-code Send any HTTP Request action and axios calls inside code steps (Pipedream HTTP docs). Moving the call out of code into the node also solves two n8n-specific problems: n8n's Code node docs point HTTP calls to this node, and n8n Cloud can't load axios at all.
Mapping
| Pipedream | n8n HTTP Request node |
|---|---|
| Send any HTTP Request action | HTTP Request node, same method, URL, headers, body |
| App attached to the request for auth | Authentication → Predefined Credential Type (the app's n8n credential) |
axios($, config) from @pipedream/platform |
HTTP Request node; response body is the node output |
axios / got / fetch in code |
HTTP Request node before or after the Code node |
$.send.http() (async request, response not needed) |
HTTP Request node; set On Error to Continue if failures must not stop the run |
| Looping over pages in code | Pagination option |
| Error body shown on 4xx/5xx | Response option Never Error, or Include Response Headers and Status |
Node settings that matter
From the HTTP Request node docs:
- Methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT.
- Authentication: a Predefined Credential Type, which n8n recommends when one exists for the service, or Generic credentials (Basic, Digest, Header, OAuth1, OAuth2, Query and more).
- Import cURL: paste a cURL command and n8n fills in the request. Handy when you have the request in Pipedream's step or in an API's docs.
- Pagination: Off, Update a Parameter in Each Request, or Response Contains Next URL. Expressions can read
$response,$pageCountand$request. - Batching: Items per Batch and Batch Interval (ms) to stay under rate limits.
- Response: Response Format (Autodetect, File, JSON, Text), Include Response Headers and Status, Never Error.
Before and after
Pipedream code step with the platform axios wrapper:
import { axios } from "@pipedream/platform";
export default defineComponent({
props: { github: { type: "app", app: "github" } },
async run({ steps, $ }) {
return await axios($, {
url: `https://api.github.com/repos/${steps.trigger.event.body.repo}/issues`,
headers: { Authorization: `Bearer ${this.github.$auth.oauth_access_token}` },
});
},
});
In n8n this becomes one node:
- Method: GET
- URL:
https://api.github.com/repos/{{ $('Webhook').first().json.body.repo }}/issues - Authentication: Predefined Credential Type → GitHub
The token never appears in the workflow. It lives in an n8n credential, which you create once (credentials guide).
Response shape
The platform axios wrapper returned only data. The HTTP Request node returns the parsed body as the item's JSON by default; if the API returns a top-level array, the node outputs one item per element (behavior of the node's source code; the docs don't spell it out). Nodes after it may need $json instead of $json.data. Turn on Include Response Headers and Status when the next step needs the status code.
When to keep the call in code
Keep the request in code only when it is tangled with logic, for example signing a request with a computed HMAC on every retry. On self-hosted n8n you can allow-list axios for the Code node (npm guide). For everything else, a node is easier to read, retry and debug in the n8n executions view.
In our converter
Common Pipedream actions (HTTP requests, Slack, Google Sheets and others) are converted to HTTP Request nodes with the matching n8n credential type, and the report lists the credentials to create. axios calls inside code steps are rewritten to a helper call that n8n doesn't document for the Code node, so test those steps after import or move the call into an HTTP Request node. Check a step for free with the code step checker, or see the full list in the free report. Full process: migrate Pipedream to n8n.
Not affiliated with Pipedream or n8n.
FAQ
- What replaces axios from @pipedream/platform in n8n?
- The HTTP Request node. It takes the method, URL, headers and body, and attaches an n8n credential for authentication.
- Does the n8n HTTP Request node support pagination?
- Yes. The Pagination option can update a parameter on each request or follow a next URL from the response, using $response, $pageCount and $request in expressions.
- Can I paste a cURL command into n8n?
- Yes. The HTTP Request node has an Import cURL button that fills in the method, URL, headers and body.
- How do I stop the HTTP Request node failing on 4xx responses?
- Turn on the Never Error option. By default the node succeeds only on 2xx responses.