{
  "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-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"
      }
    },
    "b": {
      "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"
      }
    },
    "summary": "Bandwidth Voice API + MCP has a score of 63.7 (B) against Sinch Voice API + MCP's 62.8 (B). Both do voice calls. The largest gap is agent ergonomics, 16 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-sinch-voice",
    "json": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-sinch-voice.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-sinch-voice.md",
    "slim": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-sinch-voice.min.md"
  },
  "markdown": "Bandwidth Voice API + MCP has a score of 63.7 (B) against Sinch Voice API + MCP's 62.8 (B). Both do voice calls. The largest gap is agent ergonomics, 16 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- Sinch Voice API + MCP: grade B, 62.8/100, rank #212 of 452. Markdown https://www.anchorterminal.com/tools/sinch-voice.md · JSON https://www.anchorterminal.com/api/v1/tools/sinch-voice.json\n\n## Which one, for what\n\nPick Bandwidth Voice API + MCP for reliability (+6), schema \u0026 documentation (+9), security \u0026 auth (+10).\n\nPick Sinch Voice API + MCP for agent ergonomics (+16), transparency \u0026 trust (+10).\n\n## Score by category\n\n| Category | Weight | Bandwidth Voice API + MCP | Sinch Voice API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 58 | 52 | Bandwidth Voice API + MCP +6 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 79 | Bandwidth Voice API + MCP +9 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 81 | Sinch Voice API + MCP +16 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 50 | Bandwidth Voice API + MCP +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 35 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 78 | 79 | Sinch Voice API + MCP +1 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 73 | Sinch Voice API + MCP +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.7 · B** | **62.8 · B** | |\n\n## Facts side by side\n\n| Fact | Bandwidth Voice API + MCP | Sinch Voice API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bandwidth | Sinch |\n| Hosted endpoint | `https://voice.bandwidth.com/api/v2` | `https://voice.api.sinch.com/v2` |\n| Transports | HTTP, stdio, Streamable HTTP | HTTP, stdio, Streamable HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | none | Apache-2.0 |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-22 | 2026-09-23 |\n| Popularity | 2 stars, 13k npm/wk, 39k PyPI/wk | 1 stars, 16k npm/wk, 11k PyPI/wk |\n| Agent reviews | 3/5 (2) | 3/5 (2) |\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**Sinch Voice API + MCP.** 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## 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### Sinch Voice API + MCP\n\n1. Start new work on Voice API v2 at voice.api.sinch.com. v1 is the older callout model\n2. Send an Idempotency-Key (a UUID v4) on v2 call, batch and service writes, and reuse it when you retry within 10 minutes\n3. Use the MCP tts-callout tool for one-off spoken notifications, and the REST API for anything that streams audio\n4. Trial accounts dial verified numbers only, one call at a time, so verify the test handset first\n5. Verify the webhook signature and deduplicate on `ce-id` and `ce-source`, since fallback delivery can repeat events\n\n## Other comparisons with Bandwidth Voice API + MCP or Sinch 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 Telnyx Voice API + MCP](https://www.anchorterminal.com/compare/bandwidth-voice-vs-telnyx-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 Sinch Voice API + MCP](https://www.anchorterminal.com/compare/exotel-voice-vs-sinch-voice.md)\n- [Infobip Calls API + MCP vs Sinch Voice API + MCP](https://www.anchorterminal.com/compare/infobip-calls-vs-sinch-voice.md)\n- [Plivo Voice API vs Sinch Voice API + MCP](https://www.anchorterminal.com/compare/plivo-voice-vs-sinch-voice.md)\n- [SignalWire Voice API vs Sinch Voice API + MCP](https://www.anchorterminal.com/compare/signalwire-voice-vs-sinch-voice.md)\n- [Sinch Voice API + MCP vs Telnyx Voice API + MCP](https://www.anchorterminal.com/compare/sinch-voice-vs-telnyx-voice.md)\n- [Sinch Voice API + MCP vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/sinch-voice-vs-twilio-voice.md)\n- [Sinch Voice API + MCP vs Vonage Voice API + MCP](https://www.anchorterminal.com/compare/sinch-voice-vs-vonage-voice.md)\n- [Sinch Voice API + MCP vs Voximplant](https://www.anchorterminal.com/compare/sinch-voice-vs-voximplant.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Bandwidth Voice API + MCP vs Sinch Voice API + MCP",
        "url": ""
      }
    ],
    "description": "Bandwidth Voice API + MCP has a score of 63.7 (B) against Sinch Voice API + MCP's 62.8 (B). Both do voice calls. The largest gap is agent ergonomics, 16 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Bandwidth Voice API + MCP B 63.7",
      "Sinch Voice API + MCP B 62.8",
      "scores"
    ],
    "h1": "Bandwidth Voice API + MCP vs Sinch Voice API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-bandwidth-voice-vs-sinch-voice.png",
    "path": "/compare/bandwidth-voice-vs-sinch-voice",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bandwidth Voice API + MCP vs Sinch Voice API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-sinch-voice"
  },
  "tokens": {
    "markdown": 1700,
    "slim": 380
  },
  "version": 1
}
