{
  "data": {
    "category": {
      "area": "voice",
      "capabilities": [
        "voice.calls",
        "voice.numbers",
        "voice.streaming",
        "voice.sip",
        "voice.recording"
      ],
      "description": "The calling layer an agent connects to. Numbers, inbound and outbound calls, audio streaming over websockets or SIP, transfers and recordings. Compared on setup, webhook reliability, where numbers are available and the full cost of a call.",
      "indexed": [
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/callmcp-server.json",
          "kind": "mcp",
          "name": "callmcp.ai MCP server",
          "slug": "callmcp-server",
          "url": "https://www.anchorterminal.com/tools/callmcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/chamade-server.json",
          "kind": "mcp",
          "name": "Chamade",
          "slug": "chamade-server",
          "url": "https://www.anchorterminal.com/tools/chamade-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/toughtongueai-mcp.json",
          "kind": "mcp",
          "name": "ToughTongue AI",
          "slug": "toughtongueai-mcp",
          "url": "https://www.anchorterminal.com/tools/toughtongueai-mcp"
        }
      ],
      "indexedCount": 3,
      "json": "https://www.anchorterminal.com/categories/voice-calling.json",
      "name": "Phone calling \u0026 voice transport",
      "slug": "voice-calling",
      "test": "Inbound and outbound call setup, bidirectional audio streaming, a warm transfer and a recording on every API. We watch webhook reliability, note which countries numbers are available in, and price a five-minute call end to end.",
      "title": "Phone calling and voice transport APIs for agents",
      "toolCount": 10,
      "tools": [
        "twilio-voice",
        "telnyx-voice",
        "signalwire-voice",
        "bandwidth-voice",
        "sinch-voice",
        "infobip-calls",
        "plivo-voice",
        "vonage-voice",
        "voximplant",
        "exotel-voice"
      ],
      "url": "https://www.anchorterminal.com/categories/voice-calling"
    },
    "tools": [
      {
        "slug": "twilio-voice",
        "name": "Twilio Programmable Voice API + MCP",
        "vendor": "Twilio",
        "vendorUrl": "https://www.twilio.com",
        "kind": "http-api",
        "category": "voice-calling",
        "summary": "Programmable Voice for placing and answering calls on Twilio numbers in 100+ countries, controlled with TwiML or REST.",
        "url": "https://www.anchorterminal.com/tools/twilio-voice",
        "markdownUrl": "https://www.anchorterminal.com/tools/twilio-voice.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/twilio-voice.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/twilio-voice.json",
        "repo": "https://github.com/twilio-labs/mcp",
        "license": "MIT",
        "transports": [
          "http",
          "streamable-http",
          "stdio"
        ],
        "remoteUrl": "https://api.twilio.com/2010-04-01",
        "packages": [
          {
            "registry": "npm",
            "name": "twilio"
          },
          {
            "registry": "pypi",
            "name": "twilio"
          },
          {
            "registry": "npm",
            "name": "@twilio-alpha/mcp"
          }
        ],
        "auth": "mixed",
        "authNotes": "HTTP Basic auth with the Account SID and Auth Token, or an API key SID and secret (recommended). Webhooks and Media Streams or ConversationRelay websocket connections carry an `X-Twilio-Signature` to validate. The hosted docs MCP needs no credentials. The local alpha MCP takes `ACCOUNT_SID/API_KEY:API_SECRET` as a command-line argument.",
        "pricing": "usage",
        "pricingNotes": "Pay as you go, per minute. US outbound $0.014 a minute, inbound $0.0085 on local numbers and $0.022 on toll-free. Local numbers $1.15 a month, toll-free $2.15. Media Streams $0.0044 a minute, ConversationRelay $0.07 a minute, SIP interface and browser or app calls $0.004 a minute, recording $0.0025 a minute plus $0.0005 a minute a month storage, transcription $0.05 a minute, answering machine detection $0.0075 a call. The trial needs no card and gives free units, including 75 voice minutes, for 30 days (https://www.twilio.com/en-us/voice/pricing/us, https://www.twilio.com/docs/usage/tutorials/how-to-use-your-free-trial-account).",
        "priceSummary": "$1.15 / mo",
        "where": "both",
        "x402": {
          "level": "no",
          "evidence": "No x402 support in docs, pricing or MCP README (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": 2,
        "popularity": {
          "githubStars": 111,
          "npmWeekly": 7213599,
          "pypiWeekly": 4834611,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://www.twilio.com/docs/voice",
        "llmsTxt": "https://www.twilio.com/docs/llms.txt",
        "openapi": "https://raw.githubusercontent.com/twilio/twilio-oai/main/spec/json/twilio_api_v2010.json",
        "capabilities": [
          "voice.calls",
          "voice.numbers",
          "voice.streaming",
          "voice.sip",
          "voice.recording",
          "voice.transfer"
        ],
        "tags": [
          "hosted",
          "no-card",
          "mcp",
          "llms-txt",
          "openapi",
          "typescript",
          "python",
          "webhooks",
          "streaming",
          "enterprise"
        ],
        "lastRelease": "2026-09-28",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 80.4,
          "grade": "A",
          "agentReady": true,
          "rank": 6,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 1,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 80,
            "maintenance": 85,
            "payments": 40,
            "reliability": 90,
            "schema": 92,
            "security": 85,
            "transparency": 81
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Twilio APIs SLA at 99.95 per cent for every paying customer, with 10 per cent credits. US outbound at $0.014 a minute, plus $0.0044 for Media Streams or $0.07 for ConversationRelay.",
          "strengths": [
            "Twilio APIs SLA at 99.95 per cent for every paying customer, with 10 per cent credits",
            "Restricted API keys with up to 100 endpoint permissions each",
            "Public OpenAPI specs, llms.txt with Markdown twins, and a numbered error dictionary",
            "No-card trial with 75 free voice minutes for 30 days",
            "twilio-node released three times in the last 90 days, most recently 6.1.2 on 2026-09-28"
          ],
          "weaknesses": [
            "US outbound at $0.014 a minute, plus $0.0044 for Media Streams or $0.07 for ConversationRelay",
            "1 outbound call a second per account by default",
            "No idempotency key on call creation",
            "The MCP that can place calls is an alpha last published in July 2025, and the hosted one only searches docs",
            "No security.txt on twilio.com"
          ],
          "agentNotes": [
            "Use `\u003cConnect\u003e\u003cStream\u003e` for two-way audio. It blocks further TwiML until the websocket closes",
            "Use `\u003cConnect\u003e\u003cConversationRelay\u003e` when you only want to handle text, and set `interruptible` for barge-in",
            "Trial calls reach only verified numbers in your sign-up country",
            "Retry a 429 with backoff, but check the Calls list before retrying a create that timed out, since there's no idempotency key",
            "Validate `X-Twilio-Signature` on every webhook and websocket upgrade"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 8,
          "avgRating": 3.1,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "A",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 80.4
            }
          ],
          "editorialScores": {
            "ergonomics": 80,
            "maintenance": 85,
            "payments": 40,
            "reliability": 90,
            "schema": 92,
            "security": 85,
            "transparency": 72
          },
          "provenanceScore": 90
        },
        "connect": {
          "http": "curl -X POST \"https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Calls.json\" \\\n  -u \"$TWILIO_API_KEY:$TWILIO_API_SECRET\" \\\n  --data-urlencode \"To=+15558675310\" --data-urlencode \"From=+15017122661\" \\\n  --data-urlencode \"Twiml=\u003cResponse\u003e\u003cSay\u003eHello from Twilio\u003c/Say\u003e\u003c/Response\u003e\"",
          "claudeCode": "claude mcp add --transport http twilio-docs https://mcp.twilio.com/docs",
          "config": {
            "mcpServers": {
              "twilio": {
                "args": [
                  "-y",
                  "@twilio-alpha/mcp",
                  "${TWILIO_ACCOUNT_SID}/${TWILIO_API_KEY}:${TWILIO_API_SECRET}",
                  "--services",
                  "twilio_api_v2010"
                ],
                "command": "npx"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/voice.calls",
          "tool": "https://letme.dev/twilio-voice"
        },
        "sameCompany": [
          "stytch-connected-apps",
          "sendgrid",
          "twilio"
        ],
        "area": "voice",
        "unitPrices": [
          {
            "item": "Outbound call, US",
            "unit": "call-minute",
            "usd": 0.014,
            "note": "local or toll-free destinations"
          },
          {
            "item": "Inbound call, US local number",
            "unit": "call-minute",
            "usd": 0.0085
          },
          {
            "item": "Inbound call, US toll-free number",
            "unit": "call-minute",
            "usd": 0.022
          },
          {
            "item": "US local number",
            "unit": "month",
            "usd": 1.15
          },
          {
            "item": "US toll-free number",
            "unit": "month",
            "usd": 2.15
          },
          {
            "item": "Media Streams",
            "unit": "call-minute",
            "usd": 0.0044,
            "note": "on top of call minutes"
          },
          {
            "item": "ConversationRelay",
            "unit": "call-minute",
            "usd": 0.07,
            "note": "on top of call minutes"
          },
          {
            "item": "Call recording",
            "unit": "call-minute",
            "usd": 0.0025
          }
        ],
        "provenance": {
          "legalEntity": "Twilio Inc.",
          "domain": "twilio.com",
          "domainRegistered": "2007-10-26",
          "endpointOnVendorDomain": true,
          "terms": "https://www.twilio.com/en-us/legal/tos",
          "privacy": "https://www.twilio.com/en-us/legal/privacy",
          "statusPage": "https://status.twilio.com",
          "changelog": "https://www.twilio.com/en-us/changelog",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "The terms also name Twilio Ireland Limited for customers outside the US."
          ],
          "score": 90
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/twilio-voice.json",
        "live": {
          "slug": "twilio-voice",
          "probe": {
            "target": "https://api.twilio.com/2010-04-01",
            "method": "get",
            "lastAt": "2026-10-05T02:30:04.025181512Z",
            "lastOk": true,
            "lastStatus": 200,
            "lastMs": 26,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 27,
            "p95ms24h": 66,
            "samples24h": 273,
            "samples30d": 1131,
            "days": [
              {
                "date": "2026-09-30",
                "probes": 35,
                "ok": 35
              },
              {
                "date": "2026-10-01",
                "probes": 276,
                "ok": 276
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 29,
                "ok": 29
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.twilio.com",
            "indicator": "minor",
            "summary": "Partially Degraded Service",
            "checkedAt": "2026-10-05T02:29:15.459686988Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "twilio-labs/mcp",
              "version": "0.0.3",
              "released": "2025-03-25",
              "seenAt": "2026-10-04T16:42:28.341727729Z"
            },
            {
              "registry": "npm",
              "name": "@twilio-alpha/mcp",
              "version": "0.7.0",
              "seenAt": "2026-10-04T16:42:26.54293887Z"
            },
            {
              "registry": "npm",
              "name": "twilio",
              "version": "6.1.2",
              "seenAt": "2026-10-04T16:42:26.104679108Z"
            },
            {
              "registry": "pypi",
              "name": "twilio",
              "version": "9.11.2",
              "released": "2026-09-28",
              "seenAt": "2026-10-04T16:42:26.381954279Z"
            }
          ],
          "githubStars": 112,
          "npmWeekly": 7817134,
          "pypiWeekly": 5153208,
          "securityTxt": {
            "url": "https://twilio.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:43.282608786Z"
          },
          "llmsTxt": {
            "url": "https://www.twilio.com/docs/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:18.461750128Z"
          },
          "domain": {
            "domain": "twilio.com",
            "registered": "2007-10-26",
            "source": "https://rdap.verisign.com/com/v1/domain/twilio.com",
            "checkedAt": "2026-10-04T13:05:12.523190086Z"
          },
          "pages": [
            {
              "url": "https://www.twilio.com/en-us/voice/pricing/us",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-10-04T15:52:42.057003458Z",
              "changedAt": "2026-10-03T15:40:33.277161645Z",
              "fingerprint": "870f6e38fa5f"
            }
          ],
          "updatedAt": "2026-10-05T02:30:04.025181512Z"
        }
      },
      {
        "slug": "telnyx-voice",
        "name": "Telnyx Voice API + MCP",
        "vendor": "Telnyx",
        "vendorUrl": "https://telnyx.com",
        "kind": "http-api",
        "category": "voice-calling",
        "summary": "Carrier-owned Voice API (Call Control and TeXML) for calls, numbers, websocket media streaming, recording and transfers on Telnyx's own network.",
        "url": "https://www.anchorterminal.com/tools/telnyx-voice",
        "markdownUrl": "https://www.anchorterminal.com/tools/telnyx-voice.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/telnyx-voice.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/telnyx-voice.json",
        "repo": "https://github.com/team-telnyx/telnyx-node",
        "license": "MIT",
        "transports": [
          "http",
          "streamable-http",
          "stdio"
        ],
        "remoteUrl": "https://api.telnyx.com/v2",
        "packages": [
          {
            "registry": "npm",
            "name": "telnyx"
          },
          {
            "registry": "npm",
            "name": "telnyx-mcp"
          },
          {
            "registry": "pypi",
            "name": "telnyx"
          }
        ],
        "auth": "mixed",
        "authNotes": "Bearer API key from the portal for the REST API and the hosted MCP endpoint. Claude custom connectors can instead grant access through the Telnyx portal. Call Control webhooks are signed.",
        "pricing": "usage",
        "pricingNotes": "Pay as you go with no minimum and no free credit. Fund by card, or by x402 (USDC on Base), MPP or ACP top-ups through the API. Voice API fee $0.002 a minute each way, plus SIP trunking billed separately. US local termination from $0.005 a minute, local origination from $0.0032, toll-free origination from $0.015. US local and toll-free numbers $1 a month. Recording $0.002 a minute, media streaming $0.0035 a minute, conferencing $0.002 a participant a minute, answering machine detection $0.002 a call. AI Assistants and Conversation Relay $0.05 a minute. Committed plans from $500 a month (https://telnyx.com/pricing/call-control, https://telnyx.com/agent-signup.md).",
        "priceSummary": "$1 / mo",
        "where": "both",
        "x402": {
          "level": "partial",
          "evidence": "Telnyx's agent signup guide documents POST https://api.telnyx.com/v2/x402/credit_account to top up account credit in USDC on Base, alongside MPP at /v2/machine-payments/account-credit and ACP checkout sessions. These are account top-ups, not per-call payments on the voice endpoints, and per-payment limits aren't published. Not tested by us (https://telnyx.com/agent-signup.md, checked 2026-10-01).",
          "endpoints": [
            {
              "url": "https://api.telnyx.com/v2/x402/credit_account",
              "priceUsd": null,
              "network": "eip155:8453"
            }
          ]
        },
        "toolCount": 3,
        "popularity": {
          "githubStars": 197,
          "npmWeekly": 416629,
          "pypiWeekly": 178817,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://developers.telnyx.com/docs/voice/programmable-voice/get-started",
        "llmsTxt": "https://developers.telnyx.com/llms.txt",
        "openapi": "https://raw.githubusercontent.com/team-telnyx/openapi/master/openapi/spec3.json",
        "registryName": "io.github.team-telnyx/telnyx",
        "capabilities": [
          "voice.calls",
          "voice.numbers",
          "voice.streaming",
          "voice.sip",
          "voice.recording",
          "voice.transfer"
        ],
        "tags": [
          "hosted",
          "mcp",
          "llms-txt",
          "openapi",
          "typescript",
          "python",
          "webhooks",
          "streaming",
          "x402",
          "stablecoin",
          "prepaid"
        ],
        "lastRelease": "2026-09-25",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 74.4,
          "grade": "BB",
          "agentReady": true,
          "rank": 48,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 2,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 90,
            "maintenance": 83,
            "payments": 65,
            "reliability": 75,
            "schema": 93,
            "security": 45,
            "transparency": 73
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "About $0.007 a minute all-in for US outbound ($0.002 Voice API plus $0.005 termination). x402 and MPP only top up credit, they don't pay per call.",
          "strengths": [
            "About $0.007 a minute all-in for US outbound ($0.002 Voice API plus $0.005 termination)",
            "Bot signup, API key creation and x402 or MPP account top-ups without a browser",
            "30 outbound dials a second, Retry-After on 429, and command_id to de-duplicate retried call commands",
            "OpenAPI spec, llms.txt, pricing.md and an MCP in the official registry",
            "SOC 2 Type II and ISO 27001"
          ],
          "weaknesses": [
            "x402 and MPP only top up credit, they don't pay per call",
            "No free credit, a new account starts at zero",
            "No scoped or read-only API keys found, and the MCP can dial and buy numbers without confirmation",
            "One-way or degraded call audio for about 12 hours from 10 September, and API 5XX errors for about 2 hours on 23 September",
            "No security.txt, bug bounty or deprecation policy found"
          ],
          "agentNotes": [
            "Create a Call Control application first. `POST /v2/calls` needs its `connection_id`",
            "Fund a new account through /v2/x402/credit_account or MPP before buying a number, since it starts at zero",
            "Only one media stream or fork runs per call, and starting a fork replaces the websocket stream",
            "Add the Voice API fee and SIP trunking rate together when pricing a call",
            "Set a unique command_id on every call command, so a retry after a timeout is ignored rather than repeated"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 8,
          "avgRating": 3.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "BB",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 74.4
            }
          ],
          "editorialScores": {
            "ergonomics": 90,
            "maintenance": 83,
            "payments": 65,
            "reliability": 75,
            "schema": 93,
            "security": 45,
            "transparency": 55
          },
          "provenanceScore": 90
        },
        "connect": {
          "http": "curl -X POST https://api.telnyx.com/v2/calls -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"connection_id\":\"7267xxxxxxxxxxxxxx\",\"to\":\"+15559876543\",\"from\":\"+15551234567\"}'",
          "claudeCode": "claude mcp add --transport http telnyx https://api.telnyx.com/v2/mcp --header \"Authorization: Bearer $TELNYX_API_KEY\"",
          "config": {
            "mcpServers": {
              "telnyx": {
                "args": [
                  "-y",
                  "telnyx-mcp"
                ],
                "command": "npx",
                "env": {
                  "TELNYX_API_KEY": "${TELNYX_API_KEY}"
                }
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/voice.calls",
          "tool": "https://letme.dev/telnyx-voice"
        },
        "sameCompany": [
          "telnyx"
        ],
        "area": "voice",
        "unitPrices": [
          {
            "item": "Voice API fee, US outbound",
            "unit": "call-minute",
            "usd": 0.002,
            "note": "SIP termination billed on top"
          },
          {
            "item": "SIP termination, US local",
            "unit": "call-minute",
            "usd": 0.005,
            "note": "starting rate, add to the Voice API fee"
          },
          {
            "item": "Voice API fee, US inbound",
            "unit": "call-minute",
            "usd": 0.002,
            "note": "SIP origination billed on top"
          },
          {
            "item": "SIP origination, US local",
            "unit": "call-minute",
            "usd": 0.0032,
            "note": "starting rate"
          },
          {
            "item": "US local number",
            "unit": "month",
            "usd": 1
          },
          {
            "item": "Media streaming",
            "unit": "call-minute",
            "usd": 0.0035
          },
          {
            "item": "Call recording",
            "unit": "call-minute",
            "usd": 0.002
          },
          {
            "item": "AI Assistant on a call",
            "unit": "call-minute",
            "usd": 0.05,
            "note": "includes STT, LLM and TTS"
          }
        ],
        "provenance": {
          "legalEntity": "Telnyx LLC",
          "domain": "telnyx.com",
          "domainRegistered": "2009-05-04",
          "endpointOnVendorDomain": true,
          "terms": "https://telnyx.com/terms-and-conditions-of-service",
          "privacy": "https://telnyx.com/privacy-policy",
          "statusPage": "https://status.telnyx.com",
          "changelog": "https://telnyx.com/release-notes",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "score": 90
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/telnyx-voice.json",
        "live": {
          "slug": "telnyx-voice",
          "probe": {
            "target": "https://api.telnyx.com/v2",
            "method": "get",
            "lastAt": "2026-10-05T02:30:03.489713685Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 134,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 131,
            "p95ms24h": 179,
            "samples24h": 273,
            "samples30d": 1131,
            "days": [
              {
                "date": "2026-09-30",
                "probes": 35,
                "ok": 35
              },
              {
                "date": "2026-10-01",
                "probes": 276,
                "ok": 276
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 29,
                "ok": 29
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.telnyx.com",
            "indicator": "maintenance",
            "summary": "Under Maintenance",
            "checkedAt": "2026-10-05T02:29:14.603397115Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "team-telnyx/telnyx-node",
              "version": "v7.24.0",
              "released": "2026-09-25",
              "seenAt": "2026-10-04T16:41:29.493877068Z"
            },
            {
              "registry": "npm",
              "name": "telnyx",
              "version": "7.24.0",
              "seenAt": "2026-10-04T16:41:27.091742528Z"
            },
            {
              "registry": "npm",
              "name": "telnyx-mcp",
              "version": "7.24.0",
              "seenAt": "2026-10-04T16:41:27.511074933Z"
            },
            {
              "registry": "pypi",
              "name": "telnyx",
              "version": "4.182.0",
              "released": "2026-09-25",
              "seenAt": "2026-10-04T16:41:29.302568773Z"
            }
          ],
          "githubStars": 197,
          "npmWeekly": 490168,
          "pypiWeekly": 201435,
          "securityTxt": {
            "url": "https://telnyx.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:16:05.446481255Z"
          },
          "llmsTxt": {
            "url": "https://developers.telnyx.com/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:17.91217441Z"
          },
          "domain": {
            "domain": "telnyx.com",
            "registered": "2009-05-04",
            "source": "https://rdap.verisign.com/com/v1/domain/telnyx.com",
            "checkedAt": "2026-10-04T13:09:33.721251862Z"
          },
          "pages": [
            {
              "url": "https://telnyx.com/release-notes",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:48:27.454526964Z",
              "changedAt": "2026-10-03T15:36:23.545689762Z",
              "fingerprint": "7dbe8c4f1bae"
            },
            {
              "url": "https://telnyx.com/pricing/call-control",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-10-04T15:48:20.898706649Z",
              "changedAt": "2026-10-04T15:48:20.898706649Z",
              "fingerprint": "30c2be8962d3"
            },
            {
              "url": "https://telnyx.com/privacy-policy",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:48:25.893595009Z",
              "changedAt": "2026-10-04T15:48:25.893595009Z",
              "fingerprint": "8367d06cc9a7"
            },
            {
              "url": "https://telnyx.com/terms-and-conditions-of-service",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:48:29.33763712Z",
              "changedAt": "2026-10-04T15:48:29.33763712Z",
              "fingerprint": "d7cf989996f4"
            }
          ],
          "updatedAt": "2026-10-05T02:30:03.489713685Z"
        }
      },
      {
        "slug": "signalwire-voice",
        "name": "SignalWire Voice API",
        "vendor": "SignalWire",
        "vendorUrl": "https://signalwire.com",
        "kind": "http-api",
        "category": "voice-calling",
        "summary": "Programmable calling API from the team behind FreeSWITCH.",
        "url": "https://www.anchorterminal.com/tools/signalwire-voice",
        "markdownUrl": "https://www.anchorterminal.com/tools/signalwire-voice.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/signalwire-voice.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/signalwire-voice.json",
        "repo": "https://github.com/signalwire/signalwire-python",
        "license": "MIT",
        "transports": [
          "http"
        ],
        "packages": [
          {
            "registry": "pypi",
            "name": "signalwire-sdk"
          },
          {
            "registry": "npm",
            "name": "@signalwire/sdk"
          },
          {
            "registry": "pypi",
            "name": "signalwire"
          }
        ],
        "auth": "api-key",
        "authNotes": "HTTP Basic auth with the Project ID and an API token, scoped per product (the Voice scope for calls). Each account has its own Space subdomain, so the host differs per customer. New tokens start with swapi_ since September 2026.",
        "pricing": "usage",
        "pricingNotes": "Pay as you go. New accounts start in trial mode without a card, and adding a card with at least $5 of credit lifts the restrictions. US local inbound $0.0066 and outbound $0.008 a minute, toll-free inbound $0.0147 and outbound $0.0069, SIP or WebRTC legs $0.003. Local numbers $0.50 a month, toll-free $0.80. Recording $0.002 a minute, live transcription $0.065 a minute per direction, and the AI agent runtime $0.16 a minute including STT, LLM and standard TTS (https://www.signalwire.com/pricing/voice).",
        "priceSummary": "$0.50 / mo",
        "where": "local",
        "x402": {
          "level": "no",
          "evidence": "No x402 or stablecoin payment path in the voice docs, pricing or llms.txt (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 8,
          "npmWeekly": 1531,
          "pypiWeekly": 1349,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://signalwire.com/docs/platform/voice",
        "llmsTxt": "https://signalwire.com/docs/llms.txt",
        "openapi": "https://signalwire.com/docs/openapi.json",
        "capabilities": [
          "voice.calls",
          "voice.numbers",
          "voice.streaming",
          "voice.sip",
          "voice.recording",
          "voice.transfer"
        ],
        "tags": [
          "hosted",
          "llms-txt",
          "openapi",
          "typescript",
          "python",
          "webhooks",
          "streaming"
        ],
        "lastRelease": "2026-09-30",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 67.3,
          "grade": "B",
          "agentReady": false,
          "rank": 144,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 3,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 68,
            "maintenance": 81,
            "payments": 40,
            "reliability": 53,
            "schema": 87,
            "security": 72,
            "transparency": 78
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "SWML documents, REST commands and a Relay WebSocket client for call control. Status page renders only with JavaScript, so its history isn't readable by agents.",
          "strengths": [
            "SWML documents, REST commands and a Relay WebSocket client for call control",
            "OpenAPI 3.1 spec and Markdown for every docs page",
            "SLA of 99.95 per cent monthly uptime on every account, plus ISO 27001, SOC 2 Type 2, a DPA and a disclosure policy",
            "Webhooks signed with HMAC in `x-signalwire-signature`, checked by the Python SDK on SWML and tool calls",
            "Six Python SDK releases between 25 August and 29 September 2026"
          ],
          "weaknesses": [
            "Status page renders only with JavaScript, so its history isn't readable by agents",
            "No published rate-limit numbers beyond the trial's 10 queued calls",
            "No idempotency key, and the safe-retry rules live in the Python SDK rather than the API docs",
            "Per-customer Space hostnames, so there is no single public API host",
            "No security.txt or bug bounty"
          ],
          "agentNotes": [
            "Send dial with a url pointing at a SWML document, then use calling.* commands on the returned call ID",
            "Don't retry a dial on a 5xx. Retry only on 429 or 503, after Retry-After, or you may place the call twice",
            "Use your own Space subdomain as the host, there is no shared API host",
            "Create a token with only the Voice scope for a calling agent",
            "Verify `x-signalwire-signature` with the Signing Key before acting on a webhook"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "B",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 67.3
            }
          ],
          "editorialScores": {
            "ergonomics": 68,
            "maintenance": 81,
            "payments": 40,
            "reliability": 53,
            "schema": 87,
            "security": 72,
            "transparency": 65
          },
          "provenanceScore": 90
        },
        "connect": {
          "http": "curl -X POST \"https://$SIGNALWIRE_SPACE.signalwire.com/api/calling/calls\" -u \"$SIGNALWIRE_PROJECT_ID:$SIGNALWIRE_API_TOKEN\" \\\n  -H \"Content-Type: application/json\" -d '{\"command\":\"dial\",\"params\":{\"from\":\"+15551234567\",\"to\":\"+15557654321\",\"url\":\"https://example.com/swml\"}}'"
        },
        "letme": {
          "capability": "https://letme.dev/voice.calls",
          "tool": "https://letme.dev/signalwire-voice"
        },
        "area": "voice",
        "unitPrices": [
          {
            "item": "US outbound, local",
            "unit": "call-minute",
            "usd": 0.008,
            "note": "outbound to US local numbers"
          },
          {
            "item": "US inbound, local number",
            "unit": "call-minute",
            "usd": 0.0066,
            "note": "inbound on a US local number"
          },
          {
            "item": "US outbound, toll-free",
            "unit": "call-minute",
            "usd": 0.0069,
            "note": "outbound to US toll-free numbers"
          },
          {
            "item": "US inbound, toll-free number",
            "unit": "call-minute",
            "usd": 0.0147,
            "note": "inbound on a US toll-free number"
          },
          {
            "item": "SIP or WebRTC leg",
            "unit": "call-minute",
            "usd": 0.003,
            "note": "inbound or outbound"
          },
          {
            "item": "AI agent runtime",
            "unit": "call-minute",
            "usd": 0.16,
            "note": "platform fee on top of call minutes, includes STT, LLM and standard TTS"
          },
          {
            "item": "US local number",
            "unit": "month",
            "usd": 0.5,
            "note": "per number"
          },
          {
            "item": "US toll-free number",
            "unit": "month",
            "usd": 0.8,
            "note": "per number"
          }
        ],
        "provenance": {
          "legalEntity": "SignalWire, Inc.",
          "domain": "signalwire.com",
          "domainRegistered": "2016-01-21",
          "endpointOnVendorDomain": true,
          "terms": "https://info.signalwire.com/hubfs/PDFs/SignalWire-Cloud-Agreement.pdf",
          "privacy": "https://m.signalwire.com/policies?doc=privacy",
          "statusPage": "https://status.signalwire.com",
          "changelog": "https://signalwire.com/docs/platform/changelog",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "Legal entity from signalwire.com/legal. The status page redirects to a PagerDuty-hosted page.",
            "remoteUrl left empty because each account calls its own Space subdomain (\u003cspace\u003e.signalwire.com/api/calling/calls)."
          ],
          "score": 90
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/signalwire-voice.json",
        "live": {
          "slug": "signalwire-voice",
          "vendorStatus": {
            "page": "https://status.signalwire.com",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T21:40:28.923320603Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "signalwire/signalwire-python",
              "version": "v3.5.1",
              "released": "2026-09-29",
              "seenAt": "2026-10-04T16:39:55.315839064Z"
            },
            {
              "registry": "npm",
              "name": "@signalwire/sdk",
              "version": "3.5.0",
              "seenAt": "2026-10-04T16:39:53.193390994Z"
            },
            {
              "registry": "pypi",
              "name": "signalwire",
              "version": "2.1.1",
              "released": "2025-02-04",
              "seenAt": "2026-10-04T16:39:55.23247842Z"
            },
            {
              "registry": "pypi",
              "name": "signalwire-sdk",
              "version": "3.5.1",
              "released": "2026-09-29",
              "seenAt": "2026-10-04T16:39:53.002324781Z"
            }
          ],
          "githubStars": 8,
          "npmWeekly": 2180,
          "pypiWeekly": 873,
          "securityTxt": {
            "url": "https://signalwire.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:52.668431076Z"
          },
          "llmsTxt": {
            "url": "https://signalwire.com/docs/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:14.357836072Z"
          },
          "domain": {
            "domain": "signalwire.com",
            "registered": "2016-01-21",
            "source": "https://rdap.verisign.com/com/v1/domain/signalwire.com",
            "checkedAt": "2026-10-04T13:04:21.502174122Z"
          },
          "pages": [
            {
              "url": "https://signalwire.com/docs/platform/changelog",
              "kind": "deprecations",
              "status": 304,
              "checkedAt": "2026-10-04T15:47:48.382944869Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "da8a160eb045"
            },
            {
              "url": "https://www.signalwire.com/pricing/voice",
              "kind": "pricing",
              "status": 304,
              "checkedAt": "2026-10-04T15:52:14.172315609Z",
              "changedAt": "2026-10-03T15:40:04.301482046Z",
              "fingerprint": "40b5008528b4"
            },
            {
              "url": "https://m.signalwire.com/policies?doc=privacy",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:45:46.511500727Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "e3b0c44298fc"
            }
          ],
          "updatedAt": "2026-10-04T21:40:28.923320603Z"
        }
      },
      {
        "slug": "bandwidth-voice",
        "name": "Bandwidth Voice API + MCP",
        "vendor": "Bandwidth",
        "vendorUrl": "https://www.bandwidth.com",
        "kind": "http-api",
        "category": "voice-calling",
        "summary": "Programmable voice on Bandwidth's own US carrier network, with BXML call control, bidirectional WebSocket media streams, recording, transcription and transfers.",
        "url": "https://www.anchorterminal.com/tools/bandwidth-voice",
        "markdownUrl": "https://www.anchorterminal.com/tools/bandwidth-voice.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bandwidth-voice.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bandwidth-voice.json",
        "repo": "https://github.com/Bandwidth/mcp-server",
        "transports": [
          "http",
          "stdio",
          "streamable-http"
        ],
        "remoteUrl": "https://voice.bandwidth.com/api/v2",
        "packages": [
          {
            "registry": "npm",
            "name": "bandwidth-sdk"
          },
          {
            "registry": "pypi",
            "name": "bandwidth-sdk"
          }
        ],
        "auth": "oauth",
        "authNotes": "OAuth 2.0 client credentials. Exchange the client ID and secret at api.bandwidth.com/api/v1/oauth2/token for a Bearer token. Legacy Basic-auth API users are being migrated. The MCP server takes BW_CLIENT_ID and BW_CLIENT_SECRET.",
        "pricing": "usage",
        "pricingNotes": "Free Build trial with 3,000 credits, a US number and no card, then pay as you go. US local outbound $0.01 and inbound $0.0055 a minute. Recording $0.002 a minute, transcription $0.045 standard or $0.0451 real time, media streaming $0.0035 one-way or $0.004 bidirectional. Number rental and SIP trunking are quoted by sales (https://www.bandwidth.com/pricing/).",
        "priceSummary": "Pay per use",
        "where": "both",
        "x402": {
          "level": "no",
          "evidence": "No x402 or stablecoin payment path in the voice docs, pricing or llms.txt (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 2,
          "npmWeekly": 12740,
          "pypiWeekly": 39218,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://dev.bandwidth.com/docs/voice",
        "llmsTxt": "https://dev.bandwidth.com/llms.txt",
        "openapi": "https://dev.bandwidth.com/spec/voice.yml",
        "capabilities": [
          "voice.calls",
          "voice.numbers",
          "voice.streaming",
          "voice.sip",
          "voice.recording",
          "voice.transfer"
        ],
        "tags": [
          "hosted",
          "no-card",
          "mcp",
          "llms-txt",
          "openapi",
          "typescript",
          "python",
          "webhooks",
          "streaming"
        ],
        "lastRelease": "2026-09-22",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 63.7,
          "grade": "B",
          "agentReady": false,
          "rank": 196,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 4,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 65,
            "maintenance": 78,
            "payments": 35,
            "reliability": 58,
            "schema": 88,
            "security": 60,
            "transparency": 63
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "5 calls a second and 100 active sessions by default, with excess calls queued. Number rental and SIP trunking prices aren't published.",
          "strengths": [
            "5 calls a second and 100 active sessions by default, with excess calls queued",
            "No-card Build trial with 3,000 credits, a US number and SIP trunking",
            "OAuth 2.0 client credentials with 1-hour tokens, per-credential roles and secret rotation",
            "OpenAPI spec and llms.txt with Markdown pages",
            "Per-call debug logs with API request history and webhook delivery attempts"
          ],
          "weaknesses": [
            "Number rental and SIP trunking prices aren't published",
            "No bug bounty, security.txt or callback signing found",
            "LAX and JFK datacentre incidents hit voice for about 7 and 5 hours in August",
            "No Retry-After or backoff guidance on 429",
            "MCP server is beta, installed by git clone, with no licence file"
          ],
          "agentNotes": [
            "Get a token from the OAuth endpoint first, then POST to /accounts/{accountId}/calls with an applicationId and answerUrl",
            "Keep the call alive with Pause or a redirect while a bidirectional stream runs, or it hangs up when BXML runs out",
            "Read the 429 message to tell a rate limit from a concurrency limit before retrying",
            "Load the MCP server with BW_MCP_PROFILE=voice to keep the tool list short"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "B",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 63.7
            }
          ],
          "editorialScores": {
            "ergonomics": 65,
            "maintenance": 78,
            "payments": 35,
            "reliability": 58,
            "schema": 88,
            "security": 60,
            "transparency": 35
          },
          "provenanceScore": 90
        },
        "connect": {
          "http": "curl -X POST \"https://voice.bandwidth.com/api/v2/accounts/$BW_ACCOUNT_ID/calls\" -H \"Authorization: Bearer $BW_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" -d '{\"to\":\"+15555550123\",\"from\":\"+15555550100\",\"applicationId\":\"'$BW_VOICE_APPLICATION_ID'\",\"answerUrl\":\"https://example.com/answer\"}'",
          "config": {
            "mcpServers": {
              "bandwidth": {
                "args": [
                  "--from",
                  "/path/to/mcp-server",
                  "start"
                ],
                "command": "uvx",
                "env": {
                  "BW_ACCOUNT_ID": "${BW_ACCOUNT_ID}",
                  "BW_CLIENT_ID": "${BW_CLIENT_ID}",
                  "BW_CLIENT_SECRET": "${BW_CLIENT_SECRET}",
                  "BW_MCP_PROFILE": "voice"
                }
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/voice.calls",
          "tool": "https://letme.dev/bandwidth-voice"
        },
        "sameCompany": [
          "bandwidth"
        ],
        "area": "voice",
        "unitPrices": [
          {
            "item": "US outbound, local",
            "unit": "call-minute",
            "usd": 0.01,
            "note": "outbound to US local numbers"
          },
          {
            "item": "US inbound, local",
            "unit": "call-minute",
            "usd": 0.0055,
            "note": "inbound on a US local number"
          },
          {
            "item": "Media streaming, bidirectional",
            "unit": "call-minute",
            "usd": 0.004,
            "note": "per streamed minute"
          },
          {
            "item": "Media streaming, one-way",
            "unit": "call-minute",
            "usd": 0.0035,
            "note": "per streamed minute"
          },
          {
            "item": "Recording",
            "unit": "call-minute",
            "usd": 0.002,
            "note": "per recorded minute"
          }
        ],
        "provenance": {
          "legalEntity": "Bandwidth Inc.",
          "domain": "bandwidth.com",
          "domainRegistered": "1995-02-20",
          "endpointOnVendorDomain": true,
          "terms": "https://www.bandwidth.com/legal/communications-services-agreement/",
          "privacy": "https://www.bandwidth.com/legal/privacy/",
          "statusPage": "https://status.bandwidth.com",
          "changelog": "https://www.bandwidth.com/release-notes/",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "Provenance shared with the Bandwidth messaging listing."
          ],
          "score": 90
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/bandwidth-voice.json",
        "live": {
          "slug": "bandwidth-voice",
          "probe": {
            "target": "https://voice.bandwidth.com/api/v2",
            "method": "get",
            "lastAt": "2026-10-05T02:29:52.256582312Z",
            "lastOk": true,
            "lastStatus": 403,
            "lastMs": 47,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 61,
            "p95ms24h": 123,
            "samples24h": 273,
            "samples30d": 1131,
            "days": [
              {
                "date": "2026-09-30",
                "probes": 35,
                "ok": 35
              },
              {
                "date": "2026-10-01",
                "probes": 276,
                "ok": 276
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 29,
                "ok": 29
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.bandwidth.com",
            "indicator": "maintenance",
            "summary": "Service Under Maintenance",
            "checkedAt": "2026-10-05T02:28:51.109574568Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "Bandwidth/mcp-server",
              "version": "v0.3.0",
              "released": "2026-06-11",
              "seenAt": "2026-10-04T16:21:51.875806743Z"
            },
            {
              "registry": "npm",
              "name": "bandwidth-sdk",
              "version": "8.3.0",
              "seenAt": "2026-10-04T16:21:51.254649229Z"
            },
            {
              "registry": "pypi",
              "name": "bandwidth-sdk",
              "version": "23.3.0",
              "released": "2026-09-22",
              "seenAt": "2026-10-04T16:21:51.689982393Z"
            }
          ],
          "githubStars": 2,
          "npmWeekly": 14503,
          "pypiWeekly": 35330,
          "securityTxt": {
            "url": "https://bandwidth.com/.well-known/security.txt",
            "state": "unknown",
            "checkedAt": "2026-10-04T15:16:04.580175049Z"
          },
          "llmsTxt": {
            "url": "https://dev.bandwidth.com/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:17:18.684718216Z"
          },
          "domain": {
            "domain": "bandwidth.com",
            "registered": "1995-02-20",
            "source": "https://rdap.verisign.com/com/v1/domain/bandwidth.com",
            "checkedAt": "2026-10-04T13:08:39.296680691Z"
          },
          "pages": [
            {
              "url": "https://www.bandwidth.com/release-notes/",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:49:23.983694909Z",
              "changedAt": "2026-10-03T15:37:19.430596463Z",
              "fingerprint": "87b32035924b"
            },
            {
              "url": "https://www.bandwidth.com/pricing/",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-10-04T15:49:21.980288465Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "b3b61701939e"
            },
            {
              "url": "https://www.bandwidth.com/legal/privacy/",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:49:20.642543658Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "e0e2641969a7"
            },
            {
              "url": "https://www.bandwidth.com/legal/communications-services-agreement/",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:49:17.739941299Z",
              "changedAt": "2026-10-04T15:49:17.739941299Z",
              "fingerprint": "2b4532228e6f"
            }
          ],
          "updatedAt": "2026-10-05T02:29:52.256582312Z"
        }
      },
      {
        "slug": "sinch-voice",
        "name": "Sinch Voice API + MCP",
        "vendor": "Sinch",
        "vendorUrl": "https://sinch.com",
        "kind": "http-api",
        "category": "voice-calling",
        "summary": "Programmable voice over PSTN, SIP and WebSocket streams, driven by SVAML call-control JSON.",
        "url": "https://www.anchorterminal.com/tools/sinch-voice",
        "markdownUrl": "https://www.anchorterminal.com/tools/sinch-voice.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/sinch-voice.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/sinch-voice.json",
        "repo": "https://github.com/sinch/sinch-mcp-server",
        "license": "Apache-2.0",
        "transports": [
          "http",
          "stdio",
          "streamable-http"
        ],
        "remoteUrl": "https://voice.api.sinch.com/v2",
        "packages": [
          {
            "registry": "npm",
            "name": "@sinch/sdk-core"
          },
          {
            "registry": "pypi",
            "name": "sinch"
          },
          {
            "registry": "npm",
            "name": "@sinch/mcp"
          }
        ],
        "auth": "mixed",
        "authNotes": "Voice API v2 uses a project access key and secret, over Basic auth or as an OAuth 2.0 token. Voice API v1 at calling.api.sinch.com uses an application key and secret with Basic auth or signed requests, and Sinch recommends signed requests in production. Webhooks can be signed.",
        "pricing": "usage",
        "pricingNotes": "Prepaid pay as you go for self-created accounts, with test credits on signup. The downloadable price list gives US outbound at $0.01 a minute, billed in 60-second increments. The pricing page only shows illustrative inbound, SIP, recording and number prices (for example inbound $0.008 a minute and a number at $0.80 a month plus $0.80 setup), so check your dashboard before relying on them. TTS, conferences and IVR menus carry no extra charge (https://sinch.com/pricing/voice/).",
        "priceSummary": "Pay per use",
        "where": "both",
        "x402": {
          "level": "no",
          "evidence": "No x402 or stablecoin payment path in the voice docs, pricing or llms.txt (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 1,
          "npmWeekly": 15648,
          "pypiWeekly": 11166,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://developers.sinch.com/docs/voice-2.0/overview",
        "llmsTxt": "https://developers.sinch.com/llms.txt",
        "openapi": "https://developers.sinch.com/_bundle/docs/voice-2.0/api-reference/voice.yaml",
        "capabilities": [
          "voice.calls",
          "voice.numbers",
          "voice.streaming",
          "voice.sip",
          "voice.recording",
          "voice.transfer"
        ],
        "tags": [
          "hosted",
          "mcp",
          "llms-txt",
          "typescript",
          "python",
          "webhooks",
          "streaming",
          "batch"
        ],
        "lastRelease": "2026-09-23",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 62.8,
          "grade": "B",
          "agentReady": false,
          "rank": 212,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 5,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 81,
            "maintenance": 79,
            "payments": 35,
            "reliability": 52,
            "schema": 79,
            "security": 50,
            "transparency": 73
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Voice API v2 with bidirectional PCM streams and a text relay that handles barge-in. Two API generations with different hosts, auth and markup, and v1 release notes stop in 2022.",
          "strengths": [
            "Voice API v2 with bidirectional PCM streams and a text relay that handles barge-in",
            "Idempotency-Key on v2 call, batch and service writes, with a 10-minute replay window",
            "OpenAPI file for v2, and official SDKs in four languages, with v2 in Node 1.6.0 and Python 2.2.0 since September",
            "Signed callbacks in v1 and v2, and OAuth 2.0 tokens on v2",
            "Test credits and a test number on signup without a card, and ISO 27001 and SOC 2 Type II"
          ],
          "weaknesses": [
            "Two API generations with different hosts, auth and markup, and v1 release notes stop in 2022",
            "No published voice rate limits or SLA, and 429 handling is described only in SDK changelogs",
            "Public pricing is a spreadsheet download plus illustrative examples",
            "The voice MCP is an alpha (0.0.1-alpha.6) that can't stream audio",
            "No security.txt or bug bounty"
          ],
          "agentNotes": [
            "Start new work on Voice API v2 at voice.api.sinch.com. v1 is the older callout model",
            "Send an Idempotency-Key (a UUID v4) on v2 call, batch and service writes, and reuse it when you retry within 10 minutes",
            "Use the MCP tts-callout tool for one-off spoken notifications, and the REST API for anything that streams audio",
            "Trial accounts dial verified numbers only, one call at a time, so verify the test handset first",
            "Verify the webhook signature and deduplicate on `ce-id` and `ce-source`, since fallback delivery can repeat events"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "B",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 62.8
            }
          ],
          "editorialScores": {
            "ergonomics": 81,
            "maintenance": 79,
            "payments": 35,
            "reliability": 52,
            "schema": 79,
            "security": 50,
            "transparency": 55
          },
          "provenanceScore": 90
        },
        "connect": {
          "http": "curl -X POST \"https://voice.api.sinch.com/v2/projects/$SINCH_PROJECT_ID/calls\" -u \"$SINCH_KEY_ID:$SINCH_KEY_SECRET\" \\\n  -H \"Content-Type: application/json\" -d '{\"commands\":[{\"command\":\"dial\",\"callName\":\"origin\",\"from\":{\"type\":\"PHONE\",\"phone\":{\"number\":\"+15551234567\"}},\"to\":{\"type\":\"PHONE\",\"phone\":{\"number\":\"+15559876543\"}},\"events\":{\"onAnswer\":[{\"command\":\"messages\",\"messages\":[{\"type\":\"SAY\",\"say\":{\"text\":\"Hello from Sinch\"}}]}]}}]}'",
          "config": {
            "mcpServers": {
              "sinch": {
                "args": [
                  "-y",
                  "@sinch/mcp"
                ],
                "command": "npx",
                "env": {
                  "APPLICATION_KEY": "${SINCH_APP_KEY}",
                  "APPLICATION_SECRET": "${SINCH_APP_SECRET}",
                  "CALLING_LINE_IDENTIFICATION": "${SINCH_CLI_NUMBER}",
                  "KEY_ID": "${SINCH_KEY_ID}",
                  "KEY_SECRET": "${SINCH_KEY_SECRET}",
                  "PROJECT_ID": "${SINCH_PROJECT_ID}"
                }
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/voice.calls",
          "tool": "https://letme.dev/sinch-voice"
        },
        "sameCompany": [
          "sinch"
        ],
        "area": "voice",
        "unitPrices": [
          {
            "item": "US outbound",
            "unit": "call-minute",
            "usd": 0.01,
            "note": "outbound to US numbers, 60-second increments, from the downloadable price list"
          }
        ],
        "provenance": {
          "legalEntity": "Sinch AB (publ)",
          "domain": "sinch.com",
          "domainRegistered": "1997-12-03",
          "endpointOnVendorDomain": true,
          "terms": "https://sinch.com/legal/terms-and-conditions/other-sinch-terms-conditions/general-terms-and-conditions/",
          "privacy": "https://sinch.com/legal/privacy-notice/",
          "statusPage": "https://status.sinch.com",
          "changelog": "https://developers.sinch.com/docs/voice/release-notes",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "Provenance shared with the Sinch messaging listing. The general terms name the contracting Sinch entity only in the order form, Sinch AB (publ) is the listed parent.",
            "The v1 voice release notes were last updated on 2022-10-06."
          ],
          "score": 90
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/sinch-voice.json",
        "live": {
          "slug": "sinch-voice",
          "probe": {
            "target": "https://voice.api.sinch.com/v2",
            "method": "get",
            "lastAt": "2026-10-05T02:30:02.536900715Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 53,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 57,
            "p95ms24h": 86,
            "samples24h": 273,
            "samples30d": 1131,
            "days": [
              {
                "date": "2026-09-30",
                "probes": 35,
                "ok": 35
              },
              {
                "date": "2026-10-01",
                "probes": 276,
                "ok": 276
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 29,
                "ok": 29
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.sinch.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-05T02:29:12.990359885Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "sinch/sinch-mcp-server",
              "version": "v0.0.1-alpha6",
              "released": "2026-04-14",
              "seenAt": "2026-10-04T16:40:00.043260291Z"
            },
            {
              "registry": "npm",
              "name": "@sinch/mcp",
              "version": "0.0.1-alpha.6",
              "seenAt": "2026-10-04T16:39:58.580612919Z"
            },
            {
              "registry": "npm",
              "name": "@sinch/sdk-core",
              "version": "1.6.0",
              "seenAt": "2026-10-04T16:39:57.580581644Z"
            },
            {
              "registry": "pypi",
              "name": "sinch",
              "version": "2.2.0",
              "released": "2026-09-21",
              "seenAt": "2026-10-04T16:39:58.396958555Z"
            }
          ],
          "githubStars": 1,
          "npmWeekly": 18032,
          "pypiWeekly": 12911,
          "securityTxt": {
            "url": "https://sinch.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:40.047440487Z"
          },
          "llmsTxt": {
            "url": "https://developers.sinch.com/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:13.942714727Z"
          },
          "domain": {
            "domain": "sinch.com",
            "registered": "1997-12-03",
            "source": "https://rdap.verisign.com/com/v1/domain/sinch.com",
            "checkedAt": "2026-10-04T13:05:54.744606475Z"
          },
          "pages": [
            {
              "url": "https://developers.sinch.com/docs/voice/release-notes",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:43:05.083802306Z",
              "changedAt": "2026-10-03T15:31:16.213832084Z",
              "fingerprint": "b3eccb32eaa2"
            },
            {
              "url": "https://sinch.com/pricing/voice/",
              "kind": "pricing",
              "status": 304,
              "checkedAt": "2026-10-04T15:47:54.85828499Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "123ffc42bc27"
            },
            {
              "url": "https://sinch.com/legal/privacy-notice/",
              "kind": "privacy",
              "status": 304,
              "checkedAt": "2026-10-04T15:47:48.833166192Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "6c75b4444284"
            },
            {
              "url": "https://sinch.com/legal/terms-and-conditions/other-sinch-terms-conditions/general-terms-and-conditions/",
              "kind": "terms",
              "status": 304,
              "checkedAt": "2026-10-04T15:47:50.854190332Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "743942fac2a1"
            }
          ],
          "updatedAt": "2026-10-05T02:30:02.536900715Z"
        }
      },
      {
        "slug": "infobip-calls",
        "name": "Infobip Calls API + MCP",
        "vendor": "Infobip",
        "vendorUrl": "https://www.infobip.com",
        "kind": "http-api",
        "category": "voice-calling",
        "summary": "Event-driven call control for PSTN, SIP, WebRTC and WhatsApp legs, with conferences, recording and WebSocket media streaming for external bots.",
        "url": "https://www.anchorterminal.com/tools/infobip-calls",
        "markdownUrl": "https://www.anchorterminal.com/tools/infobip-calls.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/infobip-calls.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/infobip-calls.json",
        "repo": "https://github.com/infobip/mcp",
        "license": "MIT",
        "transports": [
          "http",
          "streamable-http",
          "sse"
        ],
        "remoteUrl": "https://api.infobip.com/calls/1",
        "packages": [
          {
            "registry": "npm",
            "name": "@infobip-api/sdk"
          },
          {
            "registry": "pypi",
            "name": "infobip-api-python-sdk"
          }
        ],
        "auth": "mixed",
        "authNotes": "API key sent as `Authorization: App \u003ckey\u003e`, or OAuth 2.0. Each account has its own base URL at \u003csubdomain\u003e.api.infobip.com. The Voice MCP accepts OAuth 2.1 with discovery or the same App key header.",
        "pricing": "usage",
        "pricingNotes": "Pay as you go with a free trial. The voice calculator gives US outbound at about $0.0672 a minute and inbound at $0.022. Add-ons are priced in euros, recording €0.0021 a minute, audio streaming €0.002 a minute, conferences €0.0016 per participant per minute, machine detection €0.008 a request and neural TTS €0.00002 a character (https://www.infobip.com/voice/pricing).",
        "priceSummary": "Pay per use",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402 or stablecoin payment path in the voice docs, pricing or llms.txt (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 36,
          "npmWeekly": 17770,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://www.infobip.com/docs/voice-and-video/calls",
        "llmsTxt": "https://www.infobip.com/docs/llms.txt",
        "openapi": "https://api.infobip.com/platform/1/openapi",
        "registryName": "com.infobip/mcp",
        "capabilities": [
          "voice.calls",
          "voice.numbers",
          "voice.streaming",
          "voice.sip",
          "voice.recording",
          "voice.transfer"
        ],
        "tags": [
          "hosted",
          "mcp",
          "llms-txt",
          "openapi",
          "typescript",
          "python",
          "webhooks",
          "streaming",
          "enterprise"
        ],
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 60.5,
          "grade": "C",
          "agentReady": false,
          "rank": 246,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 6,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 50,
            "maintenance": 48,
            "payments": 30,
            "reliability": 58,
            "schema": 90,
            "security": 65,
            "transparency": 78
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "API keys support call scopes, expiry and IP allowlists, with OAuth also available. US outbound calls cost about $0.067 a minute.",
          "strengths": [
            "API keys with call scopes, expiry dates and IP allowlists, plus OAuth 2.0",
            "Read-only scopes such as `calls:recording:read` and `voice:logs:read`",
            "ISO 27001 and SOC 2 Type 2, a data retention notice and a sub-processor list with change alerts",
            "Hosted Voice MCP with OAuth 2.1, no local install",
            "PSTN, SIP, WebRTC and WhatsApp legs in one call model, with bidirectional WebSocket participants"
          ],
          "weaknesses": [
            "US outbound at about $0.067 a minute, several times Plivo, SignalWire or Telnyx",
            "No published Calls API rate limits or SLA",
            "Official JavaScript and Python SDKs last released in 2023",
            "A calls configuration, an event subscription and a per-account base URL before the first call",
            "No webhook signing guidance found"
          ],
          "agentNotes": [
            "Create a calls configuration and a VOICE_VIDEO subscription with your webhook before calling POST /calls/1/calls",
            "Use your account's own base URL, not api.infobip.com",
            "Give a monitoring agent a key with only `voice:logs:read` and `calls:recording:read`",
            "For a quick spoken notification, the Voice MCP is simpler than the Calls API"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 2,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "C",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 60.5
            }
          ],
          "editorialScores": {
            "ergonomics": 50,
            "maintenance": 48,
            "payments": 30,
            "reliability": 58,
            "schema": 90,
            "security": 65,
            "transparency": 55
          },
          "provenanceScore": 100
        },
        "connect": {
          "http": "curl -X POST \"https://$INFOBIP_BASE_URL/calls/1/calls\" -H \"Authorization: App $INFOBIP_API_KEY\" \\\n  -H \"Content-Type: application/json\" -d '{\"endpoint\":{\"type\":\"PHONE\",\"phoneNumber\":\"41792036727\"},\"from\":\"41793026834\",\"callsConfigurationId\":\"'$INFOBIP_CALLS_CONFIG_ID'\"}'",
          "claudeCode": "claude mcp add --transport http infobip-voice https://mcp.infobip.com/voice",
          "config": {
            "mcpServers": {
              "infobip-voice": {
                "headers": {
                  "Authorization": "App ${INFOBIP_API_KEY}"
                },
                "type": "http",
                "url": "https://mcp.infobip.com/voice"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/voice.calls",
          "tool": "https://letme.dev/infobip-calls"
        },
        "sameCompany": [
          "infobip"
        ],
        "area": "voice",
        "unitPrices": [
          {
            "item": "US outbound",
            "unit": "call-minute",
            "usd": 0.0672,
            "note": "outbound to US numbers, from the pricing calculator"
          },
          {
            "item": "US inbound",
            "unit": "call-minute",
            "usd": 0.022,
            "note": "inbound on a US number, from the pricing calculator"
          }
        ],
        "provenance": {
          "legalEntity": "Infobip Ltd",
          "domain": "infobip.com",
          "domainRegistered": "2003-10-16",
          "endpointOnVendorDomain": true,
          "terms": "https://www.infobip.com/policies/service-terms-conditions",
          "privacy": "https://www.infobip.com/policies/privacy-notice",
          "statusPage": "https://status.infobip.com",
          "changelog": "https://www.infobip.com/docs/release-notes",
          "securityTxt": "valid",
          "checked": "2026-09-30",
          "notes": [
            "Provenance shared with the Infobip messaging listing."
          ],
          "score": 100
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/infobip-calls.json",
        "live": {
          "slug": "infobip-calls",
          "probe": {
            "target": "https://api.infobip.com/calls/1",
            "method": "get",
            "lastAt": "2026-10-05T02:29:57.139765184Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 115,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 99.2,
            "p50ms24h": 119,
            "p95ms24h": 147,
            "samples24h": 273,
            "samples30d": 1131,
            "days": [
              {
                "date": "2026-09-30",
                "probes": 35,
                "ok": 35
              },
              {
                "date": "2026-10-01",
                "probes": 276,
                "ok": 270
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 247
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 269
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 29,
                "ok": 29
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.infobip.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-05T02:29:02.104033621Z"
          },
          "versions": [
            {
              "registry": "npm",
              "name": "@infobip-api/sdk",
              "version": "0.3.2",
              "seenAt": "2026-10-04T16:30:09.293062476Z"
            },
            {
              "registry": "pypi",
              "name": "infobip-api-python-sdk",
              "version": "5.0.1",
              "released": "2023-05-26",
              "seenAt": "2026-10-04T16:30:09.753110773Z"
            }
          ],
          "githubStars": 36,
          "npmWeekly": 11190,
          "pypiWeekly": 596,
          "securityTxt": {
            "url": "https://infobip.com/.well-known/security.txt",
            "state": "valid",
            "expires": "2030-01-01T00:00:00.000Z",
            "checkedAt": "2026-10-04T15:15:56.496317143Z"
          },
          "llmsTxt": {
            "url": "https://www.infobip.com/docs/llms.txt",
            "ok": false,
            "status": 404,
            "checkedAt": "2026-10-04T15:17:54.644593118Z"
          },
          "domain": {
            "domain": "infobip.com",
            "registered": "2003-10-16",
            "source": "https://rdap.verisign.com/com/v1/domain/infobip.com",
            "checkedAt": "2026-10-04T13:06:32.73892323Z"
          },
          "pages": [
            {
              "url": "https://www.infobip.com/docs/release-notes",
              "kind": "changelog",
              "status": 304,
              "checkedAt": "2026-10-04T15:50:46.698955282Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "0e41c8aee7d5"
            },
            {
              "url": "https://www.infobip.com/voice/pricing",
              "kind": "pricing",
              "status": 304,
              "checkedAt": "2026-10-04T15:50:54.795582642Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "fdabc9864a44"
            },
            {
              "url": "https://www.infobip.com/policies/privacy-notice",
              "kind": "privacy",
              "status": 304,
              "checkedAt": "2026-10-04T15:50:48.792520673Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "b012bc2db114"
            },
            {
              "url": "https://www.infobip.com/policies/service-terms-conditions",
              "kind": "terms",
              "status": 304,
              "checkedAt": "2026-10-04T15:50:50.734937489Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "e788a44fe608"
            }
          ],
          "updatedAt": "2026-10-05T02:29:57.139765184Z"
        }
      },
      {
        "slug": "plivo-voice",
        "name": "Plivo Voice API",
        "vendor": "Plivo",
        "vendorUrl": "https://www.plivo.com",
        "kind": "http-api",
        "category": "voice-calling",
        "summary": "REST and XML call control for inbound and outbound PSTN calls, with bidirectional WebSocket audio streams, SIP trunking, recording and conferencing.",
        "url": "https://www.anchorterminal.com/tools/plivo-voice",
        "markdownUrl": "https://www.anchorterminal.com/tools/plivo-voice.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/plivo-voice.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/plivo-voice.json",
        "repo": "https://github.com/plivo/plivo-node",
        "license": "MIT",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://api.plivo.com/v1",
        "packages": [
          {
            "registry": "npm",
            "name": "plivo"
          },
          {
            "registry": "pypi",
            "name": "plivo"
          }
        ],
        "auth": "api-key",
        "authNotes": "HTTP Basic auth with Auth ID and Auth Token. The Auth ID also appears in every request path. Webhooks carry a signature you can validate.",
        "pricing": "usage",
        "pricingNotes": "Pay as you go with $10 of trial credit and no card. US outbound $0.0115 a minute to local numbers and $0.006 to toll-free, inbound $0.0055 on local and $0.018 on toll-free numbers, SIP or browser legs $0.0033. Local numbers $0.50 a month, toll-free $1. Recording is free with 90 days of storage, then $0.0004 a minute. Transcription $0.0095 a minute, machine detection and conferencing free (https://www.plivo.com/voice/pricing/us/).",
        "priceSummary": "$0.50 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402 or stablecoin payment path in the voice docs, pricing or llms.txt (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 102,
          "npmWeekly": 50920,
          "pypiWeekly": 69307,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://plivo.com/docs/voice",
        "llmsTxt": "https://www.plivo.com/docs/llms.txt",
        "capabilities": [
          "voice.calls",
          "voice.numbers",
          "voice.streaming",
          "voice.sip",
          "voice.recording",
          "voice.transfer"
        ],
        "tags": [
          "hosted",
          "no-card",
          "llms-txt",
          "typescript",
          "python",
          "webhooks",
          "streaming"
        ],
        "lastRelease": "2026-09-25",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 60.4,
          "grade": "C",
          "agentReady": false,
          "rank": 248,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 7,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 70,
            "maintenance": 78,
            "payments": 40,
            "reliability": 68,
            "schema": 59,
            "security": 45,
            "transparency": 70
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "US outbound at $0.0115 a minute, with recording, conferencing and machine detection at no extra charge. 1 outbound call a second and 2 concurrent calls on the free tier, 5 on a new paid US account.",
          "strengths": [
            "US outbound at $0.0115 a minute, with recording, conferencing and machine detection at no extra charge",
            "Bidirectional audio streams in linear PCM at 8, 16 or 24 kHz or mu-law at 8 kHz",
            "Published limits per plan, including concurrency and what happens above them",
            "$10 trial credit with no card",
            "SOC 2, PCI DSS Level 1 and HIPAA per the security page"
          ],
          "weaknesses": [
            "1 outbound call a second and 2 concurrent calls on the free tier, 5 on a new paid US account",
            "No OpenAPI spec, availability SLA or DPA found",
            "No MCP server that can place calls, the official one searches docs only",
            "Call status webhooks failed for a subset of calls for about 6.5 hours on 25 August",
            "No scoped keys, security.txt or bug bounty"
          ],
          "agentNotes": [
            "Point the answer URL at XML with a Stream element and bidirectional set to true for a live voice agent",
            "Check concurrency before dialling out in bulk. Above it calls are rejected with hangup cause 5030, above CPS they queue",
            "Don't rely on the status callback alone to learn a call ended. Poll the call if the webhook doesn't arrive",
            "Validate webhook signatures before acting on call events"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "C",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 60.4
            }
          ],
          "editorialScores": {
            "ergonomics": 70,
            "maintenance": 78,
            "payments": 40,
            "reliability": 68,
            "schema": 59,
            "security": 45,
            "transparency": 50
          },
          "provenanceScore": 90
        },
        "connect": {
          "http": "curl -X POST \"https://api.plivo.com/v1/Account/$PLIVO_AUTH_ID/Call/\" -u \"$PLIVO_AUTH_ID:$PLIVO_AUTH_TOKEN\" \\\n  -H \"Content-Type: application/json\" -d '{\"from\":\"+14155550100\",\"to\":\"+14155550101\",\"answer_url\":\"https://example.com/answer.xml\",\"answer_method\":\"GET\"}'"
        },
        "letme": {
          "capability": "https://letme.dev/voice.calls",
          "tool": "https://letme.dev/plivo-voice"
        },
        "sameCompany": [
          "plivo"
        ],
        "area": "voice",
        "unitPrices": [
          {
            "item": "US outbound, local",
            "unit": "call-minute",
            "usd": 0.0115,
            "note": "outbound to US local numbers"
          },
          {
            "item": "US outbound, toll-free",
            "unit": "call-minute",
            "usd": 0.006,
            "note": "outbound to US toll-free numbers"
          },
          {
            "item": "US inbound, local number",
            "unit": "call-minute",
            "usd": 0.0055,
            "note": "inbound on a US local number"
          },
          {
            "item": "US inbound, toll-free number",
            "unit": "call-minute",
            "usd": 0.018,
            "note": "inbound on a US toll-free number"
          },
          {
            "item": "SIP or browser leg",
            "unit": "call-minute",
            "usd": 0.0033,
            "note": "inbound or outbound"
          },
          {
            "item": "US local number",
            "unit": "month",
            "usd": 0.5,
            "note": "per number"
          },
          {
            "item": "US toll-free number",
            "unit": "month",
            "usd": 1,
            "note": "per number"
          }
        ],
        "provenance": {
          "legalEntity": "Plivo Inc.",
          "domain": "plivo.com",
          "domainRegistered": "2011-04-17",
          "endpointOnVendorDomain": true,
          "terms": "https://www.plivo.com/legal/tos/",
          "privacy": "https://www.plivo.com/legal/privacy/",
          "statusPage": "https://status.plivo.com",
          "changelog": "https://www.plivo.com/changelog/",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "Provenance shared with the Plivo messaging listing. Legal entity taken from the site footer."
          ],
          "score": 90
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/plivo-voice.json",
        "live": {
          "slug": "plivo-voice",
          "probe": {
            "target": "https://api.plivo.com/v1",
            "method": "get",
            "lastAt": "2026-10-05T02:30:00.754610283Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 329,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 331,
            "p95ms24h": 399,
            "samples24h": 273,
            "samples30d": 1131,
            "days": [
              {
                "date": "2026-09-30",
                "probes": 35,
                "ok": 35
              },
              {
                "date": "2026-10-01",
                "probes": 276,
                "ok": 276
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 29,
                "ok": 29
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.plivo.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-05T02:29:10.309692835Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "plivo/plivo-node",
              "version": "v4.79.0",
              "released": "2026-07-28",
              "seenAt": "2026-10-04T16:37:02.932876885Z"
            },
            {
              "registry": "npm",
              "name": "plivo",
              "version": "4.79.0",
              "seenAt": "2026-10-04T16:37:02.343552611Z"
            },
            {
              "registry": "pypi",
              "name": "plivo",
              "version": "4.63.0",
              "released": "2026-09-25",
              "seenAt": "2026-10-04T16:37:02.742133321Z"
            }
          ],
          "githubStars": 102,
          "npmWeekly": 54280,
          "pypiWeekly": 76309,
          "securityTxt": {
            "url": "https://plivo.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:48.932052901Z"
          },
          "llmsTxt": {
            "url": "https://www.plivo.com/docs/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:08.052494644Z"
          },
          "domain": {
            "domain": "plivo.com",
            "registered": "2011-04-17",
            "source": "https://rdap.verisign.com/com/v1/domain/plivo.com",
            "checkedAt": "2026-10-04T13:07:46.742269573Z"
          },
          "pages": [
            {
              "url": "https://www.plivo.com/changelog/",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:51:43.585881332Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "1fc13e7b957e"
            },
            {
              "url": "https://www.plivo.com/voice/pricing/us/",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-10-04T15:51:51.724997892Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "d0eca0fa3c87"
            },
            {
              "url": "https://www.plivo.com/legal/privacy/",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:51:46.52507636Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "7cd64079a8cf"
            },
            {
              "url": "https://www.plivo.com/legal/tos/",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:51:47.691771662Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "eaee9886500f"
            }
          ],
          "updatedAt": "2026-10-05T02:30:00.754610283Z"
        }
      },
      {
        "slug": "vonage-voice",
        "name": "Vonage Voice API + MCP",
        "vendor": "Vonage (Ericsson)",
        "vendorUrl": "https://www.vonage.com",
        "kind": "http-api",
        "category": "voice-calling",
        "summary": "Voice API that controls calls with NCCO, a JSON list of actions such as talk, input, record, connect and transfer.",
        "url": "https://www.anchorterminal.com/tools/vonage-voice",
        "markdownUrl": "https://www.anchorterminal.com/tools/vonage-voice.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/vonage-voice.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/vonage-voice.json",
        "transports": [
          "http",
          "stdio",
          "streamable-http"
        ],
        "remoteUrl": "https://api.nexmo.com/v1",
        "packages": [
          {
            "registry": "npm",
            "name": "@vonage/server-sdk"
          },
          {
            "registry": "pypi",
            "name": "vonage"
          },
          {
            "registry": "npm",
            "name": "@vonage/vonage-mcp-server-api-bindings"
          }
        ],
        "auth": "mixed",
        "authNotes": "The Voice API takes a Vonage Application JWT signed RS256 with the application's private key. Signed webhooks carry an HS256 JWT to verify with the signature secret. The MCP server reads the API key, secret, application ID and a base64 private key from env vars.",
        "pricing": "usage",
        "pricingNotes": "Pay as you go, billed per second. US outbound $0.01446 a minute, inbound $0.00495 on local numbers and $0.0154 on toll-free. Calls to or from SIP, in-app (WebRTC) and websocket endpoints $0.00492 a minute. US numbers €1.81 a month. New accounts get test credit with no card. Rates are from Vonage's downloadable pricing sheet, since the pricing page blocks automated requests (https://www.vonage.com/communications-apis/voice/pricing/).",
        "priceSummary": "Pay per use",
        "where": "both",
        "x402": {
          "level": "no",
          "evidence": "No x402 support in docs, pricing or MCP README (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": 14,
        "popularity": {
          "githubStars": null,
          "npmWeekly": 154249,
          "pypiWeekly": 67062,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://developer.vonage.com/en/voice/voice-api/overview",
        "llmsTxt": "https://developer.vonage.com/llms.txt",
        "openapi": "https://developer.vonage.com/api/v1/developer/api/file/voice?format=json",
        "registryName": "io.github.Vonage/vonage-documentation-mcp",
        "capabilities": [
          "voice.calls",
          "voice.numbers",
          "voice.streaming",
          "voice.sip",
          "voice.recording",
          "voice.transfer"
        ],
        "tags": [
          "hosted",
          "no-card",
          "mcp",
          "llms-txt",
          "openapi",
          "typescript",
          "python",
          "webhooks",
          "streaming",
          "enterprise"
        ],
        "lastRelease": "2026-09-16",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 59.1,
          "grade": "C",
          "agentReady": false,
          "rank": 270,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 8,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 60,
            "maintenance": 78,
            "payments": 35,
            "reliability": 45,
            "schema": 88,
            "security": 60,
            "transparency": 50
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "low",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Websocket audio as 16-bit linear PCM at 8, 16 or 24 kHz, both directions. First call needs an application, a private key and a signed JWT.",
          "strengths": [
            "Websocket audio as 16-bit linear PCM at 8, 16 or 24 kHz, both directions",
            "Per-second billing on every call",
            "Short-lived application JWTs whose ACLs can limit a token to named paths and methods, and signed webhooks with a body hash",
            "OpenAPI spec and an llms.txt that tells agents which hosts to use",
            "€2 test credit without a card"
          ],
          "weaknesses": [
            "First call needs an application, a private key and a signed JWT",
            "No Voice API rate limit or SLA found, and the error catalogue's throttling advice is to wait an amount that differs per API",
            "Pricing page returns 403 to automated requests, rates live in a spreadsheet",
            "MCP server has no tools for live call control, only a one-way voice message",
            "No security.txt, and the API runs on the legacy nexmo.com domain"
          ],
          "agentNotes": [
            "Generate a short-lived JWT with an ACL limited to the call paths the agent needs, and keep the private key out of prompts",
            "Use a `connect` action with a websocket endpoint and `audio/l16;rate=16000` for speech models",
            "Keep the api.nexmo.com hostname, Vonage's llms.txt says not to swap it",
            "Enable signed webhooks and verify the HS256 JWT on each event",
            "Expect RFC 7807 errors (`type`, `title`, `detail`, `instance`) and back off on a throttling error, since no Voice rate limit is published"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 2.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "low",
              "grade": "C",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 59.1
            }
          ],
          "editorialScores": {
            "ergonomics": 60,
            "maintenance": 78,
            "payments": 35,
            "reliability": 45,
            "schema": 88,
            "security": 60,
            "transparency": 25
          },
          "provenanceScore": 75
        },
        "connect": {
          "http": "curl -X POST https://api.nexmo.com/v1/calls -H \"Authorization: Bearer $VONAGE_JWT\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"to\":[{\"type\":\"phone\",\"number\":\"14155550100\"}],\"from\":{\"type\":\"phone\",\"number\":\"14155550101\"},\"ncco\":[{\"action\":\"talk\",\"text\":\"Hello from Vonage\"}]}'",
          "claudeCode": "claude mcp add --transport http vonage-docs https://documentation-mcp.vonage.dev/mcp",
          "config": {
            "mcpServers": {
              "vonage": {
                "args": [
                  "-y",
                  "@vonage/vonage-mcp-server-api-bindings"
                ],
                "command": "npx",
                "env": {
                  "VONAGE_API_KEY": "${VONAGE_API_KEY}",
                  "VONAGE_API_SECRET": "${VONAGE_API_SECRET}",
                  "VONAGE_APPLICATION_ID": "${VONAGE_APPLICATION_ID}",
                  "VONAGE_PRIVATE_KEY64": "${VONAGE_PRIVATE_KEY64}",
                  "VONAGE_VIRTUAL_NUMBER": "${VONAGE_VIRTUAL_NUMBER}"
                }
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/voice.calls",
          "tool": "https://letme.dev/vonage-voice"
        },
        "sameCompany": [
          "vonage"
        ],
        "area": "voice",
        "unitPrices": [
          {
            "item": "Outbound call, US",
            "unit": "call-minute",
            "usd": 0.01446,
            "note": "billed per second"
          },
          {
            "item": "Inbound call, US local number",
            "unit": "call-minute",
            "usd": 0.00495,
            "note": "billed per second"
          },
          {
            "item": "Inbound call, US toll-free number",
            "unit": "call-minute",
            "usd": 0.0154
          },
          {
            "item": "Websocket, SIP or in-app leg",
            "unit": "call-minute",
            "usd": 0.00492
          }
        ],
        "provenance": {
          "legalEntity": "Vonage Holdings Corp.",
          "domain": "vonage.com",
          "domainRegistered": "2000-12-12",
          "domainNote": "The API endpoints sit on the legacy nexmo.com domain, from Nexmo's acquisition in 2016.",
          "endpointOnVendorDomain": false,
          "terms": "https://www.vonage.com/legal/communications-apis/terms-of-use/",
          "privacy": "https://www.vonage.com/legal/privacy-policy/",
          "statusPage": "https://vonageapi.statuspage.io",
          "changelog": "https://developer.vonage.com/en/changelogs",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "The privacy notice names Vonage Holdings Corp. as controller where one entity applies. The API terms set the contracting entity by customer region in Schedule 1, which we couldn't read because vonage.com returned 403 to automated requests."
          ],
          "score": 75
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/vonage-voice.json",
        "live": {
          "slug": "vonage-voice",
          "probe": {
            "target": "https://api.nexmo.com/v1",
            "method": "get",
            "lastAt": "2026-10-05T02:30:05.010474053Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 65,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 56,
            "p95ms24h": 89,
            "samples24h": 273,
            "samples30d": 1131,
            "days": [
              {
                "date": "2026-09-30",
                "probes": 35,
                "ok": 35
              },
              {
                "date": "2026-10-01",
                "probes": 276,
                "ok": 276
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 29,
                "ok": 29
              }
            ]
          },
          "vendorStatus": {
            "page": "https://vonageapi.statuspage.io",
            "indicator": "minor",
            "summary": "Partially Degraded Service",
            "checkedAt": "2026-10-05T02:29:15.477167359Z"
          },
          "versions": [
            {
              "registry": "npm",
              "name": "@vonage/server-sdk",
              "version": "3.30.1",
              "seenAt": "2026-10-04T16:43:40.029661946Z"
            },
            {
              "registry": "npm",
              "name": "@vonage/vonage-mcp-server-api-bindings",
              "version": "1.5.1",
              "seenAt": "2026-10-04T16:43:42.417836886Z"
            },
            {
              "registry": "pypi",
              "name": "vonage",
              "version": "4.9.0",
              "released": "2026-09-16",
              "seenAt": "2026-10-04T16:43:42.228896026Z"
            }
          ],
          "npmWeekly": 152256,
          "pypiWeekly": 69501,
          "securityTxt": {
            "url": "https://vonage.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:53.518357179Z"
          },
          "llmsTxt": {
            "url": "https://developer.vonage.com/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:21.395540221Z"
          },
          "domain": {
            "domain": "vonage.com",
            "registered": "2000-12-12",
            "source": "https://rdap.verisign.com/com/v1/domain/vonage.com",
            "checkedAt": "2026-10-04T13:04:15.703583171Z"
          },
          "pages": [
            {
              "url": "https://developer.vonage.com/en/changelogs",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:42:39.187027625Z",
              "changedAt": "2026-10-02T15:19:02.626368872Z",
              "fingerprint": "81bb42dd9db6"
            },
            {
              "url": "https://www.vonage.com/communications-apis/voice/pricing/",
              "kind": "pricing",
              "status": 304,
              "checkedAt": "2026-10-04T15:52:50.243045792Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "efeb31a58cfc"
            },
            {
              "url": "https://www.vonage.com/legal/privacy-policy/",
              "kind": "privacy",
              "status": 304,
              "checkedAt": "2026-10-04T15:52:54.218403359Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "ef11a28348cd"
            },
            {
              "url": "https://www.vonage.com/legal/communications-apis/terms-of-use/",
              "kind": "terms",
              "status": 304,
              "checkedAt": "2026-10-04T15:52:52.203108406Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "004c80c35ffa"
            }
          ],
          "updatedAt": "2026-10-05T02:30:05.010474053Z"
        }
      },
      {
        "slug": "voximplant",
        "name": "Voximplant",
        "vendor": "Voximplant",
        "vendorUrl": "https://voximplant.com",
        "kind": "http-api",
        "category": "voice-calling",
        "summary": "Serverless platform for programmable calling.",
        "url": "https://www.anchorterminal.com/tools/voximplant",
        "markdownUrl": "https://www.anchorterminal.com/tools/voximplant.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/voximplant.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/voximplant.json",
        "repo": "https://github.com/voximplant/apiclient-nodejs",
        "license": "Apache-2.0",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://api.voximplant.com/platform_api",
        "packages": [
          {
            "registry": "npm",
            "name": "@voximplant/apiclient-nodejs"
          },
          {
            "registry": "pypi",
            "name": "voximplant-apiclient"
          }
        ],
        "auth": "mixed",
        "authNotes": "Management API accepts a service-account JWT (RS256, up to one hour) as a Bearer token, or an account ID and API key in the query string. Prefer the JWT, since query-string keys end up in logs.",
        "pricing": "usage",
        "pricingNotes": "Pay as you go in USD. US outbound $0.017 a minute to landlines and mobiles, inbound $0.005, toll-free inbound $0.03. US numbers $1.50 a month plus $1.50 setup, toll-free $3 a month. WebSocket audio streaming $0.001 per 15 seconds per direction ($0.004 a minute each way). Voice AI connectors $0.001 per 15 seconds ($0.004 a minute), including a bidirectional stream. Recording $0.001 a minute to your own S3 or $0.0015 with 3-month cloud storage. Speech recognition $0.034 a minute (https://voximplant.com/pricing).",
        "priceSummary": "$1.50 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402 or stablecoin payment path in the voice docs, pricing or llms.txt (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 15,
          "npmWeekly": 1419,
          "pypiWeekly": 930,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://docs.voximplant.ai",
        "llmsTxt": "https://docs.voximplant.ai/llms.txt",
        "openapi": "https://docs.voximplant.ai/openapi.json",
        "capabilities": [
          "voice.calls",
          "voice.numbers",
          "voice.streaming",
          "voice.sip",
          "voice.recording",
          "voice.transfer"
        ],
        "tags": [
          "hosted",
          "llms-txt",
          "openapi",
          "typescript",
          "python",
          "streaming",
          "webhooks"
        ],
        "lastRelease": "2026-08-26",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 51.9,
          "grade": "D",
          "agentReady": false,
          "rank": 346,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 9,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 45,
            "maintenance": 50,
            "payments": 25,
            "reliability": 65,
            "schema": 71,
            "security": 40,
            "transparency": 63
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Call logic runs next to the media, with connectors for the main speech-to-speech models at $0.004 a minute. Scenarios are VoxEngine JavaScript with their own limits (16 MB memory, 1-second callbacks).",
          "strengths": [
            "Call logic runs next to the media, with connectors for the main speech-to-speech models at $0.004 a minute",
            "Service-account JWTs that expire within an hour, with roles per account",
            "OpenAPI spec for the Management API and an llms.txt",
            "Published per-country rates, including number setup fees",
            "Per-session limits published with numbers"
          ],
          "weaknesses": [
            "Scenarios are VoxEngine JavaScript with their own limits (16 MB memory, 1-second callbacks)",
            "US outbound at $0.017 a minute is higher than most here",
            "API key accepted in the query string, and no security.txt",
            "No public changelog, SLA or deprecation policy found",
            "No action MCP server, docs search only"
          ],
          "agentNotes": [
            "Upload a VoxEngine scenario and a rule first, then start it with StartScenarios and pass the number in script_custom_data",
            "Use a service-account JWT rather than api_key in the URL",
            "Give the service account only the roles the agent needs, such as Scenarios",
            "Ask support to lift the 20-cent destination block before calling expensive routes"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "D",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 51.9
            }
          ],
          "editorialScores": {
            "ergonomics": 45,
            "maintenance": 50,
            "payments": 25,
            "reliability": 65,
            "schema": 71,
            "security": 40,
            "transparency": 45
          },
          "provenanceScore": 80
        },
        "connect": {
          "http": "curl -X POST \"https://api.voximplant.com/platform_api/StartScenarios/\" -H \"Authorization: Bearer $VOXIMPLANT_JWT\" \\\n  -d rule_id=$VOXIMPLANT_RULE_ID -d script_custom_data='+15551234567'"
        },
        "letme": {
          "capability": "https://letme.dev/voice.calls",
          "tool": "https://letme.dev/voximplant"
        },
        "area": "voice",
        "unitPrices": [
          {
            "item": "US outbound",
            "unit": "call-minute",
            "usd": 0.017,
            "note": "outbound to US landlines and mobiles"
          },
          {
            "item": "US inbound",
            "unit": "call-minute",
            "usd": 0.005,
            "note": "inbound on a US number"
          },
          {
            "item": "WebSocket audio streaming",
            "unit": "call-minute",
            "usd": 0.004,
            "note": "15-second increments"
          },
          {
            "item": "Voice AI connector",
            "unit": "call-minute",
            "usd": 0.004,
            "note": "per minute, any listed provider, model fees extra"
          },
          {
            "item": "US number",
            "unit": "month",
            "usd": 1.5,
            "note": "plus $1.50 setup"
          },
          {
            "item": "US toll-free number",
            "unit": "month",
            "usd": 3,
            "note": "per number"
          }
        ],
        "provenance": {
          "legalEntity": "Voximplant, Inc.",
          "domain": "voximplant.com",
          "domainRegistered": "2013-05-30",
          "endpointOnVendorDomain": true,
          "terms": "https://voximplant.com/legal/tos",
          "privacy": "https://voximplant.com/legal/privacy",
          "statusPage": "https://status.voximplant.com",
          "changelog": "",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "Legal entity from the terms of service. No public changelog found."
          ],
          "score": 80
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/voximplant.json",
        "live": {
          "slug": "voximplant",
          "probe": {
            "target": "https://api.voximplant.com/platform_api",
            "method": "get",
            "lastAt": "2026-10-05T02:30:05.096711615Z",
            "lastOk": true,
            "lastStatus": 200,
            "lastMs": 59,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 59,
            "p95ms24h": 85,
            "samples24h": 273,
            "samples30d": 1131,
            "days": [
              {
                "date": "2026-09-30",
                "probes": 35,
                "ok": 35
              },
              {
                "date": "2026-10-01",
                "probes": 276,
                "ok": 276
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 29,
                "ok": 29
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.voximplant.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-05T02:29:15.666700079Z"
          },
          "versions": [
            {
              "registry": "npm",
              "name": "@voximplant/apiclient-nodejs",
              "version": "4.11.0",
              "seenAt": "2026-10-04T16:43:49.611417657Z"
            },
            {
              "registry": "pypi",
              "name": "voximplant-apiclient",
              "version": "2.10.0",
              "released": "2026-08-26",
              "seenAt": "2026-10-04T16:43:50.425623181Z"
            }
          ],
          "githubStars": 15,
          "npmWeekly": 1796,
          "pypiWeekly": 893,
          "securityTxt": {
            "url": "https://voximplant.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:16:01.143579003Z"
          },
          "llmsTxt": {
            "url": "https://docs.voximplant.ai/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:21.661478569Z"
          },
          "domain": {
            "domain": "voximplant.com",
            "registered": "2013-05-30",
            "source": "https://rdap.verisign.com/com/v1/domain/voximplant.com",
            "checkedAt": "2026-10-04T13:06:06.742088675Z"
          },
          "pages": [
            {
              "url": "https://voximplant.com/pricing",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-10-04T15:48:52.131689877Z",
              "changedAt": "2026-10-02T15:25:01.512055599Z",
              "fingerprint": "e337aae5234a"
            },
            {
              "url": "https://voximplant.com/legal/privacy",
              "kind": "privacy",
              "status": 304,
              "checkedAt": "2026-10-04T15:48:47.897950481Z",
              "changedAt": "2026-10-02T15:24:57.214600772Z",
              "fingerprint": "7b258de34822"
            },
            {
              "url": "https://voximplant.com/legal/tos",
              "kind": "terms",
              "status": 304,
              "checkedAt": "2026-10-04T15:48:50.104207836Z",
              "changedAt": "2026-10-02T15:24:59.564354541Z",
              "fingerprint": "6b9790e24d52"
            }
          ],
          "updatedAt": "2026-10-05T02:30:05.096711615Z"
        }
      },
      {
        "slug": "exotel-voice",
        "name": "Exotel Voice API + MCP",
        "vendor": "Exotel",
        "vendorUrl": "https://exotel.com",
        "kind": "http-api",
        "category": "voice-calling",
        "summary": "Indian cloud telephony API for click-to-call, call flows, virtual numbers (ExoPhones), SIP trunking and AgentStream, which streams call audio to your bot over WebSocket in both directions.",
        "url": "https://www.anchorterminal.com/tools/exotel-voice",
        "markdownUrl": "https://www.anchorterminal.com/tools/exotel-voice.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/exotel-voice.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/exotel-voice.json",
        "repo": "https://github.com/exotel/ExotelMCP",
        "license": "MIT",
        "transports": [
          "http",
          "streamable-http"
        ],
        "remoteUrl": "https://api.exotel.com/v1",
        "packages": [],
        "auth": "api-key",
        "authNotes": "HTTP Basic auth with API key and token, and the Account SID in the path. India-hosted accounts use api.in.exotel.com. The hosted MCP takes a JSON object with the base64 key and token in the Authorization header.",
        "pricing": "usage",
        "pricingNotes": "Pay as you go or bundled plans in INR, with a free trial and no card. Per-minute rates and plan prices aren't published on the Exotel site, they're quoted after signup or by sales. Numbers carry a one-time activation fee plus monthly rental (https://exotel.com/pricing/).",
        "priceSummary": "Pay per use",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402 or stablecoin payment path in the voice docs, pricing or llms.txt (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": 62,
        "popularity": {
          "githubStars": 5,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://developer.exotel.com/docs/voice",
        "capabilities": [
          "voice.calls",
          "voice.numbers",
          "voice.streaming",
          "voice.sip",
          "voice.recording",
          "voice.transfer"
        ],
        "tags": [
          "hosted",
          "no-card",
          "mcp",
          "webhooks",
          "streaming"
        ],
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 39.8,
          "grade": "E",
          "agentReady": false,
          "rank": 424,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 10,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 40,
            "maintenance": 5,
            "payments": 20,
            "reliability": 50,
            "schema": 48,
            "security": 40,
            "transparency": 63
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Local Indian numbers and DLT and TRAI handling. Per-minute rates and plan prices not published.",
          "strengths": [
            "Local Indian numbers and DLT and TRAI handling",
            "Hosted MCP with 62 tools that can place calls and manage VoiceBots",
            "AgentStream bidirectional audio with mark and clear events for barge-in",
            "No-card trial",
            "Error code dictionary and multi-language examples since February 2026"
          ],
          "weaknesses": [
            "Per-minute rates and plan prices not published",
            "No OpenAPI spec, llms.txt or official server SDK",
            "Changelog quiet since February 2026",
            "MCP tools carry no read-only or destructive annotations, and credentials travel as a JSON blob in a header",
            "No published rate limits or SLA, and no bug bounty or disclosure policy found"
          ],
          "agentNotes": [
            "Use api.in.exotel.com for India-hosted accounts and api.exotel.com for Singapore-hosted ones",
            "Pass StreamUrl on Calls/connect for a quick outbound voice-agent call",
            "Whitelist test numbers before calling on a trial account",
            "Pass confirm=true only after a person approves a destructive MCP tool call"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 2,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "E",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 39.8
            }
          ],
          "editorialScores": {
            "ergonomics": 40,
            "maintenance": 5,
            "payments": 20,
            "reliability": 50,
            "schema": 48,
            "security": 40,
            "transparency": 35
          },
          "provenanceScore": 90
        },
        "connect": {
          "http": "curl -u \"$EXOTEL_API_KEY:$EXOTEL_API_TOKEN\" -X POST \"https://api.exotel.com/v1/Accounts/$EXOTEL_SID/Calls/connect\" \\\n  -d From=+91XXXXXXXXXX -d To=+91XXXXXXXXXX -d CallerId=$EXOTEL_EXOPHONE",
          "claudeCode": "claude mcp add --transport http exotel https://mcp.exotel.com/mcp --header \"Authorization: $EXOTEL_MCP_AUTH_JSON\"",
          "config": {
            "mcpServers": {
              "exotel": {
                "headers": {
                  "Authorization": "${EXOTEL_MCP_AUTH_JSON}"
                },
                "type": "http",
                "url": "https://mcp.exotel.com/mcp"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/voice.calls",
          "tool": "https://letme.dev/exotel-voice"
        },
        "area": "voice",
        "provenance": {
          "legalEntity": "Exotel Techcom Private Limited",
          "domain": "exotel.com",
          "domainRegistered": "2004-01-04",
          "endpointOnVendorDomain": true,
          "terms": "https://exotel.com/terms-of-service-exotel/",
          "privacy": "https://exotel.com/privacy-policy/",
          "statusPage": "https://status.exotel.com",
          "changelog": "https://developer.exotel.com/docs/references/changelog",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "Legal entity from the terms of service. The developer changelog's latest entry is February 2026."
          ],
          "score": 90
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/exotel-voice.json",
        "live": {
          "slug": "exotel-voice",
          "probe": {
            "target": "https://api.exotel.com/v1",
            "method": "get",
            "lastAt": "2026-10-05T02:29:55.624704802Z",
            "lastOk": true,
            "lastStatus": 400,
            "lastMs": 701,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 726,
            "p95ms24h": 781,
            "samples24h": 273,
            "samples30d": 1131,
            "days": [
              {
                "date": "2026-09-30",
                "probes": 35,
                "ok": 35
              },
              {
                "date": "2026-10-01",
                "probes": 276,
                "ok": 276
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 29,
                "ok": 29
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.exotel.com",
            "indicator": "major",
            "summary": "Partial System Outage",
            "checkedAt": "2026-10-05T02:28:59.137379193Z"
          },
          "githubStars": 5,
          "securityTxt": {
            "url": "https://exotel.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:38.635394589Z"
          },
          "llmsTxt": {
            "url": "https://developer.exotel.com/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-01T13:02:56.207120986Z"
          },
          "domain": {
            "domain": "exotel.com",
            "registered": "2004-01-04",
            "source": "https://rdap.verisign.com/com/v1/domain/exotel.com",
            "checkedAt": "2026-10-04T13:08:47.298921523Z"
          },
          "pages": [
            {
              "url": "https://developer.exotel.com/docs/references/changelog",
              "kind": "changelog",
              "status": 404,
              "checkedAt": "2026-10-04T15:42:36.379688862Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "c48075a649c5"
            },
            {
              "url": "https://exotel.com/pricing/",
              "kind": "pricing",
              "status": 304,
              "checkedAt": "2026-10-04T15:44:34.929433729Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "c189da9b16a1"
            },
            {
              "url": "https://exotel.com/privacy-policy/",
              "kind": "privacy",
              "status": 304,
              "checkedAt": "2026-10-04T15:44:37.13126856Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "3fa8ae110c4a"
            },
            {
              "url": "https://exotel.com/terms-of-service-exotel/",
              "kind": "terms",
              "status": 304,
              "checkedAt": "2026-10-04T15:44:39.317095047Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "1ee897578d5d"
            }
          ],
          "updatedAt": "2026-10-05T02:29:55.624704802Z"
        }
      }
    ]
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/categories/voice-calling",
    "json": "https://www.anchorterminal.com/categories/voice-calling.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/categories/voice-calling.md",
    "slim": "https://www.anchorterminal.com/categories/voice-calling.min.md"
  },
  "markdown": "The calling layer an agent connects to. Numbers, inbound and outbound calls, audio streaming over websockets or SIP, transfers and recordings. Compared on setup, webhook reliability, where numbers are available and the full cost of a call.\n\n- Tools ranked: 10 · agent-ready (BB or better): 2 · accept x402: 1 · hosted endpoints: 9 · desk reviews by the panel: 32\n- JSON: https://www.anchorterminal.com/api/v1/tools.json (list) · https://www.anchorterminal.com/api/v1/rankings.json (ranked) · https://www.anchorterminal.com/api/v1/x402.json (payable) · https://www.anchorterminal.com/api/v1/capabilities.json (by capability)\n- Grades run AA, A, BB, B, C, D, E, F · methodology: https://www.anchorterminal.com/benchmark/\n\n- Capabilities in this category: voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording\n- https://letme.dev/voice.calls picks the top-graded tool in this list and says how to call it direct; calling through letme comes later (https://www.anchorterminal.com/letme/index.md)\n\n## Ranking\n\n| # | Tool | Vendor | Kind | Category | Grade | Score | Confidence | x402 | Auth | Where | Reviews | Page |\n| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |\n| 6 | Twilio Programmable Voice API + MCP | Twilio | HTTP API | Calling | A | 80.4 | medium | no | OAuth or key | hosted + local | 3.1/5 (8) | https://www.anchorterminal.com/tools/twilio-voice.md |\n| 48 | Telnyx Voice API + MCP | Telnyx | HTTP API | Calling | BB | 74.4 | medium | payer | OAuth or key | hosted + local | 3.5/5 (8) | https://www.anchorterminal.com/tools/telnyx-voice.md |\n| 144 | SignalWire Voice API | SignalWire | HTTP API | Calling | B | 67.3 | medium | no | API key | local | 3.5/5 (2) | https://www.anchorterminal.com/tools/signalwire-voice.md |\n| 196 | Bandwidth Voice API + MCP | Bandwidth | HTTP API | Calling | B | 63.7 | medium | no | OAuth | hosted + local | 3/5 (2) | https://www.anchorterminal.com/tools/bandwidth-voice.md |\n| 212 | Sinch Voice API + MCP | Sinch | HTTP API | Calling | B | 62.8 | medium | no | OAuth or key | hosted + local | 3/5 (2) | https://www.anchorterminal.com/tools/sinch-voice.md |\n| 246 | Infobip Calls API + MCP | Infobip | HTTP API | Calling | C | 60.5 | medium | no | OAuth or key | hosted | 2/5 (2) | https://www.anchorterminal.com/tools/infobip-calls.md |\n| 248 | Plivo Voice API | Plivo | HTTP API | Calling | C | 60.4 | medium | no | API key | hosted | 3.5/5 (2) | https://www.anchorterminal.com/tools/plivo-voice.md |\n| 270 | Vonage Voice API + MCP | Vonage (Ericsson) | HTTP API | Calling | C | 59.1 | low | no | OAuth or key | hosted + local | 2.5/5 (2) | https://www.anchorterminal.com/tools/vonage-voice.md |\n| 346 | Voximplant | Voximplant | HTTP API | Calling | D | 51.9 | medium | no | OAuth or key | hosted | 3/5 (2) | https://www.anchorterminal.com/tools/voximplant.md |\n| 424 | Exotel Voice API + MCP | Exotel | HTTP API | Calling | E | 39.8 | medium | no | API key | hosted | 2/5 (2) | https://www.anchorterminal.com/tools/exotel-voice.md |\n\nScores are from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/), with Performance and Task success pending. p95 latency and context cost come from our probes, which haven't run yet.\n\n## Summaries\n\n### 6. Twilio Programmable Voice API + MCP, A (80.4)\n\nProgrammable Voice for placing and answering calls on Twilio numbers in 100+ countries, controlled with TwiML or REST. Twilio APIs SLA at 99.95 per cent for every paying customer, with 10 per cent credits. US outbound at $0.014 a minute, plus $0.0044 for Media Streams or $0.07 for ConversationRelay.\n\n- Page: https://www.anchorterminal.com/tools/twilio-voice · Markdown: https://www.anchorterminal.com/tools/twilio-voice.md · JSON: https://www.anchorterminal.com/api/v1/tools/twilio-voice.json\n- Capabilities: voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer · endpoint: `https://api.twilio.com/2010-04-01`\n\n### 48. Telnyx Voice API + MCP, BB (74.4)\n\nCarrier-owned Voice API (Call Control and TeXML) for calls, numbers, websocket media streaming, recording and transfers on Telnyx's own network. About $0.007 a minute all-in for US outbound ($0.002 Voice API plus $0.005 termination). x402 and MPP only top up credit, they don't pay per call.\n\n- Page: https://www.anchorterminal.com/tools/telnyx-voice · Markdown: https://www.anchorterminal.com/tools/telnyx-voice.md · JSON: https://www.anchorterminal.com/api/v1/tools/telnyx-voice.json\n- Capabilities: voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer · endpoint: `https://api.telnyx.com/v2`\n\n### 144. SignalWire Voice API, B (67.3)\n\nProgrammable calling API from the team behind FreeSWITCH. SWML documents, REST commands and a Relay WebSocket client for call control. Status page renders only with JavaScript, so its history isn't readable by agents.\n\n- Page: https://www.anchorterminal.com/tools/signalwire-voice · Markdown: https://www.anchorterminal.com/tools/signalwire-voice.md · JSON: https://www.anchorterminal.com/api/v1/tools/signalwire-voice.json\n- Capabilities: voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer\n\n### 196. Bandwidth Voice API + MCP, B (63.7)\n\nProgrammable voice on Bandwidth's own US carrier network, with BXML call control, bidirectional WebSocket media streams, recording, transcription and transfers. 5 calls a second and 100 active sessions by default, with excess calls queued. Number rental and SIP trunking prices aren't published.\n\n- Page: https://www.anchorterminal.com/tools/bandwidth-voice · Markdown: https://www.anchorterminal.com/tools/bandwidth-voice.md · JSON: https://www.anchorterminal.com/api/v1/tools/bandwidth-voice.json\n- Capabilities: voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer · endpoint: `https://voice.bandwidth.com/api/v2`\n\n### 212. Sinch Voice API + MCP, B (62.8)\n\nProgrammable voice over PSTN, SIP and WebSocket streams, driven by SVAML call-control JSON. Voice API v2 with bidirectional PCM streams and a text relay that handles barge-in. Two API generations with different hosts, auth and markup, and v1 release notes stop in 2022.\n\n- Page: https://www.anchorterminal.com/tools/sinch-voice · Markdown: https://www.anchorterminal.com/tools/sinch-voice.md · JSON: https://www.anchorterminal.com/api/v1/tools/sinch-voice.json\n- Capabilities: voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer · endpoint: `https://voice.api.sinch.com/v2`\n\n### 246. Infobip Calls API + MCP, C (60.5)\n\nEvent-driven call control for PSTN, SIP, WebRTC and WhatsApp legs, with conferences, recording and WebSocket media streaming for external bots. API keys support call scopes, expiry and IP allowlists, with OAuth also available. US outbound calls cost about $0.067 a minute.\n\n- Page: https://www.anchorterminal.com/tools/infobip-calls · Markdown: https://www.anchorterminal.com/tools/infobip-calls.md · JSON: https://www.anchorterminal.com/api/v1/tools/infobip-calls.json\n- Capabilities: voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer · endpoint: `https://api.infobip.com/calls/1`\n\n### 248. Plivo Voice API, C (60.4)\n\nREST and XML call control for inbound and outbound PSTN calls, with bidirectional WebSocket audio streams, SIP trunking, recording and conferencing. US outbound at $0.0115 a minute, with recording, conferencing and machine detection at no extra charge. 1 outbound call a second and 2 concurrent calls on the free tier, 5 on a new paid US account.\n\n- Page: https://www.anchorterminal.com/tools/plivo-voice · Markdown: https://www.anchorterminal.com/tools/plivo-voice.md · JSON: https://www.anchorterminal.com/api/v1/tools/plivo-voice.json\n- Capabilities: voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer · endpoint: `https://api.plivo.com/v1`\n\n### 270. Vonage Voice API + MCP, C (59.1)\n\nVoice API that controls calls with NCCO, a JSON list of actions such as talk, input, record, connect and transfer. Websocket audio as 16-bit linear PCM at 8, 16 or 24 kHz, both directions. First call needs an application, a private key and a signed JWT.\n\n- Page: https://www.anchorterminal.com/tools/vonage-voice · Markdown: https://www.anchorterminal.com/tools/vonage-voice.md · JSON: https://www.anchorterminal.com/api/v1/tools/vonage-voice.json\n- Capabilities: voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer · endpoint: `https://api.nexmo.com/v1`\n\n### 346. Voximplant, D (51.9)\n\nServerless platform for programmable calling. Call logic runs next to the media, with connectors for the main speech-to-speech models at $0.004 a minute. Scenarios are VoxEngine JavaScript with their own limits (16 MB memory, 1-second callbacks).\n\n- Page: https://www.anchorterminal.com/tools/voximplant · Markdown: https://www.anchorterminal.com/tools/voximplant.md · JSON: https://www.anchorterminal.com/api/v1/tools/voximplant.json\n- Capabilities: voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer · endpoint: `https://api.voximplant.com/platform_api`\n\n### 424. Exotel Voice API + MCP, E (39.8)\n\nIndian cloud telephony API for click-to-call, call flows, virtual numbers (ExoPhones), SIP trunking and AgentStream, which streams call audio to your bot over WebSocket in both directions. Local Indian numbers and DLT and TRAI handling. Per-minute rates and plan prices not published.\n\n- Page: https://www.anchorterminal.com/tools/exotel-voice · Markdown: https://www.anchorterminal.com/tools/exotel-voice.md · JSON: https://www.anchorterminal.com/api/v1/tools/exotel-voice.json\n- Capabilities: voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer · endpoint: `https://api.exotel.com/v1`\n\n## How we test this category\n\nInbound and outbound call setup, bidirectional audio streaming, a warm transfer and a recording on every API. We watch webhook reliability, note which countries numbers are available in, and price a five-minute call end to end. This test hasn't run yet, so Task success is pending and the grades here come from the categories assessed from public evidence.\n\n## Indexed, not reviewed (3)\n\nSorted into this category from public catalogues, with facts and our own checks but no score, grade or rank (https://www.anchorterminal.com/indexed/index.md).\n\n| Listing | Kind | What it does | Why it's here |\n| --- | --- | --- | --- |\n| [callmcp.ai MCP server](https://www.anchorterminal.com/tools/callmcp-server.md) | MCP server | One MCP tool contract for telephony — any call provider, hosted, local, or BYOK. | vendor's own |\n| [Chamade](https://www.anchorterminal.com/tools/chamade-server.md) | MCP server | Voice and chat for AI agents — Discord, Teams, Meet, Slack, Zoom, Telegram, WhatsApp, NC Talk, SIP | vendor's own |\n| [ToughTongue AI](https://www.anchorterminal.com/tools/toughtongueai-mcp.md) | MCP server | Create voice-agent scenarios, pull session analytics, place SIP calls, schedule meeting bots. | vendor's own |\n\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Phone calling \u0026 voice transport",
        "url": ""
      }
    ],
    "description": "10 phone calling \u0026 voice transport listings ranked by the Anchor benchmark. Leader Twilio Programmable Voice API + MCP (A). The calling layer an agent connects to. Numbers, inbound and outbound calls, audio streaming over websockets or SIP, transfers and recordings. Compared on setup, webhook reliability, where numbers are available and the full cost of a call.",
    "facts": [
      "Twilio Programmable Voice API + MCP A",
      "Telnyx Voice API + MCP BB",
      "SignalWire Voice API B"
    ],
    "h1": "Phone calling and voice transport APIs for agents",
    "image": "https://www.anchorterminal.com/assets/og/categories-voice-calling.png",
    "path": "/categories/voice-calling",
    "published": "",
    "section": "tools",
    "title": "Phone calling and voice transport APIs for agents, ranked",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/categories/voice-calling"
  },
  "tokens": {
    "markdown": 2950,
    "slim": 580
  },
  "version": 1
}
