{
  "data": {
    "a": {
      "slug": "didlogic",
      "name": "didlogic Voice API",
      "vendor": "DID Logic PTE. LTD.",
      "vendorUrl": "https://didlogic.com",
      "kind": "http-api",
      "category": "voice-calling",
      "summary": "didlogic sells SIP trunking, outbound voice and phone numbers in 140 or more countries, with a REST API for numbers, SIP accounts, call records, recordings, SMS and click-to-call, WebSocket calls for voice AI and a remote MCP server.",
      "url": "https://www.anchorterminal.com/tools/didlogic",
      "markdownUrl": "https://www.anchorterminal.com/tools/didlogic.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/didlogic.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/didlogic.json",
      "dns": "didlogic.grade.anchorterminal.com",
      "license": "Proprietary service under the didlogic Terms of Service",
      "transports": [
        "http",
        "websocket",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.didlogic.com/mcp",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Bearer API keys generated and revoked in the portal under API \u0026 Webhooks since July 2026, each with full access to the account. The MCP server signs in by OAuth and creates a separate key per sign-in, or takes a key in a header. The get-started page still says to ask an account manager for a key.",
      "pricing": "usage",
      "pricingNotes": "Prepaid pay as you go. Outbound calls by destination, for example UK landlines from $0.05 a minute and UK mobiles from $0.0175. Numbers from $2 a month for local and $3 for mobile, plus inbound from $0.01 a minute. Free test credit with no card. The MCP server needs the Plus plan (checked 2026-11-06).",
      "priceSummary": "$2 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, OpenAPI file or pricing pages (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.didlogic.com/docs/api/get-started/",
      "llmsTxt": "https://docs.didlogic.com/llms.txt",
      "openapi": "https://docs.didlogic.com/public_api.openapi.yaml",
      "capabilities": [
        "voice.numbers",
        "voice.sip",
        "voice.calls",
        "voice.streaming",
        "voice.recording",
        "messaging.sms"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "usage",
        "prepaid",
        "no-card",
        "openapi",
        "llms-txt",
        "mcp",
        "remote-mcp",
        "oauth",
        "webhooks",
        "websocket",
        "sip",
        "phone-numbers",
        "iso27001"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.8,
        "grade": "D",
        "agentReady": false,
        "rank": 1074,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 38,
          "payments": 38,
          "reliability": 26,
          "schema": 87,
          "security": 46,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "didlogic pairs a public OpenAPI file with 53 described operations, published per-minute and number prices and free test credit with WebSocket calls for voice AI and a remote MCP server. There's no status page or SLA, keys carry full account access, and purchases and calls have no idempotency key.",
        "bestFor": "Teams that need numbers and SIP termination in many countries and a WebSocket bridge to a voice agent.",
        "strengths": [
          "Public OpenAPI 3.0.3 file with 53 described operations and llms.txt",
          "Per-minute call rates and number prices published by country, with free test credit and no card",
          "WebSocket calls and click-to-call for voice AI since September 2026",
          "Remote MCP server with OAuth sign-in",
          "ISO/IEC 27001:2022 certificate with a registration number"
        ],
        "weaknesses": [
          "No status page or incident history found",
          "No SLA in the Terms, despite a 99.999 per cent uptime claim on the site",
          "API keys have full account access, with no scopes or read-only keys",
          "No idempotency keys on number purchases or click-to-call",
          "No retention periods in the privacy policy"
        ],
        "agentNotes": [
          "Create the key under API \u0026 Webhooks in the portal; ignore the older get-started line about asking an account manager",
          "Confirm with the user before `POST /api/v2/numbers/purchase` or click-to-call; both spend the prepaid balance with no idempotency key",
          "For WebSocket calls, set `a_type: stream` and implement didlogic's message protocol on your endpoint",
          "Back off on 429 from recording endpoints using Retry-After",
          "Expect the MCP server only on the Plus plan"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.8
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 38,
          "payments": 38,
          "reliability": 26,
          "schema": 87,
          "security": 46,
          "transparency": 37
        },
        "provenanceScore": 79,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X GET \"https://api.didlogic.com/v2/numbers\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -H \"Content-Type: application/json\"",
        "claudeCode": "claude mcp add --transport http didlogic https://mcp.didlogic.com/mcp",
        "config": {
          "mcpServers": {
            "didlogic": {
              "url": "https://mcp.didlogic.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/voice.numbers",
        "tool": "https://letme.dev/didlogic"
      },
      "area": "voice",
      "unitPrices": [
        {
          "item": "Outbound call, UK landline",
          "unit": "call-minute",
          "usd": 0.05,
          "note": "from, indicative standard-account rate"
        },
        {
          "item": "Outbound call, UK mobile",
          "unit": "call-minute",
          "usd": 0.0175,
          "note": "from, Vodafone mobile route"
        },
        {
          "item": "Local number",
          "unit": "month",
          "usd": 2,
          "note": "from, plus inbound from $0.01 a minute"
        },
        {
          "item": "Mobile number",
          "unit": "month",
          "usd": 3,
          "note": "from, plus inbound from $0.01 a minute"
        }
      ],
      "provenance": {
        "legalEntity": "DID Logic PTE. LTD.",
        "domain": "didlogic.com",
        "domainRegistered": "2007-10-24",
        "endpointOnVendorDomain": true,
        "terms": "https://didlogic.com/terms-and-conditions/",
        "privacy": "https://didlogic.com/privacy-and-security/",
        "statusPage": "",
        "changelog": "https://docs.didlogic.com/docs/release-notes",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The Terms of Service name DID Logic PTE. LTD., a Singapore company at 15 Scotts Road, with ICDR arbitration. No clause on automated access to the website was found; automated list dialling on the services is barred.",
          "didlogic.com/robots.txt allows all agents except /wp-admin/. The docs site serves llms.txt.",
          "The network status page linked from the footer is a marketing page with no components or incident history, so no status page is recorded.",
          "/.well-known/security.txt returns 404. RDAP gives didlogic.com a registration date of 24 October 2007."
        ],
        "score": 79
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/didlogic.json",
      "live": {
        "slug": "didlogic",
        "probe": {
          "target": "https://mcp.didlogic.com/mcp",
          "method": "get",
          "lastAt": "2026-11-07T18:20:20.921736Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 185,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 98,
          "p95ms24h": 183,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "securityTxt": {
          "url": "https://didlogic.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:26.525637047Z"
        },
        "llmsTxt": {
          "url": "https://docs.didlogic.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:17.001857789Z"
        },
        "pages": [
          {
            "url": "https://docs.didlogic.com/docs/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:09.15338969Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ac3b4a97e7ff"
          },
          {
            "url": "https://didlogic.com/privacy-and-security/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:04:46.42500505Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c012e842c316"
          },
          {
            "url": "https://didlogic.com/terms-and-conditions/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:04:48.65331055Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "730ca804743f"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.didlogic.com/mcp",
          "checkedAt": "2026-11-07T01:43:42.469443076Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:43:42.469443076Z"
        },
        "updatedAt": "2026-11-07T18:20:20.921736Z"
      }
    },
    "answer": "Twilio Programmable Voice API + MCP scores 77.4 (BB) on agent readiness against didlogic Voice API's 49.8 (D), and leads in every scored category.",
    "b": {
      "slug": "twilio-voice",
      "name": "Twilio Programmable Voice API + MCP",
      "vendor": "Twilio",
      "vendorUrl": "https://www.twilio.com",
      "kind": "http-api",
      "category": "voice-calling",
      "summary": "Programmable Voice for placing and answering calls on Twilio numbers in 100+ countries, controlled with TwiML or REST.",
      "url": "https://www.anchorterminal.com/tools/twilio-voice",
      "markdownUrl": "https://www.anchorterminal.com/tools/twilio-voice.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/twilio-voice.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/twilio-voice.json",
      "dns": "twilio-voice.grade.anchorterminal.com",
      "repo": "https://github.com/twilio-labs/mcp",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.twilio.com/2010-04-01",
      "packages": [
        {
          "registry": "npm",
          "name": "twilio"
        },
        {
          "registry": "pypi",
          "name": "twilio"
        },
        {
          "registry": "npm",
          "name": "@twilio-alpha/mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "HTTP Basic auth with the Account SID and Auth Token, or an API key SID and secret (recommended). Webhooks and Media Streams or ConversationRelay websocket connections carry an `X-Twilio-Signature` to validate. The hosted docs MCP needs no credentials. The local alpha MCP takes `ACCOUNT_SID/API_KEY:API_SECRET` as a command-line argument.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go, per minute. US outbound $0.014 a minute, inbound $0.0085 on local numbers and $0.022 on toll-free. Local numbers $1.15 a month, toll-free $2.15. Media Streams $0.0044 a minute, ConversationRelay $0.07 a minute, SIP interface and browser or app calls $0.004 a minute, recording $0.0025 a minute plus $0.0005 a minute a month storage, transcription $0.05 a minute, answering machine detection $0.0075 a call. The trial needs no card and gives free units, including 75 voice minutes, for 30 days (https://www.twilio.com/en-us/voice/pricing/us, https://www.twilio.com/docs/usage/tutorials/how-to-use-your-free-trial-account).",
      "priceSummary": "$1.15 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in docs, pricing or MCP README (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 2,
      "popularity": {
        "githubStars": 111,
        "npmWeekly": 7213599,
        "pypiWeekly": 4834611,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.twilio.com/docs/voice",
      "llmsTxt": "https://www.twilio.com/docs/llms.txt",
      "openapi": "https://raw.githubusercontent.com/twilio/twilio-oai/main/spec/json/twilio_api_v2010.json",
      "capabilities": [
        "voice.calls",
        "voice.numbers",
        "voice.streaming",
        "voice.sip",
        "voice.recording",
        "voice.transfer"
      ],
      "tags": [
        "hosted",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks",
        "streaming",
        "enterprise"
      ],
      "lastRelease": "2026-10-12",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 77.4,
        "grade": "BB",
        "agentReady": true,
        "rank": 31,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 85,
          "payments": 40,
          "reliability": 75,
          "schema": 92,
          "security": 85,
          "transparency": 81
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "Twilio APIs SLA at 99.95 per cent for every paying customer, with 10 per cent credits. US outbound at $0.014 a minute, plus $0.0044 for Media Streams or $0.07 for ConversationRelay.",
        "bestFor": "Teams that want the widest number coverage and a managed speech layer (ConversationRelay) behind one vendor, or a published SLA.",
        "strengths": [
          "Twilio APIs SLA at 99.95 per cent for every paying customer, with 10 per cent credits",
          "Restricted API keys with up to 100 endpoint permissions each",
          "Public OpenAPI specs, llms.txt with Markdown twins, and a numbered error dictionary",
          "No-card trial with 75 free voice minutes for 30 days",
          "twilio-node released four times in the last 90 days, most recently 6.2.0 on 2026-10-12"
        ],
        "weaknesses": [
          "US outbound at $0.014 a minute, plus $0.0044 for Media Streams or $0.07 for ConversationRelay",
          "1 outbound call a second per account by default",
          "No idempotency key on call creation",
          "ConversationRelay US1 was down for Deepgram nova-2 and nova-3 users for 2 hours 43 minutes on 3 August 2026",
          "The MCP that can place calls is an alpha last published in July 2025, and the hosted one only searches docs"
        ],
        "agentNotes": [
          "Use `\u003cConnect\u003e\u003cStream\u003e` for two-way audio. It blocks further TwiML until the websocket closes",
          "Use `\u003cConnect\u003e\u003cConversationRelay\u003e` when you only want to handle text, set `interruptible` for barge-in, and keep a second speech provider configured",
          "Trial calls reach only verified numbers in your sign-up country",
          "Retry a 429 with backoff, but check the Calls list before retrying a create that timed out, since there's no idempotency key",
          "Validate `X-Twilio-Signature` on every webhook and websocket upgrade"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.1,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 77.4
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 85,
          "payments": 40,
          "reliability": 75,
          "schema": 92,
          "security": 85,
          "transparency": 72
        },
        "provenanceScore": 90,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-10-17",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST \"https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Calls.json\" \\\n  -u \"$TWILIO_API_KEY:$TWILIO_API_SECRET\" \\\n  --data-urlencode \"To=+15558675310\" --data-urlencode \"From=+15017122661\" \\\n  --data-urlencode \"Twiml=\u003cResponse\u003e\u003cSay\u003eHello from Twilio\u003c/Say\u003e\u003c/Response\u003e\"",
        "claudeCode": "claude mcp add --transport http twilio-docs https://mcp.twilio.com/docs",
        "config": {
          "mcpServers": {
            "twilio": {
              "args": [
                "-y",
                "@twilio-alpha/mcp",
                "${TWILIO_ACCOUNT_SID}/${TWILIO_API_KEY}:${TWILIO_API_SECRET}",
                "--services",
                "twilio_api_v2010"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/voice.calls",
        "tool": "https://letme.dev/twilio-voice"
      },
      "sameCompany": [
        "stytch-connected-apps",
        "sendgrid",
        "twilio"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Outbound call, US",
          "unit": "call-minute",
          "usd": 0.014,
          "note": "local or toll-free destinations"
        },
        {
          "item": "Inbound call, US local number",
          "unit": "call-minute",
          "usd": 0.0085
        },
        {
          "item": "Inbound call, US toll-free number",
          "unit": "call-minute",
          "usd": 0.022
        },
        {
          "item": "US local number",
          "unit": "month",
          "usd": 1.15
        },
        {
          "item": "US toll-free number",
          "unit": "month",
          "usd": 2.15
        },
        {
          "item": "Media Streams",
          "unit": "call-minute",
          "usd": 0.0044,
          "note": "on top of call minutes"
        },
        {
          "item": "ConversationRelay",
          "unit": "call-minute",
          "usd": 0.07,
          "note": "on top of call minutes"
        },
        {
          "item": "Call recording",
          "unit": "call-minute",
          "usd": 0.0025
        }
      ],
      "provenance": {
        "legalEntity": "Twilio Inc.",
        "domain": "twilio.com",
        "domainRegistered": "2007-10-26",
        "endpointOnVendorDomain": true,
        "terms": "https://www.twilio.com/en-us/legal/tos",
        "privacy": "https://www.twilio.com/en-us/legal/privacy",
        "statusPage": "https://status.twilio.com",
        "changelog": "https://www.twilio.com/en-us/changelog",
        "securityTxt": "none",
        "checked": "2026-11-01",
        "notes": [
          "The terms name Twilio Ireland Limited for customers in the EEA, UK, Switzerland and a few other countries, and local entities in Mexico, Brazil and Japan. Twilio Inc. contracts everywhere else (per the 4 October check). The terms were last updated 16 July 2026, re-read on 1 November.",
          "twilio.com/.well-known/security.txt returned 404 on 1 November 2026.",
          "status.twilio.com/history carries the incident list for the last three months in the page itself. Its robots.txt disallows /api/, so the Statuspage JSON was not read."
        ],
        "score": 90
      },
      "requirements": {
        "setupChecked": true,
        "complianceChecked": true,
        "card": "paid-only",
        "freeTier": true,
        "minutes": 10,
        "credential": "api-key",
        "hosting": [
          "US",
          "EU",
          "APAC"
        ],
        "euResidency": "yes",
        "trainsOnData": "unknown",
        "zeroRetention": "unknown",
        "certifications": [
          "SOC 2 Type II",
          "ISO 27001",
          "PCI DSS",
          "HIPAA (BAA available)",
          "GDPR"
        ],
        "dpa": true,
        "selfHost": "no"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/twilio-voice.json",
      "live": {
        "slug": "twilio-voice",
        "probe": {
          "target": "https://api.twilio.com/2010-04-01",
          "method": "get",
          "lastAt": "2026-11-07T18:21:02.118252982Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 32,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 27,
          "p95ms24h": 112,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.twilio.com",
          "indicator": "minor",
          "summary": "Partially Degraded Service",
          "checkedAt": "2026-11-07T18:22:06.382141921Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "twilio-labs/mcp",
            "version": "0.0.3",
            "released": "2025-03-25",
            "seenAt": "2026-11-07T00:13:16.814281194Z"
          },
          {
            "registry": "npm",
            "name": "@twilio-alpha/mcp",
            "version": "0.7.0",
            "seenAt": "2026-11-07T00:13:15.637221167Z"
          },
          {
            "registry": "npm",
            "name": "twilio",
            "version": "6.3.0",
            "seenAt": "2026-11-07T00:13:14.613343757Z"
          },
          {
            "registry": "pypi",
            "name": "twilio",
            "version": "9.13.0",
            "released": "2026-11-06",
            "seenAt": "2026-11-07T00:13:15.484563737Z"
          }
        ],
        "githubStars": 114,
        "npmWeekly": 9400425,
        "pypiWeekly": 6109032,
        "securityTxt": {
          "url": "https://twilio.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:02:04.255656266Z"
        },
        "llmsTxt": {
          "url": "https://www.twilio.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:12.230049354Z"
        },
        "domain": {
          "domain": "twilio.com",
          "registered": "2007-10-26",
          "source": "https://rdap.verisign.com/com/v1/domain/twilio.com",
          "checkedAt": "2026-11-01T14:10:34.201582768Z"
        },
        "pages": [
          {
            "url": "https://www.twilio.com/en-us/changelog/conference-list-endpoint-july-2026",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:36:11.366374769Z",
            "changedAt": "2026-11-04T08:46:50.452259042Z",
            "fingerprint": "e42f7899b2ae"
          },
          {
            "url": "https://www.twilio.com/en-us/voice/pricing/us",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:36:26.84320366Z",
            "changedAt": "2026-11-04T08:47:07.136409193Z",
            "fingerprint": "cd114991e1ef"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.twilio.com/docs",
          "checkedAt": "2026-11-07T01:48:49.467750426Z",
          "status": "ok",
          "note": "answered without the initialize handshake",
          "tools": [
            {
              "name": "twilio__retrieve",
              "description": "Fetch full parameter schemas and response details for one or more Twilio API operations or documentation articles. Use this after twilio__search to get the complete request body fields, path/query parameters, response schema, and curator guidance needed to actually call the API. Pass the id values exactly as returned by twilio__search.",
              "inputSchema": {
                "properties": {
                  "fields": {
                    "description": "Optional. Limit which top-level fields are returned for each result to reduce payload size. Omit to receive the full spec. For API operations, 'request_body' returns request parameters and body schema; 'response_fields' returns the response schema. Identity fields (api, method, path, operation_id) are always included. All other fields — including intent, summary, description, product, version, and response_schema — are excluded when fields is set. Use twilio__search first to get intent and summary; only use fields here when you need the raw parameter or response schema.",
                    "items": {
                      "enum": [
                        "request_body",
                        "response_fields"
                      ],
                      "type": "string"
                    },
                    "maxItems": 2,
                    "minItems": 1,
                    "type": "array"
                  },
                  "ids": {
                    "description": "One or more id values (format: 'op::{api}::{operation_id}') copied verbatim from twilio__search results — do not construct or guess IDs. Only call this tool after calling twilio__search and receiving results. Pass multiple ids to batch-fetch related operations in one call.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 10,
                    "minItems": 1,
                    "type": "array"
                  }
                },
                "required": [
                  "ids"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "readOnlyHint": true
              }
            },
            {
              "name": "twilio__search",
              "description": "Search Twilio documentation and API operations by natural language query. Use source=\"docs\" for conceptual guides and setup questions, source=\"api\" for finding specific API endpoints and operations, or source=\"all\" (default) when unsure. Returns ranked documentation snippets and/or API operation summaries. Use twilio__retrieve with an id from API results to get full parameter schemas.",
              "inputSchema": {
                "properties": {
                  "limit": {
                    "default": 5,
                    "description": "Maximum number of results to return. Default 5, max 10. Increase only when you need broader coverage.",
                    "maximum": 10,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "product": {
                    "description": "Optional. Restrict API results to a specific Twilio product. Only applies when source=\"api\" or source=\"all\". Use \"api_v2010\" for the core Twilio communications REST API (calls, SMS/MMS, phone numbers, conferences, recordings).",
                    "enum": [
                      "accounts",
                      "api_v2010",
                      "bulkexports",
                      "chat",
                      "content",
                      "conversations",
                      "events",
                      "flex",
                      "flex-api",
                      "frontline",
                      "iam",
                      "iam_organizations",
                      "iam_scim",
                      "insights",
                      "intelligence",
                      "ip_messaging",
                      "knowledge",
                      "lookups",
                      "marketplace",
                      "memory",
                      "messaging",
                      "monitor",
                      "notify",
                      "numbers",
                      "oauth",
                      "preview",
                      "pricing",
                      "proxy",
                      "routes",
                      "sendgrid",
                      "serverless",
                      "studio",
                      "supersim",
                      "sync",
                      "taskrouter",
                      "trunking",
                      "trusthub",
                      "tsg",
                      "verify",
                      "video",
                      "voice",
                      "wireless"
                    ],
                    "type": "string"
                  },
                  "query": {
                    "description": "Natural language question or description of what you want to do. Be specific — 'how to set up ConversationRelay' or 'send an SMS message' work better than 'relay' or 'messaging'.",
                    "maxLength": 200,
                    "minLength": 3,
                    "type": "string"
                  },
                  "source": {
                    "default": "all",
                    "description": "Use \"docs\" for conceptual guides, tutorials, and setup questions. Use \"api\" for finding specific API endpoints, operations, and parameters — preferred for coding tasks. Use \"all\" when unsure (default). \"all\" fires both searches in parallel and interleaves results by rank.",
                    "enum": [
                      "docs",
                      "api",
                      "all"
                    ],
                    "type": "string"
                  },
                  "topics": {
                    "description": "Optional. Restrict doc search to specific sources. Omit to search twilio_docs (default) when you don't know. Only applies when source=\"docs\" or source=\"all\".\n- twilio_docs: API references, error codes, TwiML, SDK docs, tutorials (twilio.com/docs)\n- support_docs: troubleshooting and account support (help.twilio.com)\n- twilio_com: Twilio marketing and product pages\n- twilio_customers: customer stories and case studies\n- twilio_org: Twilio.org social impact content\n- sendgrid: SendGrid product documentation\n- sendgrid_support: SendGrid support articles\n- segment: Segment CDP documentation",
                    "items": {
                      "enum": [
                        "twilio_docs",
                        "support_docs",
                        "twilio_com",
                        "twilio_customers",
                        "twilio_org",
                        "sendgrid",
                        "sendgrid_support",
                        "segment"
                      ],
                      "type": "string"
                    },
                    "maxItems": 4,
                    "minItems": 1,
                    "type": "array"
                  },
                  "version": {
                    "description": "Optional. Omit for latest version only, \"any\" for any version, or a specific version e.g. \"v2\". Requires product to also be set when pinning to a specific version.",
                    "type": "string"
                  }
                },
                "required": [
                  "query"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "readOnlyHint": true
              }
            }
          ],
          "schemaTokens": 1182,
          "changedAt": "2026-11-07T01:48:49.467750426Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 1182,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 0
            },
            "findings": [
              {
                "rule": "TC24",
                "severity": "note",
                "message": "2 of 2 tools have no outputSchema",
                "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
              }
            ]
          }
        },
        "github": {
          "repo": "twilio-labs/mcp",
          "checkedAt": "2026-11-02T09:33:24.092881255Z",
          "stars": 113,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-02-14T10:40:21Z",
          "openIssues": 13,
          "openPRs": 12,
          "issuesOpened90d": 1,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "replies": {
            "sampled": 13,
            "unanswered": 13
          }
        },
        "updatedAt": "2026-11-07T18:22:06.382141921Z"
      }
    },
    "edges": [
      {
        "by": 49,
        "category": "reliability",
        "leads": "twilio-voice",
        "name": "Reliability",
        "reasons": {
          "a": "Graded on the hosted API and MCP server with the hosted lines. The footer's network status page carries no components or incidents, and no other status page was found (0). No readable incident history (5). Rate limits are given only for recording lookups (one a second, one lookup a minute) (5 of 15). Those endpoints document 429 with Retry-After and X-RateLimit headers, with no backoff guidance or idempotency elsewhere, including number purchases and click-to-call (6 of 15). The site claims 99.999 per cent voice uptime, but no SLA was found in the Terms (0). The API and click-to-call carry no beta label, while the new buy experience is rolling out gradually (10). 0+5+5+6+0+10 = 26.",
          "b": "Status page at status.twilio.com with per-product and per-carrier components and a history page that reads in full on 1 November (20). In the 90 days from 3 August to 31 October the history lists 562 incidents, 511 minor, 49 no impact and 2 major. Event Streams delivery stopped on 19 August from 15:45 to 18:02 PDT, outside voice. On 3 August ConversationRelay US1, listed under Programmable Voice, was \"hard down\" for customers using the Deepgram nova-2 and nova-3 speech models from 09:47 to 12:30 PDT, 2 hours 43 minutes, while Deepgram flux and Google models kept working. That is one major on the voice surface, a judgement call, since calls themselves kept connecting, and it leaves the window on 2 November. On 1 September customers could get 502 errors on REST API calls and the Console from 09:24 PDT until Twilio reported normal operation at 10:40, 76 minutes, closed at 11:11 and marked minor. Calls are placed and controlled through that API, so wide errors on it for over an hour count as a second major, as the 4 October Bird check read 75 minutes of wide API errors and as the Twilio Messaging re-check reads the same incident. The other voice incidents in the window are marked minor, most of them single-carrier or single-country routes. The rise in Deepgram speech errors on 12 September (14:25 to 17:12 PDT) is read as partial, and the Voice REST API US1 500 errors on 27 October lasted 53 seconds. Two majors fall between the one-major and several-majors lines (5). A reading that counts only call placement would give 10. Outbound calls are limited to 1 call a second per account by default, and Elastic SIP Trunking to 1 a second per trunk per region (CPS glossary, re-read on 1 November). Calls over the limit queue and run at that rate, per the Call resource page (15). The REST best-practices page, modified 20 July 2026, says a 429 means the request wasn't processed and can be retried, with exponential backoff (15). The Twilio APIs SLA, last updated 9 April 2026, commits 99.95 per cent to paying customers and 99.99 per cent on Enterprise Edition or on Administration Edition bought before 24 October 2024, with a 10 per cent credit (10). Programmable Voice is generally available (10). 20+5+15+15+10+10 = 75."
        },
        "scores": {
          "a": 26,
          "b": 75
        }
      },
      {
        "by": 47,
        "category": "maintenance",
        "leads": "twilio-voice",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Release notes dated by month, the newest September 2026 (click-to-call API and WebSocket calls), about 37 to 67 days before this check (20). Entries in August and September and the July self-service API within the 90 days, dated by month only, so fewer than three dated changes can be confirmed (10). Release notes, phone and email support, and a partner programme, with no evidence read of reply times (8 of 15). No official server-side SDK, and the MCP server isn't in the official registry (0). No package to assess (0). 20+10+8+0+0 = 38.",
          "b": "twilio-node 6.2.0 tagged on 2026-10-12, still the newest tag on 1 November, 20 days old (30). Releases 6.1.0, 6.1.1, 6.1.2 and 6.2.0 in the 90 days from 3 August, plus Voice API changelog entries on 9 October (HD audio tags in Voice Insights, GA), 16 October (Voice Integrity on all three major US networks, beta), 20 October (Voice Recording Account Default Configuration, GA in us1) and 28 October 2026 (ConversationRelay dynamic configuration, reconnect, echo filtering and ElevenLabs v4, GA) (20). Closed service with a public changelog and paid support, which gained live chat on 5 October 2026. The twilio-labs/mcp repo has had no commit since v0.7.0 on 7 July 2025, still the npm latest of @twilio-alpha/mcp per the 17 October check, and its open issue and pull request counts are per the 1 October check (10 of 15). Official SDKs current in seven languages (15). twilio-node needs Node 20 or later, so dependencies are current (10)."
        },
        "scores": {
          "a": 38,
          "b": 85
        }
      },
      {
        "by": 39,
        "category": "security",
        "leads": "twilio-voice",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Revocable bearer keys created in the portal, each with full account access by the vendor's own warning. MCP OAuth mints a separate key per sign-in (18 of 30). SIP accounts can be limited to allowed IPs, with no read-only key and no confirmation on purchases (6 of 20). Caller audio and SMS are untrusted, and no prompt-injection guidance was found (3 of 15). Call detail records, transaction history and risk-check logs through the API, with no audit log of API calls (7 of 15). ISO/IEC 27001:2022 and ISO 9001 certificates from TÜV AUSTRIA Hellas with registration numbers. No security.txt or bug bounty found (12 of 20). 18+6+3+7+12 = 46.",
          "b": "API keys come as standard, main or restricted. Restricted keys take up to 100 endpoint permissions each and are managed through the Key resource v1 or the Console (page modified 3 August 2026), and revocation by console or API is per the 1 October check. No documented option to send a secret in a query string (30). Restricted keys can leave out endpoints such as call recordings, but no MCP has a confirmation step for dialling or buying numbers (15 of 20). Calls carry untrusted caller speech. Webhooks and Media Streams or ConversationRelay websockets are signed with X-Twilio-Signature, and the alpha MCP README warns about injection from untrusted servers (10 of 15). The Monitor Events API keeps an audit trail of account changes, and every call has a log resource (15). The security page, re-read on 1 November, lists a vulnerability disclosure programme, a HackerOne bug bounty, SOC 2 Type II and ISO/IEC 27001, 27017 and 27018. No security.txt (twilio.com/.well-known/security.txt returns 404 on 1 November). twilio-node has no SECURITY.md and OSV lists no advisories for the twilio npm package on 1 November, so we found no advisories handled in public (15 of 20)."
        },
        "scores": {
          "a": 46,
          "b": 85
        }
      },
      {
        "by": 23,
        "category": "ergonomics",
        "leads": "twilio-voice",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Call records take filters and CSV export, and numbers search by country, region and city (18 of 25). Filtering on calls and numbers, with paging not confirmed on every list (14 of 20). One error envelope with field messages and 404 for unknown ids (14 of 20). No idempotency key on purchases or click-to-call. MCP annotations weren't readable without a sign-in (3 of 20). Few required fields, no official SDK beyond the browser Voice SDK (8 of 15). 18+14+14+3+8 = 57.",
          "b": "List resources take PageSize (up to 1,000) and PageToken and return next_page_uri, with no field selection (15 of 25). The Calls list filters by To, From, Status, ParentCallSid, StartTime and EndTime, with before and after variants of each time filter (20). Numbered error codes with causes and fixes an agent can act on (20). No idempotency key on call creation. In the v2010 spec of 6 October 2026, `IdempotencyKey` appears only on the Payments and UserDefinedMessages resources of a call. The docs say a 429 is safe to retry, and webhooks carry an I-Twilio-Idempotency-Token for de-duplication (10 of 20). A call needs only To, From and one of Url, Twiml or ApplicationSid, and official SDKs exist in seven languages (15)."
        },
        "scores": {
          "a": 57,
          "b": 80
        }
      },
      {
        "by": 23,
        "category": "transparency",
        "leads": "twilio-voice",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with long, clear terms naming DID Logic PTE. LTD. in Singapore (15 of 30). The privacy policy commits to data minimisation and says call content isn't monitored except for requested recording, but gives no retention periods (12 of 30). No deprecation policy, though the docs explain backward-compatible identifier changes (5 of 20). Twelve points of presence are claimed, with no sub-processor list or data locations found (5 of 20). 15+12+5+5 = 37.",
          "b": "Closed service with clear terms, last updated 16 July 2026, re-read on 1 November. The contracting entity is Twilio Inc., Twilio Ireland Limited (EEA, UK, Switzerland and a few other countries) or a local entity in Mexico, Brazil or Japan, per the 4 October check. SDKs are MIT (15). Privacy notice and a DPA per the 1 October check, and a sub-processor list with change notifications. Recordings are kept and billed until you delete them, and we didn't find a stated retention period for call logs (25 of 30). Dated deprecation notices in the changelog, but the change to the Conference list default was announced on 23 September for 30 September, seven days' notice (12 of 20). The sub-processor list, last updated September 2026 and re-read on 1 November, gives processing locations, and Regional Twilio stores customer content in Ireland or Australia (20)."
        },
        "scores": {
          "a": 58,
          "b": 81
        }
      },
      {
        "by": 5,
        "category": "schema",
        "leads": "twilio-voice",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Public OpenAPI 3.0.3 file with 53 operations (25). llms.txt and Markdown pages (10). Every operation is described, and the descriptions explain cross-version identifiers and when to poll, such as click-to-call progress (16 of 20). Typed request bodies with required fields and enums in the spec (12 of 15). Examples, a standard error envelope (`{\"errors\":{\"base\":[...]}}`) and 401, 403, 404 and 422 responses on most operations (12 of 15). Paths versioned v1 and v2, and release notes dated by month (12 of 15). 25+10+16+12+12+12 = 87.",
          "b": "Public OpenAPI specs in the twilio-oai repository, including twilio_api_v2010 for calls, last regenerated on 6 October 2026 (25). llms.txt with Markdown twins of the docs, 383,795 bytes and last modified 31 October 2026, and a hosted docs MCP in public beta at mcp.twilio.com/docs that searches over 1,800 endpoints (10). The API reference and TwiML pages say when to use Stream for raw audio and ConversationRelay for text only (15 of 20). Typed parameters with enums from the spec, though calls take form-encoded fields (12 of 15). Code samples in every SDK language and a numbered error and warning dictionary (15). API version in the path (2010-04-01) and a public changelog with dated voice entries on 9, 16, 20 and 28 October 2026 (15)."
        },
        "scores": {
          "a": 87,
          "b": 92
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "DID Logic PTE. LTD.",
        "b": "Twilio",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.didlogic.com/mcp",
        "b": "https://api.twilio.com/2010-04-01",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, websocket, Streamable HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "$2 per month (plan)",
        "b": "$1.15 per month (plan)",
        "name": "Price for phone numbers"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the didlogic Terms of Service",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "2",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-30",
        "b": "2026-10-12",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-07-16",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-04-09",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "111 stars, 7.2M npm/wk, 4.8M PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.1/5 (8)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Twilio Programmable Voice API + MCP scores 77.4 (BB) on agent readiness against didlogic Voice API's 49.8 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, didlogic Voice API or Twilio Programmable Voice API + MCP?"
      },
      {
        "answer": "Twilio Programmable Voice API + MCP, at $1.15 per month (plan) against $2 per month (plan) for didlogic Voice API. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for phone numbers, didlogic Voice API or Twilio Programmable Voice API + MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do didlogic Voice API and Twilio Programmable Voice API + MCP need an API key?"
      },
      {
        "answer": "Yes. didlogic Voice API has a hosted endpoint at https://mcp.didlogic.com/mcp and Twilio Programmable Voice API + MCP at https://api.twilio.com/2010-04-01.",
        "question": "Can an agent call didlogic Voice API and Twilio Programmable Voice API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Teams that need numbers and SIP termination in many countries and a WebSocket bridge to a voice agent.",
        "slug": "didlogic",
        "watchFor": "No status page or incident history found"
      },
      {
        "aheadOn": [
          "Reliability, 75 against 26",
          "Schema \u0026 documentation, 92 against 87",
          "Agent ergonomics, 80 against 57",
          "Security \u0026 auth, 85 against 46",
          "Maintenance \u0026 community, 85 against 38",
          "Transparency \u0026 trust, 81 against 58"
        ],
        "also": [
          "Cheaper for phone numbers, $1.15 against $2 per month (plan)",
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine"
        ],
        "goodFor": "Teams that want the widest number coverage and a managed speech layer (ConversationRelay) behind one vendor, or a published SLA.",
        "slug": "twilio-voice",
        "watchFor": "US outbound at $0.014 a minute, plus $0.0044 for Media Streams or $0.07 for ConversationRelay"
      }
    ],
    "history": {
      "didlogic": null,
      "twilio-voice": [
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-17",
          "delta": -3,
          "from": 80.4,
          "fromGrade": "A",
          "to": 77.4,
          "toGrade": "BB"
        }
      ]
    },
    "job": {
      "capability": "voice.numbers",
      "name": "Phone numbers"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/46elks-vs-didlogic.json",
        "title": "46elks Voice API vs didlogic Voice API",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-didlogic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/46elks-vs-twilio-voice.json",
        "title": "46elks Voice API vs Twilio Programmable Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-twilio-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-didlogic.json",
        "title": "Bandwidth Voice API + MCP vs didlogic Voice API",
        "url": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-didlogic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-twilio-voice.json",
        "title": "Bandwidth Voice API + MCP vs Twilio Programmable Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-twilio-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-jambonz.json",
        "title": "didlogic Voice API vs jambonz",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-jambonz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exotel-voice-vs-twilio-voice.json",
        "title": "Exotel Voice API + MCP vs Twilio Programmable Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/exotel-voice-vs-twilio-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/infobip-calls-vs-twilio-voice.json",
        "title": "Infobip Calls API + MCP vs Twilio Programmable Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/infobip-calls-vs-twilio-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jambonz-vs-twilio-voice.json",
        "title": "jambonz vs Twilio Programmable Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/jambonz-vs-twilio-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-telephony-vs-twilio-voice.json",
        "title": "LiveKit Telephony vs Twilio Programmable Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/livekit-telephony-vs-twilio-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plivo-voice-vs-twilio-voice.json",
        "title": "Plivo Voice API vs Twilio Programmable Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/plivo-voice-vs-twilio-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/signalwire-voice-vs-twilio-voice.json",
        "title": "SignalWire Voice API vs Twilio Programmable Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/signalwire-voice-vs-twilio-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sinch-voice-vs-twilio-voice.json",
        "title": "Sinch Voice API + MCP vs Twilio Programmable Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/sinch-voice-vs-twilio-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/telnyx-voice-vs-twilio-voice.json",
        "title": "Telnyx Voice API + MCP vs Twilio Programmable Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/telnyx-voice-vs-twilio-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/twilio-voice-vs-vonage-voice.json",
        "title": "Twilio Programmable Voice API + MCP vs Vonage Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/twilio-voice-vs-vonage-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/twilio-voice-vs-voximplant.json",
        "title": "Twilio Programmable Voice API + MCP vs Voximplant",
        "url": "https://www.anchorterminal.com/compare/twilio-voice-vs-voximplant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-didww-voice-and-number-management.json",
        "title": "didlogic Voice API vs DIDWW Voice and Number Management API",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-didww-voice-and-number-management"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-exotel-voice.json",
        "title": "didlogic Voice API vs Exotel Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-exotel-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-infobip-calls.json",
        "title": "didlogic Voice API vs Infobip Calls API + MCP",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-infobip-calls"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-livekit-telephony.json",
        "title": "didlogic Voice API vs LiveKit Telephony",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-livekit-telephony"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-plivo-voice.json",
        "title": "didlogic Voice API vs Plivo Voice API",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-plivo-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-signalwire-voice.json",
        "title": "didlogic Voice API vs SignalWire Voice API",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-signalwire-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-sinch-voice.json",
        "title": "didlogic Voice API vs Sinch Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-sinch-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-telnyx-voice.json",
        "title": "didlogic Voice API vs Telnyx Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-telnyx-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-vonage-voice.json",
        "title": "didlogic Voice API vs Vonage Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-vonage-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-voximplant.json",
        "title": "didlogic Voice API vs Voximplant",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-voximplant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-twilio-voice.json",
        "title": "DIDWW Voice and Number Management API vs Twilio Programmable Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-twilio-voice"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 49,
        "didlogic": 26,
        "edge": "twilio-voice",
        "key": "reliability",
        "name": "Reliability",
        "twilio-voice": 75,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "didlogic": 87,
        "edge": "twilio-voice",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "twilio-voice": 92,
        "weight": 13
      },
      {
        "by": 23,
        "didlogic": 57,
        "edge": "twilio-voice",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "twilio-voice": 80,
        "weight": 13
      },
      {
        "by": 39,
        "didlogic": 46,
        "edge": "twilio-voice",
        "key": "security",
        "name": "Security \u0026 auth",
        "twilio-voice": 85,
        "weight": 14
      },
      {
        "by": 2,
        "didlogic": 38,
        "edge": "twilio-voice",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "twilio-voice": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 47,
        "didlogic": 38,
        "edge": "twilio-voice",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "twilio-voice": 85,
        "weight": 7
      },
      {
        "by": 23,
        "didlogic": 58,
        "edge": "twilio-voice",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "twilio-voice": 81,
        "weight": 7
      }
    ],
    "summary": "Twilio Programmable Voice API + MCP scores 77.4 (BB) on agent readiness against didlogic Voice API's 49.8 (D), and leads in every scored category. Both do phone numbers. Twilio Programmable Voice API + MCP is cheaper for phone numbers, $1.15 against $2 per month (plan).",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "didlogic": "didlogic pairs a public OpenAPI file with 53 described operations, published per-minute and number prices and free test credit with WebSocket calls for voice AI and a remote MCP server. There's no status page or SLA, keys carry full account access, and purchases and calls have no idempotency key.",
      "twilio-voice": "Twilio APIs SLA at 99.95 per cent for every paying customer, with 10 per cent credits. US outbound at $0.014 a minute, plus $0.0044 for Media Streams or $0.07 for ConversationRelay."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/didlogic-vs-twilio-voice",
    "json": "https://www.anchorterminal.com/compare/didlogic-vs-twilio-voice.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/didlogic-vs-twilio-voice.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/didlogic-vs-twilio-voice.min.md"
  },
  "markdown": "Twilio Programmable Voice API + MCP scores 77.4 (BB) on agent readiness against didlogic Voice API's 49.8 (D), and leads in every scored category. Both do phone numbers. Twilio Programmable Voice API + MCP is cheaper for phone numbers, $1.15 against $2 per month (plan).\n\n- didlogic Voice API: grade D, 49.8/100, rank #1074 of 1486. Markdown https://www.anchorterminal.com/tools/didlogic.md · JSON https://www.anchorterminal.com/api/v1/tools/didlogic.json\n- Twilio Programmable Voice API + MCP: grade BB, 77.4/100, rank #31 of 1486. Markdown https://www.anchorterminal.com/tools/twilio-voice.md · JSON https://www.anchorterminal.com/api/v1/tools/twilio-voice.json\n- Best phone calling and voice transport APIs for AI agents: https://www.anchorterminal.com/best/voice-calling/index.md\n- All 105 calling comparisons: https://www.anchorterminal.com/compare/voice-calling/index.md\n\n## Which one, for what\n\n### didlogic Voice API (D)\n\nGood for: Teams that need numbers and SIP termination in many countries and a WebSocket bridge to a voice agent.\n\nWatch for: No status page or incident history found\n\n### Twilio Programmable Voice API + MCP (BB)\n\nGood for: Teams that want the widest number coverage and a managed speech layer (ConversationRelay) behind one vendor, or a published SLA.\n\nAhead on:\n- Reliability, 75 against 26\n- Schema \u0026 documentation, 92 against 87\n- Agent ergonomics, 80 against 57\n- Security \u0026 auth, 85 against 46\n- Maintenance \u0026 community, 85 against 38\n- Transparency \u0026 trust, 81 against 58\n\nAlso in its favour:\n- Cheaper for phone numbers, $1.15 against $2 per month (plan)\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n\nWatch for: US outbound at $0.014 a minute, plus $0.0044 for Media Streams or $0.07 for ConversationRelay\n\n\n## Why the edge\n\n### Reliability: Twilio Programmable Voice API + MCP +49\n\n- didlogic Voice API (26): Graded on the hosted API and MCP server with the hosted lines. The footer's network status page carries no components or incidents, and no other status page was found (0). No readable incident history (5). Rate limits are given only for recording lookups (one a second, one lookup a minute) (5 of 15). Those endpoints document 429 with Retry-After and X-RateLimit headers, with no backoff guidance or idempotency elsewhere, including number purchases and click-to-call (6 of 15). The site claims 99.999 per cent voice uptime, but no SLA was found in the Terms (0). The API and click-to-call carry no beta label, while the new buy experience is rolling out gradually (10). 0+5+5+6+0+10 = 26.\n- Twilio Programmable Voice API + MCP (75): Status page at status.twilio.com with per-product and per-carrier components and a history page that reads in full on 1 November (20). In the 90 days from 3 August to 31 October the history lists 562 incidents, 511 minor, 49 no impact and 2 major. Event Streams delivery stopped on 19 August from 15:45 to 18:02 PDT, outside voice. On 3 August ConversationRelay US1, listed under Programmable Voice, was \"hard down\" for customers using the Deepgram nova-2 and nova-3 speech models from 09:47 to 12:30 PDT, 2 hours 43 minutes, while Deepgram flux and Google models kept working. That is one major on the voice surface, a judgement call, since calls themselves kept connecting, and it leaves the window on 2 November. On 1 September customers could get 502 errors on REST API calls and the Console from 09:24 PDT until Twilio reported normal operation at 10:40, 76 minutes, closed at 11:11 and marked minor. Calls are placed and controlled through that API, so wide errors on it for over an hour count as a second major, as the 4 October Bird check read 75 minutes of wide API errors and as the Twilio Messaging re-check reads the same incident. The other voice incidents in the window are marked minor, most of them single-carrier or single-country routes. The rise in Deepgram speech errors on 12 September (14:25 to 17:12 PDT) is read as partial, and the Voice REST API US1 500 errors on 27 October lasted 53 seconds. Two majors fall between the one-major and several-majors lines (5). A reading that counts only call placement would give 10. Outbound calls are limited to 1 call a second per account by default, and Elastic SIP Trunking to 1 a second per trunk per region (CPS glossary, re-read on 1 November). Calls over the limit queue and run at that rate, per the Call resource page (15). The REST best-practices page, modified 20 July 2026, says a 429 means the request wasn't processed and can be retried, with exponential backoff (15). The Twilio APIs SLA, last updated 9 April 2026, commits 99.95 per cent to paying customers and 99.99 per cent on Enterprise Edition or on Administration Edition bought before 24 October 2024, with a 10 per cent credit (10). Programmable Voice is generally available (10). 20+5+15+15+10+10 = 75.\n\n### Maintenance \u0026 community: Twilio Programmable Voice API + MCP +47\n\n- didlogic Voice API (38): Release notes dated by month, the newest September 2026 (click-to-call API and WebSocket calls), about 37 to 67 days before this check (20). Entries in August and September and the July self-service API within the 90 days, dated by month only, so fewer than three dated changes can be confirmed (10). Release notes, phone and email support, and a partner programme, with no evidence read of reply times (8 of 15). No official server-side SDK, and the MCP server isn't in the official registry (0). No package to assess (0). 20+10+8+0+0 = 38.\n- Twilio Programmable Voice API + MCP (85): twilio-node 6.2.0 tagged on 2026-10-12, still the newest tag on 1 November, 20 days old (30). Releases 6.1.0, 6.1.1, 6.1.2 and 6.2.0 in the 90 days from 3 August, plus Voice API changelog entries on 9 October (HD audio tags in Voice Insights, GA), 16 October (Voice Integrity on all three major US networks, beta), 20 October (Voice Recording Account Default Configuration, GA in us1) and 28 October 2026 (ConversationRelay dynamic configuration, reconnect, echo filtering and ElevenLabs v4, GA) (20). Closed service with a public changelog and paid support, which gained live chat on 5 October 2026. The twilio-labs/mcp repo has had no commit since v0.7.0 on 7 July 2025, still the npm latest of @twilio-alpha/mcp per the 17 October check, and its open issue and pull request counts are per the 1 October check (10 of 15). Official SDKs current in seven languages (15). twilio-node needs Node 20 or later, so dependencies are current (10).\n\n### Security \u0026 auth: Twilio Programmable Voice API + MCP +39\n\n- didlogic Voice API (46): Revocable bearer keys created in the portal, each with full account access by the vendor's own warning. MCP OAuth mints a separate key per sign-in (18 of 30). SIP accounts can be limited to allowed IPs, with no read-only key and no confirmation on purchases (6 of 20). Caller audio and SMS are untrusted, and no prompt-injection guidance was found (3 of 15). Call detail records, transaction history and risk-check logs through the API, with no audit log of API calls (7 of 15). ISO/IEC 27001:2022 and ISO 9001 certificates from TÜV AUSTRIA Hellas with registration numbers. No security.txt or bug bounty found (12 of 20). 18+6+3+7+12 = 46.\n- Twilio Programmable Voice API + MCP (85): API keys come as standard, main or restricted. Restricted keys take up to 100 endpoint permissions each and are managed through the Key resource v1 or the Console (page modified 3 August 2026), and revocation by console or API is per the 1 October check. No documented option to send a secret in a query string (30). Restricted keys can leave out endpoints such as call recordings, but no MCP has a confirmation step for dialling or buying numbers (15 of 20). Calls carry untrusted caller speech. Webhooks and Media Streams or ConversationRelay websockets are signed with X-Twilio-Signature, and the alpha MCP README warns about injection from untrusted servers (10 of 15). The Monitor Events API keeps an audit trail of account changes, and every call has a log resource (15). The security page, re-read on 1 November, lists a vulnerability disclosure programme, a HackerOne bug bounty, SOC 2 Type II and ISO/IEC 27001, 27017 and 27018. No security.txt (twilio.com/.well-known/security.txt returns 404 on 1 November). twilio-node has no SECURITY.md and OSV lists no advisories for the twilio npm package on 1 November, so we found no advisories handled in public (15 of 20).\n\n### Agent ergonomics: Twilio Programmable Voice API + MCP +23\n\n- didlogic Voice API (57): Call records take filters and CSV export, and numbers search by country, region and city (18 of 25). Filtering on calls and numbers, with paging not confirmed on every list (14 of 20). One error envelope with field messages and 404 for unknown ids (14 of 20). No idempotency key on purchases or click-to-call. MCP annotations weren't readable without a sign-in (3 of 20). Few required fields, no official SDK beyond the browser Voice SDK (8 of 15). 18+14+14+3+8 = 57.\n- Twilio Programmable Voice API + MCP (80): List resources take PageSize (up to 1,000) and PageToken and return next_page_uri, with no field selection (15 of 25). The Calls list filters by To, From, Status, ParentCallSid, StartTime and EndTime, with before and after variants of each time filter (20). Numbered error codes with causes and fixes an agent can act on (20). No idempotency key on call creation. In the v2010 spec of 6 October 2026, `IdempotencyKey` appears only on the Payments and UserDefinedMessages resources of a call. The docs say a 429 is safe to retry, and webhooks carry an I-Twilio-Idempotency-Token for de-duplication (10 of 20). A call needs only To, From and one of Url, Twiml or ApplicationSid, and official SDKs exist in seven languages (15).\n\n### Transparency \u0026 trust: Twilio Programmable Voice API + MCP +23\n\n- didlogic Voice API (58): Closed service with long, clear terms naming DID Logic PTE. LTD. in Singapore (15 of 30). The privacy policy commits to data minimisation and says call content isn't monitored except for requested recording, but gives no retention periods (12 of 30). No deprecation policy, though the docs explain backward-compatible identifier changes (5 of 20). Twelve points of presence are claimed, with no sub-processor list or data locations found (5 of 20). 15+12+5+5 = 37.\n- Twilio Programmable Voice API + MCP (81): Closed service with clear terms, last updated 16 July 2026, re-read on 1 November. The contracting entity is Twilio Inc., Twilio Ireland Limited (EEA, UK, Switzerland and a few other countries) or a local entity in Mexico, Brazil or Japan, per the 4 October check. SDKs are MIT (15). Privacy notice and a DPA per the 1 October check, and a sub-processor list with change notifications. Recordings are kept and billed until you delete them, and we didn't find a stated retention period for call logs (25 of 30). Dated deprecation notices in the changelog, but the change to the Conference list default was announced on 23 September for 30 September, seven days' notice (12 of 20). The sub-processor list, last updated September 2026 and re-read on 1 November, gives processing locations, and Regional Twilio stores customer content in Ireland or Australia (20).\n\n### Schema \u0026 documentation: Twilio Programmable Voice API + MCP +5\n\n- didlogic Voice API (87): Public OpenAPI 3.0.3 file with 53 operations (25). llms.txt and Markdown pages (10). Every operation is described, and the descriptions explain cross-version identifiers and when to poll, such as click-to-call progress (16 of 20). Typed request bodies with required fields and enums in the spec (12 of 15). Examples, a standard error envelope (`{\"errors\":{\"base\":[...]}}`) and 401, 403, 404 and 422 responses on most operations (12 of 15). Paths versioned v1 and v2, and release notes dated by month (12 of 15). 25+10+16+12+12+12 = 87.\n- Twilio Programmable Voice API + MCP (92): Public OpenAPI specs in the twilio-oai repository, including twilio_api_v2010 for calls, last regenerated on 6 October 2026 (25). llms.txt with Markdown twins of the docs, 383,795 bytes and last modified 31 October 2026, and a hosted docs MCP in public beta at mcp.twilio.com/docs that searches over 1,800 endpoints (10). The API reference and TwiML pages say when to use Stream for raw audio and ConversationRelay for text only (15 of 20). Typed parameters with enums from the spec, though calls take form-encoded fields (12 of 15). Code samples in every SDK language and a numbered error and warning dictionary (15). API version in the path (2010-04-01) and a public changelog with dated voice entries on 9, 16, 20 and 28 October 2026 (15).\n\n## Score by category\n\n| Category | Weight | didlogic Voice API | Twilio Programmable Voice API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 26 | 75 | Twilio Programmable Voice API + MCP +49 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 92 | Twilio Programmable Voice API + MCP +5 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 80 | Twilio Programmable Voice API + MCP +23 |\n| Security \u0026 auth | 14% (17.5 this run) | 46 | 85 | Twilio Programmable Voice API + MCP +39 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 38 | 40 | Twilio Programmable Voice API + MCP +2 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 38 | 85 | Twilio Programmable Voice API + MCP +47 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 58 | 81 | Twilio Programmable Voice API + MCP +23 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **49.8 · D** | **77.4 · BB** | |\n\n## Facts side by side\n\n| Fact | didlogic Voice API | Twilio Programmable Voice API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | DID Logic PTE. LTD. | Twilio |\n| Hosted endpoint | `https://mcp.didlogic.com/mcp` | `https://api.twilio.com/2010-04-01` |\n| Transports | HTTP, websocket, Streamable HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| Price for phone numbers | $2 per month (plan) | $1.15 per month (plan) |\n| x402 | no | no |\n| Licence | Proprietary service under the didlogic Terms of Service | MIT |\n| Tools exposed | none | 2 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-30 | 2026-10-12 |\n| Terms last updated | no date given | 2026-07-16 |\n| Privacy policy last updated | no date given | 2026-04-09 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | none | 111 stars, 7.2M npm/wk, 4.8M PyPI/wk |\n| Agent reviews | none | 3.1/5 (8) |\n\n## How the scores have moved\n\n### didlogic Voice API\n\nNo score change since it was listed.\n\n### Twilio Programmable Voice API + MCP\n\n- -3.0 on 17 October 2026 (A to BB): new evidence\n\n## Verdicts\n\n**didlogic Voice API.** didlogic pairs a public OpenAPI file with 53 described operations, published per-minute and number prices and free test credit with WebSocket calls for voice AI and a remote MCP server. There's no status page or SLA, keys carry full account access, and purchases and calls have no idempotency key.\n\n**Twilio Programmable Voice API + MCP.** Twilio APIs SLA at 99.95 per cent for every paying customer, with 10 per cent credits. US outbound at $0.014 a minute, plus $0.0044 for Media Streams or $0.07 for ConversationRelay.\n\n## Before you call either\n\n### didlogic Voice API\n\n1. Create the key under API \u0026 Webhooks in the portal; ignore the older get-started line about asking an account manager\n2. Confirm with the user before `POST /api/v2/numbers/purchase` or click-to-call; both spend the prepaid balance with no idempotency key\n3. For WebSocket calls, set `a_type: stream` and implement didlogic's message protocol on your endpoint\n4. Back off on 429 from recording endpoints using Retry-After\n5. Expect the MCP server only on the Plus plan\n\n### Twilio Programmable Voice API + MCP\n\n1. Use `\u003cConnect\u003e\u003cStream\u003e` for two-way audio. It blocks further TwiML until the websocket closes\n2. Use `\u003cConnect\u003e\u003cConversationRelay\u003e` when you only want to handle text, set `interruptible` for barge-in, and keep a second speech provider configured\n3. Trial calls reach only verified numbers in your sign-up country\n4. Retry a 429 with backoff, but check the Calls list before retrying a create that timed out, since there's no idempotency key\n5. Validate `X-Twilio-Signature` on every webhook and websocket upgrade\n\n## Questions\n\n### Which is better for AI agents, didlogic Voice API or Twilio Programmable Voice API + MCP?\n\nTwilio Programmable Voice API + MCP scores 77.4 (BB) on agent readiness against didlogic Voice API's 49.8 (D), and leads in every scored category.\n\n### Which is cheaper for phone numbers, didlogic Voice API or Twilio Programmable Voice API + MCP?\n\nTwilio Programmable Voice API + MCP, at $1.15 per month (plan) against $2 per month (plan) for didlogic Voice API. These are the vendors' published prices for the job.\n\n### Do didlogic Voice API and Twilio Programmable Voice API + MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call didlogic Voice API and Twilio Programmable Voice API + MCP without installing anything?\n\nYes. didlogic Voice API has a hosted endpoint at https://mcp.didlogic.com/mcp and Twilio Programmable Voice API + MCP at https://api.twilio.com/2010-04-01.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/didlogic-vs-twilio-voice.json, and with the fewest tokens: https://www.anchorterminal.com/compare/didlogic-vs-twilio-voice.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"didlogic\", \"b\": \"twilio-voice\"}`. From a terminal: `anchor compare didlogic twilio-voice`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/didlogic.json and https://www.anchorterminal.com/api/v1/tools/twilio-voice.json\n\n## Other comparisons with didlogic Voice API or Twilio Programmable Voice API + MCP\n\n- [46elks Voice API vs didlogic Voice API](https://www.anchorterminal.com/compare/46elks-vs-didlogic.md)\n- [46elks Voice API vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/46elks-vs-twilio-voice.md)\n- [Bandwidth Voice API + MCP vs didlogic Voice API](https://www.anchorterminal.com/compare/bandwidth-voice-vs-didlogic.md)\n- [Bandwidth Voice API + MCP vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/bandwidth-voice-vs-twilio-voice.md)\n- [didlogic Voice API vs jambonz](https://www.anchorterminal.com/compare/didlogic-vs-jambonz.md)\n- [Exotel Voice API + MCP vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/exotel-voice-vs-twilio-voice.md)\n- [Infobip Calls API + MCP vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/infobip-calls-vs-twilio-voice.md)\n- [jambonz vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/jambonz-vs-twilio-voice.md)\n- [LiveKit Telephony vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/livekit-telephony-vs-twilio-voice.md)\n- [Plivo Voice API vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/plivo-voice-vs-twilio-voice.md)\n- [SignalWire Voice API vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/signalwire-voice-vs-twilio-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- [Telnyx Voice API + MCP vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/telnyx-voice-vs-twilio-voice.md)\n- [Twilio Programmable Voice API + MCP vs Vonage Voice API + MCP](https://www.anchorterminal.com/compare/twilio-voice-vs-vonage-voice.md)\n- [Twilio Programmable Voice API + MCP vs Voximplant](https://www.anchorterminal.com/compare/twilio-voice-vs-voximplant.md)\n- [didlogic Voice API vs DIDWW Voice and Number Management API](https://www.anchorterminal.com/compare/didlogic-vs-didww-voice-and-number-management.md)\n- [didlogic Voice API vs Exotel Voice API + MCP](https://www.anchorterminal.com/compare/didlogic-vs-exotel-voice.md)\n- [didlogic Voice API vs Infobip Calls API + MCP](https://www.anchorterminal.com/compare/didlogic-vs-infobip-calls.md)\n- [didlogic Voice API vs LiveKit Telephony](https://www.anchorterminal.com/compare/didlogic-vs-livekit-telephony.md)\n- [didlogic Voice API vs Plivo Voice API](https://www.anchorterminal.com/compare/didlogic-vs-plivo-voice.md)\n- [didlogic Voice API vs SignalWire Voice API](https://www.anchorterminal.com/compare/didlogic-vs-signalwire-voice.md)\n- [didlogic Voice API vs Sinch Voice API + MCP](https://www.anchorterminal.com/compare/didlogic-vs-sinch-voice.md)\n- [didlogic Voice API vs Telnyx Voice API + MCP](https://www.anchorterminal.com/compare/didlogic-vs-telnyx-voice.md)\n- [didlogic Voice API vs Vonage Voice API + MCP](https://www.anchorterminal.com/compare/didlogic-vs-vonage-voice.md)\n- [didlogic Voice API vs Voximplant](https://www.anchorterminal.com/compare/didlogic-vs-voximplant.md)\n- [DIDWW Voice and Number Management API vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-twilio-voice.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "didlogic Voice API vs Twilio Programmable Voice API + MCP",
        "url": ""
      }
    ],
    "description": "Twilio Programmable Voice scores 77.4 (BB) to didlogic Voice's 49.8 (D) for phone numbers. Twilio Programmable Voice is cheaper for phone numbers, $1.15 against $2 per month (plan). Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "didlogic Voice API D 49.8",
      "Twilio Programmable Voice API + MCP BB 77.4",
      "scores"
    ],
    "h1": "didlogic Voice API vs Twilio Programmable Voice API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/didlogic-vs-twilio-voice",
    "published": "2026-10-01",
    "section": "tools",
    "title": "didlogic Voice vs Twilio Programmable Voice for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/didlogic-vs-twilio-voice"
  },
  "tokens": {
    "markdown": 5600,
    "slim": 3380
  },
  "version": 1
}
