{
  "data": {
    "a": {
      "slug": "aws-end-user-messaging",
      "name": "AWS End User Messaging",
      "vendor": "Amazon Web Services",
      "vendorUrl": "https://aws.amazon.com/end-user-messaging/",
      "kind": "http-api",
      "category": "messaging",
      "summary": "AWS's messaging service for SMS, MMS, RCS, WhatsApp, voice and push, formerly the channel APIs of Amazon Pinpoint. Agents call the SMS and Voice v2 API or the Social Messaging API with IAM-signed requests, through the AWS CLI or SDKs.",
      "url": "https://www.anchorterminal.com/tools/aws-end-user-messaging",
      "markdownUrl": "https://www.anchorterminal.com/tools/aws-end-user-messaging.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/aws-end-user-messaging.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/aws-end-user-messaging.json",
      "repo": "https://github.com/aws/api-models-aws",
      "license": "Proprietary service under the AWS Customer Agreement. The AWS SDKs are Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://sms-voice.us-east-1.amazonaws.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@aws-sdk/client-pinpoint-sms-voice-v2"
        },
        {
          "registry": "npm",
          "name": "@aws-sdk/client-socialmessaging"
        },
        {
          "registry": "pypi",
          "name": "boto3"
        }
      ],
      "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 policies use the `sms-voice` action prefix with resource ARNs and condition keys. Access is self-serve with an AWS account, but each Region starts in a sandbox, and production access is granted through an AWS Support case. US numbers need carrier registration, and WhatsApp needs a linked WhatsApp Business Account.",
      "pricing": "usage",
      "pricingNotes": "Pay per message with no monthly minimum. US SMS is $0.00774 a message part plus a $0.00421 carrier fee, UK SMS $0.05, US MMS $0.02 plus $0.01. WhatsApp adds $0.005 per outbound message to Meta's fee. Push is free for the first 1,000,000 notifications a month. There is no SMS free allowance. New AWS customers get up to $200 in Free Tier credits, and AWS says most can sign up without a payment method. The sandbox lets an account send to verified numbers without a contract (https://aws.amazon.com/end-user-messaging/pricing/, https://aws.amazon.com/free/free-tier-faqs/).",
      "priceSummary": "$1 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the user guide index, the API models or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 406900,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.aws.amazon.com/sms-voice/latest/userguide/what-is-sms-mms.html",
      "llmsTxt": "https://docs.aws.amazon.com/sms-voice/latest/userguide/llms.txt",
      "capabilities": [
        "messaging.sms",
        "messaging.mms",
        "messaging.whatsapp",
        "messaging.rcs",
        "messaging.verify",
        "messaging.inbound"
      ],
      "tags": [
        "hosted",
        "llms-txt",
        "typescript",
        "python",
        "sms",
        "whatsapp",
        "rcs",
        "enterprise"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 74.3,
        "grade": "BB",
        "agentReady": true,
        "rank": 76,
        "ranked": true,
        "rankOf": 1098,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 85,
          "payments": 30,
          "reliability": 73,
          "schema": 88,
          "security": 88,
          "transparency": 83
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "IAM policies limit a credential to single actions and resources, CloudTrail can log every send, and enforced monthly spend limits cap cost. New accounts start in a sandbox with a $1 monthly SMS limit and ten verified recipients, production access needs a support case per Region, and the send actions take no idempotency token.",
        "bestFor": "Teams already on AWS that want SMS, MMS, RCS and WhatsApp under IAM, CloudTrail and per-Region control at carrier-level prices.",
        "strengths": [
          "IAM policies per action and resource with condition keys and temporary credentials, and CloudTrail data events for the send actions",
          "Smithy model published for all 110 SMS and Voice v2 operations, with 69 enumerated types and reason codes on errors",
          "Enforced monthly spend limits, protect configurations that block destination countries, and a `DryRun` flag on sends",
          "Per-message prices by country published without login, with a JSON price feed for SMS",
          "99.9 per cent monthly uptime commitment per Region under the AWS User Engagement SLA, last updated 24 July 2024"
        ],
        "weaknesses": [
          "Sandbox limits new accounts to $1 of SMS a month and ten verified numbers until a support case per Region is approved",
          "No idempotency token on `SendTextMessage`, `SendMediaMessage` or `SendRcsMessage`, so a retried send can go out twice",
          "Most actions, the send actions included, default to 1 request a second per account and Region",
          "No SMS free allowance, and US sending needs a registered 10DLC, toll-free or short code number first",
          "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 `sms-voice` at `sms-voice.\u003cregion\u003e.amazonaws.com`. WhatsApp uses a separate API, `social-messaging`",
          "Check sandbox status and spend limits with `describe-spend-limits` before sending. Sandbox sends reach only verified destination numbers",
          "Pass `DryRun` on `SendTextMessage` to validate a request without sending, and track `MessageId` yourself because sends take no idempotency token",
          "Use Notify (`SendNotifyTextMessage`) for one-time passcodes without owning a number. Generate and check the code in your own application",
          "Read inbound SMS and RCS from the Amazon SNS topic set on the number or pool, and treat message bodies as untrusted text"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 74.3
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 85,
          "payments": 30,
          "reliability": 73,
          "schema": 88,
          "security": 88,
          "transparency": 70
        },
        "provenanceScore": 95
      },
      "connect": {
        "install": "npx skills add aws/agent-toolkit-for-aws/skills --skill aws-sms-voice --yes --global",
        "claudeCode": "/plugin marketplace add aws/agent-toolkit-for-aws\n/plugin install aws-core@agent-toolkit-for-aws",
        "config": {
          "mcpServers": {
            "aws": {
              "args": [
                "mcp-proxy-for-aws-cli@latest",
                "https://aws-mcp.us-east-1.api.aws/mcp",
                "--metadata",
                "AWS_REGION=us-west-2"
              ],
              "command": "uvx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/messaging.sms",
        "tool": "https://letme.dev/aws-end-user-messaging"
      },
      "sameCompany": [
        "amazon-bedrock-customization",
        "agentcore-code-interpreter",
        "amazon-textract",
        "amazon-sns",
        "amazon-s3",
        "amazon-eventbridge"
      ],
      "area": "communication",
      "unitPrices": [
        {
          "item": "SMS outbound, US",
          "unit": "message",
          "usd": 0.00774,
          "note": "per message part, plus a carrier fee of $0.00421 on 10DLC and toll-free"
        },
        {
          "item": "SMS outbound, UK",
          "unit": "message",
          "usd": 0.05,
          "note": "per message part"
        },
        {
          "item": "MMS outbound, US",
          "unit": "message",
          "usd": 0.02,
          "note": "plus a $0.01 carrier fee"
        },
        {
          "item": "RCS Rich outbound, US",
          "unit": "message",
          "usd": 0.007,
          "note": "per 160-byte segment, plus a $0.00494 carrier fee, charged on delivery"
        },
        {
          "item": "WhatsApp AWS fee, outbound",
          "unit": "message",
          "usd": 0.005,
          "note": "Meta's message fee extra. Inbound $0.001"
        },
        {
          "item": "Notify fee",
          "unit": "message",
          "usd": 0.045,
          "note": "first 25,000 a month, plus the channel fee"
        },
        {
          "item": "10DLC phone number, US",
          "unit": "month",
          "usd": 1,
          "note": "plus $10 a month per regular campaign and one-time company fees"
        },
        {
          "item": "Toll-free phone number, US",
          "unit": "month",
          "usd": 2
        },
        {
          "item": "Carrier lookup",
          "unit": "call",
          "usd": 0.006,
          "note": "per phone number validation request"
        }
      ],
      "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/sms-voice/latest/userguide/doc-history.html",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The AWS Customer Agreement (last updated 14 August 2026) names Amazon Web Services, Inc., 410 Terry Avenue North, Seattle, as the contracting party for countries not listed in its table, with other AWS entities by account country.",
          "Section 29 of the AWS Service Terms (last updated 1 October 2026) adds terms for Amazon Pinpoint and AWS End User Messaging, and says AMCS LLC sells parts of the service in Japan and AMCS SG Private Limited in Singapore (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 sms-voice.\u003cregion\u003e.amazonaws.com, while product and legal pages sit on aws.amazon.com."
        ],
        "score": 95
      },
      "requirements": {
        "card": "paid-only",
        "freeTier": true,
        "minutes": 30,
        "credential": "cloud-iam",
        "hosting": [
          "US",
          "CA",
          "EU",
          "UK",
          "APAC"
        ],
        "euResidency": "no",
        "trainsOnData": "no",
        "zeroRetention": "unknown",
        "certifications": [
          "SOC 2 Type II",
          "ISO 27001",
          "ISO 27701",
          "CSA STAR",
          "HIPAA (BAA available)",
          "FedRAMP",
          "GDPR"
        ],
        "dpa": true,
        "selfHost": "no"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/aws-end-user-messaging.json",
      "live": {
        "slug": "aws-end-user-messaging",
        "probe": {
          "target": "https://sms-voice.us-east-1.amazonaws.com",
          "method": "get",
          "lastAt": "2026-10-16T12:47:03.709797412Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 265,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.95,
          "p50ms24h": 258,
          "p95ms24h": 274,
          "samples24h": 253,
          "samples30d": 1927,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 249
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 136,
              "ok": 136
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@aws-sdk/client-pinpoint-sms-voice-v2",
            "version": "3.1152.0",
            "seenAt": "2026-10-16T00:37:41.73072111Z"
          },
          {
            "registry": "npm",
            "name": "@aws-sdk/client-socialmessaging",
            "version": "3.1152.0",
            "seenAt": "2026-10-16T00:37:42.538727127Z"
          },
          {
            "registry": "pypi",
            "name": "boto3",
            "version": "1.43.114",
            "released": "2026-10-14",
            "seenAt": "2026-10-16T00:37:43.930366549Z"
          }
        ],
        "githubStars": 229,
        "npmWeekly": 342723,
        "pypiWeekly": 614405236,
        "securityTxt": {
          "url": "https://amazonaws.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2026-09-24T16:25:03.000Z",
          "checkedAt": "2026-10-15T15:48:58.072150264Z"
        },
        "llmsTxt": {
          "url": "https://docs.aws.amazon.com/sms-voice/latest/userguide/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-15T14:16:03.465581713Z"
        },
        "domain": {
          "domain": "amazonaws.com",
          "registered": "2005-08-18",
          "source": "https://rdap.verisign.com/com/v1/domain/amazonaws.com",
          "checkedAt": "2026-10-11T13:25:49.180760495Z"
        },
        "pages": [
          {
            "url": "https://docs.aws.amazon.com/sms-voice/latest/userguide/doc-history.html",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-15T21:54:50.890133004Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "73a24c837402"
          },
          {
            "url": "https://aws.amazon.com/end-user-messaging/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-15T21:51:02.324012346Z",
            "changedAt": "2026-10-15T21:20:58.23970624Z",
            "fingerprint": "17525ae53e9a"
          }
        ],
        "updatedAt": "2026-10-16T12:47:03.709797412Z"
      }
    },
    "answer": "AWS End User Messaging scores 74.3 (BB) on agent readiness against Photon's 53.5 (D), and leads in every scored category.",
    "b": {
      "slug": "photon",
      "name": "Photon",
      "vendor": "Photon",
      "vendorUrl": "https://photon.codes",
      "kind": "sdk",
      "category": "messaging",
      "summary": "Photon connects AI agents to iMessage, WhatsApp Business, Telegram and SIP voice through its spectrum-ts TypeScript SDK and managed iMessage lines. Photon 2.0, a public beta since 15 October 2026, adds an HTTP API that also covers email and SMS.",
      "url": "https://www.anchorterminal.com/tools/photon",
      "markdownUrl": "https://www.anchorterminal.com/tools/photon.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/photon.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/photon.json",
      "repo": "https://github.com/photon-hq/spectrum-ts",
      "license": "Proprietary hosted service under Something Great Inc.'s terms of service. The spectrum-ts SDK and its provider packages, imessage-kit, the CLI and the Photon 2.0 API clients are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://spectrum.photon.codes",
      "packages": [
        {
          "registry": "npm",
          "name": "spectrum-ts"
        },
        {
          "registry": "npm",
          "name": "@photon-ai/cli"
        },
        {
          "registry": "npm",
          "name": "@photon-ai/api"
        },
        {
          "registry": "pypi",
          "name": "photonhq-api"
        }
      ],
      "auth": "api-key",
      "authNotes": "The Stable Spectrum API takes the project ID and project secret as HTTP Basic credentials. The secret grants full management access to the project, doesn't expire on its own and is rotated with `photon projects regenerate-secret`. The SDK uses the same pair to mint per-line iMessage tokens, renewed at 80 per cent of their lifetime. The Dashboard API takes OAuth 2.1 tokens with PKCE and consented scopes, and the CLI logs in by a device flow approved in a browser, with a 7-day token. Photon 2.0 (Beta) uses separate bearer credentials with permissions, `pho_sk_` project keys and `pho_ask_` account service keys.",
      "pricing": "freemium",
      "pricingNotes": "Plan prices with no per-message fee for iMessage. Free is $0 for up to 10 users on shared numbers, Pro $25 a month for up to 100 users, Business $250 per dedicated line a month, and Enterprise on request (https://photon.codes/pricing, checked 2026-10-16). Whether the Free plan needs a card wasn't established. The Photon 2.0 beta has its own plans and usage rates for SMS, MMS, voice and email, and its announcement claims $100 of free credit.",
      "priceSummary": "$25 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, llms-full.txt, the docs pages read, the pricing page, the terms or either OpenAPI document (checked 2026-10-16). Billing runs through Stripe checkout and the Stripe customer portal.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 107087,
        "pypiWeekly": null,
        "asOf": "2026-10-16"
      },
      "docsUrl": "https://photon.codes/docs",
      "llmsTxt": "https://photon.codes/docs/llms.txt",
      "openapi": "https://spectrum.photon.codes/openapi/json",
      "capabilities": [
        "messaging.sms",
        "messaging.rcs",
        "messaging.whatsapp",
        "messaging.inbound",
        "voice.sip"
      ],
      "tags": [
        "hosted",
        "imessage",
        "whatsapp",
        "telegram",
        "sms",
        "rcs",
        "sip",
        "voice",
        "sdk",
        "typescript",
        "cli",
        "webhooks",
        "llms-txt",
        "openapi",
        "oauth",
        "opentelemetry",
        "open-source-sdk",
        "self-hosted-option",
        "status-page"
      ],
      "lastRelease": "2026-10-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.5,
        "grade": "D",
        "agentReady": false,
        "rank": 757,
        "ranked": true,
        "rankOf": 1098,
        "categoryRank": 12,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 63,
          "maintenance": 78,
          "payments": 20,
          "reliability": 68,
          "schema": 75,
          "security": 29,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-16"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-10-16. The iMessage platform page states '99.95% Uptime' and infrastructure 'built for speed, stability, and 99.999% uptime' (https://photon.codes/platform/imessage). Photon's own status page shows 99.89 per cent for each iMessage component from July to October 2026, including a 2-hour 7-minute full outage on 2 September 2026 (https://status.photon.codes, https://status.photon.codes/incidents/ry86mwnd). A misleading claim, -2."
        ],
        "verdict": "Photon runs iMessage agents on managed lines backed by its own macOS clusters, with a typed TypeScript SDK, signed webhooks and docs written for agents. Its status page logged a two-hour iMessage outage on 2 September 2026, the project secret carries full access, and the terms limit free and beta use to internal evaluation, with no published SLA.",
        "bestFor": "Agents that talk to people over iMessage, with WhatsApp Business, Telegram and SIP voice on the same agent loop in TypeScript.",
        "strengths": [
          "One `spectrum-ts` message stream covers iMessage, WhatsApp Business, Telegram and a local terminal, with typed narrowing for platform-specific calls",
          "No per-message fee for iMessage on any plan. Pro is $25 a month for up to 100 users",
          "Webhooks are signed with HMAC-SHA256 and a timestamp for a 5-minute replay window, and retried up to six times with jitter",
          "llms.txt, a Markdown twin of every docs page and a documentation MCP server, with a written rule for choosing Stable or Beta",
          "spectrum-ts is MIT, with 14 tagged releases from 20 July to 15 October 2026 and CI on Node and Bun"
        ],
        "weaknesses": [
          "The status page logged a 2-hour full iMessage outage on 2 September 2026, from a power failure at Photon's data centre",
          "The project secret grants full management access, never expires on its own and has no read-only variant",
          "The terms limit free, trial and beta use to internal evaluation, 30 days by default, with liability capped at US$50",
          "No SLA document. Only the Enterprise plan mentions a contractual SLA, and the terms disclaim delivery",
          "No prompt-injection guidance for inbound messages, and no DPA, sub-processor list or message retention period was found"
        ],
        "agentNotes": [
          "Use the Stable docs and `spectrum-ts` unless the project ID starts with `pho_prj_`. Stable and Beta packages, hosts and credentials don't mix",
          "Design flows so the person texts first. Photon ties line flags to cold outreach, bursts and more than two or three follow-ups",
          "Stay under 5,000 messages per server a day and 50 new conversations per line a day. Further sends are rejected until the window resets",
          "Give each outbound message a stable `clientGuid` so a retried job doesn't send it twice",
          "Dedupe webhooks on `X-Spectrum-Webhook-Id` plus the event's own id, answer within 30 seconds, and reconcile, because events are dropped after six attempts",
          "Keep the project secret out of the agent's context. It grants full management access and doesn't expire"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.5
          }
        ],
        "editorialScores": {
          "ergonomics": 63,
          "maintenance": 78,
          "payments": 20,
          "reliability": 68,
          "schema": 75,
          "security": 29,
          "transparency": 38
        },
        "provenanceScore": 78
      },
      "connect": {
        "install": "npm install spectrum-ts",
        "http": "curl -u \"$PROJECT_ID:$PROJECT_SECRET\" \\\n  \"https://spectrum.photon.codes/projects/$PROJECT_ID/webhooks/\""
      },
      "letme": {
        "capability": "https://letme.dev/messaging.sms",
        "tool": "https://letme.dev/photon"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 25,
          "note": "Up to 100 users on shared numbers, no per-message fee for iMessage"
        },
        {
          "item": "Business plan, dedicated iMessage line",
          "unit": "month",
          "usd": 250,
          "note": "Per line. Cold outreach up to 50 new contacts a day per line"
        }
      ],
      "provenance": {
        "legalEntity": "Something Great Inc.",
        "domain": "photon.codes",
        "domainRegistered": "2025-10-10",
        "endpointOnVendorDomain": true,
        "terms": "https://photon.codes/terms-of-services",
        "privacy": "https://photon.codes/privacy-policy",
        "statusPage": "https://status.photon.codes",
        "changelog": "https://photon.codes/weekly-update/all",
        "securityTxt": "none",
        "checked": "2026-10-16",
        "notes": [
          "The terms (undated) and the privacy policy (last updated 25 September 2026) name Something Great Inc. as Photon, with a notice address at 1111B S Governors Ave, Dover, Delaware.",
          "The terms still carry bracketed template text, including '[California]' and '[San Francisco, California]' for governing law and venue, and an acceptable use policy in brackets that links to the iMessage deliverability guide.",
          "RDAP for photon.codes gives a registration date of 10 October 2025. The API is at spectrum.photon.codes, iMessage lines at hosts under imsg.photon.codes, and the Beta API at api.photon.codes.",
          "photon.codes/.well-known/security.txt returned 404 on 16 October 2026. The photon-hq/api repository's SECURITY.md asks for reports through GitHub private vulnerability reporting.",
          "The changelog link is the weekly update index, whose last entry is dated 20 June 2026. The Beta API clients keep a CHANGELOG.md in photon-hq/api.",
          "robots.txt on photon.codes allows all user agents. status.photon.codes and the API hosts serve no robots.txt. The terms have no clause on automated access to the website.",
          "WebFetch was refused for photon.codes on 16 October 2026, so every page was read with curl. github.com web pages were refused by our session's proxy, so the repositories were read through git."
        ],
        "score": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/photon.json",
      "live": {
        "slug": "photon",
        "probe": {
          "target": "https://spectrum.photon.codes",
          "method": "get",
          "lastAt": "2026-10-16T12:47:22.724063915Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 213,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 219,
          "p95ms24h": 637,
          "samples24h": 29,
          "samples30d": 29,
          "days": [
            {
              "date": "2026-10-16",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.photon.codes",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-16T12:43:54.394910488Z"
        },
        "updatedAt": "2026-10-16T12:47:22.724063915Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "SDK + MCP",
        "name": "Kind"
      },
      {
        "a": "Amazon Web Services",
        "b": "Photon",
        "name": "Vendor"
      },
      {
        "a": "https://sms-voice.us-east-1.amazonaws.com",
        "b": "https://spectrum.photon.codes",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "$0.0077 per message",
        "b": "not published",
        "name": "Price for sms"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the AWS Customer Agreement. The AWS SDKs are Apache-2.0",
        "b": "Proprietary hosted service under Something Great Inc.'s terms of service. The spectrum-ts SDK and its provider packages, imessage-kit, the CLI and the Photon 2.0 API clients are MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-06",
        "b": "2026-10-15",
        "name": "Last release"
      },
      {
        "a": "2026-08-14",
        "b": "",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-18",
        "b": "",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "407k npm/wk",
        "b": "107k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (4)",
        "b": "2.8/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "AWS End User Messaging scores 74.3 (BB) on agent readiness against Photon's 53.5 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, AWS End User Messaging or Photon?"
      },
      {
        "answer": "Yes. AWS End User Messaging has a hosted endpoint at https://sms-voice.us-east-1.amazonaws.com and Photon at https://spectrum.photon.codes.",
        "question": "Can an agent call AWS End User Messaging and Photon without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 73 against 68",
          "Schema \u0026 documentation, 88 against 75",
          "Agent ergonomics, 71 against 63",
          "Security \u0026 auth, 88 against 29",
          "Payments \u0026 pricing, 30 against 20",
          "Maintenance \u0026 community, 85 against 78",
          "Transparency \u0026 trust, 83 against 58"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "Teams already on AWS that want SMS, MMS, RCS and WhatsApp under IAM, CloudTrail and per-Region control at carrier-level prices.",
        "slug": "aws-end-user-messaging",
        "watchFor": "Sandbox limits new accounts to $1 of SMS a month and ten verified numbers until a support case per Region is approved"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Agents that talk to people over iMessage, with WhatsApp Business, Telegram and SIP voice on the same agent loop in TypeScript.",
        "slug": "photon",
        "watchFor": "The status page logged a 2-hour full iMessage outage on 2 September 2026, from a power failure at Photon's data centre"
      }
    ],
    "job": {
      "capability": "messaging.sms",
      "name": "SMS"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-bandwidth.json",
        "title": "AWS End User Messaging vs Bandwidth Messaging API + MCP",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-bandwidth"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-bird.json",
        "title": "AWS End User Messaging vs Bird API + MCP",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-bird"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-clicksend.json",
        "title": "AWS End User Messaging vs ClickSend SMS API + MCP",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-clicksend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-infobip.json",
        "title": "AWS End User Messaging vs Infobip API + MCP",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-infobip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-plivo.json",
        "title": "AWS End User Messaging vs Plivo API",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-plivo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-sendblue.json",
        "title": "AWS End User Messaging vs Sendblue",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-sendblue"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-sinch.json",
        "title": "AWS End User Messaging vs Sinch Messaging APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-sinch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-telnyx.json",
        "title": "AWS End User Messaging vs Telnyx API + MCP",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-telnyx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-twilio.json",
        "title": "AWS End User Messaging vs Twilio API + MCP",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-twilio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-vonage.json",
        "title": "AWS End User Messaging vs Vonage Messages API + MCP",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-vonage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bandwidth-vs-photon.json",
        "title": "Bandwidth Messaging API + MCP vs Photon",
        "url": "https://www.anchorterminal.com/compare/bandwidth-vs-photon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bird-vs-photon.json",
        "title": "Bird API + MCP vs Photon",
        "url": "https://www.anchorterminal.com/compare/bird-vs-photon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clicksend-vs-photon.json",
        "title": "ClickSend SMS API + MCP vs Photon",
        "url": "https://www.anchorterminal.com/compare/clicksend-vs-photon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/infobip-vs-photon.json",
        "title": "Infobip API + MCP vs Photon",
        "url": "https://www.anchorterminal.com/compare/infobip-vs-photon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/photon-vs-plivo.json",
        "title": "Photon vs Plivo API",
        "url": "https://www.anchorterminal.com/compare/photon-vs-plivo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/photon-vs-sendblue.json",
        "title": "Photon vs Sendblue",
        "url": "https://www.anchorterminal.com/compare/photon-vs-sendblue"
      },
      {
        "json": "https://www.anchorterminal.com/compare/photon-vs-sinch.json",
        "title": "Photon vs Sinch Messaging APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/photon-vs-sinch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/photon-vs-telnyx.json",
        "title": "Photon vs Telnyx API + MCP",
        "url": "https://www.anchorterminal.com/compare/photon-vs-telnyx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/photon-vs-twilio.json",
        "title": "Photon vs Twilio API + MCP",
        "url": "https://www.anchorterminal.com/compare/photon-vs-twilio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/photon-vs-vonage.json",
        "title": "Photon vs Vonage Messages API + MCP",
        "url": "https://www.anchorterminal.com/compare/photon-vs-vonage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-telegram-bot.json",
        "title": "AWS End User Messaging vs Telegram Bot API",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-telegram-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/photon-vs-telegram-bot.json",
        "title": "Photon vs Telegram Bot API",
        "url": "https://www.anchorterminal.com/compare/photon-vs-telegram-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/360dialog-vs-aws-end-user-messaging.json",
        "title": "360dialog WhatsApp API + MCP vs AWS End User Messaging",
        "url": "https://www.anchorterminal.com/compare/360dialog-vs-aws-end-user-messaging"
      },
      {
        "json": "https://www.anchorterminal.com/compare/360dialog-vs-photon.json",
        "title": "360dialog WhatsApp API + MCP vs Photon",
        "url": "https://www.anchorterminal.com/compare/360dialog-vs-photon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-whatsapp-cloud-api.json",
        "title": "AWS End User Messaging vs WhatsApp Business Platform (Cloud API)",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-whatsapp-cloud-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/photon-vs-whatsapp-cloud-api.json",
        "title": "Photon vs WhatsApp Business Platform (Cloud API)",
        "url": "https://www.anchorterminal.com/compare/photon-vs-whatsapp-cloud-api"
      }
    ],
    "scores": [
      {
        "aws-end-user-messaging": 73,
        "by": 5,
        "edge": "aws-end-user-messaging",
        "key": "reliability",
        "name": "Reliability",
        "photon": 68,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "aws-end-user-messaging": 88,
        "by": 13,
        "edge": "aws-end-user-messaging",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "photon": 75,
        "weight": 13
      },
      {
        "aws-end-user-messaging": 71,
        "by": 8,
        "edge": "aws-end-user-messaging",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "photon": 63,
        "weight": 13
      },
      {
        "aws-end-user-messaging": 88,
        "by": 59,
        "edge": "aws-end-user-messaging",
        "key": "security",
        "name": "Security \u0026 auth",
        "photon": 29,
        "weight": 14
      },
      {
        "aws-end-user-messaging": 30,
        "by": 10,
        "edge": "aws-end-user-messaging",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "photon": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "aws-end-user-messaging": 85,
        "by": 7,
        "edge": "aws-end-user-messaging",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "photon": 78,
        "weight": 7
      },
      {
        "aws-end-user-messaging": 83,
        "by": 25,
        "edge": "aws-end-user-messaging",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "photon": 58,
        "weight": 7
      }
    ],
    "summary": "AWS End User Messaging scores 74.3 (BB) on agent readiness against Photon's 53.5 (D), and leads in every scored category. Both do sms.",
    "tutorials": [],
    "verdicts": {
      "aws-end-user-messaging": "IAM policies limit a credential to single actions and resources, CloudTrail can log every send, and enforced monthly spend limits cap cost. New accounts start in a sandbox with a $1 monthly SMS limit and ten verified recipients, production access needs a support case per Region, and the send actions take no idempotency token.",
      "photon": "Photon runs iMessage agents on managed lines backed by its own macOS clusters, with a typed TypeScript SDK, signed webhooks and docs written for agents. Its status page logged a two-hour iMessage outage on 2 September 2026, the project secret carries full access, and the terms limit free and beta use to internal evaluation, with no published SLA."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-photon",
    "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-photon.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-photon.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-photon.min.md"
  },
  "markdown": "AWS End User Messaging scores 74.3 (BB) on agent readiness against Photon's 53.5 (D), and leads in every scored category. Both do sms.\n\n- AWS End User Messaging: grade BB, 74.3/100, rank #76 of 1098. Markdown https://www.anchorterminal.com/tools/aws-end-user-messaging.md · JSON https://www.anchorterminal.com/api/v1/tools/aws-end-user-messaging.json\n- Photon: grade D, 53.5/100, rank #757 of 1098. Markdown https://www.anchorterminal.com/tools/photon.md · JSON https://www.anchorterminal.com/api/v1/tools/photon.json\n- Best SMS, WhatsApp and messaging APIs for AI agents: https://www.anchorterminal.com/best/messaging/index.md\n- All 105 messaging comparisons: https://www.anchorterminal.com/compare/messaging/index.md\n\n## Which one, for what\n\n### AWS End User Messaging (BB)\n\nGood for: Teams already on AWS that want SMS, MMS, RCS and WhatsApp under IAM, CloudTrail and per-Region control at carrier-level prices.\n\nAhead on:\n- Reliability, 73 against 68\n- Schema \u0026 documentation, 88 against 75\n- Agent ergonomics, 71 against 63\n- Security \u0026 auth, 88 against 29\n- Payments \u0026 pricing, 30 against 20\n- Maintenance \u0026 community, 85 against 78\n- Transparency \u0026 trust, 83 against 58\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: Sandbox limits new accounts to $1 of SMS a month and ten verified numbers until a support case per Region is approved\n\n### Photon (D)\n\nGood for: Agents that talk to people over iMessage, with WhatsApp Business, Telegram and SIP voice on the same agent loop in TypeScript.\n\nWatch for: The status page logged a 2-hour full iMessage outage on 2 September 2026, from a power failure at Photon's data centre\n\n\n## Score by category\n\n| Category | Weight | AWS End User Messaging | Photon | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 73 | 68 | AWS End User Messaging +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 75 | AWS End User Messaging +13 |\n| Agent ergonomics | 13% (16.2 this run) | 71 | 63 | AWS End User Messaging +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 88 | 29 | AWS End User Messaging +59 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 20 | AWS End User Messaging +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 78 | AWS End User Messaging +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 83 | 58 | AWS End User Messaging +25 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **74.3 · BB** | **53.5 · D** | |\n\n## Facts side by side\n\n| Fact | AWS End User Messaging | Photon |\n| --- | --- | --- |\n| Kind | HTTP API | SDK + MCP |\n| Vendor | Amazon Web Services | Photon |\n| Hosted endpoint | `https://sms-voice.us-east-1.amazonaws.com` | `https://spectrum.photon.codes` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Freemium |\n| Price for sms | $0.0077 per message | not published |\n| x402 | no | no |\n| Licence | Proprietary service under the AWS Customer Agreement. The AWS SDKs are Apache-2.0 | Proprietary hosted service under Something Great Inc.'s terms of service. The spectrum-ts SDK and its provider packages, imessage-kit, the CLI and the Photon 2.0 API clients are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-06 | 2026-10-15 |\n| Terms last updated | 2026-08-14 |  |\n| Privacy policy last updated | 2026-05-18 |  |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | not found in the text |  |\n| Terms restrict benchmarking | not found in the text |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | yes |  |\n| Popularity | 407k npm/wk | 107k npm/wk |\n| Agent reviews | 2.5/5 (4) | 2.8/5 (4) |\n\n## Verdicts\n\n**AWS End User Messaging.** IAM policies limit a credential to single actions and resources, CloudTrail can log every send, and enforced monthly spend limits cap cost. New accounts start in a sandbox with a $1 monthly SMS limit and ten verified recipients, production access needs a support case per Region, and the send actions take no idempotency token.\n\n**Photon.** Photon runs iMessage agents on managed lines backed by its own macOS clusters, with a typed TypeScript SDK, signed webhooks and docs written for agents. Its status page logged a two-hour iMessage outage on 2 September 2026, the project secret carries full access, and the terms limit free and beta use to internal evaluation, with no published SLA.\n\n## Before you call either\n\n### AWS End User Messaging\n\n1. Sign requests with SigV4 for service `sms-voice` at `sms-voice.\u003cregion\u003e.amazonaws.com`. WhatsApp uses a separate API, `social-messaging`\n2. Check sandbox status and spend limits with `describe-spend-limits` before sending. Sandbox sends reach only verified destination numbers\n3. Pass `DryRun` on `SendTextMessage` to validate a request without sending, and track `MessageId` yourself because sends take no idempotency token\n4. Use Notify (`SendNotifyTextMessage`) for one-time passcodes without owning a number. Generate and check the code in your own application\n5. Read inbound SMS and RCS from the Amazon SNS topic set on the number or pool, and treat message bodies as untrusted text\n\n### Photon\n\n1. Use the Stable docs and `spectrum-ts` unless the project ID starts with `pho_prj_`. Stable and Beta packages, hosts and credentials don't mix\n2. Design flows so the person texts first. Photon ties line flags to cold outreach, bursts and more than two or three follow-ups\n3. Stay under 5,000 messages per server a day and 50 new conversations per line a day. Further sends are rejected until the window resets\n4. Give each outbound message a stable `clientGuid` so a retried job doesn't send it twice\n5. Dedupe webhooks on `X-Spectrum-Webhook-Id` plus the event's own id, answer within 30 seconds, and reconcile, because events are dropped after six attempts\n6. Keep the project secret out of the agent's context. It grants full management access and doesn't expire\n\n## Questions\n\n### Which is better for AI agents, AWS End User Messaging or Photon?\n\nAWS End User Messaging scores 74.3 (BB) on agent readiness against Photon's 53.5 (D), and leads in every scored category.\n\n### Can an agent call AWS End User Messaging and Photon without installing anything?\n\nYes. AWS End User Messaging has a hosted endpoint at https://sms-voice.us-east-1.amazonaws.com and Photon at https://spectrum.photon.codes.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-photon.json, and with the fewest tokens: https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-photon.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"aws-end-user-messaging\", \"b\": \"photon\"}`. From a terminal: `anchor compare aws-end-user-messaging photon`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/aws-end-user-messaging.json and https://www.anchorterminal.com/api/v1/tools/photon.json\n\n## Other comparisons with AWS End User Messaging or Photon\n\n- [AWS End User Messaging vs Bandwidth Messaging API + MCP](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-bandwidth.md)\n- [AWS End User Messaging vs Bird API + MCP](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-bird.md)\n- [AWS End User Messaging vs ClickSend SMS API + MCP](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-clicksend.md)\n- [AWS End User Messaging vs Infobip API + MCP](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-infobip.md)\n- [AWS End User Messaging vs Plivo API](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-plivo.md)\n- [AWS End User Messaging vs Sendblue](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-sendblue.md)\n- [AWS End User Messaging vs Sinch Messaging APIs + MCP](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-sinch.md)\n- [AWS End User Messaging vs Telnyx API + MCP](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-telnyx.md)\n- [AWS End User Messaging vs Twilio API + MCP](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-twilio.md)\n- [AWS End User Messaging vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-vonage.md)\n- [Bandwidth Messaging API + MCP vs Photon](https://www.anchorterminal.com/compare/bandwidth-vs-photon.md)\n- [Bird API + MCP vs Photon](https://www.anchorterminal.com/compare/bird-vs-photon.md)\n- [ClickSend SMS API + MCP vs Photon](https://www.anchorterminal.com/compare/clicksend-vs-photon.md)\n- [Infobip API + MCP vs Photon](https://www.anchorterminal.com/compare/infobip-vs-photon.md)\n- [Photon vs Plivo API](https://www.anchorterminal.com/compare/photon-vs-plivo.md)\n- [Photon vs Sendblue](https://www.anchorterminal.com/compare/photon-vs-sendblue.md)\n- [Photon vs Sinch Messaging APIs + MCP](https://www.anchorterminal.com/compare/photon-vs-sinch.md)\n- [Photon vs Telnyx API + MCP](https://www.anchorterminal.com/compare/photon-vs-telnyx.md)\n- [Photon vs Twilio API + MCP](https://www.anchorterminal.com/compare/photon-vs-twilio.md)\n- [Photon vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/photon-vs-vonage.md)\n- [AWS End User Messaging vs Telegram Bot API](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-telegram-bot.md)\n- [Photon vs Telegram Bot API](https://www.anchorterminal.com/compare/photon-vs-telegram-bot.md)\n- [360dialog WhatsApp API + MCP vs AWS End User Messaging](https://www.anchorterminal.com/compare/360dialog-vs-aws-end-user-messaging.md)\n- [360dialog WhatsApp API + MCP vs Photon](https://www.anchorterminal.com/compare/360dialog-vs-photon.md)\n- [AWS End User Messaging vs WhatsApp Business Platform (Cloud API)](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-whatsapp-cloud-api.md)\n- [Photon vs WhatsApp Business Platform (Cloud API)](https://www.anchorterminal.com/compare/photon-vs-whatsapp-cloud-api.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-16",
    "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",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "AWS End User Messaging vs Photon",
        "url": ""
      }
    ],
    "description": "AWS End User Messaging scores 74.3 (BB) to Photon's 53.5 (D) for sms. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AWS End User Messaging BB 74.3",
      "Photon D 53.5",
      "scores"
    ],
    "h1": "AWS End User Messaging vs Photon",
    "image": "https://www.anchorterminal.com/assets/og/compare-aws-end-user-messaging-vs-photon.png",
    "path": "/compare/aws-end-user-messaging-vs-photon",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AWS End User Messaging vs Photon for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-16",
    "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-photon"
  },
  "tokens": {
    "markdown": 2700,
    "slim": 730
  },
  "version": 1
}
