{
  "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": "Plivo Voice API scores 63.8 (B) on agent readiness against 46elks Voice API's 44.4 (E), and leads in 6 of 7 scored categories. 46elks Voice API leads on schema \u0026 documentation.",
    "b": {
      "slug": "plivo-voice",
      "name": "Plivo Voice API",
      "vendor": "Plivo",
      "vendorUrl": "https://www.plivo.com",
      "kind": "http-api",
      "category": "voice-calling",
      "summary": "REST and XML call control for inbound and outbound PSTN calls, with bidirectional WebSocket audio streams, SIP trunking, recording and conferencing.",
      "url": "https://www.anchorterminal.com/tools/plivo-voice",
      "markdownUrl": "https://www.anchorterminal.com/tools/plivo-voice.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/plivo-voice.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/plivo-voice.json",
      "dns": "plivo-voice.grade.anchorterminal.com",
      "repo": "https://github.com/plivo/plivo-node",
      "license": "MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.plivo.com/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "plivo"
        },
        {
          "registry": "pypi",
          "name": "plivo"
        }
      ],
      "auth": "api-key",
      "authNotes": "HTTP Basic auth with Auth ID and Auth Token. The Auth ID also appears in every request path. Webhooks carry a signature you can validate.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go with $10 of trial credit and no card. US outbound $0.0115 a minute to local numbers and $0.006 to toll-free, inbound $0.0055 on local and $0.018 on toll-free numbers, SIP or browser legs $0.0033. Local numbers $0.50 a month, toll-free $1. Recording is free with 90 days of storage, then $0.0004 a minute. Transcription $0.0095 a minute, machine detection and conferencing free (https://www.plivo.com/voice/pricing/us/). Outside India, abandoned calls above 20 per cent of a month's calls cost $0.005 each and calls of 6 seconds or less above 10 per cent cost $0.015 each (https://www.plivo.com/docs/voice/concepts/account-limits).",
      "priceSummary": "$0.50 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or stablecoin payment path in the voice docs, pricing or llms.txt (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 102,
        "npmWeekly": 50920,
        "pypiWeekly": 69307,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://plivo.com/docs/voice",
      "llmsTxt": "https://www.plivo.com/docs/llms.txt",
      "capabilities": [
        "voice.calls",
        "voice.numbers",
        "voice.streaming",
        "voice.sip",
        "voice.recording",
        "voice.transfer"
      ],
      "tags": [
        "hosted",
        "no-card",
        "llms-txt",
        "typescript",
        "python",
        "webhooks",
        "streaming"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.8,
        "grade": "B",
        "agentReady": false,
        "rank": 495,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 78,
          "payments": 40,
          "reliability": 80,
          "schema": 59,
          "security": 50,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "US outbound at $0.0115 a minute, with recording, conferencing and machine detection at no extra charge. 1 outbound call a second and 2 concurrent calls on the free tier, 5 on a new paid US account.",
        "bestFor": "Cost-sensitive voice agents built on Pipecat, LiveKit, Vapi or Retell, and for India traffic.",
        "strengths": [
          "US outbound at $0.0115 a minute, with recording, conferencing and machine detection at no extra charge",
          "Bidirectional audio streams in linear PCM at 8, 16 or 24 kHz or mu-law at 8 kHz",
          "Published limits per plan, including concurrency and what happens above them",
          "$10 trial credit with no card",
          "An official CLI (v1.3.2, 28 October 2026) with JSON output, --dry-run and a --yes guard on spending and deletes"
        ],
        "weaknesses": [
          "1 outbound call a second and 2 concurrent calls on the free tier, 5 on a new paid US account",
          "No OpenAPI spec, availability SLA or DPA found",
          "No MCP server that can place calls, the official one searches docs only",
          "Call status webhooks failed for a subset of calls for about 6.5 hours on 25 August",
          "No scoped keys, security.txt or bug bounty, and the product changelog stops at January 2025"
        ],
        "agentNotes": [
          "Point the answer URL at XML with a Stream element and bidirectional set to true for a live voice agent",
          "Check concurrency before dialling out in bulk. Above it calls are rejected with hangup cause 5030, above CPS they queue",
          "Don't rely on the status callback alone to learn a call ended. Poll the call if the webhook doesn't arrive",
          "Validate webhook signatures before acting on call events"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.8
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 78,
          "payments": 40,
          "reliability": 80,
          "schema": 59,
          "security": 50,
          "transparency": 50
        },
        "provenanceScore": 91,
        "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://api.plivo.com/v1/Account/$PLIVO_AUTH_ID/Call/\" -u \"$PLIVO_AUTH_ID:$PLIVO_AUTH_TOKEN\" \\\n  -H \"Content-Type: application/json\" -d '{\"from\":\"+14155550100\",\"to\":\"+14155550101\",\"answer_url\":\"https://example.com/answer.xml\",\"answer_method\":\"GET\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/voice.calls",
        "tool": "https://letme.dev/plivo-voice"
      },
      "sameCompany": [
        "plivo"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "US outbound, local",
          "unit": "call-minute",
          "usd": 0.0115,
          "note": "outbound to US local numbers"
        },
        {
          "item": "US outbound, toll-free",
          "unit": "call-minute",
          "usd": 0.006,
          "note": "outbound to US toll-free numbers"
        },
        {
          "item": "US inbound, local number",
          "unit": "call-minute",
          "usd": 0.0055,
          "note": "inbound on a US local number"
        },
        {
          "item": "US inbound, toll-free number",
          "unit": "call-minute",
          "usd": 0.018,
          "note": "inbound on a US toll-free number"
        },
        {
          "item": "SIP or browser leg",
          "unit": "call-minute",
          "usd": 0.0033,
          "note": "inbound or outbound"
        },
        {
          "item": "US local number",
          "unit": "month",
          "usd": 0.5,
          "note": "per number"
        },
        {
          "item": "US toll-free number",
          "unit": "month",
          "usd": 1,
          "note": "per number"
        }
      ],
      "provenance": {
        "legalEntity": "Plivo Inc.",
        "domain": "plivo.com",
        "domainRegistered": "2011-04-17",
        "endpointOnVendorDomain": true,
        "terms": "https://www.plivo.com/legal/tos/",
        "privacy": "https://www.plivo.com/legal/privacy/",
        "statusPage": "https://status.plivo.com",
        "changelog": "https://www.plivo.com/changelog/",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "Provenance shared with the Plivo messaging listing. Legal entity taken from the site footer.",
          "www.plivo.com/.well-known/security.txt answered 404 on 4 November 2026. The changelog's newest entry is 6 January 2025."
        ],
        "score": 91
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/plivo-voice.json",
      "live": {
        "slug": "plivo-voice",
        "probe": {
          "target": "https://api.plivo.com/v1",
          "method": "get",
          "lastAt": "2026-11-07T18:20:47.765595656Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 461,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 339,
          "p95ms24h": 453,
          "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.plivo.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:55.243497768Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "plivo/plivo-node",
            "version": "v4.79.0",
            "released": "2026-07-28",
            "seenAt": "2026-11-06T23:57:08.711222771Z"
          },
          {
            "registry": "npm",
            "name": "plivo",
            "version": "4.79.0",
            "seenAt": "2026-11-06T23:57:07.733691466Z"
          },
          {
            "registry": "pypi",
            "name": "plivo",
            "version": "4.63.0",
            "released": "2026-09-25",
            "seenAt": "2026-11-06T23:57:08.502462767Z"
          }
        ],
        "githubStars": 102,
        "npmWeekly": 69590,
        "pypiWeekly": 100508,
        "securityTxt": {
          "url": "https://plivo.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:54.822715439Z"
        },
        "llmsTxt": {
          "url": "https://www.plivo.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:39.622847538Z"
        },
        "domain": {
          "domain": "plivo.com",
          "registered": "2011-04-17",
          "source": "https://rdap.verisign.com/com/v1/domain/plivo.com",
          "checkedAt": "2026-11-01T14:07:09.019989309Z"
        },
        "pages": [
          {
            "url": "https://www.plivo.com/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:33:07.054649823Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1fc13e7b957e"
          },
          {
            "url": "https://www.plivo.com/voice/pricing/us/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:33:15.149580739Z",
            "changedAt": "2026-11-06T13:53:49.084182397Z",
            "fingerprint": "0b415aef3656"
          },
          {
            "url": "https://www.plivo.com/legal/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:33:10.063828017Z",
            "changedAt": "2026-10-09T18:53:15.033918663Z",
            "fingerprint": "4c0621afed82"
          },
          {
            "url": "https://www.plivo.com/legal/tos/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:33:11.335464415Z",
            "changedAt": "2026-10-09T18:53:16.338262989Z",
            "fingerprint": "9d6eb73a0227"
          }
        ],
        "github": {
          "repo": "plivo/plivo-node",
          "checkedAt": "2026-11-02T09:17:35.930062338Z",
          "stars": 102,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-15T05:51:45Z",
          "openIssues": 9,
          "openPRs": 35,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "ci": {
            "branch": "master",
            "runs": 17,
            "success": 8,
            "failure": 9,
            "other": 0,
            "latest": "failure",
            "latestAt": "2026-07-28T10:06:10Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 9,
            "medianDays": 13.9
          }
        },
        "updatedAt": "2026-11-07T18:21:55.243497768Z"
      }
    },
    "edges": [
      {
        "by": 66,
        "category": "maintenance",
        "leads": "plivo-voice",
        "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": "plivo-cli v1.3.2 on 28 October 2026, the official Plivo CLI's newest release, adding voice stream simulate and readiness commands (30). In the 90 days from 6 August, 13 plivo-cli releases from v0.3.0 (28 August) to v1.3.2 (v1.3.1 was tagged but never released), plivo-go 7.61.0, plivo-java 5.51.0 and plivo-dotnet 5.53.0 (19 August, Caller Reputation parameters) and plivo-python v4.63.0 (25 September, an auto-pagination fix), well over three (20). The product changelog's newest entry is 6 January 2025. Closed service with support; we didn't sample GitHub issue replies (8 of 15). Official SDKs current in several languages (15). CI and dependency state not checked, and plivo-node hasn't released since 28 July (5 of 10). 30 + 20 + 8 + 15 + 5 = 78."
        },
        "scores": {
          "a": 12,
          "b": 78
        }
      },
      {
        "by": 33,
        "category": "reliability",
        "leads": "plivo-voice",
        "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.plivo.com with components and a readable history feed (20). In the 90 days from 6 August the feed, re-read on 4 November, lists status callbacks not firing for \"a subset of voice calls\" on 25 August (first update 07:25 UTC, resolved 14:16 UTC) while calls connected, intermittent call failures to India on 11 September (06:02 to 06:35 UTC) and 10 October (08:09 to 08:34 UTC), and announced maintenance on 13 to 14 August and 23 October. Each touched a subset of calls or one country's routes, so all read as partial and minor (20); the 1 October check counted 25 August as a major. Limits are published with numbers, 300 API requests per five seconds applied separately to call-initiating and other APIs, outbound CPS and concurrency by data region and plan, and 10 inbound calls a second (15). 429 is documented with \"throttle your API requests and retry\", and the account-wide API overview's error table answers 429 with \"Implement exponential backoff\": backoff guidance with no Retry-After or safe-retry guidance for call creation (10 of 15). Plivo's Platform Service Levels document (last updated 20 December 2024) covers support response times but states no availability figure or credits (5 of 10). Voice API is generally available (10). 20 + 20 + 15 + 10 + 5 + 10 = 80."
        },
        "scores": {
          "a": 47,
          "b": 80
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "plivo-voice",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Per-minute prices by destination are public without login, also in kronor, with incoming calls free (20). No free credit; only SMS to the test number +46700000000 costs nothing, and accounts are prepaid or invoiced against a deposit (0). A person signs up in a browser and copies the credentials (0). 0+20+0+0 = 20.",
          "b": "No x402, MPP or L402 (0). US per-minute, number, recording and transcription prices published without a login (20). $10 trial credit without a card, per the pricing page cited in the listing (20). A person signs up in a browser and verifies a phone number (0)."
        },
        "scores": {
          "a": 20,
          "b": 40
        }
      },
      {
        "by": 19,
        "category": "ergonomics",
        "leads": "plivo-voice",
        "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": "List calls takes limit and offset, with no field selection (15 of 25). Call and recording lists filter by number, time and duration (20). HTTP errors plus documented hangup causes an agent can map to a fix (15 of 20). No idempotency key on call creation. Calls over the CPS limit are queued on the Voice API, and the only retry advice is to wait for active calls to end (5 of 20). Official SDKs in Node, Python and other languages, and a call needs from, to and answer_url (15)."
        },
        "scores": {
          "a": 51,
          "b": 70
        }
      },
      {
        "by": 10,
        "category": "security",
        "leads": "plivo-voice",
        "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": "HTTP Basic auth with an Auth ID and Auth Token per account or subaccount. No per-key scopes found (20). Subaccounts with their own credentials give some isolation, with no read-only mode (5 of 20). Calls carry untrusted caller speech. Webhooks are signed, and we found no prompt-injection guidance (5 of 15). Call detail records and recordings by API, no customer-facing audit log found (10 of 15). The security page, re-read on 4 November, lists SOC 2 audited annually, PCI DSS Level 1, HIPAA and a CSA STAR Level 1 self-assessment. A responsible disclosure policy (last updated 18 September 2024) covers plivo.com and Plivo's products and sends reports to security@plivo.com; the 1 October check missed it. No security.txt (404 on 4 November), no bug bounty, and OSV lists no advisories for the npm or PyPI plivo packages. Read as signalwire-voice (a disclosure policy and SOC 2, no bounty) (10 of 20). 20 + 5 + 5 + 10 + 10 = 50."
        },
        "scores": {
          "a": 40,
          "b": 50
        }
      },
      {
        "by": 9,
        "category": "transparency",
        "leads": "plivo-voice",
        "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 terms at plivo.com/legal/tos (15). Privacy policy, encryption at rest and in transit, recordings kept 90 days free, and a sub-processor list. We didn't find a DPA or call-log retention periods (20 of 30). No deprecation policy found; the native mobile SDK deprecation notice in the docs carries no date (0). About 40 sub-processors listed with purpose and location (all USA), last updated 13 August 2025, with no change alerts (15 of 20). 15 + 20 + 0 + 15 = 50."
        },
        "scores": {
          "a": 62,
          "b": 71
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "46elks AB",
        "b": "Plivo",
        "name": "Vendor"
      },
      {
        "a": "https://api.46elks.com/a1",
        "b": "https://api.plivo.com/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, websocket",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API 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": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "2024-03-12",
        "b": "2026-04-29",
        "name": "Terms last updated"
      },
      {
        "a": "2018-05-20",
        "b": "2026-05-27",
        "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": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "102 stars, 51k npm/wk, 69k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Plivo Voice API scores 63.8 (B) on agent readiness against 46elks Voice API's 44.4 (E), and leads in 6 of 7 scored categories. 46elks Voice API leads on schema \u0026 documentation.",
        "question": "Which is better for AI agents, 46elks Voice API or Plivo Voice API?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do 46elks Voice API and Plivo Voice API need an API key?"
      },
      {
        "answer": "Yes. 46elks Voice API has a hosted endpoint at https://api.46elks.com/a1 and Plivo Voice API at https://api.plivo.com/v1.",
        "question": "Can an agent call 46elks Voice API and Plivo Voice API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 66 against 59"
        ],
        "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, 80 against 47",
          "Agent ergonomics, 70 against 51",
          "Security \u0026 auth, 50 against 40",
          "Payments \u0026 pricing, 40 against 20",
          "Maintenance \u0026 community, 78 against 12",
          "Transparency \u0026 trust, 71 against 62"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Cost-sensitive voice agents built on Pipecat, LiveKit, Vapi or Retell, and for India traffic.",
        "slug": "plivo-voice",
        "watchFor": "1 outbound call a second and 2 concurrent calls on the free tier, 5 on a new paid US account"
      }
    ],
    "history": {
      "46elks": null,
      "plivo-voice": [
        {
          "causes": [
            "evidence",
            "correction"
          ],
          "date": "2026-11-04",
          "delta": 3.3,
          "from": 60.5,
          "fromGrade": "C",
          "to": 63.8,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 60.4,
          "fromGrade": "C",
          "to": 60.5,
          "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-infobip-calls.json",
        "title": "46elks Voice API vs Infobip Calls API + MCP",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-infobip-calls"
      },
      {
        "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-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-plivo-voice.json",
        "title": "Bandwidth Voice API + MCP vs Plivo Voice API",
        "url": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-plivo-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exotel-voice-vs-plivo-voice.json",
        "title": "Exotel Voice API + MCP vs Plivo Voice API",
        "url": "https://www.anchorterminal.com/compare/exotel-voice-vs-plivo-voice"
      },
      {
        "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/jambonz-vs-plivo-voice.json",
        "title": "jambonz vs Plivo Voice API",
        "url": "https://www.anchorterminal.com/compare/jambonz-vs-plivo-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-telephony-vs-plivo-voice.json",
        "title": "LiveKit Telephony vs Plivo Voice API",
        "url": "https://www.anchorterminal.com/compare/livekit-telephony-vs-plivo-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plivo-voice-vs-signalwire-voice.json",
        "title": "Plivo Voice API vs SignalWire Voice API",
        "url": "https://www.anchorterminal.com/compare/plivo-voice-vs-signalwire-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plivo-voice-vs-sinch-voice.json",
        "title": "Plivo Voice API vs Sinch Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/plivo-voice-vs-sinch-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plivo-voice-vs-telnyx-voice.json",
        "title": "Plivo Voice API vs Telnyx Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/plivo-voice-vs-telnyx-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/plivo-voice-vs-vonage-voice.json",
        "title": "Plivo Voice API vs Vonage Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/plivo-voice-vs-vonage-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plivo-voice-vs-voximplant.json",
        "title": "Plivo Voice API vs Voximplant",
        "url": "https://www.anchorterminal.com/compare/plivo-voice-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-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/didww-voice-and-number-management-vs-plivo-voice.json",
        "title": "DIDWW Voice and Number Management API vs Plivo Voice API",
        "url": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-plivo-voice"
      }
    ],
    "panel": null,
    "scores": [
      {
        "46elks": 47,
        "by": 33,
        "edge": "plivo-voice",
        "key": "reliability",
        "name": "Reliability",
        "plivo-voice": 80,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "46elks": 66,
        "by": 7,
        "edge": "46elks",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "plivo-voice": 59,
        "weight": 13
      },
      {
        "46elks": 51,
        "by": 19,
        "edge": "plivo-voice",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "plivo-voice": 70,
        "weight": 13
      },
      {
        "46elks": 40,
        "by": 10,
        "edge": "plivo-voice",
        "key": "security",
        "name": "Security \u0026 auth",
        "plivo-voice": 50,
        "weight": 14
      },
      {
        "46elks": 20,
        "by": 20,
        "edge": "plivo-voice",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "plivo-voice": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "46elks": 12,
        "by": 66,
        "edge": "plivo-voice",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "plivo-voice": 78,
        "weight": 7
      },
      {
        "46elks": 62,
        "by": 9,
        "edge": "plivo-voice",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "plivo-voice": 71,
        "weight": 7
      }
    ],
    "summary": "Plivo Voice API scores 63.8 (B) on agent readiness against 46elks Voice API's 44.4 (E), and leads in 6 of 7 scored categories. 46elks Voice API leads on schema \u0026 documentation. 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.",
      "plivo-voice": "US outbound at $0.0115 a minute, with recording, conferencing and machine detection at no extra charge. 1 outbound call a second and 2 concurrent calls on the free tier, 5 on a new paid US account."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/46elks-vs-plivo-voice",
    "json": "https://www.anchorterminal.com/compare/46elks-vs-plivo-voice.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/46elks-vs-plivo-voice.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/46elks-vs-plivo-voice.min.md"
  },
  "markdown": "Plivo Voice API scores 63.8 (B) on agent readiness against 46elks Voice API's 44.4 (E), and leads in 6 of 7 scored categories. 46elks Voice API leads on schema \u0026 documentation. 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- Plivo Voice API: grade B, 63.8/100, rank #495 of 1486. Markdown https://www.anchorterminal.com/tools/plivo-voice.md · JSON https://www.anchorterminal.com/api/v1/tools/plivo-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### 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\nAhead on:\n- Schema \u0026 documentation, 66 against 59\n\nWatch for: No changelog or dated API release found\n\n### Plivo Voice API (B)\n\nGood for: Cost-sensitive voice agents built on Pipecat, LiveKit, Vapi or Retell, and for India traffic.\n\nAhead on:\n- Reliability, 80 against 47\n- Agent ergonomics, 70 against 51\n- Security \u0026 auth, 50 against 40\n- Payments \u0026 pricing, 40 against 20\n- Maintenance \u0026 community, 78 against 12\n- Transparency \u0026 trust, 71 against 62\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: 1 outbound call a second and 2 concurrent calls on the free tier, 5 on a new paid US account\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Plivo Voice API +66\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- Plivo Voice API (78): plivo-cli v1.3.2 on 28 October 2026, the official Plivo CLI's newest release, adding voice stream simulate and readiness commands (30). In the 90 days from 6 August, 13 plivo-cli releases from v0.3.0 (28 August) to v1.3.2 (v1.3.1 was tagged but never released), plivo-go 7.61.0, plivo-java 5.51.0 and plivo-dotnet 5.53.0 (19 August, Caller Reputation parameters) and plivo-python v4.63.0 (25 September, an auto-pagination fix), well over three (20). The product changelog's newest entry is 6 January 2025. Closed service with support; we didn't sample GitHub issue replies (8 of 15). Official SDKs current in several languages (15). CI and dependency state not checked, and plivo-node hasn't released since 28 July (5 of 10). 30 + 20 + 8 + 15 + 5 = 78.\n\n### Reliability: Plivo Voice API +33\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- Plivo Voice API (80): Statuspage at status.plivo.com with components and a readable history feed (20). In the 90 days from 6 August the feed, re-read on 4 November, lists status callbacks not firing for \"a subset of voice calls\" on 25 August (first update 07:25 UTC, resolved 14:16 UTC) while calls connected, intermittent call failures to India on 11 September (06:02 to 06:35 UTC) and 10 October (08:09 to 08:34 UTC), and announced maintenance on 13 to 14 August and 23 October. Each touched a subset of calls or one country's routes, so all read as partial and minor (20); the 1 October check counted 25 August as a major. Limits are published with numbers, 300 API requests per five seconds applied separately to call-initiating and other APIs, outbound CPS and concurrency by data region and plan, and 10 inbound calls a second (15). 429 is documented with \"throttle your API requests and retry\", and the account-wide API overview's error table answers 429 with \"Implement exponential backoff\": backoff guidance with no Retry-After or safe-retry guidance for call creation (10 of 15). Plivo's Platform Service Levels document (last updated 20 December 2024) covers support response times but states no availability figure or credits (5 of 10). Voice API is generally available (10). 20 + 20 + 15 + 10 + 5 + 10 = 80.\n\n### Payments \u0026 pricing: Plivo Voice API +20\n\n- 46elks Voice API (20): No x402, MPP or L402 (0). Per-minute prices by destination are public without login, also in kronor, with incoming calls free (20). No free credit; only SMS to the test number +46700000000 costs nothing, and accounts are prepaid or invoiced against a deposit (0). A person signs up in a browser and copies the credentials (0). 0+20+0+0 = 20.\n- Plivo Voice API (40): No x402, MPP or L402 (0). US per-minute, number, recording and transcription prices published without a login (20). $10 trial credit without a card, per the pricing page cited in the listing (20). A person signs up in a browser and verifies a phone number (0).\n\n### Agent ergonomics: Plivo Voice API +19\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- Plivo Voice API (70): List calls takes limit and offset, with no field selection (15 of 25). Call and recording lists filter by number, time and duration (20). HTTP errors plus documented hangup causes an agent can map to a fix (15 of 20). No idempotency key on call creation. Calls over the CPS limit are queued on the Voice API, and the only retry advice is to wait for active calls to end (5 of 20). Official SDKs in Node, Python and other languages, and a call needs from, to and answer_url (15).\n\n### Security \u0026 auth: Plivo Voice API +10\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- Plivo Voice API (50): HTTP Basic auth with an Auth ID and Auth Token per account or subaccount. No per-key scopes found (20). Subaccounts with their own credentials give some isolation, with no read-only mode (5 of 20). Calls carry untrusted caller speech. Webhooks are signed, and we found no prompt-injection guidance (5 of 15). Call detail records and recordings by API, no customer-facing audit log found (10 of 15). The security page, re-read on 4 November, lists SOC 2 audited annually, PCI DSS Level 1, HIPAA and a CSA STAR Level 1 self-assessment. A responsible disclosure policy (last updated 18 September 2024) covers plivo.com and Plivo's products and sends reports to security@plivo.com; the 1 October check missed it. No security.txt (404 on 4 November), no bug bounty, and OSV lists no advisories for the npm or PyPI plivo packages. Read as signalwire-voice (a disclosure policy and SOC 2, no bounty) (10 of 20). 20 + 5 + 5 + 10 + 10 = 50.\n\n### Transparency \u0026 trust: Plivo Voice API +9\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- Plivo Voice API (71): Closed service with clear terms at plivo.com/legal/tos (15). Privacy policy, encryption at rest and in transit, recordings kept 90 days free, and a sub-processor list. We didn't find a DPA or call-log retention periods (20 of 30). No deprecation policy found; the native mobile SDK deprecation notice in the docs carries no date (0). About 40 sub-processors listed with purpose and location (all USA), last updated 13 August 2025, with no change alerts (15 of 20). 15 + 20 + 0 + 15 = 50.\n\n## Score by category\n\n| Category | Weight | 46elks Voice API | Plivo Voice API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 47 | 80 | Plivo Voice API +33 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 66 | 59 | 46elks Voice API +7 |\n| Agent ergonomics | 13% (16.2 this run) | 51 | 70 | Plivo Voice API +19 |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 50 | Plivo Voice API +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 40 | Plivo Voice API +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 12 | 78 | Plivo Voice API +66 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 71 | Plivo Voice API +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **44.4 · E** | **63.8 · B** | |\n\n## Facts side by side\n\n| Fact | 46elks Voice API | Plivo Voice API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | 46elks AB | Plivo |\n| Hosted endpoint | `https://api.46elks.com/a1` | `https://api.plivo.com/v1` |\n| Transports | HTTP, websocket | HTTP |\n| Auth | API key | API 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 | no |\n| llms.txt | yes | yes |\n| Last release | none | 2026-10-28 |\n| Terms last updated | 2024-03-12 | 2026-04-29 |\n| Privacy policy last updated | 2018-05-20 | 2026-05-27 |\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 | yes |\n| Popularity | none | 102 stars, 51k npm/wk, 69k PyPI/wk |\n| Agent reviews | none | 3.5/5 (2) |\n\n## How the scores have moved\n\n### 46elks Voice API\n\nNo score change since it was listed.\n\n### Plivo Voice API\n\n- +3.3 on 4 November 2026 (C to B): new evidence, correction\n- +0.1 on 27 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**Plivo Voice API.** US outbound at $0.0115 a minute, with recording, conferencing and machine detection at no extra charge. 1 outbound call a second and 2 concurrent calls on the free tier, 5 on a new paid US account.\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### Plivo Voice API\n\n1. Point the answer URL at XML with a Stream element and bidirectional set to true for a live voice agent\n2. Check concurrency before dialling out in bulk. Above it calls are rejected with hangup cause 5030, above CPS they queue\n3. Don't rely on the status callback alone to learn a call ended. Poll the call if the webhook doesn't arrive\n4. Validate webhook signatures before acting on call events\n\n## Questions\n\n### Which is better for AI agents, 46elks Voice API or Plivo Voice API?\n\nPlivo Voice API scores 63.8 (B) on agent readiness against 46elks Voice API's 44.4 (E), and leads in 6 of 7 scored categories. 46elks Voice API leads on schema \u0026 documentation.\n\n### Do 46elks Voice API and Plivo Voice API need an API key?\n\nBoth need an API key.\n\n### Can an agent call 46elks Voice API and Plivo Voice API without installing anything?\n\nYes. 46elks Voice API has a hosted endpoint at https://api.46elks.com/a1 and Plivo Voice API at https://api.plivo.com/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/46elks-vs-plivo-voice.json, and with the fewest tokens: https://www.anchorterminal.com/compare/46elks-vs-plivo-voice.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"46elks\", \"b\": \"plivo-voice\"}`. From a terminal: `anchor compare 46elks plivo-voice`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/46elks.json and https://www.anchorterminal.com/api/v1/tools/plivo-voice.json\n\n## Other comparisons with 46elks Voice API or Plivo Voice API\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 Infobip Calls API + MCP](https://www.anchorterminal.com/compare/46elks-vs-infobip-calls.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 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 Plivo Voice API](https://www.anchorterminal.com/compare/bandwidth-voice-vs-plivo-voice.md)\n- [Exotel Voice API + MCP vs Plivo Voice API](https://www.anchorterminal.com/compare/exotel-voice-vs-plivo-voice.md)\n- [Infobip Calls API + MCP vs Plivo Voice API](https://www.anchorterminal.com/compare/infobip-calls-vs-plivo-voice.md)\n- [jambonz vs Plivo Voice API](https://www.anchorterminal.com/compare/jambonz-vs-plivo-voice.md)\n- [LiveKit Telephony vs Plivo Voice API](https://www.anchorterminal.com/compare/livekit-telephony-vs-plivo-voice.md)\n- [Plivo Voice API vs SignalWire Voice API](https://www.anchorterminal.com/compare/plivo-voice-vs-signalwire-voice.md)\n- [Plivo Voice API vs Sinch Voice API + MCP](https://www.anchorterminal.com/compare/plivo-voice-vs-sinch-voice.md)\n- [Plivo Voice API vs Telnyx Voice API + MCP](https://www.anchorterminal.com/compare/plivo-voice-vs-telnyx-voice.md)\n- [Plivo Voice API vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/plivo-voice-vs-twilio-voice.md)\n- [Plivo Voice API vs Vonage Voice API + MCP](https://www.anchorterminal.com/compare/plivo-voice-vs-vonage-voice.md)\n- [Plivo Voice API vs Voximplant](https://www.anchorterminal.com/compare/plivo-voice-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 Plivo Voice API](https://www.anchorterminal.com/compare/didlogic-vs-plivo-voice.md)\n- [DIDWW Voice and Number Management API vs Plivo Voice API](https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-plivo-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": "46elks Voice API vs Plivo Voice API",
        "url": ""
      }
    ],
    "description": "Plivo Voice scores 63.8 (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",
      "Plivo Voice API B 63.8",
      "scores"
    ],
    "h1": "46elks Voice API vs Plivo Voice API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/46elks-vs-plivo-voice",
    "published": "2026-10-01",
    "section": "tools",
    "title": "46elks Voice vs Plivo Voice for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/46elks-vs-plivo-voice"
  },
  "tokens": {
    "markdown": 4550,
    "slim": 2630
  },
  "version": 1
}
