# How to receive http data stream in node red?

**URL:** <https://discourse.nodered.org/t/how-to-receive-http-data-stream-in-node-red/84049>\
**Category:** General\
**Created:** [27 December 2023 09:50 UTC](https://discourse.nodered.org/t/how-to-receive-http-data-stream-in-node-red/84049 "2023-12-27T09:50:28Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![werneroostendorp](https://avatars.discourse-cdn.com/v4/letter/w/35a633/32.png) [@werneroostendorp](https://discourse.nodered.org/u/werneroostendorp)\
**Post date:** [27 December 2023 09:50 UTC](https://discourse.nodered.org/t/how-to-receive-http-data-stream-in-node-red/84049/1 "2023-12-27T09:50:28Z")

</div>

I have a device that generates events. These events can be accessed in the browser by entering the IP address of the reader and appending "/datastream" to the URL. In the browser, I see individual JSON files coming in. Now, I would like to receive this information in Node-RED. I have already tried to do this using a GET request, but without success. I couldn't find any information online on how to get this data stream (including new incoming events) into Node-RED.

 ![reader](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/3/4384f8045a85d4d4f406aa3304222fade02cc70f.jpeg)

Can someone please help me get started?

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [27 December 2023 10:10 UTC](https://discourse.nodered.org/t/how-to-receive-http-data-stream-in-node-red/84049/2 "2023-12-27T10:10:31Z")

</div>

Do you mean the web page is "streaming" in the sense that you can see it "live" as it happens, or you have to refresh the page to see the latest?

---

<div class="post-metadata">

**Author:** ![werneroostendorp](https://avatars.discourse-cdn.com/v4/letter/w/35a633/32.png) [@werneroostendorp](https://discourse.nodered.org/u/werneroostendorp)\
**Post date:** [27 December 2023 10:11 UTC](https://discourse.nodered.org/t/how-to-receive-http-data-stream-in-node-red/84049/3 "2023-12-27T10:11:12Z")

</div>

Live as it happens, i don't need to refresh the page.

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [27 December 2023 10:14 UTC](https://discourse.nodered.org/t/how-to-receive-http-data-stream-in-node-red/84049/4 "2023-12-27T10:14:02Z")

</div>

Ok, this may be using a concept called SSE ( **S** erver **S** ent **E** vents)

Try this node by our own @BartButenaers

> **[node-red-contrib-sse-client](https://flows.nodered.org/node/node-red-contrib-sse-client)**
>
> A Node Red node to receive Server Sent events

Its specially designed for SSE

---

<div class="post-metadata">

**Author:** ![werneroostendorp](https://avatars.discourse-cdn.com/v4/letter/w/35a633/32.png) [@werneroostendorp](https://discourse.nodered.org/u/werneroostendorp)\
**Post date:** [27 December 2023 11:46 UTC](https://discourse.nodered.org/t/how-to-receive-http-data-stream-in-node-red/84049/5 "2023-12-27T11:46:17Z")

</div>

> [@marcus-j-davies](#):
>
> SSE

thanks Marcus, i did not know this was a server sent event. unfortunately i can't make the stream vissible in Node red, i get a time out after a couple of seconds.

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [27 December 2023 11:56 UTC](https://discourse.nodered.org/t/how-to-receive-http-data-stream-in-node-red/84049/6 "2023-12-27T11:56:25Z")

</div>

It was just a guess, it may not be SSE...  
what does the headers show in browser network log?

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [27 December 2023 12:19 UTC](https://discourse.nodered.org/t/how-to-receive-http-data-stream-in-node-red/84049/7 "2023-12-27T12:19:17Z")

</div>

Might help if you shared the device type so we could look up the API.

---

<div class="post-metadata">

**Author:** ![werneroostendorp](https://avatars.discourse-cdn.com/v4/letter/w/35a633/32.png) [@werneroostendorp](https://discourse.nodered.org/u/werneroostendorp)\
**Post date:** [27 December 2023 17:52 UTC](https://discourse.nodered.org/t/how-to-receive-http-data-stream-in-node-red/84049/8 "2023-12-27T17:52:40Z")

</div>

Ok yes it's a Impinj r700 RFID reader: [Impinj IoT Device Interface | Impinj Developers](https://platform.impinj.com/site/docs/reader_api/archive/v1_2/index.gsp)

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [27 December 2023 17:55 UTC](https://discourse.nodered.org/t/how-to-receive-http-data-stream-in-node-red/84049/9 "2023-12-27T17:55:41Z")

</div>

Being an RFID reader - it would make sense that it's a streaming API.  
does it not have URL callback instead? or maybe a Web Socket transport?

I don't think the HTTP Request Node allows for sending data as its received?

case and point..

 ![Screenshot 2023-12-27 at 17.58.49](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/c/0c44db1a016cee9e5a3e5e6ad061d2a0a43a2d60.png)

@Steve-Mcl - maybe one for V4?

@werneroostendorp if nothing can be found in the [Node library](https://flows.nodered.org), it may still be possible, by using a HTTP library, directly inside a `function` node

It could well be possible using a **TCP Request** Node as well, to construct a HTTP request payload, and set to never close.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [27 December 2023 18:09 UTC](https://discourse.nodered.org/t/how-to-receive-http-data-stream-in-node-red/84049/10 "2023-12-27T18:09:22Z")

</div>

What about using the MQTT capabilities it boasts?

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/3/a/3a6adb3a02c00774121d7d713b330d75bfca8fe3.png)

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [27 December 2023 18:11 UTC](https://discourse.nodered.org/t/how-to-receive-http-data-stream-in-node-red/84049/11 "2023-12-27T18:11:58Z")

</div>

Missed that - Nice!

@werneroostendorp - this is by far, your easiyest solution.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [25 February 2024 18:40 UTC](https://discourse.nodered.org/t/how-to-receive-http-data-stream-in-node-red/84049/13 "2024-02-25T18:40:13Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
