HTTP Request
output.http-request Output v0.1.0 Sends workflow data to an HTTP endpoint.
Ports
| Direction | Port | Label |
|---|---|---|
| Input | input | Payload |
| Output | success | Success |
| Output | error | Error |
Properties
| Property | Type | Default | Description |
|---|---|---|---|
Methodmethod | select | "POST" | HTTP method for the outbound request. GETPOSTPUTPATCHDELETE |
URLurl | string | — | Static target URL (or use the dynamic key below). |
Target URLtargetUrl | string | — | Resolved target URL. |
Target URL config keytargetUrlConfigKey | string | "targetUrl" | Config/secret key the target URL is read from at run time. |
Request body typecontentType | select | "application/json" | Content-Type for the request body you SEND (POST/PUT/PATCH). Ignored on GET. Does NOT control how the response is parsed — the response always comes back as { statusCode, ok, contentType, body }. application/jsonapplication/cbortext/plainapplication/xmltext/htmlapplication/x-www-form-urlencodedmultipart/form-dataimage/pngimage/jpegimage/gifimage/webpimage/svg+xmlapplication/pdfapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheettext/csvaudio/mpegvideo/mp4application/octet-stream |
Headersheaders | json | — | Additional request headers as a JSON object. |
Body pathbodyPath | string | — | Dotted path to the value used as the request body. |
Expect 2xxexpectOk | boolean | true | Fail the node on non-2xx responses. |
Return response bodyincludeResponseBody | boolean | true | Output the response body (the fetched data) as this node's result. Turn off to emit only the status code. |
Parse JSON responsesparseResponse | boolean | true | When the response Content-Type is JSON, output `body` as the PARSED value (and `bodyText` as the raw string) — no script needed to use the data. Malformed JSON keeps the string body and sets `parseFailed` instead of failing. On by default for new nodes; workflows saved without this option keep the original string `body`. |
Examples
Fetch and use a JSON API — no glue code
With Parse JSON responses on (the default for new nodes), the response body arrives as a
parsed value, so the next node can use {{ $json.body.… }} directly:
{
"id": "fetch",
"type": "output.http-request",
"config": { "method": "GET", "url": "https://api.example.com/orders/{{ $json.orderId }}" }
}
Downstream: {{ $json.body.status }}, {{ $json.body.items.length }} — no script node, no
JSON.parse.
Scrape, then shape (the shipped Scrape Headlines demo)
{ "method": "GET", "url": "https://example.com/" }
…feeding HTML Extract (CSS selectors) → Split Out → Sort → Limit. The whole
pipeline is list nodes; the request node just delivers body.
Tips
parseResponsekeeps the raw string inbodyTextalongside the parsedbody; malformed JSON setsparseFailedinstead of failing the node. Workflows saved before this option keep their original string-body behavior.- The URL, headers and body fields all take
{{ }}expressions. - Outbound requests pass an SSRF guard — private-range targets are refused unless the engine is configured to allow them.
- Binary responses (images, PDFs) become first-class binary items that S3 / Write File / Telegram media operations consume directly.
This page is generated from the node registry by gen-node-docs.mjs on every
site build — ports, properties, defaults and visibility rules cannot drift from the code.
The examples above are hand-authored and merged in.