{
  "data": {
    "a": {
      "slug": "signalwire-voice",
      "name": "SignalWire Voice API",
      "vendor": "SignalWire",
      "vendorUrl": "https://signalwire.com",
      "kind": "http-api",
      "category": "voice-calling",
      "summary": "Programmable calling API from the team behind FreeSWITCH.",
      "url": "https://www.anchorterminal.com/tools/signalwire-voice",
      "markdownUrl": "https://www.anchorterminal.com/tools/signalwire-voice.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/signalwire-voice.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/signalwire-voice.json",
      "repo": "https://github.com/signalwire/signalwire-python",
      "license": "MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "signalwire-sdk"
        },
        {
          "registry": "npm",
          "name": "@signalwire/sdk"
        },
        {
          "registry": "pypi",
          "name": "signalwire"
        }
      ],
      "auth": "api-key",
      "authNotes": "HTTP Basic auth with the Project ID and an API token, scoped per product (the Voice scope for calls). Each account has its own Space subdomain, so the host differs per customer. New tokens start with swapi_ since September 2026.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go. New accounts start in trial mode without a card, and adding a card with at least $5 of credit lifts the restrictions. US local inbound $0.0066 and outbound $0.008 a minute, toll-free inbound $0.0147 and outbound $0.0069, SIP or WebRTC legs $0.003. Local numbers $0.50 a month, toll-free $0.80. Recording $0.002 a minute, live transcription $0.065 a minute per direction, and the AI agent runtime $0.16 a minute including STT, LLM and standard TTS (https://www.signalwire.com/pricing/voice).",
      "priceSummary": "$0.50 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402 or stablecoin payment path in the voice docs, pricing or llms.txt (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 8,
        "npmWeekly": 1531,
        "pypiWeekly": 1349,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://signalwire.com/docs/platform/voice",
      "llmsTxt": "https://signalwire.com/docs/llms.txt",
      "openapi": "https://signalwire.com/docs/openapi.json",
      "capabilities": [
        "voice.calls",
        "voice.numbers",
        "voice.streaming",
        "voice.sip",
        "voice.recording",
        "voice.transfer"
      ],
      "tags": [
        "hosted",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks",
        "streaming"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.3,
        "grade": "B",
        "agentReady": false,
        "rank": 144,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 81,
          "payments": 40,
          "reliability": 53,
          "schema": 87,
          "security": 72,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "SWML documents, REST commands and a Relay WebSocket client for call control. Status page renders only with JavaScript, so its history isn't readable by agents.",
        "strengths": [
          "SWML documents, REST commands and a Relay WebSocket client for call control",
          "OpenAPI 3.1 spec and Markdown for every docs page",
          "SLA of 99.95 per cent monthly uptime on every account, plus ISO 27001, SOC 2 Type 2, a DPA and a disclosure policy",
          "Webhooks signed with HMAC in `x-signalwire-signature`, checked by the Python SDK on SWML and tool calls",
          "Six Python SDK releases between 25 August and 29 September 2026"
        ],
        "weaknesses": [
          "Status page renders only with JavaScript, so its history isn't readable by agents",
          "No published rate-limit numbers beyond the trial's 10 queued calls",
          "No idempotency key, and the safe-retry rules live in the Python SDK rather than the API docs",
          "Per-customer Space hostnames, so there is no single public API host",
          "No security.txt or bug bounty"
        ],
        "agentNotes": [
          "Send dial with a url pointing at a SWML document, then use calling.* commands on the returned call ID",
          "Don't retry a dial on a 5xx. Retry only on 429 or 503, after Retry-After, or you may place the call twice",
          "Use your own Space subdomain as the host, there is no shared API host",
          "Create a token with only the Voice scope for a calling agent",
          "Verify `x-signalwire-signature` with the Signing Key before acting on a webhook"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.3
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 81,
          "payments": 40,
          "reliability": 53,
          "schema": 87,
          "security": 72,
          "transparency": 65
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl -X POST \"https://$SIGNALWIRE_SPACE.signalwire.com/api/calling/calls\" -u \"$SIGNALWIRE_PROJECT_ID:$SIGNALWIRE_API_TOKEN\" \\\n  -H \"Content-Type: application/json\" -d '{\"command\":\"dial\",\"params\":{\"from\":\"+15551234567\",\"to\":\"+15557654321\",\"url\":\"https://example.com/swml\"}}'"
      },
      "letme": {
        "capability": "https://letme.dev/voice.calls",
        "tool": "https://letme.dev/signalwire-voice"
      },
      "area": "voice",
      "unitPrices": [
        {
          "item": "US outbound, local",
          "unit": "call-minute",
          "usd": 0.008,
          "note": "outbound to US local numbers"
        },
        {
          "item": "US inbound, local number",
          "unit": "call-minute",
          "usd": 0.0066,
          "note": "inbound on a US local number"
        },
        {
          "item": "US outbound, toll-free",
          "unit": "call-minute",
          "usd": 0.0069,
          "note": "outbound to US toll-free numbers"
        },
        {
          "item": "US inbound, toll-free number",
          "unit": "call-minute",
          "usd": 0.0147,
          "note": "inbound on a US toll-free number"
        },
        {
          "item": "SIP or WebRTC leg",
          "unit": "call-minute",
          "usd": 0.003,
          "note": "inbound or outbound"
        },
        {
          "item": "AI agent runtime",
          "unit": "call-minute",
          "usd": 0.16,
          "note": "platform fee on top of call minutes, includes STT, LLM and standard TTS"
        },
        {
          "item": "US local number",
          "unit": "month",
          "usd": 0.5,
          "note": "per number"
        },
        {
          "item": "US toll-free number",
          "unit": "month",
          "usd": 0.8,
          "note": "per number"
        }
      ],
      "provenance": {
        "legalEntity": "SignalWire, Inc.",
        "domain": "signalwire.com",
        "domainRegistered": "2016-01-21",
        "endpointOnVendorDomain": true,
        "terms": "https://info.signalwire.com/hubfs/PDFs/SignalWire-Cloud-Agreement.pdf",
        "privacy": "https://m.signalwire.com/policies?doc=privacy",
        "statusPage": "https://status.signalwire.com",
        "changelog": "https://signalwire.com/docs/platform/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Legal entity from signalwire.com/legal. The status page redirects to a PagerDuty-hosted page.",
          "remoteUrl left empty because each account calls its own Space subdomain (\u003cspace\u003e.signalwire.com/api/calling/calls)."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/signalwire-voice.json",
      "live": {
        "slug": "signalwire-voice",
        "vendorStatus": {
          "page": "https://status.signalwire.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:28.923320603Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "signalwire/signalwire-python",
            "version": "v3.5.1",
            "released": "2026-09-29",
            "seenAt": "2026-10-04T16:39:55.315839064Z"
          },
          {
            "registry": "npm",
            "name": "@signalwire/sdk",
            "version": "3.5.0",
            "seenAt": "2026-10-04T16:39:53.193390994Z"
          },
          {
            "registry": "pypi",
            "name": "signalwire",
            "version": "2.1.1",
            "released": "2025-02-04",
            "seenAt": "2026-10-04T16:39:55.23247842Z"
          },
          {
            "registry": "pypi",
            "name": "signalwire-sdk",
            "version": "3.5.1",
            "released": "2026-09-29",
            "seenAt": "2026-10-04T16:39:53.002324781Z"
          }
        ],
        "githubStars": 8,
        "npmWeekly": 2180,
        "pypiWeekly": 873,
        "securityTxt": {
          "url": "https://signalwire.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:52.668431076Z"
        },
        "llmsTxt": {
          "url": "https://signalwire.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:14.357836072Z"
        },
        "domain": {
          "domain": "signalwire.com",
          "registered": "2016-01-21",
          "source": "https://rdap.verisign.com/com/v1/domain/signalwire.com",
          "checkedAt": "2026-10-04T13:04:21.502174122Z"
        },
        "pages": [
          {
            "url": "https://signalwire.com/docs/platform/changelog",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:48.382944869Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "da8a160eb045"
          },
          {
            "url": "https://www.signalwire.com/pricing/voice",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:14.172315609Z",
            "changedAt": "2026-10-03T15:40:04.301482046Z",
            "fingerprint": "40b5008528b4"
          },
          {
            "url": "https://m.signalwire.com/policies?doc=privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:45:46.511500727Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          }
        ],
        "updatedAt": "2026-10-04T21:40:28.923320603Z"
      }
    },
    "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 SignalWire Voice API's 67.3 (B). Both do voice calls. The largest gap is security \u0026 auth, 27 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/signalwire-voice-vs-telnyx-voice",
    "json": "https://www.anchorterminal.com/compare/signalwire-voice-vs-telnyx-voice.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/signalwire-voice-vs-telnyx-voice.md",
    "slim": "https://www.anchorterminal.com/compare/signalwire-voice-vs-telnyx-voice.min.md"
  },
  "markdown": "Telnyx Voice API + MCP has a score of 74.4 (BB) against SignalWire Voice API's 67.3 (B). Both do voice calls. The largest gap is security \u0026 auth, 27 points.\n\n- SignalWire Voice API: grade B, 67.3/100, rank #144 of 452. Markdown https://www.anchorterminal.com/tools/signalwire-voice.md · JSON https://www.anchorterminal.com/api/v1/tools/signalwire-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 SignalWire Voice API for security \u0026 auth (+27), transparency \u0026 trust (+5).\n\nPick Telnyx Voice API + MCP for reliability (+22), schema \u0026 documentation (+6), agent ergonomics (+22), payments \u0026 pricing (+25).\n\n## Score by category\n\n| Category | Weight | SignalWire Voice API | Telnyx Voice API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 53 | 75 | Telnyx Voice API + MCP +22 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 93 | Telnyx Voice API + MCP +6 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 90 | Telnyx Voice API + MCP +22 |\n| Security \u0026 auth | 14% (17.5 this run) | 72 | 45 | SignalWire Voice API +27 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 65 | Telnyx Voice API + MCP +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 83 | Telnyx Voice API + MCP +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 78 | 73 | SignalWire Voice API +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **67.3 · B** | **74.4 · BB** | |\n\n## Facts side by side\n\n| Fact | SignalWire Voice API | Telnyx Voice API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | SignalWire | Telnyx |\n| Hosted endpoint | no (local only) | `https://api.telnyx.com/v2` |\n| Transports | HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | payer tooling only |\n| Licence | MIT | 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-30 | 2026-09-25 |\n| Popularity | 8 stars, 1.5k npm/wk, 1.3k PyPI/wk | 197 stars, 417k npm/wk, 179k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | 3.5/5 (8) |\n\n## Verdicts\n\n**SignalWire Voice API.** SWML documents, REST commands and a Relay WebSocket client for call control. Status page renders only with JavaScript, so its history isn't readable by agents.\n\n**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### SignalWire Voice API\n\n1. Send dial with a url pointing at a SWML document, then use calling.* commands on the returned call ID\n2. Don't retry a dial on a 5xx. Retry only on 429 or 503, after Retry-After, or you may place the call twice\n3. Use your own Space subdomain as the host, there is no shared API host\n4. Create a token with only the Voice scope for a calling agent\n5. Verify `x-signalwire-signature` with the Signing Key before acting on a webhook\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 SignalWire Voice API or Telnyx Voice API + MCP\n\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- [Exotel Voice API + MCP vs SignalWire Voice API](https://www.anchorterminal.com/compare/exotel-voice-vs-signalwire-voice.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 SignalWire Voice API](https://www.anchorterminal.com/compare/infobip-calls-vs-signalwire-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 SignalWire Voice API](https://www.anchorterminal.com/compare/plivo-voice-vs-signalwire-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 Sinch Voice API + MCP](https://www.anchorterminal.com/compare/signalwire-voice-vs-sinch-voice.md)\n- [SignalWire Voice API vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/signalwire-voice-vs-twilio-voice.md)\n- [SignalWire Voice API vs Vonage Voice API + MCP](https://www.anchorterminal.com/compare/signalwire-voice-vs-vonage-voice.md)\n- [SignalWire Voice API vs Voximplant](https://www.anchorterminal.com/compare/signalwire-voice-vs-voximplant.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": "SignalWire Voice API vs Telnyx Voice API + MCP",
        "url": ""
      }
    ],
    "description": "Telnyx Voice API + MCP has a score of 74.4 (BB) against SignalWire Voice API's 67.3 (B). Both do voice calls. The largest gap is security \u0026 auth, 27 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "SignalWire Voice API B 67.3",
      "Telnyx Voice API + MCP BB 74.4",
      "scores"
    ],
    "h1": "SignalWire Voice API vs Telnyx Voice API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-signalwire-voice-vs-telnyx-voice.png",
    "path": "/compare/signalwire-voice-vs-telnyx-voice",
    "published": "2026-10-01",
    "section": "tools",
    "title": "SignalWire Voice API vs Telnyx Voice API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/signalwire-voice-vs-telnyx-voice"
  },
  "tokens": {
    "markdown": 1700,
    "slim": 380
  },
  "version": 1
}
