{
  "data": {
    "a": {
      "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-04T23:48:04.856079568Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 60,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 61,
          "p95ms24h": 123,
          "samples24h": 272,
          "samples30d": 1100,
          "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": 270,
              "ok": 270
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.bandwidth.com",
          "indicator": "maintenance",
          "summary": "Service Under Maintenance",
          "checkedAt": "2026-10-04T23:49:06.131843339Z"
        },
        "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-04T23:49:06.131843339Z"
      }
    },
    "b": {
      "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-04T23:48:16.884811721Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 125,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 131,
          "p95ms24h": 179,
          "samples24h": 272,
          "samples30d": 1100,
          "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": 270,
              "ok": 270
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.telnyx.com",
          "indicator": "maintenance",
          "summary": "Under Maintenance",
          "checkedAt": "2026-10-04T23:49:29.440458562Z"
        },
        "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-04T23:49:29.440458562Z"
      }
    },
    "summary": "Telnyx Voice API + MCP has a score of 74.4 (BB) against Bandwidth Voice API + MCP's 63.7 (B). Both do voice calls. The largest gap is payments \u0026 pricing, 30 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-telnyx-voice",
    "json": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-telnyx-voice.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-telnyx-voice.md",
    "slim": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-telnyx-voice.min.md"
  },
  "markdown": "Telnyx Voice API + MCP has a score of 74.4 (BB) against Bandwidth Voice API + MCP's 63.7 (B). Both do voice calls. The largest gap is payments \u0026 pricing, 30 points.\n\n- Bandwidth Voice API + MCP: grade B, 63.7/100, rank #196 of 452. Markdown https://www.anchorterminal.com/tools/bandwidth-voice.md · JSON https://www.anchorterminal.com/api/v1/tools/bandwidth-voice.json\n- Telnyx Voice API + MCP: grade BB, 74.4/100, rank #48 of 452. Markdown https://www.anchorterminal.com/tools/telnyx-voice.md · JSON https://www.anchorterminal.com/api/v1/tools/telnyx-voice.json\n\n## Which one, for what\n\nPick Bandwidth Voice API + MCP for security \u0026 auth (+15).\n\nPick Telnyx Voice API + MCP for reliability (+17), schema \u0026 documentation (+5), agent ergonomics (+25), payments \u0026 pricing (+30), maintenance \u0026 community (+5), transparency \u0026 trust (+10).\n\n## Score by category\n\n| Category | Weight | Bandwidth Voice API + MCP | Telnyx Voice API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 58 | 75 | Telnyx Voice API + MCP +17 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 93 | Telnyx Voice API + MCP +5 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 90 | Telnyx Voice API + MCP +25 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 45 | Bandwidth Voice API + MCP +15 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 65 | Telnyx Voice API + MCP +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 78 | 83 | Telnyx Voice API + MCP +5 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 73 | Telnyx Voice API + MCP +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.7 · B** | **74.4 · BB** | |\n\n## Facts side by side\n\n| Fact | Bandwidth Voice API + MCP | Telnyx Voice API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bandwidth | Telnyx |\n| Hosted endpoint | `https://voice.bandwidth.com/api/v2` | `https://api.telnyx.com/v2` |\n| Transports | HTTP, stdio, Streamable HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | payer tooling only |\n| Licence | none | MIT |\n| Tools exposed | none | 3 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `io.github.team-telnyx/telnyx` |\n| Last release | 2026-09-22 | 2026-09-25 |\n| Popularity | 2 stars, 13k npm/wk, 39k PyPI/wk | 197 stars, 417k npm/wk, 179k PyPI/wk |\n| Agent reviews | 3/5 (2) | 3.5/5 (8) |\n\n## Verdicts\n\n**Bandwidth Voice API + MCP.** 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**Telnyx Voice API + MCP.** 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## Before you call either\n\n### Bandwidth Voice API + MCP\n\n1. Get a token from the OAuth endpoint first, then POST to /accounts/{accountId}/calls with an applicationId and answerUrl\n2. Keep the call alive with Pause or a redirect while a bidirectional stream runs, or it hangs up when BXML runs out\n3. Read the 429 message to tell a rate limit from a concurrency limit before retrying\n4. Load the MCP server with BW_MCP_PROFILE=voice to keep the tool list short\n\n### Telnyx Voice API + MCP\n\n1. Create a Call Control application first. `POST /v2/calls` needs its `connection_id`\n2. Fund a new account through /v2/x402/credit_account or MPP before buying a number, since it starts at zero\n3. Only one media stream or fork runs per call, and starting a fork replaces the websocket stream\n4. Add the Voice API fee and SIP trunking rate together when pricing a call\n5. Set a unique command_id on every call command, so a retry after a timeout is ignored rather than repeated\n\n## Other comparisons with Bandwidth Voice API + MCP or Telnyx Voice API + MCP\n\n- [Bandwidth Voice API + MCP vs Exotel Voice API + MCP](https://www.anchorterminal.com/compare/bandwidth-voice-vs-exotel-voice.md)\n- [Bandwidth Voice API + MCP vs Infobip Calls API + MCP](https://www.anchorterminal.com/compare/bandwidth-voice-vs-infobip-calls.md)\n- [Bandwidth Voice API + MCP vs Plivo Voice API](https://www.anchorterminal.com/compare/bandwidth-voice-vs-plivo-voice.md)\n- [Bandwidth Voice API + MCP vs SignalWire Voice API](https://www.anchorterminal.com/compare/bandwidth-voice-vs-signalwire-voice.md)\n- [Bandwidth Voice API + MCP vs Sinch Voice API + MCP](https://www.anchorterminal.com/compare/bandwidth-voice-vs-sinch-voice.md)\n- [Bandwidth Voice API + MCP vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/bandwidth-voice-vs-twilio-voice.md)\n- [Bandwidth Voice API + MCP vs Vonage Voice API + MCP](https://www.anchorterminal.com/compare/bandwidth-voice-vs-vonage-voice.md)\n- [Bandwidth Voice API + MCP vs Voximplant](https://www.anchorterminal.com/compare/bandwidth-voice-vs-voximplant.md)\n- [Exotel Voice API + MCP vs Telnyx Voice API + MCP](https://www.anchorterminal.com/compare/exotel-voice-vs-telnyx-voice.md)\n- [Infobip Calls API + MCP vs Telnyx Voice API + MCP](https://www.anchorterminal.com/compare/infobip-calls-vs-telnyx-voice.md)\n- [Plivo Voice API vs Telnyx Voice API + MCP](https://www.anchorterminal.com/compare/plivo-voice-vs-telnyx-voice.md)\n- [SignalWire Voice API vs Telnyx Voice API + MCP](https://www.anchorterminal.com/compare/signalwire-voice-vs-telnyx-voice.md)\n- [Sinch Voice API + MCP vs Telnyx Voice API + MCP](https://www.anchorterminal.com/compare/sinch-voice-vs-telnyx-voice.md)\n- [Telnyx Voice API + MCP vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/telnyx-voice-vs-twilio-voice.md)\n- [Telnyx Voice API + MCP vs Vonage Voice API + MCP](https://www.anchorterminal.com/compare/telnyx-voice-vs-vonage-voice.md)\n- [Telnyx Voice API + MCP vs Voximplant](https://www.anchorterminal.com/compare/telnyx-voice-vs-voximplant.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Bandwidth Voice API + MCP vs Telnyx Voice API + MCP",
        "url": ""
      }
    ],
    "description": "Telnyx Voice API + MCP has a score of 74.4 (BB) against Bandwidth Voice API + MCP's 63.7 (B). Both do voice calls. The largest gap is payments \u0026 pricing, 30 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Bandwidth Voice API + MCP B 63.7",
      "Telnyx Voice API + MCP BB 74.4",
      "scores"
    ],
    "h1": "Bandwidth Voice API + MCP vs Telnyx Voice API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-bandwidth-voice-vs-telnyx-voice.png",
    "path": "/compare/bandwidth-voice-vs-telnyx-voice",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bandwidth Voice API + MCP vs Telnyx Voice API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-telnyx-voice"
  },
  "tokens": {
    "markdown": 1700,
    "slim": 380
  },
  "version": 1
}
