{
  "data": {
    "a": {
      "slug": "amazon-sns",
      "name": "Amazon SNS",
      "vendor": "Amazon Web Services",
      "vendorUrl": "https://aws.amazon.com/sns/",
      "kind": "http-api",
      "category": "notifications",
      "summary": "Amazon SNS is AWS's publish and subscribe messaging service. A message published to a topic, or directly to a device or phone number, goes out as mobile push, SMS, plain-text email, HTTPS calls or to SQS queues and Lambda functions.",
      "url": "https://www.anchorterminal.com/tools/amazon-sns",
      "markdownUrl": "https://www.anchorterminal.com/tools/amazon-sns.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/amazon-sns.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/amazon-sns.json",
      "repo": "https://github.com/aws/api-models-aws",
      "license": "Proprietary service under the AWS Customer Agreement. The AWS SDKs and the AWS Labs MCP server are Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://sns.us-east-1.amazonaws.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@aws-sdk/client-sns"
        },
        {
          "registry": "pypi",
          "name": "boto3"
        },
        {
          "registry": "pypi",
          "name": "awslabs.amazon-sns-sqs-mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "Requests are signed with AWS Signature Version 4 using IAM credentials, long-lived access keys or temporary credentials from AWS STS. IAM identity policies and topic resource policies use the `sns` action prefix with topic ARNs and condition keys. Access is self-serve with an AWS account. SMS starts in a sandbox per account, and leaving it or raising the $1 monthly spend quota needs an AWS Support case. Mobile push needs a platform application holding credentials from Apple, Google or another push service.",
      "pricing": "usage",
      "pricingNotes": "Pay per request and per notification with no minimum. On standard topics in US East (N. Virginia), API requests cost $0.50 per million after 1,000,000 free each month, mobile push $0.50 per million after 1,000,000 free, email $2.00 per 100,000 after 1,000 free, and HTTP deliveries $0.60 per million after 100,000 free. Deliveries to SQS and Lambda are free. SMS is billed by AWS End User Messaging. New AWS customers get up to $200 in Free Tier credits, and AWS says most can sign up without a payment method (https://aws.amazon.com/sns/pricing/, https://aws.amazon.com/free/free-tier-faqs/).",
      "priceSummary": "$0.0005 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer guide index, the API model or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 6505984,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.aws.amazon.com/sns/latest/dg/welcome.html",
      "llmsTxt": "https://docs.aws.amazon.com/sns/latest/dg/llms.txt",
      "capabilities": [
        "notify.push",
        "notify.multichannel",
        "messaging.sms"
      ],
      "tags": [
        "hosted",
        "llms-txt",
        "typescript",
        "python",
        "push",
        "sms",
        "mcp",
        "enterprise"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 72.8,
        "grade": "BB",
        "agentReady": true,
        "rank": 99,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 75,
          "payments": 35,
          "reliability": 75,
          "schema": 83,
          "security": 89,
          "transparency": 83
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "IAM and topic policies limit a credential to single actions and topics, a read-only managed policy exists, and CloudTrail can log each publish. Standard topics take no idempotency token, so a retried `Publish` can send twice. SNS has no user preferences, digests or in-app channel, email is plain text to confirmed subscribers, and SMS starts in a sandbox.",
        "bestFor": "Teams already on AWS that want cheap push, SMS and plain-text email alerts or fan-out to queues and functions under IAM and CloudTrail.",
        "strengths": [
          "IAM identity policies and topic resource policies per action and topic, temporary credentials, and an `AmazonSNSReadOnlyAccess` managed policy",
          "Published quotas of 30,000 published messages a second per account in US East (N. Virginia) and 300 in the smallest Regions",
          "First 1,000,000 API requests, 1,000,000 mobile push notifications and 1,000 emails each month are free on standard topics",
          "Smithy model published for all 42 operations, with llms.txt indexes and a Markdown twin of every guide and reference page",
          "99.9 per cent monthly uptime commitment per Region under the Amazon Messaging SLA, last updated 4 May 2022"
        ],
        "weaknesses": [
          "No idempotency token on `Publish` to a standard topic. Only FIFO topics deduplicate, over a five-minute window",
          "No user preferences, digests, templates or in-app channel. Email is plain text and each address has to confirm its subscription",
          "SMS starts in a sandbox with ten verified numbers and a $1 monthly spend quota, raised through an AWS Support case",
          "Topic, subscription and endpoint settings travel as string maps and JSON inside strings, and the model has only four enumerated types",
          "The AWS Health Dashboard lists the service in the UAE and Bahrain Region disruptions open since March 2026"
        ],
        "agentNotes": [
          "Sign requests with SigV4 for service `sns` at `sns.\u003cregion\u003e.amazonaws.com`, or call `aws sns publish --topic-arn \u003carn\u003e --message \u003ctext\u003e` from the AWS CLI",
          "Track `MessageId` yourself on standard topics, because a retried `Publish` sends again. Use a FIFO topic with `MessageDeduplicationId` when duplicates matter",
          "Send per-channel text by setting `MessageStructure` to `json` and passing a JSON string with a `default` key plus keys such as `APNS`, `GCM`, `email` and `sms`",
          "Check `GetSMSSandboxAccountStatus` and the monthly spend quota before texting. Sandbox sends reach only verified numbers",
          "Expect an email subscription to stay in `PendingConfirmation` until the recipient clicks the link, and keep each email subscription under 10 messages a second"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 72.8
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 75,
          "payments": 35,
          "reliability": 75,
          "schema": 83,
          "security": 89,
          "transparency": 71
        },
        "provenanceScore": 95
      },
      "connect": {
        "config": {
          "mcpServers": {
            "awslabs.amazon-sns-sqs-mcp-server": {
              "args": [
                "awslabs.amazon-sns-sqs-mcp-server@latest"
              ],
              "command": "uvx",
              "env": {
                "AWS_PROFILE": "your-aws-profile",
                "AWS_REGION": "us-east-1"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/notify.push",
        "tool": "https://letme.dev/amazon-sns"
      },
      "sameCompany": [
        "amazon-bedrock-customization",
        "agentcore-code-interpreter",
        "amazon-textract",
        "aws-end-user-messaging",
        "amazon-s3",
        "amazon-eventbridge"
      ],
      "area": "everyday",
      "unitPrices": [
        {
          "item": "API requests, standard topics",
          "unit": "1k-requests",
          "usd": 0.0005,
          "note": "US East (N. Virginia), after 1,000,000 free a month. Each 64 KB of payload counts as one request"
        },
        {
          "item": "Publishes, FIFO topics",
          "unit": "1k-requests",
          "usd": 0.0003,
          "note": "US East (N. Virginia), plus $0.017 per GB of payload and $0.01 per million subscription messages"
        },
        {
          "item": "Mobile push notification",
          "unit": "message",
          "usd": 5e-7,
          "note": "$0.50 per million after 1,000,000 free a month"
        },
        {
          "item": "Email notification",
          "unit": "1k-emails",
          "usd": 0.02,
          "note": "$2.00 per 100,000 after 1,000 free a month"
        },
        {
          "item": "HTTP or HTTPS notification",
          "unit": "message",
          "usd": 6e-7,
          "note": "$0.60 per million after 100,000 free a month"
        }
      ],
      "provenance": {
        "legalEntity": "Amazon Web Services, Inc.",
        "domain": "amazonaws.com",
        "domainRegistered": "2005-08-18",
        "endpointOnVendorDomain": true,
        "terms": "https://aws.amazon.com/agreement/",
        "privacy": "https://aws.amazon.com/privacy/",
        "statusPage": "https://health.aws.amazon.com/health/status",
        "changelog": "https://docs.aws.amazon.com/sns/latest/dg/sns-release-notes.html",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The AWS Customer Agreement (last updated 14 August 2026) governs use of the service, with other AWS entities as contracting party by account country.",
          "Section 11 of the AWS Service Terms (last updated 1 October 2026) adds terms for Amazon SNS. It says AMCS LLC sells parts of the service in Japan and AMCS SG Private Limited in Singapore, and that fees apply even when delivery is blocked for reasons outside AWS's control (https://aws.amazon.com/service-terms/).",
          "The AWS Privacy Notice (last updated 18 May 2026) says it does not apply to content customers process with AWS services, which the agreement governs.",
          "https://aws.amazon.com/.well-known/security.txt carries Expires 2026-09-24T16:25:03Z, so it had expired on 8 October 2026.",
          "RDAP for amazonaws.com gives a registration date of 2005-08-18. The API answers at sns.\u003cregion\u003e.amazonaws.com, while product and legal pages sit on aws.amazon.com."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/amazon-sns.json",
      "live": {
        "slug": "amazon-sns",
        "probe": {
          "target": "https://sns.us-east-1.amazonaws.com",
          "method": "get",
          "lastAt": "2026-10-10T02:06:59.643377196Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 258,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 252,
          "p95ms24h": 318,
          "samples24h": 250,
          "samples30d": 322,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 22
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@aws-sdk/client-sns",
            "version": "3.1148.0",
            "seenAt": "2026-10-09T16:39:00.155753107Z"
          },
          {
            "registry": "pypi",
            "name": "awslabs.amazon-sns-sqs-mcp-server",
            "version": "2.1.1",
            "released": "2026-09-08",
            "seenAt": "2026-10-09T16:39:01.323130717Z"
          },
          {
            "registry": "pypi",
            "name": "boto3",
            "version": "1.43.110",
            "released": "2026-10-08",
            "seenAt": "2026-10-09T16:39:01.132277851Z"
          }
        ],
        "githubStars": 229,
        "npmWeekly": 5316063,
        "pypiWeekly": 577963463,
        "securityTxt": {
          "url": "https://amazonaws.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2026-09-24T16:25:03.000Z",
          "checkedAt": "2026-10-09T15:40:31.547092582Z"
        },
        "llmsTxt": {
          "url": "https://docs.aws.amazon.com/sns/latest/dg/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:01:23.868115156Z"
        },
        "pages": [
          {
            "url": "https://docs.aws.amazon.com/sns/latest/dg/sns-release-notes.html",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:36:52.155488791Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d3d51400e0c1"
          },
          {
            "url": "https://aws.amazon.com/sns/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:17.932805681Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2f23a2b26bc9"
          }
        ],
        "updatedAt": "2026-10-10T02:06:59.643377196Z"
      }
    },
    "answer": "Amazon SNS scores 72.8 (BB) on agent readiness against Pingram's 57.4 (C), and leads in 4 of 7 scored categories. Pingram leads on payments \u0026 pricing and maintenance \u0026 community.",
    "b": {
      "slug": "pingram",
      "name": "Pingram",
      "vendor": "Pingram",
      "vendorUrl": "https://www.pingram.io",
      "kind": "http-api",
      "category": "notifications",
      "summary": "Pingram, formerly NotificationAPI, is a hosted messaging API that sends email and SMS and receives replies by webhook. Agents reach it through a REST API, seven server SDKs, a CLI and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/pingram",
      "markdownUrl": "https://www.anchorterminal.com/tools/pingram.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pingram.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pingram.json",
      "repo": "https://github.com/pingram-io/pingram-go",
      "license": "Proprietary service under Pingram's terms of service. The Node.js SDK and CLI are MIT on npm. The Go SDK repository has no licence file",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://mcp.pingram.io",
      "packages": [
        {
          "registry": "npm",
          "name": "pingram"
        },
        {
          "registry": "npm",
          "name": "pingram-cli"
        },
        {
          "registry": "go",
          "name": "github.com/pingram-io/pingram-go"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. REST calls to `https://api.pingram.io` take an API key as `Authorization: Bearer`. Keys are created in the dashboard or through `POST /keys`, are secret or public, can be tied to one environment and can be revoked. The API reference also lists Basic schemes for client credentials and end users. The hosted MCP server uses OAuth sign-in with the dashboard account (email, Google or Microsoft) and has that user's access on every account they belong to. No scopes were found.",
      "pricing": "freemium",
      "pricingNotes": "Free tier of 3,000 emails and 100 SMS a month with one local number, no card, so an agent's owner can start without a contract. Paid plans are monthly budgets from $20 to $1,000 drawn down at per-message rates, $0.0005 an email and SMS by country ($0.0100 a segment to the United States). Unused balance does not roll over. Enterprise add-on from $800 a month (https://www.pingram.io/pricing).",
      "priceSummary": "$20 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page, llms.txt or the API reference (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 1,
        "npmWeekly": 12699,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://www.pingram.io/docs",
      "llmsTxt": "https://www.pingram.io/llms.txt",
      "registryName": "io.pingram/mcp",
      "capabilities": [
        "notify.multichannel",
        "notify.push",
        "notify.in-app",
        "email.send",
        "email.inbound",
        "email.domains",
        "messaging.sms",
        "messaging.mms",
        "messaging.inbound"
      ],
      "tags": [
        "hosted",
        "freemium",
        "mcp",
        "oauth",
        "llms-txt",
        "typescript",
        "python",
        "go",
        "webhooks",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.4,
        "grade": "C",
        "agentReady": false,
        "rank": 611,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 11,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 81,
          "payments": 40,
          "reliability": 58,
          "schema": 69,
          "security": 51,
          "transparency": 54
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-10-09. `llms.txt` and `llms-full.txt`, the files Pingram publishes for AI systems, give the paid plan as from $9 a month, while the pricing page's lowest paid budget is $20. `llms.txt` also links the API reference at an address that answers 403 (https://www.pingram.io/llms.txt, https://www.pingram.io/pricing). 2 points."
        ],
        "verdict": "Email and SMS go out through one REST call with built-in delivery, per-message prices are public and the free tier needs no card. No rate limits or idempotency keys were found in the reviewed documentation, and the MCP connector acts with the signed-in user's whole account.",
        "bestFor": "An agent that needs to send transactional email and SMS and read replies through one account without separate carrier or SMTP providers.",
        "strengths": [
          "Email costs $0.0005 a message and SMS is priced per country on a public page, with a free tier of 3,000 emails and 100 SMS a month and no card",
          "Hosted MCP server at `https://mcp.pingram.io` with OAuth sign-in and regional hosts for Canada and the EU, listed in the official MCP registry",
          "Error responses carry a `trackingId` and an `error` object with `code`, `message` and an optional `fix` hint",
          "A dated changelog with a JSON feed shows more than 25 entries between 16 September and 7 October 2026",
          "security.txt valid to 13 September 2027 and a vulnerability disclosure policy with safe harbour, dated 14 September 2026"
        ],
        "weaknesses": [
          "The terms of service forbid using the service for benchmarking. This matters before any probe is run",
          "No request rate limits, 429 handling or idempotency key for sends were found in the reviewed documentation",
          "The MCP connector has the signed-in user's access across every account they belong to, with no scopes or read-only mode found",
          "`llms.txt` gives a paid plan from $9 a month and links an API reference address that answers 403. The pricing page starts paid plans at $20",
          "RBAC, SAML and internal audit logs are sold only in the Enterprise add-on, which starts at $800 a month"
        ],
        "agentNotes": [
          "Use the API host for the account's region. The key and region (`us`, `eu` or `ca`) come from the API Keys page in the dashboard",
          "Keep the `trackingId` from each send and check Logs before retrying. No idempotency key was found, so a blind retry can send twice",
          "Pass `accountId` on MCP tools when the user belongs to several accounts. Without it the tools use the earliest account joined",
          "Create broadcasts as drafts only. Pingram's own skill says a person must send a broadcast from the dashboard",
          "Expect 402 when the monthly budget is spent. Unused balance does not roll over"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.4
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 81,
          "payments": 40,
          "reliability": 58,
          "schema": 69,
          "security": 51,
          "transparency": 47
        },
        "provenanceScore": 60
      },
      "connect": {
        "install": "npm install pingram",
        "http": "curl -X POST https://api.pingram.io/email \\\n  -H \"Authorization: Bearer $PINGRAM_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"type\":\"welcome\",\"to\":\"user@example.com\",\"subject\":\"Welcome\",\"html\":\"\u003cp\u003eHello\u003c/p\u003e\"}'",
        "config": {
          "mcpServers": {
            "pingram": {
              "url": "https://mcp.pingram.io"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/notify.multichannel",
        "tool": "https://letme.dev/pingram"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Email",
          "unit": "1k-emails",
          "usd": 0.5
        },
        {
          "item": "SMS to the United States",
          "unit": "message",
          "usd": 0.01,
          "note": "per segment, carrier fee included"
        },
        {
          "item": "SMS to Canada",
          "unit": "message",
          "usd": 0.015,
          "note": "per segment, carrier fee included"
        },
        {
          "item": "Lowest paid budget",
          "unit": "month",
          "usd": 20,
          "note": "about 2,000 US SMS or 40,000 emails"
        },
        {
          "item": "Extra local phone number",
          "unit": "month",
          "usd": 0.5
        },
        {
          "item": "Enterprise add-on",
          "unit": "month",
          "usd": 800,
          "note": "starting price, on top of a paid budget"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "pingram.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.pingram.io/terms-of-service",
        "privacy": "https://www.pingram.io/privacy-policy",
        "statusPage": "https://status.pingram.io",
        "changelog": "https://www.pingram.io/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-09",
        "notes": [
          "No legal entity is named. The terms, privacy policy and footer say Pingram or Pingram™, at 170 Water St., #0200, St. John's, Newfoundland and Labrador, Canada.",
          "The terms (last updated 16 April 2025) cover the website, APIs and related services, and are governed by the law of Newfoundland and Labrador.",
          "The API answers at api.pingram.io and the MCP server at mcp.pingram.io, both on the vendor's domain.",
          "security.txt names security@pingram.io and expires on 13 September 2027.",
          "RDAP for pingram.io answered 404 through rdap.org, so no registration date is recorded."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/pingram.json",
      "live": {
        "slug": "pingram",
        "probe": {
          "target": "https://mcp.pingram.io",
          "method": "get",
          "lastAt": "2026-10-10T02:07:20.310675584Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 306,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 305,
          "p95ms24h": 483,
          "samples24h": 107,
          "samples30d": 107,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 22
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.pingram.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T02:06:23.501559278Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "pingram",
            "version": "1.0.38",
            "seenAt": "2026-10-09T17:13:00.934046118Z"
          },
          {
            "registry": "npm",
            "name": "pingram-cli",
            "version": "1.0.20",
            "seenAt": "2026-10-09T17:13:01.370409108Z"
          }
        ],
        "githubStars": 1,
        "npmWeekly": 12699,
        "pages": [
          {
            "url": "https://www.pingram.io/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:53:04.217531365Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3ff49dfdb708"
          },
          {
            "url": "https://www.pingram.io/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:53:06.703182666Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c41e8c804eec"
          },
          {
            "url": "https://www.pingram.io/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:53:08.791743628Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "253bc47822ca"
          },
          {
            "url": "https://www.pingram.io/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:53:10.238064171Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bf1565dd261f"
          }
        ],
        "updatedAt": "2026-10-10T02:07:20.310675584Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Amazon Web Services",
        "b": "Pingram",
        "name": "Vendor"
      },
      {
        "a": "https://sns.us-east-1.amazonaws.com",
        "b": "https://mcp.pingram.io",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "$0. per message",
        "b": "not published",
        "name": "Price for push notifications"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the AWS Customer Agreement. The AWS SDKs and the AWS Labs MCP server are Apache-2.0",
        "b": "Proprietary service under Pingram's terms of service. The Node.js SDK and CLI are MIT on npm. The Go SDK repository has no licence file",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.pingram/mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-06",
        "b": "2026-10-08",
        "name": "Last release"
      },
      {
        "a": "2026-08-14",
        "b": "2025-04-16",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-18",
        "b": "2025-04-16",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "6.5M npm/wk",
        "b": "1 stars, 13k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Amazon SNS scores 72.8 (BB) on agent readiness against Pingram's 57.4 (C), and leads in 4 of 7 scored categories. Pingram leads on payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Amazon SNS or Pingram?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Amazon SNS and Pingram need an API key?"
      },
      {
        "answer": "Yes. Amazon SNS has a hosted endpoint at https://sns.us-east-1.amazonaws.com and Pingram at https://mcp.pingram.io.",
        "question": "Can an agent call Amazon SNS and Pingram without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 75 against 58",
          "Schema \u0026 documentation, 83 against 69",
          "Security \u0026 auth, 89 against 51",
          "Transparency \u0026 trust, 83 against 54"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "Teams already on AWS that want cheap push, SMS and plain-text email alerts or fan-out to queues and functions under IAM and CloudTrail.",
        "slug": "amazon-sns",
        "watchFor": "No idempotency token on `Publish` to a standard topic. Only FIFO topics deduplicate, over a five-minute window"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 40 against 35",
          "Maintenance \u0026 community, 81 against 75"
        ],
        "also": null,
        "goodFor": "An agent that needs to send transactional email and SMS and read replies through one account without separate carrier or SMTP providers.",
        "slug": "pingram",
        "watchFor": "The terms of service forbid using the service for benchmarking. This matters before any probe is run"
      }
    ],
    "job": {
      "capability": "notify.push",
      "name": "Push notifications"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-sns-vs-courier.json",
        "title": "Amazon SNS vs Courier",
        "url": "https://www.anchorterminal.com/compare/amazon-sns-vs-courier"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-sns-vs-expo-push-notifications.json",
        "title": "Amazon SNS vs Expo Push Notifications",
        "url": "https://www.anchorterminal.com/compare/amazon-sns-vs-expo-push-notifications"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-sns-vs-firebase-cloud-messaging.json",
        "title": "Amazon SNS vs Firebase Cloud Messaging",
        "url": "https://www.anchorterminal.com/compare/amazon-sns-vs-firebase-cloud-messaging"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-sns-vs-knock.json",
        "title": "Amazon SNS vs Knock",
        "url": "https://www.anchorterminal.com/compare/amazon-sns-vs-knock"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-sns-vs-magicbell.json",
        "title": "Amazon SNS vs MagicBell",
        "url": "https://www.anchorterminal.com/compare/amazon-sns-vs-magicbell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-sns-vs-novu.json",
        "title": "Amazon SNS vs Novu",
        "url": "https://www.anchorterminal.com/compare/amazon-sns-vs-novu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-sns-vs-ntfy.json",
        "title": "Amazon SNS vs ntfy",
        "url": "https://www.anchorterminal.com/compare/amazon-sns-vs-ntfy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-sns-vs-onesignal.json",
        "title": "Amazon SNS vs OneSignal",
        "url": "https://www.anchorterminal.com/compare/amazon-sns-vs-onesignal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-sns-vs-pushover.json",
        "title": "Amazon SNS vs Pushover",
        "url": "https://www.anchorterminal.com/compare/amazon-sns-vs-pushover"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-sns-vs-suprsend.json",
        "title": "Amazon SNS vs SuprSend",
        "url": "https://www.anchorterminal.com/compare/amazon-sns-vs-suprsend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/courier-vs-pingram.json",
        "title": "Courier vs Pingram",
        "url": "https://www.anchorterminal.com/compare/courier-vs-pingram"
      },
      {
        "json": "https://www.anchorterminal.com/compare/expo-push-notifications-vs-pingram.json",
        "title": "Expo Push Notifications vs Pingram",
        "url": "https://www.anchorterminal.com/compare/expo-push-notifications-vs-pingram"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firebase-cloud-messaging-vs-pingram.json",
        "title": "Firebase Cloud Messaging vs Pingram",
        "url": "https://www.anchorterminal.com/compare/firebase-cloud-messaging-vs-pingram"
      },
      {
        "json": "https://www.anchorterminal.com/compare/knock-vs-pingram.json",
        "title": "Knock vs Pingram",
        "url": "https://www.anchorterminal.com/compare/knock-vs-pingram"
      },
      {
        "json": "https://www.anchorterminal.com/compare/magicbell-vs-pingram.json",
        "title": "MagicBell vs Pingram",
        "url": "https://www.anchorterminal.com/compare/magicbell-vs-pingram"
      },
      {
        "json": "https://www.anchorterminal.com/compare/novu-vs-pingram.json",
        "title": "Novu vs Pingram",
        "url": "https://www.anchorterminal.com/compare/novu-vs-pingram"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ntfy-vs-pingram.json",
        "title": "ntfy vs Pingram",
        "url": "https://www.anchorterminal.com/compare/ntfy-vs-pingram"
      },
      {
        "json": "https://www.anchorterminal.com/compare/onesignal-vs-pingram.json",
        "title": "OneSignal vs Pingram",
        "url": "https://www.anchorterminal.com/compare/onesignal-vs-pingram"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pingram-vs-pushover.json",
        "title": "Pingram vs Pushover",
        "url": "https://www.anchorterminal.com/compare/pingram-vs-pushover"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pingram-vs-suprsend.json",
        "title": "Pingram vs SuprSend",
        "url": "https://www.anchorterminal.com/compare/pingram-vs-suprsend"
      }
    ],
    "scores": [
      {
        "amazon-sns": 75,
        "by": 17,
        "edge": "amazon-sns",
        "key": "reliability",
        "name": "Reliability",
        "pingram": 58,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "amazon-sns": 83,
        "by": 14,
        "edge": "amazon-sns",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "pingram": 69,
        "weight": 13
      },
      {
        "amazon-sns": 65,
        "by": 2,
        "edge": "pingram",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "pingram": 67,
        "weight": 13
      },
      {
        "amazon-sns": 89,
        "by": 38,
        "edge": "amazon-sns",
        "key": "security",
        "name": "Security \u0026 auth",
        "pingram": 51,
        "weight": 14
      },
      {
        "amazon-sns": 35,
        "by": 5,
        "edge": "pingram",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "pingram": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "amazon-sns": 75,
        "by": 6,
        "edge": "pingram",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "pingram": 81,
        "weight": 7
      },
      {
        "amazon-sns": 83,
        "by": 29,
        "edge": "amazon-sns",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "pingram": 54,
        "weight": 7
      }
    ],
    "summary": "Amazon SNS scores 72.8 (BB) on agent readiness against Pingram's 57.4 (C), and leads in 4 of 7 scored categories. Pingram leads on payments \u0026 pricing and maintenance \u0026 community. Both do push notifications.",
    "verdicts": {
      "amazon-sns": "IAM and topic policies limit a credential to single actions and topics, a read-only managed policy exists, and CloudTrail can log each publish. Standard topics take no idempotency token, so a retried `Publish` can send twice. SNS has no user preferences, digests or in-app channel, email is plain text to confirmed subscribers, and SMS starts in a sandbox.",
      "pingram": "Email and SMS go out through one REST call with built-in delivery, per-message prices are public and the free tier needs no card. No rate limits or idempotency keys were found in the reviewed documentation, and the MCP connector acts with the signed-in user's whole account."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/amazon-sns-vs-pingram",
    "json": "https://www.anchorterminal.com/compare/amazon-sns-vs-pingram.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/amazon-sns-vs-pingram.md",
    "slim": "https://www.anchorterminal.com/compare/amazon-sns-vs-pingram.min.md"
  },
  "markdown": "Amazon SNS scores 72.8 (BB) on agent readiness against Pingram's 57.4 (C), and leads in 4 of 7 scored categories. Pingram leads on payments \u0026 pricing and maintenance \u0026 community. Both do push notifications.\n\n- Amazon SNS: grade BB, 72.8/100, rank #99 of 950. Markdown https://www.anchorterminal.com/tools/amazon-sns.md · JSON https://www.anchorterminal.com/api/v1/tools/amazon-sns.json\n- Pingram: grade C, 57.4/100, rank #611 of 950. Markdown https://www.anchorterminal.com/tools/pingram.md · JSON https://www.anchorterminal.com/api/v1/tools/pingram.json\n- Best notification APIs for AI agents: https://www.anchorterminal.com/best/notifications/index.md\n- All 66 notifications comparisons: https://www.anchorterminal.com/compare/notifications/index.md\n\n## Which one, for what\n\n### Amazon SNS (BB)\n\nGood for: Teams already on AWS that want cheap push, SMS and plain-text email alerts or fan-out to queues and functions under IAM and CloudTrail.\n\nAhead on:\n- Reliability, 75 against 58\n- Schema \u0026 documentation, 83 against 69\n- Security \u0026 auth, 89 against 51\n- Transparency \u0026 trust, 83 against 54\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: No idempotency token on `Publish` to a standard topic. Only FIFO topics deduplicate, over a five-minute window\n\n### Pingram (C)\n\nGood for: An agent that needs to send transactional email and SMS and read replies through one account without separate carrier or SMTP providers.\n\nAhead on:\n- Payments \u0026 pricing, 40 against 35\n- Maintenance \u0026 community, 81 against 75\n\nWatch for: The terms of service forbid using the service for benchmarking. This matters before any probe is run\n\n\n## Score by category\n\n| Category | Weight | Amazon SNS | Pingram | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 58 | Amazon SNS +17 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 69 | Amazon SNS +14 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 67 | Pingram +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 89 | 51 | Amazon SNS +38 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 40 | Pingram +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 75 | 81 | Pingram +6 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 83 | 54 | Amazon SNS +29 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **72.8 · BB** | **57.4 · C** | |\n\n## Facts side by side\n\n| Fact | Amazon SNS | Pingram |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Amazon Web Services | Pingram |\n| Hosted endpoint | `https://sns.us-east-1.amazonaws.com` | `https://mcp.pingram.io` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Pay per use | Freemium |\n| Price for push notifications | $0. per message | not published |\n| x402 | no | no |\n| Licence | Proprietary service under the AWS Customer Agreement. The AWS SDKs and the AWS Labs MCP server are Apache-2.0 | Proprietary service under Pingram's terms of service. The Node.js SDK and CLI are MIT on npm. The Go SDK repository has no licence file |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `io.pingram/mcp` |\n| Last release | 2026-10-06 | 2026-10-08 |\n| Terms last updated | 2026-08-14 | 2025-04-16 |\n| Privacy policy last updated | 2026-05-18 | 2025-04-16 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 6.5M npm/wk | 1 stars, 13k npm/wk |\n\n## Verdicts\n\n**Amazon SNS.** IAM and topic policies limit a credential to single actions and topics, a read-only managed policy exists, and CloudTrail can log each publish. Standard topics take no idempotency token, so a retried `Publish` can send twice. SNS has no user preferences, digests or in-app channel, email is plain text to confirmed subscribers, and SMS starts in a sandbox.\n\n**Pingram.** Email and SMS go out through one REST call with built-in delivery, per-message prices are public and the free tier needs no card. No rate limits or idempotency keys were found in the reviewed documentation, and the MCP connector acts with the signed-in user's whole account.\n\n## Before you call either\n\n### Amazon SNS\n\n1. Sign requests with SigV4 for service `sns` at `sns.\u003cregion\u003e.amazonaws.com`, or call `aws sns publish --topic-arn \u003carn\u003e --message \u003ctext\u003e` from the AWS CLI\n2. Track `MessageId` yourself on standard topics, because a retried `Publish` sends again. Use a FIFO topic with `MessageDeduplicationId` when duplicates matter\n3. Send per-channel text by setting `MessageStructure` to `json` and passing a JSON string with a `default` key plus keys such as `APNS`, `GCM`, `email` and `sms`\n4. Check `GetSMSSandboxAccountStatus` and the monthly spend quota before texting. Sandbox sends reach only verified numbers\n5. Expect an email subscription to stay in `PendingConfirmation` until the recipient clicks the link, and keep each email subscription under 10 messages a second\n\n### Pingram\n\n1. Use the API host for the account's region. The key and region (`us`, `eu` or `ca`) come from the API Keys page in the dashboard\n2. Keep the `trackingId` from each send and check Logs before retrying. No idempotency key was found, so a blind retry can send twice\n3. Pass `accountId` on MCP tools when the user belongs to several accounts. Without it the tools use the earliest account joined\n4. Create broadcasts as drafts only. Pingram's own skill says a person must send a broadcast from the dashboard\n5. Expect 402 when the monthly budget is spent. Unused balance does not roll over\n\n## Questions\n\n### Which is better for AI agents, Amazon SNS or Pingram?\n\nAmazon SNS scores 72.8 (BB) on agent readiness against Pingram's 57.4 (C), and leads in 4 of 7 scored categories. Pingram leads on payments \u0026 pricing and maintenance \u0026 community.\n\n### Do Amazon SNS and Pingram need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Amazon SNS and Pingram without installing anything?\n\nYes. Amazon SNS has a hosted endpoint at https://sns.us-east-1.amazonaws.com and Pingram at https://mcp.pingram.io.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/amazon-sns-vs-pingram.json, and with the fewest tokens: https://www.anchorterminal.com/compare/amazon-sns-vs-pingram.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"amazon-sns\", \"b\": \"pingram\"}`. From a terminal: `anchor compare amazon-sns pingram`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/amazon-sns.json and https://www.anchorterminal.com/api/v1/tools/pingram.json\n\n## Other comparisons with Amazon SNS or Pingram\n\n- [Amazon SNS vs Courier](https://www.anchorterminal.com/compare/amazon-sns-vs-courier.md)\n- [Amazon SNS vs Expo Push Notifications](https://www.anchorterminal.com/compare/amazon-sns-vs-expo-push-notifications.md)\n- [Amazon SNS vs Firebase Cloud Messaging](https://www.anchorterminal.com/compare/amazon-sns-vs-firebase-cloud-messaging.md)\n- [Amazon SNS vs Knock](https://www.anchorterminal.com/compare/amazon-sns-vs-knock.md)\n- [Amazon SNS vs MagicBell](https://www.anchorterminal.com/compare/amazon-sns-vs-magicbell.md)\n- [Amazon SNS vs Novu](https://www.anchorterminal.com/compare/amazon-sns-vs-novu.md)\n- [Amazon SNS vs ntfy](https://www.anchorterminal.com/compare/amazon-sns-vs-ntfy.md)\n- [Amazon SNS vs OneSignal](https://www.anchorterminal.com/compare/amazon-sns-vs-onesignal.md)\n- [Amazon SNS vs Pushover](https://www.anchorterminal.com/compare/amazon-sns-vs-pushover.md)\n- [Amazon SNS vs SuprSend](https://www.anchorterminal.com/compare/amazon-sns-vs-suprsend.md)\n- [Courier vs Pingram](https://www.anchorterminal.com/compare/courier-vs-pingram.md)\n- [Expo Push Notifications vs Pingram](https://www.anchorterminal.com/compare/expo-push-notifications-vs-pingram.md)\n- [Firebase Cloud Messaging vs Pingram](https://www.anchorterminal.com/compare/firebase-cloud-messaging-vs-pingram.md)\n- [Knock vs Pingram](https://www.anchorterminal.com/compare/knock-vs-pingram.md)\n- [MagicBell vs Pingram](https://www.anchorterminal.com/compare/magicbell-vs-pingram.md)\n- [Novu vs Pingram](https://www.anchorterminal.com/compare/novu-vs-pingram.md)\n- [ntfy vs Pingram](https://www.anchorterminal.com/compare/ntfy-vs-pingram.md)\n- [OneSignal vs Pingram](https://www.anchorterminal.com/compare/onesignal-vs-pingram.md)\n- [Pingram vs Pushover](https://www.anchorterminal.com/compare/pingram-vs-pushover.md)\n- [Pingram vs SuprSend](https://www.anchorterminal.com/compare/pingram-vs-suprsend.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "Amazon SNS vs Pingram",
        "url": ""
      }
    ],
    "description": "Amazon SNS scores 72.8 (BB) to Pingram's 57.4 (C) for push notifications. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Amazon SNS BB 72.8",
      "Pingram C 57.4",
      "scores"
    ],
    "h1": "Amazon SNS vs Pingram",
    "image": "https://www.anchorterminal.com/assets/og/compare-amazon-sns-vs-pingram.png",
    "path": "/compare/amazon-sns-vs-pingram",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Amazon SNS vs Pingram for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/amazon-sns-vs-pingram"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 730
  },
  "version": 1
}
