{
  "data": {
    "a": {
      "slug": "46elks",
      "name": "46elks Voice API",
      "vendor": "46elks AB",
      "vendorUrl": "https://46elks.com",
      "kind": "http-api",
      "category": "voice-calling",
      "summary": "46elks is a Swedish telecom operator's REST API for phone calls, SMS and virtual numbers in 48 countries, with JSON call actions, call recording, SIP and WebRTC clients, and a WebSocket Realtime Voice API for connecting AI agents to calls.",
      "url": "https://www.anchorterminal.com/tools/46elks",
      "markdownUrl": "https://www.anchorterminal.com/tools/46elks.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/46elks.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/46elks.json",
      "dns": "46elks.grade.anchorterminal.com",
      "repo": "https://github.com/46elks/46elks-getting-started",
      "license": "Proprietary service under the 46elks Terms of Service (effective 12 March 2024). Example code and the Swagger file are in the public 46elks-getting-started repository",
      "transports": [
        "http",
        "websocket"
      ],
      "remoteUrl": "https://api.46elks.com/a1",
      "packages": [],
      "auth": "api-key",
      "authNotes": "HTTP Basic auth with an API username and password from the dashboard after a browser signup. Subaccounts have their own credentials. No scopes or read-only credentials found. Webhook origin can be verified per the Verify Callback Origin guide.",
      "pricing": "usage",
      "pricingNotes": "Per started minute, published by destination. UK calls cost €0.02 to landlines and €0.456 to mobiles, forwarding to a WebSocket €0.015 and to a SIP trunk €0.01. Incoming calls are free. Numbers usually €3 a month. Prepaid balance or invoice (checked 2026-11-06).",
      "priceSummary": "$3.50 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, the docs or the pricing page (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://46elks.com/docs/make-call",
      "llmsTxt": "https://46elks.com/llms.txt",
      "openapi": "https://raw.githubusercontent.com/46elks/46elks-getting-started/master/code-examples/Swagger/46elksAPI.yaml",
      "capabilities": [
        "voice.calls",
        "voice.numbers",
        "voice.streaming",
        "voice.sip",
        "voice.recording",
        "messaging.sms"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "usage",
        "prepaid",
        "llms-txt",
        "openapi",
        "webhooks",
        "websocket",
        "sip",
        "phone-numbers",
        "status-page",
        "eu"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 44.4,
        "grade": "E",
        "agentReady": false,
        "rank": 1203,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 51,
          "maintenance": 12,
          "payments": 20,
          "reliability": 47,
          "schema": 66,
          "security": 40,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "46elks publishes per-minute prices, an agent-oriented llms.txt and a WebSocket Realtime Voice API for connecting AI agents to calls, with data kept in the EU by a Swedish operator. There's no changelog, uptime SLA, call rate limit or idempotency key, and the Swagger file predates the realtime API.",
        "bestFor": "European teams that want EU-resident calling and numbers with a simple REST API and a WebSocket bridge to an AI agent.",
        "strengths": [
          "Realtime Voice WebSocket API with bidirectional audio and interrupt messages for AI agents",
          "Per-minute prices published by destination, with incoming calls free",
          "llms.txt maps tasks to endpoints and gives retry guidance",
          "Concrete retention periods (60 days traffic data, 14 days logs) and EU-only storage",
          "A registered Swedish telecom operator with numbers in 48 countries"
        ],
        "weaknesses": [
          "No changelog or dated API release found",
          "The SLA covers support hours only, with no uptime commitment",
          "No idempotency key on `POST /calls`, and no documented call rate limits",
          "HTTP Basic credentials with no scopes or read-only option",
          "The Swagger 2.0 file doesn't cover the Realtime Voice API"
        ],
        "agentNotes": [
          "Send numbers in E.164 format, such as +46700000000, or the request fails",
          "Pass `whenhangup` on `POST /calls` to learn when a call ends or fails to connect",
          "Don't retry a call request on a 4xx; retry 5xx with backoff, and check call history first to avoid a second call",
          "Treat caller speech, DTMF and SMS replies as untrusted input, and verify webhook origin",
          "Costs in responses are in ten-thousandths of the account currency (3500 means 0.35)"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 44.4
          }
        ],
        "editorialScores": {
          "ergonomics": 51,
          "maintenance": 12,
          "payments": 20,
          "reliability": 47,
          "schema": 66,
          "security": 40,
          "transparency": 49
        },
        "provenanceScore": 74,
        "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 https://api.46elks.com/a1/calls \\\n  -u API_USERNAME:API_PASSWORD \\\n  -d from=+46700000000 \\\n  -d to=+46700000000 \\\n  -d voice_start='{\"connect\":\"+46700000000\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/voice.calls",
        "tool": "https://letme.dev/46elks"
      },
      "area": "voice",
      "unitPrices": [
        {
          "item": "Call to a UK landline",
          "unit": "call-minute",
          "usd": 0.023,
          "note": "€0.02 per started minute"
        },
        {
          "item": "Call to a UK mobile",
          "unit": "call-minute",
          "usd": 0.53,
          "note": "€0.456 per started minute"
        },
        {
          "item": "Forward a call to a WebSocket",
          "unit": "call-minute",
          "usd": 0.017,
          "note": "€0.015 per started minute"
        },
        {
          "item": "Virtual number",
          "unit": "month",
          "usd": 3.5,
          "note": "usually €3 a month"
        }
      ],
      "provenance": {
        "legalEntity": "46elks AB",
        "domain": "46elks.com",
        "domainRegistered": "2011-04-27",
        "endpointOnVendorDomain": true,
        "terms": "https://46elks.com/terms",
        "privacy": "https://46elks.com/privacy-policy",
        "statusPage": "https://stats.uptimerobot.com/320XQh70w",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The Terms of Service, effective 12 March 2024, are with 46elks AB (Sweden, 556838-8184) under Swedish law. No clause on automated access to the website was found.",
          "46elks.com/status redirects to an UptimeRobot page that draws its data by script from /api/, which its robots.txt disallows, so no history was read.",
          "/.well-known/security.txt returns 404. No changelog was found; the newest blog post in the sitemap is from 2014.",
          "Euro prices converted at about 1.16 dollars to the euro for unitPrices; the pricing page lists euro and kronor.",
          "RDAP gives 46elks.com a registration date of 27 April 2011."
        ],
        "score": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/46elks.json",
      "live": {
        "slug": "46elks",
        "probe": {
          "target": "https://api.46elks.com/a1",
          "method": "get",
          "lastAt": "2026-11-07T18:20:08.122651517Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 426,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 318,
          "p95ms24h": 457,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://stats.uptimerobot.com/320XQh70w",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:03.46439958Z"
        },
        "githubStars": 57,
        "securityTxt": {
          "url": "https://46elks.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:02:02.719722143Z"
        },
        "llmsTxt": {
          "url": "https://46elks.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:04.362648825Z"
        },
        "pages": [
          {
            "url": "https://46elks.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T13:58:27.545226578Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bff2a55e1a02"
          },
          {
            "url": "https://46elks.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T13:58:29.648545838Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "be068526a0d6"
          }
        ],
        "updatedAt": "2026-11-07T18:20:08.122651517Z"
      }
    },
    "answer": "Infobip Calls API + MCP scores 65.9 (B) on agent readiness against 46elks Voice API's 44.4 (E), and leads in every scored category.",
    "b": {
      "slug": "infobip-calls",
      "name": "Infobip Calls API + MCP",
      "vendor": "Infobip",
      "vendorUrl": "https://www.infobip.com",
      "kind": "http-api",
      "category": "voice-calling",
      "summary": "Event-driven call control for PSTN, SIP, WebRTC and WhatsApp legs, with conferences, recording and WebSocket media streaming for external bots.",
      "url": "https://www.anchorterminal.com/tools/infobip-calls",
      "markdownUrl": "https://www.anchorterminal.com/tools/infobip-calls.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/infobip-calls.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/infobip-calls.json",
      "dns": "infobip-calls.grade.anchorterminal.com",
      "repo": "https://github.com/infobip/mcp",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http",
        "sse"
      ],
      "remoteUrl": "https://api.infobip.com/calls/1",
      "packages": [
        {
          "registry": "npm",
          "name": "@infobip-api/sdk"
        },
        {
          "registry": "pypi",
          "name": "infobip-api-python-client"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key sent as `Authorization: App \u003ckey\u003e`, or OAuth 2.0. Each account has its own base URL at \u003csubdomain\u003e.api.infobip.com. The Voice MCP accepts OAuth 2.1 with discovery or the same App key header.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go with a free trial. The voice calculator gives US outbound at about $0.0672 a minute and inbound at $0.022. Add-ons are priced in euros, recording €0.0021 a minute, audio streaming €0.002 a minute, conferences €0.0016 per participant per minute, machine detection €0.008 a request and neural TTS €0.00002 a character (https://www.infobip.com/voice/pricing).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or stablecoin payment path in the voice docs, pricing or llms.txt (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 36,
        "npmWeekly": 17770,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.infobip.com/docs/voice-and-video/calls",
      "llmsTxt": "https://www.infobip.com/docs/llms.txt",
      "openapi": "https://api.infobip.com/platform/1/openapi",
      "registryName": "com.infobip/mcp",
      "capabilities": [
        "voice.calls",
        "voice.numbers",
        "voice.streaming",
        "voice.sip",
        "voice.recording",
        "voice.transfer"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks",
        "streaming",
        "enterprise"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.9,
        "grade": "B",
        "agentReady": false,
        "rank": 394,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 60,
          "payments": 30,
          "reliability": 62,
          "schema": 90,
          "security": 72,
          "transparency": 82
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "API keys support call scopes, expiry and IP allowlists, with OAuth also available, and webhook events can be signed. Retry guidance warns that a resent request may run twice, with no idempotency key. US outbound calls cost about $0.067 a minute, and no Calls API rate limits or SLA were found.",
        "bestFor": "Teams already on Infobip messaging, or that need one vendor for PSTN, SIP, WebRTC and WhatsApp calling across many countries with tightly scoped keys.",
        "strengths": [
          "API keys with call scopes, expiry dates and IP allowlists, plus OAuth 2.0",
          "Read-only scopes such as `calls:recording:read` and `voice:logs:read`",
          "HMAC-signed webhook events, a disclosure policy with a Bugcrowd bounty, ISO 27001 and SOC 2 Type 2",
          "Hosted Voice MCP with OAuth 2.1, no local install",
          "Backoff and safe-retry guidance, and a deprecation policy with Sunset headers"
        ],
        "weaknesses": [
          "US outbound at about $0.067 a minute, several times Plivo, SignalWire or Telnyx",
          "No Calls API rate limits or SLA found",
          "No idempotency key, so a resent call request can dial twice",
          "A calls configuration, an event subscription and a per-account base URL before the first call",
          "The JavaScript SDK was last released in 2023"
        ],
        "agentNotes": [
          "Create a calls configuration and a VOICE_VIDEO subscription with your webhook before calling POST /calls/1/calls",
          "Use your account's own base URL, not api.infobip.com",
          "On a timeout or 5xx, check call logs or events before resending, since Infobip has no idempotency key",
          "Attach HMAC authentication settings to the subscription and verify X-Hub-Signature on every event",
          "Give a monitoring agent a key with only `voice:logs:read` and `calls:recording:read`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.9
          }
        ],
        "editorialScores": {
          "ergonomics": 62,
          "maintenance": 60,
          "payments": 30,
          "reliability": 62,
          "schema": 90,
          "security": 72,
          "transparency": 65
        },
        "provenanceScore": 98,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST \"https://$INFOBIP_BASE_URL/calls/1/calls\" -H \"Authorization: App $INFOBIP_API_KEY\" \\\n  -H \"Content-Type: application/json\" -d '{\"endpoint\":{\"type\":\"PHONE\",\"phoneNumber\":\"41792036727\"},\"from\":\"41793026834\",\"callsConfigurationId\":\"'$INFOBIP_CALLS_CONFIG_ID'\"}'",
        "claudeCode": "claude mcp add --transport http infobip-voice https://mcp.infobip.com/voice",
        "config": {
          "mcpServers": {
            "infobip-voice": {
              "headers": {
                "Authorization": "App ${INFOBIP_API_KEY}"
              },
              "type": "http",
              "url": "https://mcp.infobip.com/voice"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/voice.calls",
        "tool": "https://letme.dev/infobip-calls"
      },
      "sameCompany": [
        "infobip"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "US outbound",
          "unit": "call-minute",
          "usd": 0.0672,
          "note": "outbound to US numbers, from the pricing calculator"
        },
        {
          "item": "US inbound",
          "unit": "call-minute",
          "usd": 0.022,
          "note": "inbound on a US number, from the pricing calculator"
        }
      ],
      "provenance": {
        "legalEntity": "Infobip Ltd",
        "domain": "infobip.com",
        "domainRegistered": "2003-10-16",
        "endpointOnVendorDomain": true,
        "terms": "https://www.infobip.com/policies/service-terms-conditions",
        "privacy": "https://www.infobip.com/policies/privacy-notice",
        "statusPage": "https://status.infobip.com",
        "changelog": "https://www.infobip.com/docs/release-notes",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "Provenance shared with the Infobip messaging listing."
        ],
        "score": 98
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/infobip-calls.json",
      "live": {
        "slug": "infobip-calls",
        "probe": {
          "target": "https://api.infobip.com/calls/1",
          "method": "get",
          "lastAt": "2026-11-07T18:20:31.81560536Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 216,
          "authRequired": false,
          "uptime24h": 99.58,
          "uptime30d": 98.71,
          "p50ms24h": 135,
          "p95ms24h": 216,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 271
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 261
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 246
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 246
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 246
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 246
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 246
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 251
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 251
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 255
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 246
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 245
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 249
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 251
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 244
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 249
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 249
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 248
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 246
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 246
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 241
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 246
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 247
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 245
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 244
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 242
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 181
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 238
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 186
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.infobip.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:16.838258768Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@infobip-api/sdk",
            "version": "0.3.2",
            "seenAt": "2026-11-06T23:34:34.831985584Z"
          },
          {
            "registry": "pypi",
            "name": "infobip-api-python-client",
            "version": "6.0.0",
            "released": "2026-01-22",
            "seenAt": "2026-11-06T23:34:35.233294041Z"
          },
          {
            "registry": "pypi",
            "name": "infobip-api-python-sdk",
            "version": "5.0.1",
            "released": "2023-05-26",
            "seenAt": "2026-11-04T20:25:59.99518902Z"
          }
        ],
        "githubStars": 36,
        "npmWeekly": 12888,
        "pypiWeekly": 12644,
        "securityTxt": {
          "url": "https://infobip.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-01-01T00:00:00.000Z",
          "checkedAt": "2026-11-07T16:00:01.66303421Z"
        },
        "llmsTxt": {
          "url": "https://www.infobip.com/docs/llms.txt",
          "ok": false,
          "status": 404,
          "checkedAt": "2026-11-07T15:32:45.034533531Z"
        },
        "domain": {
          "domain": "infobip.com",
          "registered": "2003-10-16",
          "source": "https://rdap.verisign.com/com/v1/domain/infobip.com",
          "checkedAt": "2026-11-01T14:18:02.516758369Z"
        },
        "pages": [
          {
            "url": "https://www.infobip.com/docs/release-notes",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T14:30:09.799127692Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0e41c8aee7d5"
          },
          {
            "url": "https://www.infobip.com/voice/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-07T14:30:20.272870041Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fdabc9864a44"
          },
          {
            "url": "https://www.infobip.com/policies/privacy-notice",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:30:11.923341766Z",
            "changedAt": "2026-10-24T02:32:54.284282976Z",
            "fingerprint": "8aebce831c25"
          },
          {
            "url": "https://www.infobip.com/policies/service-terms-conditions",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:30:13.893381101Z",
            "changedAt": "2026-10-07T18:12:26.707570101Z",
            "fingerprint": "0efca67812d6"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.infobip.com/voice",
          "checkedAt": "2026-11-07T01:45:21.855802704Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:45:21.855802704Z"
        },
        "github": {
          "repo": "infobip/mcp",
          "checkedAt": "2026-11-02T08:56:12.299109028Z",
          "stars": 36,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-09-28T07:54:03Z",
          "openIssues": 0,
          "openPRs": 17,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 1
        },
        "updatedAt": "2026-11-07T18:21:16.838258768Z"
      }
    },
    "edges": [
      {
        "by": 48,
        "category": "maintenance",
        "leads": "infobip-calls",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "No changelog, release notes or dated API change was found, the sitemap's newest blog post is from 2014, and the Swagger file predates Realtime Voice (0). No dated changes in the 90 days from 8 August (0). Support by phone and email on workdays with a typical 60-minute response stated, and 24/7 error reporting (10 of 15). No official SDK (0). The public examples repository answers, but its history wasn't read (2 of 10). 0+0+10+0+2 = 12.",
          "b": "The Jasper release notes of 14 October 2026 include Subscriptions sending the same event to multiple webhooks, the route Calls API events take (30). Two dated release entries in the 90 days from 6 August (Ink on 9 September, Jasper on 14 October) and one dated MCP repository change adding a non-voice server (12 September), read as the Infobip messaging listing reads its launches (10 of 20). Closed service with release notes and support (8 of 15). The official Python client 6.0.0 (22 January 2026) covers the Voice and Calls APIs, while the JavaScript SDK's last release was in 2023, the reading the Infobip messaging listing takes (10 of 15). The JavaScript SDK's dependencies are stale (2 of 10). 30 + 10 + 8 + 10 + 2 = 60."
        },
        "scores": {
          "a": 12,
          "b": 60
        }
      },
      {
        "by": 32,
        "category": "security",
        "leads": "infobip-calls",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "HTTP Basic credentials per account, with separate credentials per subaccount and no scopes found (18 of 30). Subaccounts separate traffic, with no read-only credential or confirmation for paid actions (6 of 20). Callers' speech, DTMF and SMS replies reach the agent as untrusted input. The docs show how to verify callback origin, with no prompt-injection guidance (5 of 15). Call, SMS and recording history through the API for 90 days (8 of 15). A registered Swedish telecom operator, but no security.txt (404), disclosure policy, bug bounty or certification was found (3 of 20). 18+6+5+8+3 = 40.",
          "b": "API keys with scopes, expiry dates and optional IP allowlists, plus OAuth 2.0. The hosted Voice MCP accepts OAuth 2.1 with discovery (30). Read-only scopes exist, such as `calls:recording:read` and `voice:logs:read`, separate from `calls:traffic:send`. No confirmation step for dialling in the MCP (15 of 20). Calls carry untrusted caller speech. Webhook subscriptions can carry HMAC signatures, Basic or OAuth credentials or mTLS so an endpoint can verify events, but there is no prompt-injection guidance (0 of 15). Voice logs and delivery reports by API (10 of 15). security.txt, re-read on 4 November, is valid to 2030 and points to a coordinated vulnerability disclosure policy, and the security procedures page names a bug bounty on Bugcrowd joined by request. ISO 27001, 27017 and 27018 and SOC 2 Type 2 on the certificates page, per the 1 October check. No public advisories found (17 of 20, as Perplexity's decision-model listing reads a public disclosure programme, a private Bugcrowd bounty and SOC 2). 30 + 15 + 0 + 10 + 17 = 72."
        },
        "scores": {
          "a": 40,
          "b": 72
        }
      },
      {
        "by": 24,
        "category": "schema",
        "leads": "infobip-calls",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "A Swagger 2.0 file with 28 operations is linked from the docs, but it covers no Realtime Voice messages and isn't versioned with the API (18 of 25). An llms.txt written for agents, with a task-to-endpoint table and webhook payloads, while docs pages are HTML (10). Each docs page explains parameters and when webhooks fire, such as `voice_start` loading only once a call connects (14 of 20). Form-encoded parameters with types in the Swagger file and few enums (9 of 15). Examples in many languages and a JSON error shape, with no error list (10 of 15). The `/a1/` path, with no changelog found (5 of 15). 18+10+14+9+10+5 = 66.",
          "b": "One OpenAPI 3.1 spec for the platform at api.infobip.com/platform/1/openapi, per the 1 October check, not re-read on 4 November (25). llms.txt at infobip.com/docs/llms.txt, re-read (10). Calls API pages explain calls configurations, events and the two WebSocket options (14 of 20). Typed JSON bodies from the spec (13 of 15). Examples and an error code reference with a handling-errors guide (13 of 15). Versioned /calls/1 path, an API versioning page and dated release notes (15)."
        },
        "scores": {
          "a": 66,
          "b": 90
        }
      },
      {
        "by": 20,
        "category": "transparency",
        "leads": "infobip-calls",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with clear terms naming 46elks AB with its Swedish registration (15 of 30). The privacy policy gives concrete retention, 60 days of traffic data under Swedish law, 14 days of troubleshooting logs and a 90-day history for the customer, with EU storage, and a GDPR page and data protection page exist (24 of 30). No deprecation policy or dated notices found (0 of 20). Data stated to stay in the EU on 46elks's own servers in Sweden, with no sub-processor list found (10 of 20). 15+24+0+10 = 49.",
          "b": "Closed service with clear service terms (15). Privacy notice, a data retention notice, a data transfer agreement, information security terms and a sub-processor page. We didn't check the retention notice against the voice docs (25 of 30). A deprecation policy, re-read on 4 November, says deprecated endpoints keep working until a sunset date, are flagged in the OpenAPI file and in Deprecation, Sunset and Link response headers, and trigger email to active users, but sets no fixed notice period, and no dated Calls API notice was found (10 of 20). The sub-processor page says where customer data is stored and accessed, has a separate list for the EU region-locked data centre, and has email alerts on changes (15 of 20). 15 + 25 + 10 + 15 = 65."
        },
        "scores": {
          "a": 62,
          "b": 82
        }
      },
      {
        "by": 15,
        "category": "reliability",
        "leads": "infobip-calls",
        "name": "Reliability",
        "reasons": {
          "a": "Graded on the hosted REST and Realtime Voice APIs with the hosted lines. A status page exists, linked from 46elks.com/status on UptimeRobot (20). It draws its data by script from a path its robots.txt disallows, so no history was readable (5). SMS sending speed is documented in the FAQ, but no limit for calls, numbers or WebSocket sessions was found (5 of 15). llms.txt says to retry 5xx with exponential backoff and not to retry 4xx unchanged, with no Retry-After or idempotency for `POST /calls` (7 of 15). The SLA page commits to support hours and 24/7 error reporting with no uptime figure, and extended SLAs are by sales (0). Voice and Realtime Voice carry no beta label (10). 20+5+5+7+0+10 = 47.",
          "b": "Statuspage at status.infobip.com with components and history (20). Its history pages, re-read on 4 November, list every incident touching voice since 6 August as partial. Multi-channel delays in several data centres on 26 August (21:02 to 22:12 UTC), intermittent HTTP API access in Global (Europe) on 26 August, a 15 August Global (Europe) degradation, 7 October SaaS and CPaaS degradation, a seven-minute Voice disruption in Colombia on 16 October and an EU Region-locked degradation naming Voice on 19 October. Each names one region, one country or delays, so minor only (20). The 26 and 27 September US numbers and SIP trunk work was an emergency maintenance. The 1 October third-party incident count (IsDown) is struck, a barred status mirror. The rate-limits page says each endpoint's reference lists its limits, but no Calls API numbers were read (0). The rate-limits and handling-errors pages give exponential backoff with a retry cap for 429, and say a retried send may run twice, there is no public idempotency key, and to check logs or delivery reports before retrying (12, safe-retry guidance without a key). No SLA found (0). Calls API is generally available (10). 20 + 20 + 0 + 12 + 0 + 10 = 62."
        },
        "scores": {
          "a": 47,
          "b": 62
        }
      },
      {
        "by": 11,
        "category": "ergonomics",
        "leads": "infobip-calls",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Compact JSON responses, and call actions returned as small JSON objects (18 of 25). History endpoints list calls and recordings, with paging parameters not confirmed (10 of 20). Errors carry `error` and `detail` (12 of 20). No idempotency key on `POST /calls` or number allocation (3 of 20). Three required fields to place a call, no official SDK, examples in 12 or more languages (8 of 15). 18+10+12+3+8 = 51.",
          "b": "Call and log lists take page and size, with no field selection (15 of 25). Filters on call lists and voice logs (15 of 20). An error code reference and a handling-errors guide that says which errors to retry (15 of 20). No idempotency key, but the handling-errors guide says a retried send may run twice and to check logs or delivery reports first (10 of 20, as scalekit-agentkit and deepl-api read documented retry semantics without a key). Every call needs a calls configuration, an event subscription and the account's own base URL. The official Python client (6.0.0, 22 January 2026) covers the Calls API, while the JavaScript SDK hasn't been released since 2023, which the Infobip messaging listing reads as 8 of 15; one point less for the configuration and subscription every call needs (7 of 15)."
        },
        "scores": {
          "a": 51,
          "b": 62
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "46elks AB",
        "b": "Infobip",
        "name": "Vendor"
      },
      {
        "a": "https://api.46elks.com/a1",
        "b": "https://api.infobip.com/calls/1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, websocket",
        "b": "HTTP, Streamable HTTP, SSE (legacy)",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "$0.017 per minute of call",
        "b": "not published",
        "name": "Price for phone calls"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the 46elks Terms of Service (effective 12 March 2024). Example code and the Swagger file are in the public 46elks-getting-started repository",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "com.infobip/mcp",
        "name": "MCP registry"
      },
      {
        "a": "2024-03-12",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2018-05-20",
        "b": "2026-01-22",
        "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": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "36 stars, 18k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Infobip Calls API + MCP scores 65.9 (B) on agent readiness against 46elks Voice API's 44.4 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, 46elks Voice API or Infobip Calls API + MCP?"
      },
      {
        "answer": "46elks Voice API needs an API key. Infobip Calls API + MCP takes an API key or an OAuth sign-in.",
        "question": "Do 46elks Voice API and Infobip Calls API + MCP need an API key?"
      },
      {
        "answer": "Yes. 46elks Voice API has a hosted endpoint at https://api.46elks.com/a1 and Infobip Calls API + MCP at https://api.infobip.com/calls/1.",
        "question": "Can an agent call 46elks Voice API and Infobip Calls API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "European teams that want EU-resident calling and numbers with a simple REST API and a WebSocket bridge to an AI agent.",
        "slug": "46elks",
        "watchFor": "No changelog or dated API release found"
      },
      {
        "aheadOn": [
          "Reliability, 62 against 47",
          "Schema \u0026 documentation, 90 against 66",
          "Agent ergonomics, 62 against 51",
          "Security \u0026 auth, 72 against 40",
          "Payments \u0026 pricing, 30 against 20",
          "Maintenance \u0026 community, 60 against 12",
          "Transparency \u0026 trust, 82 against 62"
        ],
        "also": null,
        "goodFor": "Teams already on Infobip messaging, or that need one vendor for PSTN, SIP, WebRTC and WhatsApp calling across many countries with tightly scoped keys.",
        "slug": "infobip-calls",
        "watchFor": "US outbound at about $0.067 a minute, several times Plivo, SignalWire or Telnyx"
      }
    ],
    "history": {
      "46elks": null,
      "infobip-calls": [
        {
          "causes": [
            "evidence",
            "correction"
          ],
          "date": "2026-11-04",
          "delta": 5.5,
          "from": 60.4,
          "fromGrade": "C",
          "to": 65.9,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 60.3,
          "fromGrade": "C",
          "to": 60.4,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 60.5,
          "fromGrade": "C",
          "to": 60.3,
          "toGrade": "C"
        }
      ]
    },
    "job": {
      "capability": "voice.calls",
      "name": "Phone calls"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/46elks-vs-bandwidth-voice.json",
        "title": "46elks Voice API vs Bandwidth Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-bandwidth-voice"
      },
      {
        "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-exotel-voice.json",
        "title": "46elks Voice API vs Exotel Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-exotel-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/46elks-vs-jambonz.json",
        "title": "46elks Voice API vs jambonz",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-jambonz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/46elks-vs-livekit-telephony.json",
        "title": "46elks Voice API vs LiveKit Telephony",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-livekit-telephony"
      },
      {
        "json": "https://www.anchorterminal.com/compare/46elks-vs-plivo-voice.json",
        "title": "46elks Voice API vs Plivo Voice API",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-plivo-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/46elks-vs-signalwire-voice.json",
        "title": "46elks Voice API vs SignalWire Voice API",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-signalwire-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/46elks-vs-sinch-voice.json",
        "title": "46elks Voice API vs Sinch Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-sinch-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/46elks-vs-telnyx-voice.json",
        "title": "46elks Voice API vs Telnyx Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-telnyx-voice"
      },
      {
        "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/46elks-vs-vonage-voice.json",
        "title": "46elks Voice API vs Vonage Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-vonage-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/46elks-vs-voximplant.json",
        "title": "46elks Voice API vs Voximplant",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-voximplant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-infobip-calls.json",
        "title": "Bandwidth Voice API + MCP vs Infobip Calls API + MCP",
        "url": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-infobip-calls"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exotel-voice-vs-infobip-calls.json",
        "title": "Exotel Voice API + MCP vs Infobip Calls API + MCP",
        "url": "https://www.anchorterminal.com/compare/exotel-voice-vs-infobip-calls"
      },
      {
        "json": "https://www.anchorterminal.com/compare/infobip-calls-vs-jambonz.json",
        "title": "Infobip Calls API + MCP vs jambonz",
        "url": "https://www.anchorterminal.com/compare/infobip-calls-vs-jambonz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/infobip-calls-vs-livekit-telephony.json",
        "title": "Infobip Calls API + MCP vs LiveKit Telephony",
        "url": "https://www.anchorterminal.com/compare/infobip-calls-vs-livekit-telephony"
      },
      {
        "json": "https://www.anchorterminal.com/compare/infobip-calls-vs-plivo-voice.json",
        "title": "Infobip Calls API + MCP vs Plivo Voice API",
        "url": "https://www.anchorterminal.com/compare/infobip-calls-vs-plivo-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/infobip-calls-vs-signalwire-voice.json",
        "title": "Infobip Calls API + MCP vs SignalWire Voice API",
        "url": "https://www.anchorterminal.com/compare/infobip-calls-vs-signalwire-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/infobip-calls-vs-sinch-voice.json",
        "title": "Infobip Calls API + MCP vs Sinch Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/infobip-calls-vs-sinch-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/infobip-calls-vs-telnyx-voice.json",
        "title": "Infobip Calls API + MCP vs Telnyx Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/infobip-calls-vs-telnyx-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/infobip-calls-vs-vonage-voice.json",
        "title": "Infobip Calls API + MCP vs Vonage Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/infobip-calls-vs-vonage-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/infobip-calls-vs-voximplant.json",
        "title": "Infobip Calls API + MCP vs Voximplant",
        "url": "https://www.anchorterminal.com/compare/infobip-calls-vs-voximplant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/46elks-vs-didww-voice-and-number-management.json",
        "title": "46elks Voice API vs DIDWW Voice and Number Management API",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-didww-voice-and-number-management"
      },
      {
        "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/didww-voice-and-number-management-vs-infobip-calls.json",
        "title": "DIDWW Voice and Number Management API vs Infobip Calls API + MCP",
        "url": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-infobip-calls"
      }
    ],
    "panel": null,
    "scores": [
      {
        "46elks": 47,
        "by": 15,
        "edge": "infobip-calls",
        "infobip-calls": 62,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "46elks": 66,
        "by": 24,
        "edge": "infobip-calls",
        "infobip-calls": 90,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "46elks": 51,
        "by": 11,
        "edge": "infobip-calls",
        "infobip-calls": 62,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "46elks": 40,
        "by": 32,
        "edge": "infobip-calls",
        "infobip-calls": 72,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "46elks": 20,
        "by": 10,
        "edge": "infobip-calls",
        "infobip-calls": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "46elks": 12,
        "by": 48,
        "edge": "infobip-calls",
        "infobip-calls": 60,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "46elks": 62,
        "by": 20,
        "edge": "infobip-calls",
        "infobip-calls": 82,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Infobip Calls API + MCP scores 65.9 (B) on agent readiness against 46elks Voice API's 44.4 (E), and leads in every scored category. Both do phone calls.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "46elks": "46elks publishes per-minute prices, an agent-oriented llms.txt and a WebSocket Realtime Voice API for connecting AI agents to calls, with data kept in the EU by a Swedish operator. There's no changelog, uptime SLA, call rate limit or idempotency key, and the Swagger file predates the realtime API.",
      "infobip-calls": "API keys support call scopes, expiry and IP allowlists, with OAuth also available, and webhook events can be signed. Retry guidance warns that a resent request may run twice, with no idempotency key. US outbound calls cost about $0.067 a minute, and no Calls API rate limits or SLA were found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/46elks-vs-infobip-calls",
    "json": "https://www.anchorterminal.com/compare/46elks-vs-infobip-calls.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/46elks-vs-infobip-calls.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/46elks-vs-infobip-calls.min.md"
  },
  "markdown": "Infobip Calls API + MCP scores 65.9 (B) on agent readiness against 46elks Voice API's 44.4 (E), and leads in every scored category. Both do phone calls.\n\n- 46elks Voice API: grade E, 44.4/100, rank #1203 of 1486. Markdown https://www.anchorterminal.com/tools/46elks.md · JSON https://www.anchorterminal.com/api/v1/tools/46elks.json\n- Infobip Calls API + MCP: grade B, 65.9/100, rank #394 of 1486. Markdown https://www.anchorterminal.com/tools/infobip-calls.md · JSON https://www.anchorterminal.com/api/v1/tools/infobip-calls.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### 46elks Voice API (E)\n\nGood for: European teams that want EU-resident calling and numbers with a simple REST API and a WebSocket bridge to an AI agent.\n\nWatch for: No changelog or dated API release found\n\n### Infobip Calls API + MCP (B)\n\nGood for: Teams already on Infobip messaging, or that need one vendor for PSTN, SIP, WebRTC and WhatsApp calling across many countries with tightly scoped keys.\n\nAhead on:\n- Reliability, 62 against 47\n- Schema \u0026 documentation, 90 against 66\n- Agent ergonomics, 62 against 51\n- Security \u0026 auth, 72 against 40\n- Payments \u0026 pricing, 30 against 20\n- Maintenance \u0026 community, 60 against 12\n- Transparency \u0026 trust, 82 against 62\n\nWatch for: US outbound at about $0.067 a minute, several times Plivo, SignalWire or Telnyx\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Infobip Calls API + MCP +48\n\n- 46elks Voice API (12): No changelog, release notes or dated API change was found, the sitemap's newest blog post is from 2014, and the Swagger file predates Realtime Voice (0). No dated changes in the 90 days from 8 August (0). Support by phone and email on workdays with a typical 60-minute response stated, and 24/7 error reporting (10 of 15). No official SDK (0). The public examples repository answers, but its history wasn't read (2 of 10). 0+0+10+0+2 = 12.\n- Infobip Calls API + MCP (60): The Jasper release notes of 14 October 2026 include Subscriptions sending the same event to multiple webhooks, the route Calls API events take (30). Two dated release entries in the 90 days from 6 August (Ink on 9 September, Jasper on 14 October) and one dated MCP repository change adding a non-voice server (12 September), read as the Infobip messaging listing reads its launches (10 of 20). Closed service with release notes and support (8 of 15). The official Python client 6.0.0 (22 January 2026) covers the Voice and Calls APIs, while the JavaScript SDK's last release was in 2023, the reading the Infobip messaging listing takes (10 of 15). The JavaScript SDK's dependencies are stale (2 of 10). 30 + 10 + 8 + 10 + 2 = 60.\n\n### Security \u0026 auth: Infobip Calls API + MCP +32\n\n- 46elks Voice API (40): HTTP Basic credentials per account, with separate credentials per subaccount and no scopes found (18 of 30). Subaccounts separate traffic, with no read-only credential or confirmation for paid actions (6 of 20). Callers' speech, DTMF and SMS replies reach the agent as untrusted input. The docs show how to verify callback origin, with no prompt-injection guidance (5 of 15). Call, SMS and recording history through the API for 90 days (8 of 15). A registered Swedish telecom operator, but no security.txt (404), disclosure policy, bug bounty or certification was found (3 of 20). 18+6+5+8+3 = 40.\n- Infobip Calls API + MCP (72): API keys with scopes, expiry dates and optional IP allowlists, plus OAuth 2.0. The hosted Voice MCP accepts OAuth 2.1 with discovery (30). Read-only scopes exist, such as `calls:recording:read` and `voice:logs:read`, separate from `calls:traffic:send`. No confirmation step for dialling in the MCP (15 of 20). Calls carry untrusted caller speech. Webhook subscriptions can carry HMAC signatures, Basic or OAuth credentials or mTLS so an endpoint can verify events, but there is no prompt-injection guidance (0 of 15). Voice logs and delivery reports by API (10 of 15). security.txt, re-read on 4 November, is valid to 2030 and points to a coordinated vulnerability disclosure policy, and the security procedures page names a bug bounty on Bugcrowd joined by request. ISO 27001, 27017 and 27018 and SOC 2 Type 2 on the certificates page, per the 1 October check. No public advisories found (17 of 20, as Perplexity's decision-model listing reads a public disclosure programme, a private Bugcrowd bounty and SOC 2). 30 + 15 + 0 + 10 + 17 = 72.\n\n### Schema \u0026 documentation: Infobip Calls API + MCP +24\n\n- 46elks Voice API (66): A Swagger 2.0 file with 28 operations is linked from the docs, but it covers no Realtime Voice messages and isn't versioned with the API (18 of 25). An llms.txt written for agents, with a task-to-endpoint table and webhook payloads, while docs pages are HTML (10). Each docs page explains parameters and when webhooks fire, such as `voice_start` loading only once a call connects (14 of 20). Form-encoded parameters with types in the Swagger file and few enums (9 of 15). Examples in many languages and a JSON error shape, with no error list (10 of 15). The `/a1/` path, with no changelog found (5 of 15). 18+10+14+9+10+5 = 66.\n- Infobip Calls API + MCP (90): One OpenAPI 3.1 spec for the platform at api.infobip.com/platform/1/openapi, per the 1 October check, not re-read on 4 November (25). llms.txt at infobip.com/docs/llms.txt, re-read (10). Calls API pages explain calls configurations, events and the two WebSocket options (14 of 20). Typed JSON bodies from the spec (13 of 15). Examples and an error code reference with a handling-errors guide (13 of 15). Versioned /calls/1 path, an API versioning page and dated release notes (15).\n\n### Transparency \u0026 trust: Infobip Calls API + MCP +20\n\n- 46elks Voice API (62): Closed service with clear terms naming 46elks AB with its Swedish registration (15 of 30). The privacy policy gives concrete retention, 60 days of traffic data under Swedish law, 14 days of troubleshooting logs and a 90-day history for the customer, with EU storage, and a GDPR page and data protection page exist (24 of 30). No deprecation policy or dated notices found (0 of 20). Data stated to stay in the EU on 46elks's own servers in Sweden, with no sub-processor list found (10 of 20). 15+24+0+10 = 49.\n- Infobip Calls API + MCP (82): Closed service with clear service terms (15). Privacy notice, a data retention notice, a data transfer agreement, information security terms and a sub-processor page. We didn't check the retention notice against the voice docs (25 of 30). A deprecation policy, re-read on 4 November, says deprecated endpoints keep working until a sunset date, are flagged in the OpenAPI file and in Deprecation, Sunset and Link response headers, and trigger email to active users, but sets no fixed notice period, and no dated Calls API notice was found (10 of 20). The sub-processor page says where customer data is stored and accessed, has a separate list for the EU region-locked data centre, and has email alerts on changes (15 of 20). 15 + 25 + 10 + 15 = 65.\n\n### Reliability: Infobip Calls API + MCP +15\n\n- 46elks Voice API (47): Graded on the hosted REST and Realtime Voice APIs with the hosted lines. A status page exists, linked from 46elks.com/status on UptimeRobot (20). It draws its data by script from a path its robots.txt disallows, so no history was readable (5). SMS sending speed is documented in the FAQ, but no limit for calls, numbers or WebSocket sessions was found (5 of 15). llms.txt says to retry 5xx with exponential backoff and not to retry 4xx unchanged, with no Retry-After or idempotency for `POST /calls` (7 of 15). The SLA page commits to support hours and 24/7 error reporting with no uptime figure, and extended SLAs are by sales (0). Voice and Realtime Voice carry no beta label (10). 20+5+5+7+0+10 = 47.\n- Infobip Calls API + MCP (62): Statuspage at status.infobip.com with components and history (20). Its history pages, re-read on 4 November, list every incident touching voice since 6 August as partial. Multi-channel delays in several data centres on 26 August (21:02 to 22:12 UTC), intermittent HTTP API access in Global (Europe) on 26 August, a 15 August Global (Europe) degradation, 7 October SaaS and CPaaS degradation, a seven-minute Voice disruption in Colombia on 16 October and an EU Region-locked degradation naming Voice on 19 October. Each names one region, one country or delays, so minor only (20). The 26 and 27 September US numbers and SIP trunk work was an emergency maintenance. The 1 October third-party incident count (IsDown) is struck, a barred status mirror. The rate-limits page says each endpoint's reference lists its limits, but no Calls API numbers were read (0). The rate-limits and handling-errors pages give exponential backoff with a retry cap for 429, and say a retried send may run twice, there is no public idempotency key, and to check logs or delivery reports before retrying (12, safe-retry guidance without a key). No SLA found (0). Calls API is generally available (10). 20 + 20 + 0 + 12 + 0 + 10 = 62.\n\n### Agent ergonomics: Infobip Calls API + MCP +11\n\n- 46elks Voice API (51): Compact JSON responses, and call actions returned as small JSON objects (18 of 25). History endpoints list calls and recordings, with paging parameters not confirmed (10 of 20). Errors carry `error` and `detail` (12 of 20). No idempotency key on `POST /calls` or number allocation (3 of 20). Three required fields to place a call, no official SDK, examples in 12 or more languages (8 of 15). 18+10+12+3+8 = 51.\n- Infobip Calls API + MCP (62): Call and log lists take page and size, with no field selection (15 of 25). Filters on call lists and voice logs (15 of 20). An error code reference and a handling-errors guide that says which errors to retry (15 of 20). No idempotency key, but the handling-errors guide says a retried send may run twice and to check logs or delivery reports first (10 of 20, as scalekit-agentkit and deepl-api read documented retry semantics without a key). Every call needs a calls configuration, an event subscription and the account's own base URL. The official Python client (6.0.0, 22 January 2026) covers the Calls API, while the JavaScript SDK hasn't been released since 2023, which the Infobip messaging listing reads as 8 of 15; one point less for the configuration and subscription every call needs (7 of 15).\n\n## Score by category\n\n| Category | Weight | 46elks Voice API | Infobip Calls API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 47 | 62 | Infobip Calls API + MCP +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 66 | 90 | Infobip Calls API + MCP +24 |\n| Agent ergonomics | 13% (16.2 this run) | 51 | 62 | Infobip Calls API + MCP +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 72 | Infobip Calls API + MCP +32 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | Infobip Calls API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 12 | 60 | Infobip Calls API + MCP +48 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 82 | Infobip Calls API + MCP +20 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **44.4 · E** | **65.9 · B** | |\n\n## Facts side by side\n\n| Fact | 46elks Voice API | Infobip Calls API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | 46elks AB | Infobip |\n| Hosted endpoint | `https://api.46elks.com/a1` | `https://api.infobip.com/calls/1` |\n| Transports | HTTP, websocket | HTTP, Streamable HTTP, SSE (legacy) |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| Price for phone calls | $0.017 per minute of call | not published |\n| x402 | no | no |\n| Licence | Proprietary service under the 46elks Terms of Service (effective 12 March 2024). Example code and the Swagger file are in the public 46elks-getting-started repository | MIT |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `com.infobip/mcp` |\n| Terms last updated | 2024-03-12 | no date given |\n| Privacy policy last updated | 2018-05-20 | 2026-01-22 |\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 | yes | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | none | 36 stars, 18k npm/wk |\n| Agent reviews | none | 2/5 (2) |\n\n## How the scores have moved\n\n### 46elks Voice API\n\nNo score change since it was listed.\n\n### Infobip Calls API + MCP\n\n- +5.5 on 4 November 2026 (C to B): new evidence, correction\n- +0.1 on 27 October 2026: checklist\n- -0.2 on 8 October 2026: checklist\n\n## Verdicts\n\n**46elks Voice API.** 46elks publishes per-minute prices, an agent-oriented llms.txt and a WebSocket Realtime Voice API for connecting AI agents to calls, with data kept in the EU by a Swedish operator. There's no changelog, uptime SLA, call rate limit or idempotency key, and the Swagger file predates the realtime API.\n\n**Infobip Calls API + MCP.** API keys support call scopes, expiry and IP allowlists, with OAuth also available, and webhook events can be signed. Retry guidance warns that a resent request may run twice, with no idempotency key. US outbound calls cost about $0.067 a minute, and no Calls API rate limits or SLA were found.\n\n## Before you call either\n\n### 46elks Voice API\n\n1. Send numbers in E.164 format, such as +46700000000, or the request fails\n2. Pass `whenhangup` on `POST /calls` to learn when a call ends or fails to connect\n3. Don't retry a call request on a 4xx; retry 5xx with backoff, and check call history first to avoid a second call\n4. Treat caller speech, DTMF and SMS replies as untrusted input, and verify webhook origin\n5. Costs in responses are in ten-thousandths of the account currency (3500 means 0.35)\n\n### Infobip Calls API + MCP\n\n1. Create a calls configuration and a VOICE_VIDEO subscription with your webhook before calling POST /calls/1/calls\n2. Use your account's own base URL, not api.infobip.com\n3. On a timeout or 5xx, check call logs or events before resending, since Infobip has no idempotency key\n4. Attach HMAC authentication settings to the subscription and verify X-Hub-Signature on every event\n5. Give a monitoring agent a key with only `voice:logs:read` and `calls:recording:read`\n\n## Questions\n\n### Which is better for AI agents, 46elks Voice API or Infobip Calls API + MCP?\n\nInfobip Calls API + MCP scores 65.9 (B) on agent readiness against 46elks Voice API's 44.4 (E), and leads in every scored category.\n\n### Do 46elks Voice API and Infobip Calls API + MCP need an API key?\n\n46elks Voice API needs an API key. Infobip Calls API + MCP takes an API key or an OAuth sign-in.\n\n### Can an agent call 46elks Voice API and Infobip Calls API + MCP without installing anything?\n\nYes. 46elks Voice API has a hosted endpoint at https://api.46elks.com/a1 and Infobip Calls API + MCP at https://api.infobip.com/calls/1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/46elks-vs-infobip-calls.json, and with the fewest tokens: https://www.anchorterminal.com/compare/46elks-vs-infobip-calls.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"46elks\", \"b\": \"infobip-calls\"}`. From a terminal: `anchor compare 46elks infobip-calls`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/46elks.json and https://www.anchorterminal.com/api/v1/tools/infobip-calls.json\n\n## Other comparisons with 46elks Voice API or Infobip Calls API + MCP\n\n- [46elks Voice API vs Bandwidth Voice API + MCP](https://www.anchorterminal.com/compare/46elks-vs-bandwidth-voice.md)\n- [46elks Voice API vs didlogic Voice API](https://www.anchorterminal.com/compare/46elks-vs-didlogic.md)\n- [46elks Voice API vs Exotel Voice API + MCP](https://www.anchorterminal.com/compare/46elks-vs-exotel-voice.md)\n- [46elks Voice API vs jambonz](https://www.anchorterminal.com/compare/46elks-vs-jambonz.md)\n- [46elks Voice API vs LiveKit Telephony](https://www.anchorterminal.com/compare/46elks-vs-livekit-telephony.md)\n- [46elks Voice API vs Plivo Voice API](https://www.anchorterminal.com/compare/46elks-vs-plivo-voice.md)\n- [46elks Voice API vs SignalWire Voice API](https://www.anchorterminal.com/compare/46elks-vs-signalwire-voice.md)\n- [46elks Voice API vs Sinch Voice API + MCP](https://www.anchorterminal.com/compare/46elks-vs-sinch-voice.md)\n- [46elks Voice API vs Telnyx Voice API + MCP](https://www.anchorterminal.com/compare/46elks-vs-telnyx-voice.md)\n- [46elks Voice API vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/46elks-vs-twilio-voice.md)\n- [46elks Voice API vs Vonage Voice API + MCP](https://www.anchorterminal.com/compare/46elks-vs-vonage-voice.md)\n- [46elks Voice API vs Voximplant](https://www.anchorterminal.com/compare/46elks-vs-voximplant.md)\n- [Bandwidth Voice API + MCP vs Infobip Calls API + MCP](https://www.anchorterminal.com/compare/bandwidth-voice-vs-infobip-calls.md)\n- [Exotel Voice API + MCP vs Infobip Calls API + MCP](https://www.anchorterminal.com/compare/exotel-voice-vs-infobip-calls.md)\n- [Infobip Calls API + MCP vs jambonz](https://www.anchorterminal.com/compare/infobip-calls-vs-jambonz.md)\n- [Infobip Calls API + MCP vs LiveKit Telephony](https://www.anchorterminal.com/compare/infobip-calls-vs-livekit-telephony.md)\n- [Infobip Calls API + MCP vs Plivo Voice API](https://www.anchorterminal.com/compare/infobip-calls-vs-plivo-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 Sinch Voice API + MCP](https://www.anchorterminal.com/compare/infobip-calls-vs-sinch-voice.md)\n- [Infobip Calls API + MCP vs Telnyx Voice API + MCP](https://www.anchorterminal.com/compare/infobip-calls-vs-telnyx-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- [Infobip Calls API + MCP vs Vonage Voice API + MCP](https://www.anchorterminal.com/compare/infobip-calls-vs-vonage-voice.md)\n- [Infobip Calls API + MCP vs Voximplant](https://www.anchorterminal.com/compare/infobip-calls-vs-voximplant.md)\n- [46elks Voice API vs DIDWW Voice and Number Management API](https://www.anchorterminal.com/compare/46elks-vs-didww-voice-and-number-management.md)\n- [didlogic Voice API vs Infobip Calls API + MCP](https://www.anchorterminal.com/compare/didlogic-vs-infobip-calls.md)\n- [DIDWW Voice and Number Management API vs Infobip Calls API + MCP](https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-infobip-calls.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": "46elks Voice API vs Infobip Calls API + MCP",
        "url": ""
      }
    ],
    "description": "Infobip Calls scores 65.9 (B) to 46elks Voice's 44.4 (E) for phone calls. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "46elks Voice API E 44.4",
      "Infobip Calls API + MCP B 65.9",
      "scores"
    ],
    "h1": "46elks Voice API vs Infobip Calls API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/46elks-vs-infobip-calls",
    "published": "2026-10-01",
    "section": "tools",
    "title": "46elks Voice vs Infobip Calls for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/46elks-vs-infobip-calls"
  },
  "tokens": {
    "markdown": 4950,
    "slim": 2930
  },
  "version": 1
}
