{
  "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": "DIDWW Voice and Number Management API scores 64.7 (B) on agent readiness against 46elks Voice API's 44.4 (E), and leads in every scored category.",
    "b": {
      "slug": "didww-voice-and-number-management",
      "name": "DIDWW Voice and Number Management API",
      "vendor": "DIDWW Ireland Limited",
      "vendorUrl": "https://www.didww.com",
      "kind": "http-api",
      "category": "voice-calling",
      "summary": "DIDWW is a telecoms carrier selling phone numbers in more than 90 countries with inbound and outbound SIP trunking. Its REST API v3 orders numbers and configures trunks and capacity, and a remote MCP server covers the same account tasks.",
      "url": "https://www.anchorterminal.com/tools/didww-voice-and-number-management",
      "markdownUrl": "https://www.anchorterminal.com/tools/didww-voice-and-number-management.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/didww-voice-and-number-management.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/didww-voice-and-number-management.json",
      "dns": "didww-voice-and-number-management.grade.anchorterminal.com",
      "repo": "https://github.com/didww/didww-api-3-openapi",
      "license": "Proprietary service under the DIDWW Terms and Agreements (Rev 3.1). The OpenAPI repository and the official SDKs are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.didww.com/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@didww/sdk"
        },
        {
          "registry": "pypi",
          "name": "didww"
        }
      ],
      "auth": "api-key",
      "authNotes": "REST API v3 takes an API key in the `Api-Key` header with no `Bearer` prefix. Keys are created by a signed-in person in the User Panel under APIs, DIDWW API 3, with a friendly name and an optional source IP allow list. No scopes or read-only keys were found. Production and sandbox keys are separate. Access is self-serve after a browser sign-up with email confirmation. Outbound trunks need an approved application. The MCP server at `https://api.didww.com/mcp` uses OAuth 2.0 with PKCE and dynamic client registration, a browser sign-in and the user's panel roles, with tokens lasting two hours.",
      "pricing": "usage",
      "pricingNotes": "Number prices are public per prefix and country (monthly price, setup price and inbound per-minute rate), for example United States local numbers from $1.20 a month and $0.010 a minute inbound, with toll-free from $5.00 and UIFN from $25.00. Starting outbound per-minute rates are public per destination country (United States from $0.004 a minute); exact outbound rates and flat-rate channel prices come in price lists sent on request, inside an account or through the API. Accounts are free and prepaid in US dollars, with a $30 minimum balance before ordering. A number's one-time fee equals one month's charge and is waived for API orders. The sandbox is free and takes Stripe test cards (https://www.didww.com/pricing.md, prices generated 2026-10-30, checked 2026-11-02).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI document, the docs indexes, the authentication guide or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 10,
        "npmWeekly": 462,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://doc.didww.com/api3/2026-04-16/index.html",
      "llmsTxt": "https://doc.didww.com/llms.txt",
      "openapi": "https://doc.didww.com/openapi/2026-04-16/v3_api.json",
      "capabilities": [
        "voice.numbers",
        "voice.sip"
      ],
      "tags": [
        "hosted",
        "sip",
        "phone-numbers",
        "openapi",
        "llms-txt",
        "mcp",
        "oauth",
        "sandbox",
        "typescript",
        "python",
        "webhooks",
        "prepaid"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.7,
        "grade": "B",
        "agentReady": false,
        "rank": 456,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 8,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 77,
          "maintenance": 83,
          "payments": 27,
          "reliability": 71,
          "schema": 87,
          "security": 57,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-10-06: DIDWW changed how callbacks are signed and when they are sent on the released API version 2026-04-16. The OpenAPI revision of that day says it follows a platform change, after which callbacks are signed with a separate callback secret created in the User Panel instead of an API key with callbacks enabled, and nothing is sent to an account with no enabled callback secret. Receivers verifying with an API key, and accounts without a secret, are affected. No advance notice was found, the version's changelog page has no entry on 2 November, and the configuration page describes no migration. A published behaviour changed for existing clients with notice no earlier than the day it took effect takes -3 (https://github.com/didww/didww-api-3-openapi/commit/9ee36774515e26b433cf84c742ce7d30f8beed89, https://doc.didww.com/api3/2026-04-16/callbacks-details.html)"
        ],
        "verdict": "An OpenAPI 3.0.3 document with 107 operations, Markdown docs, a free sandbox, public number prices and SDKs in seven languages cover number ordering and SIP trunk set-up. API keys carry no scopes, orders have no idempotency key, and the 6 October change to callback signing came with no advance notice. Calls travel over SIP only.",
        "bestFor": "Teams that run their own SIP system, or a voice agent platform that accepts SIP trunks, and need numbers in many countries with compliance records handled through an API.",
        "strengths": [
          "A public OpenAPI 3.0.3 document describes 107 operations on 67 paths, and 105 of them carry a description of purpose and behaviour",
          "Every docs page has a Markdown twin, with llms.txt indexes on both sites, an OpenAPI discovery manifest and an MCP server card",
          "A sandbox at `https://sandbox-api.didww.com/v3` is free, separate from production, and funded with Stripe test cards",
          "The versioning policy says released dated API versions are never retired, and an account stays on its version until a person upgrades it",
          "The MCP server shows a server-side preview and waits for confirmation before purchases, deletions and PSTN rate acceptance, and a confirmation works once",
          "Official SDKs for TypeScript, Python, PHP, Java, Go, .NET and Ruby are public under MIT, with TypeScript v3.1.1 and Python v3.2.0 tagged on 7 October 2026",
          "Every number prefix is priced publicly, with monthly, setup and inbound per-minute rates by country"
        ],
        "weaknesses": [
          "Only starting outbound rates per country are public, and flat-rate channel prices aren't, though number prices are. A $30 balance is needed before ordering",
          "REST API keys reach the whole account. An optional source IP allow list is the only restriction, with no scopes and no read-only key",
          "No idempotency key was found on `POST /orders`, which charges the prepaid balance at once, so a retried request can buy twice",
          "The API cannot place, answer, record or stream a call. Calls run over the customer's own SIP system, and Call Events webhooks are switched on by support",
          "Outbound trunks need an approved application from a business account with a company name and VAT or tax ID",
          "Callback signing moved from an API key to a separate callback secret on 6 October 2026 with no advance notice found, and the 2026-04-16 changelog page doesn't record it",
          "No security.txt, disclosure policy, bug bounty, uptime SLA, data processing agreement or sub-processor list was found",
          "The terms forbid auto-dialling, telemarketing and continuous or extensive call forwarding, which matters before an agent places outbound calls"
        ],
        "agentNotes": [
          "Send `Api-Key: \u003ckey\u003e` with no `Bearer` prefix, plus `Accept: application/vnd.api+json`, and `Content-Type: application/vnd.api+json` on every request with a body",
          "Set `X-DIDWW-API-Version: 2026-04-16` on each request and read `meta.api_version` in the reply. A header older than the account's version is ignored",
          "Before retrying a timed-out `POST /orders`, list `GET /orders` first. The order is charged to the balance at once and no idempotency key exists",
          "Stay under 20 requests a second per key. On `429` wait before retrying, since no `Retry-After` header is documented",
          "Use `fields[...]`, `filter[...]`, `include` and `page[size]` (default 50, maximum 100) to keep JSON:API replies small",
          "Check `GET /address_requirements` before buying a number. Many countries need a verified identity and address, and the sandbox cannot run identity verification",
          "Create and enable a callback secret in the User Panel before relying on callbacks. Without one nothing is sent, and receivers must verify `X-DIDWW-Signature`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 64.7
          }
        ],
        "editorialScores": {
          "ergonomics": 77,
          "maintenance": 83,
          "payments": 27,
          "reliability": 71,
          "schema": 87,
          "security": 57,
          "transparency": 55
        },
        "provenanceScore": 86,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install @didww/sdk",
        "http": "GET https://api.didww.com/v3/countries\nApi-Key: YOUR_API_KEY\nX-DIDWW-API-Version: 2026-04-16\nAccept: application/vnd.api+json"
      },
      "letme": {
        "capability": "https://letme.dev/voice.numbers",
        "tool": "https://letme.dev/didww-voice-and-number-management"
      },
      "area": "voice",
      "provenance": {
        "legalEntity": "DIDWW Ireland Limited",
        "domain": "didww.com",
        "domainRegistered": "2006-01-16",
        "endpointOnVendorDomain": true,
        "terms": "https://www.didww.com/DIDWW-Terms-and-Agreements",
        "privacy": "https://www.didww.com/privacy-notice",
        "statusPage": "https://status.didww.com",
        "changelog": "https://doc.didww.com/api3/2026-04-16/changelog.html",
        "securityTxt": "none",
        "checked": "2026-11-02",
        "notes": [
          "The terms link is the DIDWW Terms and Agreements, Rev 3.1, copyright 2026, between the customer and DIDWW Ireland Limited of 25 North Wall Quay, Dublin 1. It covers all DIDWW services and refers to a Service Appendix.",
          "The Privacy Notice is Rev 2.1, copyright 2025. It gives the company number as 473521 and names gdpr@didww.com for requests. No data processing agreement or sub-processor list was found.",
          "The REST API and the MCP server answer on api.didww.com and the sandbox on sandbox-api.didww.com.",
          "The status page runs on Instatus with eight components, among them DIDWW API, Inbound Voice and Outbound Voice.",
          "https://www.didww.com/.well-known/security.txt returned 404 on 2026-10-09 and again on 2026-11-02.",
          "RDAP for didww.com gives a registration date of 2006-01-16.",
          "The changelog link is the page for API version 2026-04-16. Its entries are not dated. Dated revisions are in the commit history of github.com/didww/didww-api-3-openapi.",
          "No clause on automated access, scraping or benchmarking was found in the Terms and Agreements. robots.txt on www.didww.com and doc.didww.com allows the pages read.",
          "https://api.didww.com/robots.txt answered 403, so no request was sent to that host and the OAuth metadata was not read.",
          "status.didww.com's robots.txt answered a plain 404 (no rules) on 2026-11-02; its history.rss was read."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/didww-voice-and-number-management.json",
      "live": {
        "slug": "didww-voice-and-number-management",
        "probe": {
          "target": "https://api.didww.com/mcp",
          "method": "get",
          "lastAt": "2026-11-07T18:20:20.951790821Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 492,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 99.97,
          "p50ms24h": 407,
          "p95ms24h": 554,
          "samples24h": 239,
          "samples30d": 7205,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "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": 252
            },
            {
              "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": 247
            },
            {
              "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": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "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.didww.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:38.652340336Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@didww/sdk",
            "version": "3.1.1",
            "seenAt": "2026-11-06T23:21:14.088263657Z"
          },
          {
            "registry": "pypi",
            "name": "didww",
            "version": "3.2.0",
            "released": "2026-10-08",
            "seenAt": "2026-11-06T23:21:18.719106102Z"
          }
        ],
        "githubStars": 10,
        "npmWeekly": 685,
        "pypiWeekly": 1356,
        "securityTxt": {
          "url": "https://didww.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:00.662782916Z"
        },
        "llmsTxt": {
          "url": "https://doc.didww.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:17.236935847Z"
        },
        "domain": {
          "domain": "didww.com",
          "registered": "2006-01-16",
          "source": "https://rdap.verisign.com/com/v1/domain/didww.com",
          "checkedAt": "2026-11-01T14:11:41.435438414Z"
        },
        "pages": [
          {
            "url": "https://doc.didww.com/api3/2026-04-16/changelog.html",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T14:04:50.724453534Z",
            "changedAt": "2026-11-06T13:27:24.565918009Z",
            "fingerprint": "6661f4d6d221"
          },
          {
            "url": "https://www.didww.com/pricing.md",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-07T14:27:54.057234776Z",
            "changedAt": "2026-11-06T13:48:43.145837843Z",
            "fingerprint": "f9ed686a776d"
          },
          {
            "url": "https://www.didww.com/privacy-notice",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:27:56.045397148Z",
            "changedAt": "2026-11-06T13:48:45.714959363Z",
            "fingerprint": "66980ed17be7"
          },
          {
            "url": "https://www.didww.com/DIDWW-Terms-and-Agreements",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:27:52.027440948Z",
            "changedAt": "2026-11-06T13:48:40.395284975Z",
            "fingerprint": "5f4241812a08"
          }
        ],
        "github": {
          "repo": "didww/didww-api-3-openapi",
          "checkedAt": "2026-11-02T08:44:10.261176733Z",
          "stars": 10,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-22T11:53:49Z",
          "openIssues": 0,
          "openPRs": 0,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 24,
          "ci": {
            "branch": "main",
            "runs": 11,
            "success": 10,
            "failure": 1,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-22T11:07:21Z"
          }
        },
        "updatedAt": "2026-11-07T18:20:20.951790821Z"
      }
    },
    "edges": [
      {
        "by": 71,
        "category": "maintenance",
        "leads": "didww-voice-and-number-management",
        "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 public OpenAPI document was regenerated on 8 and 22 October 2026 (the 22 October revision corrects the `include` pattern and price examples, with the API itself unchanged), and the TypeScript SDK v3.1.1 and Python SDK v3.2.0 were tagged on 7 October 2026 (30). The OpenAPI repository has dated revisions of the 2026-04-16 document on 20, 25 and 31 August, 14 and 16 September and 6, 8 and 22 October 2026 (20). As a closed service, responsiveness is read from the public changelog, a support address with a stated 24 hour service, and GitHub, where a pull request from a fork of the TypeScript SDK was merged on 3 September 2026, a day after its commit, per the 9 October check (11 of 15). Official SDKs for seven languages follow API version 2026-04-16 (15). The SDK repositories carry CI workflows, tests and lock files. We did not see the latest run results (7 of 10). 30+20+11+15+7 = 83."
        },
        "scores": {
          "a": 12,
          "b": 83
        }
      },
      {
        "by": 26,
        "category": "ergonomics",
        "leads": "didww-voice-and-number-management",
        "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": "Sparse fieldsets with `fields[...]`, `include` for related resources and `page[size]` let a caller size replies. JSON:API envelopes add some weight (22 of 25). Pagination defaults to 50 and allows 100 a page, with documented filters and sorting on each collection (20). Errors are JSON:API objects with `title`, `detail`, `code` and `source.pointer`, and an insufficient balance error returns the order cost and the available balance (17 of 20). No idempotency key was found on `POST /orders`, which charges the balance at once, so a retried request can buy twice. Reservations and order polling help a caller check first, and MCP confirmations work once (5 of 20). Every request needs an `Accept` header and writes need a JSON:API body. Official SDKs exist for TypeScript, Python, PHP, Java, Go, .NET and Ruby (13 of 15). 22+20+17+5+13 = 77."
        },
        "scores": {
          "a": 51,
          "b": 77
        }
      },
      {
        "by": 24,
        "category": "reliability",
        "leads": "didww-voice-and-number-management",
        "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": "Graded as a hosted service on the REST API v3. A public status page on Instatus lists eight components, among them DIDWW API, Inbound Voice and Outbound Voice (20). Its history feed, re-read on 2 November, shows no incident on the API component in the 90 days from 4 August. Every incident in the window is limited to one country or one product. They are Inbound Voice for Mexico numbers on 3 October (3 hours 56 minutes) and 29 October (4 hours 31 minutes), Inbound Voice for Guatemala numbers on 4 October (13 hours 9 minutes) and 25 October (22 hours 5 minutes), Inbound and Outbound Voice for Greece on 19 October (26 minutes) and Nigeria on 29 October (1 hour 50 minutes), Inbound SMS for Sweden on 21 October and phone.systems on 5 October. Partial incidents read as minor, whatever their length, so minor incidents only (20, was 15, a value off the checklist). Rate limits are published as 20 requests a second per API key (15). `429` is documented with advice to wait before retrying. No `Retry-After` header and no idempotency key were found for the REST API. Callbacks are retried nine times at a widening interval (6 of 15). No SLA was found, and the terms give no warranty of continuous service (0). API v3 is generally available with a sandbox. Outbound trunks need an approved application (10). 20+20+15+6+0+10 = 71."
        },
        "scores": {
          "a": 47,
          "b": 71
        }
      },
      {
        "by": 21,
        "category": "schema",
        "leads": "didww-voice-and-number-management",
        "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": "A public OpenAPI 3.0.3 document for version 2026-04-16 describes 107 operations on 67 paths with 242 schemas, in JSON and YAML, with a discovery manifest at `/.well-known/openapi.json` (25). Both sites publish llms.txt indexes and a Markdown twin of each page (10). 105 of 107 operations carry a description, and those read say what the call does, what it charges and what to do next, such as polling an order until it leaves `pending` (16 of 20). The document has 325 enums, required fields and patterns, within JSON:API envelopes that need nested `data`, `attributes` and `relationships` objects (13 of 15). 52 of 107 operations have examples. Responses 400, 401, 403, 404, 406, 415 and 422 are documented and an error object page explains codes. `429` is in the prose docs and not in the OpenAPI responses (12 of 15). Versions are dated and selected by header, with a changelog page per version. Entries are not dated, and the callback secret change of 6 October 2026 is not on the 2026-04-16 changelog page (11 of 15). The OpenAPI document re-read on 2 November (revision of 22 October) still has 107 operations, 67 paths and 242 schemas. 25+10+16+13+12+11 = 87."
        },
        "scores": {
          "a": 66,
          "b": 87
        }
      },
      {
        "by": 17,
        "category": "security",
        "leads": "didww-voice-and-number-management",
        "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": "REST API keys are named, revocable and can be limited to source IP addresses. Several keys can exist. They reach the whole account, with no scopes (22 of 30). No read-only key was found and an order placed through the API is charged with no confirmation step. The sandbox is separate, panel users have six roles, and the MCP server applies those roles and a server-side preview and confirmation before purchases and deletions (9 of 20). API replies are mostly the account's own records. Free-text descriptions, caller numbers in call records and inbound SMS routed to the customer are untrusted, and the MCP docs warn that clients can make mistakes. No prompt-injection guidance was found (9 of 15). DID history records the method of each change, such as `api3` or `user_panel`, for 90 days, and connected MCP clients are listed with recent activity and IP address. No log of API requests was found (8 of 15). The docs say DIDWW holds ISO/IEC 27001:2022 certification from Bureau Veritas. The certificate was not seen. No security.txt (404 on 2 November), disclosure policy, bug bounty or published advisory was found. Callbacks are signed with HMAC SHA-1 (9 of 20). 22+9+9+8+9 = 57."
        },
        "scores": {
          "a": 40,
          "b": 57
        }
      },
      {
        "by": 9,
        "category": "transparency",
        "leads": "didww-voice-and-number-management",
        "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": "The service is closed, under the DIDWW Terms and Agreements, Rev 3.1, with a named Irish legal entity. The OpenAPI document and SDKs are MIT (17 of 30). The Privacy Notice, Rev 2.1, lists the data collected and the legal basis for each kind, and says data may be processed in the USA, Singapore and Germany among other countries. It gives no retention periods, and no data processing agreement was found. The MCP data handling page says what an MCP client receives and what DIDWW logs (14 of 30). A published policy says released dated API versions are not retired, and deprecated fields are marked in the schema. The callback change of 6 October 2026 altered a released version without an entry on its changelog page (16 of 20). Points of presence are listed with street addresses. No sub-processor list was found, and payment processors are not named in the notice (8 of 20). 17+14+16+8 = 55."
        },
        "scores": {
          "a": 62,
          "b": 71
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "46elks AB",
        "b": "DIDWW Ireland Limited",
        "name": "Vendor"
      },
      {
        "a": "https://api.46elks.com/a1",
        "b": "https://api.didww.com/mcp",
        "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": "$3.50 per month (plan)",
        "b": "not published",
        "name": "Price for phone numbers"
      },
      {
        "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": "Proprietary service under the DIDWW Terms and Agreements (Rev 3.1). The OpenAPI repository and the official SDKs are MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "2024-03-12",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2018-05-20",
        "b": "no date given",
        "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": "10 stars, 462 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.8/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "DIDWW Voice and Number Management API scores 64.7 (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 DIDWW Voice and Number Management API?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do 46elks Voice API and DIDWW Voice and Number Management API need an API key?"
      },
      {
        "answer": "Yes. 46elks Voice API has a hosted endpoint at https://api.46elks.com/a1 and DIDWW Voice and Number Management API at https://api.didww.com/mcp.",
        "question": "Can an agent call 46elks Voice API and DIDWW Voice and Number Management API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where DIDWW Voice and Number Management API loses 3 points for them"
        ],
        "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, 71 against 47",
          "Schema \u0026 documentation, 87 against 66",
          "Agent ergonomics, 77 against 51",
          "Security \u0026 auth, 57 against 40",
          "Payments \u0026 pricing, 27 against 20",
          "Maintenance \u0026 community, 83 against 12",
          "Transparency \u0026 trust, 71 against 62"
        ],
        "also": null,
        "goodFor": "Teams that run their own SIP system, or a voice agent platform that accepts SIP trunks, and need numbers in many countries with compliance records handled through an API.",
        "slug": "didww-voice-and-number-management",
        "watchFor": "Only starting outbound rates per country are public, and flat-rate channel prices aren't, though number prices are. A $30 balance is needed before ordering"
      }
    ],
    "history": {
      "46elks": null,
      "didww-voice-and-number-management": [
        {
          "causes": [
            "pricing",
            "correction",
            "event"
          ],
          "date": "2026-11-02",
          "delta": -0.5,
          "from": 65.2,
          "fromGrade": "B",
          "to": 64.7,
          "toGrade": "B"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 65.1,
          "fromGrade": "B",
          "to": 65.2,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "voice.numbers",
      "name": "Phone numbers"
    },
    "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-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-didww-voice-and-number-management.json",
        "title": "Bandwidth Voice API + MCP vs DIDWW Voice and Number Management API",
        "url": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-didww-voice-and-number-management"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-didww-voice-and-number-management.json",
        "title": "didlogic Voice API vs DIDWW Voice and Number Management API",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-didww-voice-and-number-management"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-exotel-voice.json",
        "title": "DIDWW Voice and Number Management API vs Exotel Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-exotel-voice"
      },
      {
        "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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-livekit-telephony.json",
        "title": "DIDWW Voice and Number Management API vs LiveKit Telephony",
        "url": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-livekit-telephony"
      },
      {
        "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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-signalwire-voice.json",
        "title": "DIDWW Voice and Number Management API vs SignalWire Voice API",
        "url": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-signalwire-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-sinch-voice.json",
        "title": "DIDWW Voice and Number Management API vs Sinch Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-sinch-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-telnyx-voice.json",
        "title": "DIDWW Voice and Number Management API vs Telnyx Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-telnyx-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-twilio-voice.json",
        "title": "DIDWW Voice and Number Management API vs Twilio Programmable Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-twilio-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-vonage-voice.json",
        "title": "DIDWW Voice and Number Management API vs Vonage Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-vonage-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-voximplant.json",
        "title": "DIDWW Voice and Number Management API vs Voximplant",
        "url": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-voximplant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-jambonz.json",
        "title": "DIDWW Voice and Number Management API vs jambonz",
        "url": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-jambonz"
      }
    ],
    "panel": null,
    "scores": [
      {
        "46elks": 47,
        "by": 24,
        "didww-voice-and-number-management": 71,
        "edge": "didww-voice-and-number-management",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "46elks": 66,
        "by": 21,
        "didww-voice-and-number-management": 87,
        "edge": "didww-voice-and-number-management",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "46elks": 51,
        "by": 26,
        "didww-voice-and-number-management": 77,
        "edge": "didww-voice-and-number-management",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "46elks": 40,
        "by": 17,
        "didww-voice-and-number-management": 57,
        "edge": "didww-voice-and-number-management",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "46elks": 20,
        "by": 7,
        "didww-voice-and-number-management": 27,
        "edge": "didww-voice-and-number-management",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "46elks": 12,
        "by": 71,
        "didww-voice-and-number-management": 83,
        "edge": "didww-voice-and-number-management",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "46elks": 62,
        "by": 9,
        "didww-voice-and-number-management": 71,
        "edge": "didww-voice-and-number-management",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "DIDWW Voice and Number Management API scores 64.7 (B) on agent readiness against 46elks Voice API's 44.4 (E), and leads in every scored category. Both do phone numbers.",
    "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.",
      "didww-voice-and-number-management": "An OpenAPI 3.0.3 document with 107 operations, Markdown docs, a free sandbox, public number prices and SDKs in seven languages cover number ordering and SIP trunk set-up. API keys carry no scopes, orders have no idempotency key, and the 6 October change to callback signing came with no advance notice. Calls travel over SIP only."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/46elks-vs-didww-voice-and-number-management",
    "json": "https://www.anchorterminal.com/compare/46elks-vs-didww-voice-and-number-management.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/46elks-vs-didww-voice-and-number-management.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/46elks-vs-didww-voice-and-number-management.min.md"
  },
  "markdown": "DIDWW Voice and Number Management API scores 64.7 (B) on agent readiness against 46elks Voice API's 44.4 (E), and leads in every scored category. Both do phone numbers.\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- DIDWW Voice and Number Management API: grade B, 64.7/100, rank #456 of 1486. Markdown https://www.anchorterminal.com/tools/didww-voice-and-number-management.md · JSON https://www.anchorterminal.com/api/v1/tools/didww-voice-and-number-management.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\nAlso in its favour:\n- No incidents deducted, where DIDWW Voice and Number Management API loses 3 points for them\n\nWatch for: No changelog or dated API release found\n\n### DIDWW Voice and Number Management API (B)\n\nGood for: Teams that run their own SIP system, or a voice agent platform that accepts SIP trunks, and need numbers in many countries with compliance records handled through an API.\n\nAhead on:\n- Reliability, 71 against 47\n- Schema \u0026 documentation, 87 against 66\n- Agent ergonomics, 77 against 51\n- Security \u0026 auth, 57 against 40\n- Payments \u0026 pricing, 27 against 20\n- Maintenance \u0026 community, 83 against 12\n- Transparency \u0026 trust, 71 against 62\n\nWatch for: Only starting outbound rates per country are public, and flat-rate channel prices aren't, though number prices are. A $30 balance is needed before ordering\n\n\n## Why the edge\n\n### Maintenance \u0026 community: DIDWW Voice and Number Management API +71\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- DIDWW Voice and Number Management API (83): The public OpenAPI document was regenerated on 8 and 22 October 2026 (the 22 October revision corrects the `include` pattern and price examples, with the API itself unchanged), and the TypeScript SDK v3.1.1 and Python SDK v3.2.0 were tagged on 7 October 2026 (30). The OpenAPI repository has dated revisions of the 2026-04-16 document on 20, 25 and 31 August, 14 and 16 September and 6, 8 and 22 October 2026 (20). As a closed service, responsiveness is read from the public changelog, a support address with a stated 24 hour service, and GitHub, where a pull request from a fork of the TypeScript SDK was merged on 3 September 2026, a day after its commit, per the 9 October check (11 of 15). Official SDKs for seven languages follow API version 2026-04-16 (15). The SDK repositories carry CI workflows, tests and lock files. We did not see the latest run results (7 of 10). 30+20+11+15+7 = 83.\n\n### Agent ergonomics: DIDWW Voice and Number Management API +26\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- DIDWW Voice and Number Management API (77): Sparse fieldsets with `fields[...]`, `include` for related resources and `page[size]` let a caller size replies. JSON:API envelopes add some weight (22 of 25). Pagination defaults to 50 and allows 100 a page, with documented filters and sorting on each collection (20). Errors are JSON:API objects with `title`, `detail`, `code` and `source.pointer`, and an insufficient balance error returns the order cost and the available balance (17 of 20). No idempotency key was found on `POST /orders`, which charges the balance at once, so a retried request can buy twice. Reservations and order polling help a caller check first, and MCP confirmations work once (5 of 20). Every request needs an `Accept` header and writes need a JSON:API body. Official SDKs exist for TypeScript, Python, PHP, Java, Go, .NET and Ruby (13 of 15). 22+20+17+5+13 = 77.\n\n### Reliability: DIDWW Voice and Number Management API +24\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- DIDWW Voice and Number Management API (71): Graded as a hosted service on the REST API v3. A public status page on Instatus lists eight components, among them DIDWW API, Inbound Voice and Outbound Voice (20). Its history feed, re-read on 2 November, shows no incident on the API component in the 90 days from 4 August. Every incident in the window is limited to one country or one product. They are Inbound Voice for Mexico numbers on 3 October (3 hours 56 minutes) and 29 October (4 hours 31 minutes), Inbound Voice for Guatemala numbers on 4 October (13 hours 9 minutes) and 25 October (22 hours 5 minutes), Inbound and Outbound Voice for Greece on 19 October (26 minutes) and Nigeria on 29 October (1 hour 50 minutes), Inbound SMS for Sweden on 21 October and phone.systems on 5 October. Partial incidents read as minor, whatever their length, so minor incidents only (20, was 15, a value off the checklist). Rate limits are published as 20 requests a second per API key (15). `429` is documented with advice to wait before retrying. No `Retry-After` header and no idempotency key were found for the REST API. Callbacks are retried nine times at a widening interval (6 of 15). No SLA was found, and the terms give no warranty of continuous service (0). API v3 is generally available with a sandbox. Outbound trunks need an approved application (10). 20+20+15+6+0+10 = 71.\n\n### Schema \u0026 documentation: DIDWW Voice and Number Management API +21\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- DIDWW Voice and Number Management API (87): A public OpenAPI 3.0.3 document for version 2026-04-16 describes 107 operations on 67 paths with 242 schemas, in JSON and YAML, with a discovery manifest at `/.well-known/openapi.json` (25). Both sites publish llms.txt indexes and a Markdown twin of each page (10). 105 of 107 operations carry a description, and those read say what the call does, what it charges and what to do next, such as polling an order until it leaves `pending` (16 of 20). The document has 325 enums, required fields and patterns, within JSON:API envelopes that need nested `data`, `attributes` and `relationships` objects (13 of 15). 52 of 107 operations have examples. Responses 400, 401, 403, 404, 406, 415 and 422 are documented and an error object page explains codes. `429` is in the prose docs and not in the OpenAPI responses (12 of 15). Versions are dated and selected by header, with a changelog page per version. Entries are not dated, and the callback secret change of 6 October 2026 is not on the 2026-04-16 changelog page (11 of 15). The OpenAPI document re-read on 2 November (revision of 22 October) still has 107 operations, 67 paths and 242 schemas. 25+10+16+13+12+11 = 87.\n\n### Security \u0026 auth: DIDWW Voice and Number Management API +17\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- DIDWW Voice and Number Management API (57): REST API keys are named, revocable and can be limited to source IP addresses. Several keys can exist. They reach the whole account, with no scopes (22 of 30). No read-only key was found and an order placed through the API is charged with no confirmation step. The sandbox is separate, panel users have six roles, and the MCP server applies those roles and a server-side preview and confirmation before purchases and deletions (9 of 20). API replies are mostly the account's own records. Free-text descriptions, caller numbers in call records and inbound SMS routed to the customer are untrusted, and the MCP docs warn that clients can make mistakes. No prompt-injection guidance was found (9 of 15). DID history records the method of each change, such as `api3` or `user_panel`, for 90 days, and connected MCP clients are listed with recent activity and IP address. No log of API requests was found (8 of 15). The docs say DIDWW holds ISO/IEC 27001:2022 certification from Bureau Veritas. The certificate was not seen. No security.txt (404 on 2 November), disclosure policy, bug bounty or published advisory was found. Callbacks are signed with HMAC SHA-1 (9 of 20). 22+9+9+8+9 = 57.\n\n### Transparency \u0026 trust: DIDWW Voice and Number Management 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- DIDWW Voice and Number Management API (71): The service is closed, under the DIDWW Terms and Agreements, Rev 3.1, with a named Irish legal entity. The OpenAPI document and SDKs are MIT (17 of 30). The Privacy Notice, Rev 2.1, lists the data collected and the legal basis for each kind, and says data may be processed in the USA, Singapore and Germany among other countries. It gives no retention periods, and no data processing agreement was found. The MCP data handling page says what an MCP client receives and what DIDWW logs (14 of 30). A published policy says released dated API versions are not retired, and deprecated fields are marked in the schema. The callback change of 6 October 2026 altered a released version without an entry on its changelog page (16 of 20). Points of presence are listed with street addresses. No sub-processor list was found, and payment processors are not named in the notice (8 of 20). 17+14+16+8 = 55.\n\n## Score by category\n\n| Category | Weight | 46elks Voice API | DIDWW Voice and Number Management API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 47 | 71 | DIDWW Voice and Number Management API +24 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 66 | 87 | DIDWW Voice and Number Management API +21 |\n| Agent ergonomics | 13% (16.2 this run) | 51 | 77 | DIDWW Voice and Number Management API +26 |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 57 | DIDWW Voice and Number Management API +17 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 27 | DIDWW Voice and Number Management API +7 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 12 | 83 | DIDWW Voice and Number Management API +71 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 71 | DIDWW Voice and Number Management API +9 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **44.4 · E** | **64.7 · B** | |\n\n## Facts side by side\n\n| Fact | 46elks Voice API | DIDWW Voice and Number Management API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | 46elks AB | DIDWW Ireland Limited |\n| Hosted endpoint | `https://api.46elks.com/a1` | `https://api.didww.com/mcp` |\n| Transports | HTTP, websocket | HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Pay per use |\n| Price for phone numbers | $3.50 per month (plan) | 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 | Proprietary service under the DIDWW Terms and Agreements (Rev 3.1). The OpenAPI repository and the official SDKs are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | none | 2026-10-07 |\n| Terms last updated | 2024-03-12 | no date given |\n| Privacy policy last updated | 2018-05-20 | no date given |\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 | 10 stars, 462 npm/wk |\n| Agent reviews | none | 2.8/5 (4) |\n\n## How the scores have moved\n\n### 46elks Voice API\n\nNo score change since it was listed.\n\n### DIDWW Voice and Number Management API\n\n- -0.5 on 2 November 2026: pricing, correction, negative event\n- +0.1 on 27 October 2026: new evidence\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**DIDWW Voice and Number Management API.** An OpenAPI 3.0.3 document with 107 operations, Markdown docs, a free sandbox, public number prices and SDKs in seven languages cover number ordering and SIP trunk set-up. API keys carry no scopes, orders have no idempotency key, and the 6 October change to callback signing came with no advance notice. Calls travel over SIP only.\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### DIDWW Voice and Number Management API\n\n1. Send `Api-Key: \u003ckey\u003e` with no `Bearer` prefix, plus `Accept: application/vnd.api+json`, and `Content-Type: application/vnd.api+json` on every request with a body\n2. Set `X-DIDWW-API-Version: 2026-04-16` on each request and read `meta.api_version` in the reply. A header older than the account's version is ignored\n3. Before retrying a timed-out `POST /orders`, list `GET /orders` first. The order is charged to the balance at once and no idempotency key exists\n4. Stay under 20 requests a second per key. On `429` wait before retrying, since no `Retry-After` header is documented\n5. Use `fields[...]`, `filter[...]`, `include` and `page[size]` (default 50, maximum 100) to keep JSON:API replies small\n6. Check `GET /address_requirements` before buying a number. Many countries need a verified identity and address, and the sandbox cannot run identity verification\n7. Create and enable a callback secret in the User Panel before relying on callbacks. Without one nothing is sent, and receivers must verify `X-DIDWW-Signature`\n\n## Questions\n\n### Which is better for AI agents, 46elks Voice API or DIDWW Voice and Number Management API?\n\nDIDWW Voice and Number Management API scores 64.7 (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 DIDWW Voice and Number Management API need an API key?\n\nBoth need an API key.\n\n### Can an agent call 46elks Voice API and DIDWW Voice and Number Management API without installing anything?\n\nYes. 46elks Voice API has a hosted endpoint at https://api.46elks.com/a1 and DIDWW Voice and Number Management API at https://api.didww.com/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/46elks-vs-didww-voice-and-number-management.json, and with the fewest tokens: https://www.anchorterminal.com/compare/46elks-vs-didww-voice-and-number-management.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"46elks\", \"b\": \"didww-voice-and-number-management\"}`. From a terminal: `anchor compare 46elks didww-voice-and-number-management`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/46elks.json and https://www.anchorterminal.com/api/v1/tools/didww-voice-and-number-management.json\n\n## Other comparisons with 46elks Voice API or DIDWW Voice and Number Management 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 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 DIDWW Voice and Number Management API](https://www.anchorterminal.com/compare/bandwidth-voice-vs-didww-voice-and-number-management.md)\n- [didlogic Voice API vs DIDWW Voice and Number Management API](https://www.anchorterminal.com/compare/didlogic-vs-didww-voice-and-number-management.md)\n- [DIDWW Voice and Number Management API vs Exotel Voice API + MCP](https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-exotel-voice.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- [DIDWW Voice and Number Management API vs LiveKit Telephony](https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-livekit-telephony.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- [DIDWW Voice and Number Management API vs SignalWire Voice API](https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-signalwire-voice.md)\n- [DIDWW Voice and Number Management API vs Sinch Voice API + MCP](https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-sinch-voice.md)\n- [DIDWW Voice and Number Management API vs Telnyx Voice API + MCP](https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-telnyx-voice.md)\n- [DIDWW Voice and Number Management API vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-twilio-voice.md)\n- [DIDWW Voice and Number Management API vs Vonage Voice API + MCP](https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-vonage-voice.md)\n- [DIDWW Voice and Number Management API vs Voximplant](https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-voximplant.md)\n- [DIDWW Voice and Number Management API vs jambonz](https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-jambonz.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 DIDWW Voice and Number Management API",
        "url": ""
      }
    ],
    "description": "DIDWW Voice and Number Management scores 64.7 (B) to 46elks Voice's 44.4 (E) for phone numbers. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "46elks Voice API E 44.4",
      "DIDWW Voice and Number Management API B 64.7",
      "scores"
    ],
    "h1": "46elks Voice API vs DIDWW Voice and Number Management API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/46elks-vs-didww-voice-and-number-management",
    "published": "2026-10-01",
    "section": "tools",
    "title": "46elks Voice vs DIDWW Voice and Number Management for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/46elks-vs-didww-voice-and-number-management"
  },
  "tokens": {
    "markdown": 5700,
    "slim": 3330
  },
  "version": 1
}
