{
  "data": {
    "a": {
      "slug": "pushover",
      "name": "Pushover",
      "vendor": "Pushover",
      "vendorUrl": "https://pushover.net",
      "kind": "http-api",
      "category": "notifications",
      "summary": "Push notification service for your own phone, tablet or desktop.",
      "url": "https://www.anchorterminal.com/tools/pushover",
      "markdownUrl": "https://www.anchorterminal.com/tools/pushover.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pushover.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pushover.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.pushover.net/1/messages.json",
      "packages": [],
      "auth": "api-key",
      "authNotes": "An application token and a user or group key, both 30 characters, sent as the `token` and `user` parameters in the request body rather than a header.",
      "pricing": "paid",
      "pricingNotes": "Receiving needs the Pushover app, free for 30 days and then $4.99 once per platform (iOS, Android, desktop). Pushover for Teams is $5 per user a month. Sending is free up to 10,000 messages a month per account (25,000 for a team), shared across all of an account's applications since 2026-05-01. Capacity upgrades exist but their price isn't on the pricing page (https://pushover.net/pricing, https://support.pushover.net/i12-message-size-and-frequency-limitations, https://blog.pushover.net/posts/2026/4/app-limits).",
      "priceSummary": "$5 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://pushover.net/api",
      "capabilities": [
        "notify.push"
      ],
      "tags": [
        "hosted",
        "webhooks"
      ],
      "lastRelease": "2026-06-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.3,
        "grade": "D",
        "agentReady": false,
        "rank": 334,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 7,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 20,
          "payments": 30,
          "reliability": 62,
          "schema": 50,
          "security": 52,
          "transparency": 89
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "One POST with three required fields, form or JSON. Recipients need the app, $4.99 per platform after a 30-day trial.",
        "strengths": [
          "One POST with three required fields, form or JSON",
          "Emergency priority repeats until acknowledged, up to 3 hours, with pollable receipts",
          "Every response reports the remaining monthly quota in `X-Limit-App-*` headers",
          "Messages deleted from the servers once delivery is verified, and nine processors named",
          "10,000 free messages a month, 25,000 on Teams"
        ],
        "weaknesses": [
          "Recipients need the app, $4.99 per platform after a 30-day trial",
          "No idempotency key, so a retry after a timeout can send twice",
          "No OpenAPI spec, llms.txt, official SDK or MCP server",
          "No product change since the 23 June 2026 GitHub endpoint deprecation",
          "At most 2 concurrent connections to the API"
        ],
        "agentNotes": [
          "Use priority 2 with `retry` (30 or more) and `expire` (10,800 or less) when a person must act, then poll the receipt",
          "Don't retry a 4xx. Fix the parameter named in `errors`. Wait at least 5 seconds before retrying a 5xx",
          "Read `X-Limit-App-Remaining` before a batch. Over the monthly quota every send returns 429",
          "Keep messages to 1,024 characters and titles to 250",
          "Send to a group key to reach several people in one call. Each person still counts against the quota"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.3
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 20,
          "payments": 30,
          "reliability": 62,
          "schema": 50,
          "security": 52,
          "transparency": 77
        },
        "provenanceScore": 100
      },
      "connect": {
        "http": "curl -s https://api.pushover.net/1/messages.json \\\n  --form-string \"token=$PUSHOVER_APP_TOKEN\" --form-string \"user=$PUSHOVER_USER_KEY\" \\\n  --form-string \"title=Build finished\" --form-string \"message=All tests passed\""
      },
      "letme": {
        "capability": "https://letme.dev/notify.push",
        "tool": "https://letme.dev/pushover"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Pushover for Teams",
          "unit": "seat-month",
          "usd": 5
        }
      ],
      "provenance": {
        "legalEntity": "Pushover, LLC",
        "domain": "pushover.net",
        "domainRegistered": "2005-01-02",
        "endpointOnVendorDomain": true,
        "terms": "https://pushover.net/terms",
        "privacy": "https://pushover.net/privacy",
        "statusPage": "https://status.pushover.net",
        "changelog": "https://blog.pushover.net",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "The terms give no address and point to US law.",
          "Product changes are announced on the blog. The 2026-06-23 post deprecates the GitHub notification endpoint in favour of webhooks."
        ],
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/pushover.json",
      "live": {
        "slug": "pushover",
        "probe": {
          "target": "https://api.pushover.net/1/messages.json",
          "method": "get",
          "lastAt": "2026-10-05T00:15:28.692963341Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 171,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 177,
          "p95ms24h": 231,
          "samples24h": 272,
          "samples30d": 903,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.pushover.net",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:24.763378215Z"
        },
        "securityTxt": {
          "url": "https://pushover.net/.well-known/security.txt",
          "state": "valid",
          "expires": "2038-01-19T03:14:08.000Z",
          "checkedAt": "2026-10-04T15:15:59.302964153Z"
        },
        "domain": {
          "domain": "pushover.net",
          "registered": "2005-01-02",
          "source": "https://rdap.verisign.com/net/v1/domain/pushover.net",
          "checkedAt": "2026-10-04T13:08:13.137695898Z"
        },
        "pages": [
          {
            "url": "https://blog.pushover.net",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:41:35.823122708Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1c780b34fb64"
          },
          {
            "url": "https://pushover.net/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:09.214033855Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6b0b637534bf"
          },
          {
            "url": "https://pushover.net/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:11.330682251Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0642611ad7b6"
          },
          {
            "url": "https://pushover.net/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:13.330043972Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "87db56879b09"
          }
        ],
        "updatedAt": "2026-10-05T00:15:28.692963341Z"
      }
    },
    "b": {
      "slug": "suprsend",
      "name": "SuprSend",
      "vendor": "SuprSend",
      "vendorUrl": "https://www.suprsend.com",
      "kind": "http-api",
      "category": "notifications",
      "summary": "Notification workflow API for email, SMS, push, an in-app Inbox, Slack, Microsoft Teams and webhooks, with digests, batching and preferences per user and per tenant.",
      "url": "https://www.anchorterminal.com/tools/suprsend",
      "markdownUrl": "https://www.anchorterminal.com/tools/suprsend.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/suprsend.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/suprsend.json",
      "repo": "https://github.com/suprsend/cli",
      "license": "MIT (CLI and MCP server)",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://hub.suprsend.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@suprsend/node-sdk"
        },
        {
          "registry": "pypi",
          "name": "suprsend-py-sdk"
        },
        {
          "registry": "npm",
          "name": "suprsend"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key as `Authorization: Bearer` on the trigger API. Workspace key and secret pairs can be issued and rotated per service through the management API since 2026-09-22. The MCP server reads a service token from `SUPRSEND_SERVICE_TOKEN`, and a service token grants full workspace access.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 10,000 notifications a month, no card, unlimited team members and 30-day log retention. Essentials $110 a month ($100 billed yearly, $1,200 a year) for 50,000, then $2 per 1,000, with 30-day logs. Business $275 a month ($250 billed yearly, $3,000 a year) for 50,000, then $5 per 1,000, with 90-day logs and an audit trail. Paid plans list 99.9% uptime. Enterprise is custom. A notification is one message to one user or object on one channel, a digest or batch counts once, and sends SuprSend drops for opt-outs aren't billed, though provider failures are (https://www.suprsend.com/pricing).",
      "priceSummary": "$110 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 12,
        "npmWeekly": 13318,
        "pypiWeekly": 1099,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.suprsend.com",
      "llmsTxt": "https://docs.suprsend.com/llms.txt",
      "openapi": "https://docs.suprsend.com/openapi.yaml",
      "registryName": "io.github.suprsend/cli",
      "capabilities": [
        "notify.push",
        "notify.in-app",
        "notify.multichannel",
        "notify.preferences",
        "notify.digest"
      ],
      "tags": [
        "hosted",
        "freemium",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks",
        "enterprise"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 72.9,
        "grade": "BB",
        "agentReady": true,
        "rank": 65,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 2,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 87,
          "maintenance": 81,
          "payments": 40,
          "reliability": 69,
          "schema": 94,
          "security": 66,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "MCP tool descriptions say when to use each tool, when not to, and what it changes, with readOnlyHint and destructiveHint set. No rate-limit page or 429 guidance.",
        "strengths": [
          "MCP tool descriptions say when to use each tool, when not to, and what it changes, with readOnlyHint and destructiveHint set",
          "`--tools` loads a subset of the 22 built-in tools, and trigger tools register only for the workflows you name",
          "Free plan with 10,000 notifications, no card and unlimited seats",
          "Digests and batches bill as one notification, and opt-out drops aren't billed",
          "99.9% uptime listed on every paid plan, SOC 2 Type II and ISO 27001"
        ],
        "weaknesses": [
          "No rate-limit page or 429 guidance",
          "No hosted MCP server, only the local CLI",
          "Workspace secrets come back in plain text on every management API response",
          "A 20-minute platform outage on 20 August 2026 and repeated short API blips",
          "Audit trail on Business and Enterprise only, RBAC on Enterprise only"
        ],
        "agentNotes": [
          "Pass an idempotency key on each trigger. It holds for 24 hours",
          "Start the MCP server with `--tools` set to read-only groups for production workspaces",
          "Register trigger tools with `--workflows=\u003cslug\u003e` for only the workflows you need. The default registers none",
          "Count each bulk record against the rate limit, and keep bulk calls to 100 records and 800 KB",
          "Treat management API responses as secrets. They include the workspace secret in plain text"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 72.9
          }
        ],
        "editorialScores": {
          "ergonomics": 87,
          "maintenance": 81,
          "payments": 40,
          "reliability": 69,
          "schema": 94,
          "security": 66,
          "transparency": 52
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl -X POST https://hub.suprsend.com/trigger/ \\\n  -H \"Authorization: Bearer $SUPRSEND_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"workflow\":\"build-finished\",\"recipients\":[{\"distinct_id\":\"user_123\",\"$email\":[\"user@example.com\"]}],\"data\":{\"status\":\"passed\"}}'",
        "claudeCode": "claude mcp add suprsend --scope user --env SUPRSEND_SERVICE_TOKEN=$SUPRSEND_SERVICE_TOKEN -- npx -y suprsend start-mcp-server",
        "config": {
          "mcpServers": {
            "suprsend": {
              "args": [
                "-y",
                "suprsend",
                "start-mcp-server"
              ],
              "command": "npx",
              "env": {
                "SUPRSEND_SERVICE_TOKEN": "${SUPRSEND_SERVICE_TOKEN}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/notify.push",
        "tool": "https://letme.dev/suprsend"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Essentials",
          "unit": "month",
          "usd": 110,
          "note": "50,000 notifications, $100 billed yearly"
        },
        {
          "item": "Essentials overage",
          "unit": "message",
          "usd": 0.002
        },
        {
          "item": "Business",
          "unit": "month",
          "usd": 275,
          "note": "50,000 notifications, $250 billed yearly"
        },
        {
          "item": "Business overage",
          "unit": "message",
          "usd": 0.005
        }
      ],
      "provenance": {
        "legalEntity": "SuprStack Inc",
        "domain": "suprsend.com",
        "domainRegistered": "2020-12-27",
        "endpointOnVendorDomain": true,
        "terms": "https://www.suprsend.com/terms",
        "privacy": "https://www.suprsend.com/privacy",
        "statusPage": "https://status.suprsend.com",
        "changelog": "https://docs.suprsend.com/changelog/overview",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Terms are governed by Delaware law and give only a support email, no postal address.",
          "The status page showed Third Party Dependencies as degraded (a Cloudflare Workers issue) when we checked."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/suprsend.json",
      "live": {
        "slug": "suprsend",
        "probe": {
          "target": "https://hub.suprsend.com",
          "method": "get",
          "lastAt": "2026-10-05T00:15:30.961976933Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 78,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 79,
          "p95ms24h": 164,
          "samples24h": 272,
          "samples30d": 903,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.suprsend.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:30.40729232Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "suprsend/cli",
            "version": "1.0.1",
            "released": "2026-07-10",
            "seenAt": "2026-10-04T16:41:11.848846833Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.suprsend/cli",
            "version": "1.0.1",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "@suprsend/node-sdk",
            "version": "1.15.1",
            "seenAt": "2026-10-04T16:41:09.61896764Z"
          },
          {
            "registry": "npm",
            "name": "suprsend",
            "version": "1.0.1",
            "seenAt": "2026-10-04T16:41:10.296582788Z"
          },
          {
            "registry": "pypi",
            "name": "suprsend-py-sdk",
            "version": "0.20.0",
            "released": "2026-09-04",
            "seenAt": "2026-10-04T16:41:10.111791733Z"
          }
        ],
        "githubStars": 12,
        "npmWeekly": 11125,
        "pypiWeekly": 1074,
        "securityTxt": {
          "url": "https://suprsend.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:47.168187763Z"
        },
        "llmsTxt": {
          "url": "https://docs.suprsend.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:16.733762415Z"
        },
        "domain": {
          "domain": "suprsend.com",
          "registered": "2020-12-27",
          "source": "https://rdap.verisign.com/com/v1/domain/suprsend.com",
          "checkedAt": "2026-10-04T13:10:03.719103966Z"
        },
        "pages": [
          {
            "url": "https://docs.suprsend.com/changelog/overview",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:04.269843354Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a51b9d1cfccd"
          },
          {
            "url": "https://www.suprsend.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:20.807951625Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9b909a363f19"
          },
          {
            "url": "https://www.suprsend.com/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:22.910384524Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "73c6e3ac26d2"
          },
          {
            "url": "https://www.suprsend.com/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:24.877528099Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "97053f0651bd"
          }
        ],
        "updatedAt": "2026-10-05T00:15:30.961976933Z"
      }
    },
    "summary": "SuprSend has a score of 72.9 (BB) against Pushover's 53.3 (D). Both do notify push. The largest gap is maintenance \u0026 community, 61 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/pushover-vs-suprsend",
    "json": "https://www.anchorterminal.com/compare/pushover-vs-suprsend.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/pushover-vs-suprsend.md",
    "slim": "https://www.anchorterminal.com/compare/pushover-vs-suprsend.min.md"
  },
  "markdown": "SuprSend has a score of 72.9 (BB) against Pushover's 53.3 (D). Both do notify push. The largest gap is maintenance \u0026 community, 61 points.\n\n- Pushover: grade D, 53.3/100, rank #334 of 452. Markdown https://www.anchorterminal.com/tools/pushover.md · JSON https://www.anchorterminal.com/api/v1/tools/pushover.json\n- SuprSend: grade BB, 72.9/100, rank #65 of 452. Markdown https://www.anchorterminal.com/tools/suprsend.md · JSON https://www.anchorterminal.com/api/v1/tools/suprsend.json\n\n## Which one, for what\n\nPick Pushover for transparency \u0026 trust (+20).\n\nPick SuprSend for reliability (+7), schema \u0026 documentation (+44), agent ergonomics (+23), security \u0026 auth (+14), payments \u0026 pricing (+10), maintenance \u0026 community (+61).\n\n## Score by category\n\n| Category | Weight | Pushover | SuprSend | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 62 | 69 | SuprSend +7 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 50 | 94 | SuprSend +44 |\n| Agent ergonomics | 13% (16.2 this run) | 64 | 87 | SuprSend +23 |\n| Security \u0026 auth | 14% (17.5 this run) | 52 | 66 | SuprSend +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | SuprSend +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 20 | 81 | SuprSend +61 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 89 | 69 | Pushover +20 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **53.3 · D** | **72.9 · BB** | |\n\n## Facts side by side\n\n| Fact | Pushover | SuprSend |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Pushover | SuprSend |\n| Hosted endpoint | `https://api.pushover.net/1/messages.json` | `https://hub.suprsend.com` |\n| Transports | HTTP | HTTP, stdio |\n| Auth | API key | API key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | none | MIT (CLI and MCP server) |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| MCP registry | not listed | `io.github.suprsend/cli` |\n| Last release | 2026-06-23 | 2026-09-28 |\n| Popularity | none | 12 stars, 13k npm/wk, 1.1k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | 3/5 (2) |\n\n## Verdicts\n\n**Pushover.** One POST with three required fields, form or JSON. Recipients need the app, $4.99 per platform after a 30-day trial.\n\n**SuprSend.** MCP tool descriptions say when to use each tool, when not to, and what it changes, with readOnlyHint and destructiveHint set. No rate-limit page or 429 guidance.\n\n## Before you call either\n\n### Pushover\n\n1. Use priority 2 with `retry` (30 or more) and `expire` (10,800 or less) when a person must act, then poll the receipt\n2. Don't retry a 4xx. Fix the parameter named in `errors`. Wait at least 5 seconds before retrying a 5xx\n3. Read `X-Limit-App-Remaining` before a batch. Over the monthly quota every send returns 429\n4. Keep messages to 1,024 characters and titles to 250\n5. Send to a group key to reach several people in one call. Each person still counts against the quota\n\n### SuprSend\n\n1. Pass an idempotency key on each trigger. It holds for 24 hours\n2. Start the MCP server with `--tools` set to read-only groups for production workspaces\n3. Register trigger tools with `--workflows=\u003cslug\u003e` for only the workflows you need. The default registers none\n4. Count each bulk record against the rate limit, and keep bulk calls to 100 records and 800 KB\n5. Treat management API responses as secrets. They include the workspace secret in plain text\n\n## Other comparisons with Pushover or SuprSend\n\n- [Courier vs Pushover](https://www.anchorterminal.com/compare/courier-vs-pushover.md)\n- [Courier vs SuprSend](https://www.anchorterminal.com/compare/courier-vs-suprsend.md)\n- [Knock vs Pushover](https://www.anchorterminal.com/compare/knock-vs-pushover.md)\n- [Knock vs SuprSend](https://www.anchorterminal.com/compare/knock-vs-suprsend.md)\n- [Novu vs Pushover](https://www.anchorterminal.com/compare/novu-vs-pushover.md)\n- [Novu vs SuprSend](https://www.anchorterminal.com/compare/novu-vs-suprsend.md)\n- [ntfy vs Pushover](https://www.anchorterminal.com/compare/ntfy-vs-pushover.md)\n- [ntfy vs SuprSend](https://www.anchorterminal.com/compare/ntfy-vs-suprsend.md)\n- [OneSignal vs Pushover](https://www.anchorterminal.com/compare/onesignal-vs-pushover.md)\n- [OneSignal vs SuprSend](https://www.anchorterminal.com/compare/onesignal-vs-suprsend.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Pushover vs SuprSend",
        "url": ""
      }
    ],
    "description": "SuprSend has a score of 72.9 (BB) against Pushover's 53.3 (D). Both do notify push. The largest gap is maintenance \u0026 community, 61 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Pushover D 53.3",
      "SuprSend BB 72.9",
      "scores"
    ],
    "h1": "Pushover vs SuprSend",
    "image": "https://www.anchorterminal.com/assets/og/compare-pushover-vs-suprsend.png",
    "path": "/compare/pushover-vs-suprsend",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Pushover vs SuprSend for AI agents, D 53.3 vs BB 72.9",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/pushover-vs-suprsend"
  },
  "tokens": {
    "markdown": 1350,
    "slim": 330
  },
  "version": 1
}
