[GH-ISSUE #1265] IOS Instant Notifications #892

Open
opened 2026-05-07 00:28:31 +02:00 by BreizhHardware · 5 comments

Originally created by @ledahosn on GitHub (Jan 25, 2025).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1265

Question

Hello, i have a Problem - I get Rate Limited (also I dont know the exact rate limits) for pushing to IOS Apps - and I also do not find if I can pay ntfy.sh to allow for a higher Rate Limit.

I get this Log entry:
ntfy | 2025/01/25 14:05:49 WARN Unable to publish poll request, the upstream server https://ntfy.sh responded with HTTP 429 Too Many Requests; you may solve this by sending fewer daily messages, or by configuring upstream-access-token (assuming you have an account with higher rate limits) (message_body_size=93, message_event=message, ********

Can anybody tell me what a good solution is here for me?

Originally created by @ledahosn on GitHub (Jan 25, 2025). Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1265 :question: **Question** <!-- Go ahead and ask your question here :) --> Hello, i have a Problem - I get Rate Limited (also I dont know the exact rate limits) for pushing to IOS Apps - and I also do not find if I can pay ntfy.sh to allow for a higher Rate Limit. I get this Log entry: ntfy | 2025/01/25 14:05:49 WARN Unable to publish poll request, the upstream server https://ntfy.sh responded with HTTP 429 Too Many Requests; you may solve this by sending fewer daily messages, or by configuring upstream-access-token (assuming you have an account with higher rate limits) (message_body_size=93, message_event=message, ******** Can anybody tell me what a good solution is here for me?
Author
Owner

@wunter8 commented on GitHub (Jan 25, 2025):

There are 2 rate limits: a burst limit and a daily message limit. Both return 429 errors.

Burst limit: if you sent a lot of messages close together (e.g., 60 within a few seconds), you could get a 429.

Daily message limit: you can send up to 250 messages/day using the free tier. You can pay to get higher limits, yes. See the ntfy homepage: https://ntfy.sh/#pricing

<!-- gh-comment-id:2613972232 --> @wunter8 commented on GitHub (Jan 25, 2025): There are 2 rate limits: a burst limit and a daily message limit. Both return 429 errors. Burst limit: if you sent a lot of messages close together (e.g., 60 within a few seconds), you could get a 429. Daily message limit: you can send up to 250 messages/day using the free tier. You can pay to get higher limits, yes. See the ntfy homepage: https://ntfy.sh/#pricing
Author
Owner

@ledahosn commented on GitHub (Jan 25, 2025):

@wunter8

After I have added my access token in my docker config like this:
- NTFY_UPSTREAM_BASE_URL=https://ntfy.sh - NTFY_UPSTREAM_ACCESS_TOKEN=xxxxx

i still get:
Unable to publish poll request, the upstream server https://ntfy.sh/ responded with HTTP 429 Too Many Requests

<!-- gh-comment-id:2614003083 --> @ledahosn commented on GitHub (Jan 25, 2025): @wunter8 After I have added my access token in my docker config like this: ` - NTFY_UPSTREAM_BASE_URL=https://ntfy.sh - NTFY_UPSTREAM_ACCESS_TOKEN=xxxxx` i still get: Unable to publish poll request, the upstream server https://ntfy.sh/ responded with HTTP 429 Too Many Requests
Author
Owner

@wunter8 commented on GitHub (Jan 25, 2025):

Check your limits by sending an authenticated request to https://ntfy.sh/v1/account

For example, curl -u ':tk_abc...' https://ntfy.sh/v1/account (the colon before the access token is important)

<!-- gh-comment-id:2614007943 --> @wunter8 commented on GitHub (Jan 25, 2025): Check your limits by sending an authenticated request to https://ntfy.sh/v1/account For example, `curl -u ':tk_abc...' https://ntfy.sh/v1/account` (the colon before the access token is important)
Author
Owner

@ledahosn commented on GitHub (Jan 25, 2025):

At https://ntfy.sh/account i see my Usage is 0

C:\Users\xxx>curl -u ':tk_xxxxxxxxxxxxx' https://ntfy.sh/v1/account {"code":40101,"http":401,"error":"unauthorized","link":"https://ntfy.sh/docs/publish/#authentication"}

I have created a Token in my Account with no expiry to test arround.

