Get Request Node
Fetch anything from an API and drop it straight into your graph
- headers
- query_list
- text
- file
- json
- any
The Get Request Node is the "go read something from the internet" node. You hand it a URL, it fetches it, and the response comes back as text, raw bytes, and parsed JSON on three separate sockets. No model, no API key, no setup - it's just the requests library with a face on it. If your workflow needs a prompt from your own server, an image from an img2img endpoint, or a live value from a status API, this is the one you reach for.
It lives in ComfyUI-HttpRequestNodes, a fork of felixszeto's ComfyUI-RequestNodes that mostly exists to move images, audio, and video in and out of your graph over HTTP. This pack is the opposite of the API-wrapper nodes that call cloud image models - it's a plain HTTP client, so it works against anything that speaks HTTP, including services you run yourself on localhost.
How it works
Under the hood it's one requests.get(). The URL goes in target_url, and two optional inputs shape the call:
query_list(KEY_VALUE) - a dict of query parameters appended to the URL. Wire a Key/Value Node in here and{"model": "flux"}turns the request into?model=flux.headers(KEY_VALUE) - request headers. The node already setsContent-Type: application/json; anything you add is merged on top. This is where an auth token goes.
You get four outputs and they're all populated from the same response: text (the raw response body as a string), file (raw bytes - useful when the endpoint returns a PNG), json (the response parsed, or {"error": "Response is not valid JSON"} when it isn't), and any (raw bytes again, as a wildcard). If the request throws, the error message lands in all four outputs instead of crashing your run - a nice touch for debugging.
Two quirks worth knowing. First, file here is raw bytes, which is exactly what the pack's Blob To Image Node wants - so "fetch an image from an API and preview it" is a two-node workflow. Second, the node forces proxies=None, meaning it ignores any system HTTP proxy. That's usually fine, but if you're behind a corporate proxy and GETs time out, this is why.
Install
ComfyUI Manager → Install Custom Nodes → search ComfyUI-HttpRequestNodes → Install, then restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ahkimkoo/ComfyUI-HttpRequestNodes
pip install soundfile imageio imageio-ffmpeg
Restart and it appears under RequestNode/Get Request. No model files to download, no heavy dependencies.
When you'd actually use it
Pair it with a String Replace Node to build URLs from parameters, feed its json output into anything that takes a JSON dict, or wire file straight into Blob To Image for a remote-source image. For anything more than a GET - POST, PUT, DELETE, retries, status codes - the pack's Rest Api Node does all of it in one node, and the Get node stays the simple no-frills option. One caution: the node sends whatever URL you type to the world, so don't paste URLs from a workflow you don't trust, and remember anything it fetches has left your machine's control.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| target_url | STRING | https://example.com/api | — |
| headersopt | KEY_VALUE | — | |
| query_listopt | KEY_VALUE | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| file | BYTES | — |
| json | JSON | — |
| any | ANY | — |