{
  "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": "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-04T23:48:18.313756979Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 58,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 60,
          "p95ms24h": 85,
          "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.voximplant.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:49:30.73546758Z"
        },
        "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-04T23:49:30.73546758Z"
      }
    },
    "summary": "Bandwidth Voice API + MCP has a score of 63.7 (B) against Voximplant's 51.9 (D). Both do voice calls. The largest gap is maintenance \u0026 community, 28 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-voximplant",
    "json": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-voximplant.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-voximplant.md",
    "slim": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-voximplant.min.md"
  },
  "markdown": "Bandwidth Voice API + MCP has a score of 63.7 (B) against Voximplant's 51.9 (D). Both do voice calls. The largest gap is maintenance \u0026 community, 28 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- Voximplant: grade D, 51.9/100, rank #346 of 452. Markdown https://www.anchorterminal.com/tools/voximplant.md · JSON https://www.anchorterminal.com/api/v1/tools/voximplant.json\n\n## Which one, for what\n\nPick Bandwidth Voice API + MCP for schema \u0026 documentation (+17), agent ergonomics (+20), security \u0026 auth (+20), payments \u0026 pricing (+10), maintenance \u0026 community (+28).\n\nPick Voximplant for reliability (+7).\n\n## Score by category\n\n| Category | Weight | Bandwidth Voice API + MCP | Voximplant | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 58 | 65 | Voximplant +7 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 71 | Bandwidth Voice API + MCP +17 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 45 | Bandwidth Voice API + MCP +20 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 40 | Bandwidth Voice API + MCP +20 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 25 | Bandwidth Voice API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 78 | 50 | Bandwidth Voice API + MCP +28 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 63 | even |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.7 · B** | **51.9 · D** | |\n\n## Facts side by side\n\n| Fact | Bandwidth Voice API + MCP | Voximplant |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bandwidth | Voximplant |\n| Hosted endpoint | `https://voice.bandwidth.com/api/v2` | `https://api.voximplant.com/platform_api` |\n| Transports | HTTP, stdio, Streamable HTTP | 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-08-26 |\n| Popularity | 2 stars, 13k npm/wk, 39k PyPI/wk | 15 stars, 1.4k npm/wk, 930 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**Voximplant.** 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## 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### Voximplant\n\n1. Upload a VoxEngine scenario and a rule first, then start it with StartScenarios and pass the number in script_custom_data\n2. Use a service-account JWT rather than api_key in the URL\n3. Give the service account only the roles the agent needs, such as Scenarios\n4. Ask support to lift the 20-cent destination block before calling expensive routes\n\n## Other comparisons with Bandwidth Voice API + MCP or Voximplant\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 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- [Exotel Voice API + MCP vs Voximplant](https://www.anchorterminal.com/compare/exotel-voice-vs-voximplant.md)\n- [Infobip Calls API + MCP vs Voximplant](https://www.anchorterminal.com/compare/infobip-calls-vs-voximplant.md)\n- [Plivo Voice API vs Voximplant](https://www.anchorterminal.com/compare/plivo-voice-vs-voximplant.md)\n- [SignalWire Voice API vs Voximplant](https://www.anchorterminal.com/compare/signalwire-voice-vs-voximplant.md)\n- [Sinch Voice API + MCP vs Voximplant](https://www.anchorterminal.com/compare/sinch-voice-vs-voximplant.md)\n- [Telnyx Voice API + MCP vs Voximplant](https://www.anchorterminal.com/compare/telnyx-voice-vs-voximplant.md)\n- [Twilio Programmable Voice API + MCP vs Voximplant](https://www.anchorterminal.com/compare/twilio-voice-vs-voximplant.md)\n- [Vonage Voice API + MCP vs Voximplant](https://www.anchorterminal.com/compare/vonage-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 Voximplant",
        "url": ""
      }
    ],
    "description": "Bandwidth Voice API + MCP has a score of 63.7 (B) against Voximplant's 51.9 (D). Both do voice calls. The largest gap is maintenance \u0026 community, 28 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Bandwidth Voice API + MCP B 63.7",
      "Voximplant D 51.9",
      "scores"
    ],
    "h1": "Bandwidth Voice API + MCP vs Voximplant",
    "image": "https://www.anchorterminal.com/assets/og/compare-bandwidth-voice-vs-voximplant.png",
    "path": "/compare/bandwidth-voice-vs-voximplant",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bandwidth Voice API + MCP vs Voximplant for AI agents",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-voximplant"
  },
  "tokens": {
    "markdown": 1650,
    "slim": 380
  },
  "version": 1
}