Also via my IP Based Authentication, I get this (which I can tell from I should be still able to get notifications?!)
ntfy:~/notify# curl ntfy.sh/v1/account {"username":"*","role":"anonymous","limits":{"basis":"ip","messages":17280,"messages_expiry_duration":43200,"emails":24,"calls":0,"reservations":0,"attachment_total_size":104857600,"attachment_file_size":15728640,"attachment_expiry_duration":10800,"attachment_bandwidth":524288000},"stats":{"messages":0,"messages_remaining":17280,"emails":0,"emails_remaining":24,"calls":0,"calls_remaining":0,"reservations":0,"reservations_remaining":0,"attachment_total_size":0,"attachment_total_size_remaining":104857600}}

I mean I must be doing anything real stupid, because it doesn't make Sense for me and I am pretty sure ntfy doesn't have a real problem...

For additional Context here is my Setup:

ntfy.sh compose.yml file:

services:
  ntfy:
    image: binwiederhier/ntfy
    container_name: ntfy
    command:
      - serve
    environment:
      - TZ=Europe/Vienna
      - NTFY_BASE_URL=https://notify.mydomain.tld
      - NTFY_UPSTREAM_BASE_URL=https://ntfy.sh
      - NTFY_UPSTREAM_ACCESS_TOKEN=tk_xxxxx
    volumes:
      - /var/cache/ntfy:/var/cache/ntfy
      - /etc/ntfy:/etc/ntfy
    ports:
      - 80:80
    restart: unless-stopped

Public IP -> Reverse Proxy -> Docker Container

And currently I always get the 429 Status WARN in my Logs

<!-- gh-comment-id:2614072121 --> @ledahosn commented on GitHub (Jan 25, 2025): At https://ntfy.sh/account i see my Usage is 0 `C:\Users\xxx>curl -u ':tk_xxxxxxxxxxxxx' https://ntfy.sh/v1/account {"code":40101,"http":401,"error":"unauthorized","link":"https://ntfy.sh/docs/publish/#authentication"}` I have created a Token in my Account with no expiry to test arround. Also via my IP Based Authentication, I get this (which I can tell from I should be still able to get notifications?!) `ntfy:~/notify# curl ntfy.sh/v1/account {"username":"*","role":"anonymous","limits":{"basis":"ip","messages":17280,"messages_expiry_duration":43200,"emails":24,"calls":0,"reservations":0,"attachment_total_size":104857600,"attachment_file_size":15728640,"attachment_expiry_duration":10800,"attachment_bandwidth":524288000},"stats":{"messages":0,"messages_remaining":17280,"emails":0,"emails_remaining":24,"calls":0,"calls_remaining":0,"reservations":0,"reservations_remaining":0,"attachment_total_size":0,"attachment_total_size_remaining":104857600}}` I mean I must be doing anything real stupid, because it doesn't make Sense for me and I am pretty sure ntfy doesn't have a real problem... For additional Context here is my Setup: ntfy.sh compose.yml file: ```version: "2.1" services: ntfy: image: binwiederhier/ntfy container_name: ntfy command: - serve environment: - TZ=Europe/Vienna - NTFY_BASE_URL=https://notify.mydomain.tld - NTFY_UPSTREAM_BASE_URL=https://ntfy.sh - NTFY_UPSTREAM_ACCESS_TOKEN=tk_xxxxx volumes: - /var/cache/ntfy:/var/cache/ntfy - /etc/ntfy:/etc/ntfy ports: - 80:80 restart: unless-stopped ``` Public IP -> Reverse Proxy -> Docker Container And currently I always get the 429 Status WARN in my Logs
Author
Owner

@wunter8 commented on GitHub (Jan 25, 2025):

Any idea why the first curl command failed?

Do you have a server.yml in /etc/ntfy? Is it possible the upstream access token is being overwritten there? (I don't remember which of env variables and server.yml overrides the other)

Have you tried/considered the PWA for notifications on iOS? It has more features than the native app and has more reliable notifications

<!-- gh-comment-id:2614132174 --> @wunter8 commented on GitHub (Jan 25, 2025): Any idea why the first curl command failed? Do you have a server.yml in /etc/ntfy? Is it possible the upstream access token is being overwritten there? (I don't remember which of env variables and server.yml overrides the other) Have you tried/considered the PWA for notifications on iOS? It has more features than the native app and has more reliable notifications
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ntfy#892
No description provided.