# Http request node misbehaving

**URL:** <https://discourse.nodered.org/t/http-request-node-misbehaving/99692>\
**Category:** General\
**Created:** [15 November 2025 22:32 UTC](https://discourse.nodered.org/t/http-request-node-misbehaving/99692 "2025-11-15T22:32:20Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jaddache](https://avatars.discourse-cdn.com/v4/letter/j/8baadc/32.png) [@Jaddache](https://discourse.nodered.org/u/Jaddache)\
**Post date:** [15 November 2025 22:32 UTC](https://discourse.nodered.org/t/http-request-node-misbehaving/99692/1 "2025-11-15T22:32:20Z")

</div>

I have been using a http request node in node red to access my rooftop solar forecast successfully for some time now using the following url.

> [https://api.solcast.com.au/rooftop\_sites/[resource\_id]/forecasts?hours=336&format=json&api\_key=[api\_key]](https://api.solcast.com.au/rooftop_sites/%5Bresource_id%5D/forecasts?hours=336&format=json&api_key=%5Bapi_key%5D)

The request usually returns a json object and a status code of 200.

Recently, approx. 24 hrs ago, the node now only returns an empty string with a status code of 429 indicating too many requests, however when I use the same url in a browser, the expected data is returned.

Any clues on what might be causing this and how to correct it would be appreciated.

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [16 November 2025 08:35 UTC](https://discourse.nodered.org/t/http-request-node-misbehaving/99692/2 "2025-11-16T08:35:05Z")

</div>

A two thoughts

- check if the site has started limiting the number of requests allowed per hour/day or what ever
- Reduce the number of requests you make

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [16 November 2025 09:08 UTC](https://discourse.nodered.org/t/http-request-node-misbehaving/99692/3 "2025-11-16T09:08:48Z")

</div>

Also try adding a browser user-agent header to the http request node.

---

<div class="post-metadata">

**Author:** ![Jaddache](https://avatars.discourse-cdn.com/v4/letter/j/8baadc/32.png) [@Jaddache](https://discourse.nodered.org/u/Jaddache)\
**Post date:** [16 November 2025 09:45 UTC](https://discourse.nodered.org/t/http-request-node-misbehaving/99692/4 "2025-11-16T09:45:33Z")

</div>

Thanks Paul. I have a request for info in with Solcast. In the mean time i will turn the process off for a few days and see what happens.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [16 November 2025 10:51 UTC](https://discourse.nodered.org/t/http-request-node-misbehaving/99692/5 "2025-11-16T10:51:52Z")

</div>

Is the browser running on the same machine that is running node-red?

---

<div class="post-metadata">

**Author:** ![Jaddache](https://avatars.discourse-cdn.com/v4/letter/j/8baadc/32.png) [@Jaddache](https://discourse.nodered.org/u/Jaddache)\
**Post date:** [16 November 2025 18:48 UTC](https://discourse.nodered.org/t/http-request-node-misbehaving/99692/6 "2025-11-16T18:48:02Z")

</div>

No. Node-red is running on a headless raspberry pi and the browser call was from a windows machine that I was using to access the raspberry pi.

---

<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:** [16 November 2025 18:53 UTC](https://discourse.nodered.org/t/http-request-node-misbehaving/99692/7 "2025-11-16T18:53:54Z")

</div>

add a debug immediately before the http-request node to verify you are not hammering it causing the 429.

Also, if you add a catch node, you can output the error to a debug set to show the "full msg object" here you should be able to see the rate limit headers (if set) to understand when you can next call the endpoint. You could automate a cool-down guard based on the values!

---

<div class="post-metadata">

**Author:** ![Jaddache](https://avatars.discourse-cdn.com/v4/letter/j/8baadc/32.png) [@Jaddache](https://discourse.nodered.org/u/Jaddache)\
**Post date:** [16 November 2025 19:38 UTC](https://discourse.nodered.org/t/http-request-node-misbehaving/99692/8 "2025-11-16T19:38:18Z")

</div>

Thank you Steve. I had already checked both of those with no success.

---

<div class="post-metadata">

**Author:** ![Jaddache](https://avatars.discourse-cdn.com/v4/letter/j/8baadc/32.png) [@Jaddache](https://discourse.nodered.org/u/Jaddache)\
**Post date:** [16 November 2025 19:52 UTC](https://discourse.nodered.org/t/http-request-node-misbehaving/99692/9 "2025-11-16T19:52:24Z")

</div>

And as luck would have it, with no apparent change to the input, the process is now working again.  
It may have been a glitch on the service provider's side but thank you all for your assistance in any case.  
I will watch it for a few days and then mark the topic as solved.

---

<div class="post-metadata">

**Author:** ![hardillb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hardillb/32/12373_2.png) [@hardillb](https://discourse.nodered.org/u/hardillb)\
**Post date:** [16 November 2025 21:15 UTC](https://discourse.nodered.org/t/http-request-node-misbehaving/99692/10 "2025-11-16T21:15:07Z")

</div>

Look at the `msg.headers` after the http-request, a 429 error is likely to include details about what the rate limit is and when you can access it again.

e.g.

```auto
Retry-After: 3600

```

Would me don't try again for the next hour

> **[429 Too Many Requests - HTTP | MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/429)**
>
> The HTTP 429 Too Many Requests client error response status code indicates the client has sent too many requests in a given amount of time.
> This mechanism of asking the client to slow down the rate of requests is commonly called "rate limiting".

---

<div class="post-metadata">

**Author:** ![Jaddache](https://avatars.discourse-cdn.com/v4/letter/j/8baadc/32.png) [@Jaddache](https://discourse.nodered.org/u/Jaddache)\
**Post date:** [17 November 2025 11:52 UTC](https://discourse.nodered.org/t/http-request-node-misbehaving/99692/11 "2025-11-17T11:52:58Z")

</div>

Thank you all for your thoughts. The solcast help desk just confirmed that the problem was on their end as a result of another user making too many requests.  
But i will pay more attention to the information in the headers from now on.

---

<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:** [1 December 2025 11:53 UTC](https://discourse.nodered.org/t/http-request-node-misbehaving/99692/12 "2025-12-01T11:53:45Z")

</div>

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