{
  "data": {
    "a": {
      "slug": "bolna",
      "name": "Bolna API + MCP",
      "vendor": "Bolna",
      "vendorUrl": "https://www.bolna.ai",
      "kind": "http-api",
      "category": "voice-agents",
      "summary": "Voice-agent platform built for Indian languages and phone campaigns.",
      "url": "https://www.anchorterminal.com/tools/bolna",
      "markdownUrl": "https://www.anchorterminal.com/tools/bolna.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bolna.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bolna.json",
      "dns": "bolna.grade.anchorterminal.com",
      "repo": "https://github.com/bolna-ai/bolna",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.bolna.ai",
      "packages": [
        {
          "registry": "pypi",
          "name": "bolna"
        },
        {
          "registry": "npm",
          "name": "@bolna/web-call"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key (`bn-...`, or `sa-...` for a sub-account) from the dashboard, shown once and stored hashed. The hosted MCP at `https://mcp.bolna.ai/api/mcp` takes the same key as a Bearer header, and every MCP tool accepts an `api_key` argument to act as a sub-account. The Web Call SDK mints single-use browser sessions that expire in about 120 seconds, so the key stays server-side. Webhooks and tool calls carry no signature. Bolna says to allowlist its 3 source IPs instead.",
      "pricing": "usage",
      "pricingNotes": "Prepaid wallet from $10 to $5,000 with $5 free credit at signup. Standard rate $0.06 a minute (₹5.52) covers Voice AI on the preferred STT, LLM and TTS models, falling to about $0.045 on larger top-ups. Telephony and a Bolna platform fee are billed on top, and non-preferred models are billed per use. Pilot plans are one-off, $300 for 6,500 minutes or $500 for 12,000 minutes, billed in 30-second pulses with 25 concurrent calls. Bringing your own STT, LLM and TTS keys leaves only the platform fee and telephony. Enterprise is custom (https://www.bolna.ai/pricing).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in the docs, pricing page or MCP docs (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 117,
      "popularity": {
        "githubStars": 779,
        "npmWeekly": 579,
        "pypiWeekly": 2601,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.bolna.ai/docs",
      "llmsTxt": "https://www.bolna.ai/docs/llms.txt",
      "capabilities": [
        "voice.agent",
        "voice.pipeline",
        "voice.speech-to-speech",
        "voice.tools",
        "voice.telephony"
      ],
      "tags": [
        "hosted",
        "open-source",
        "self-hosted",
        "mcp",
        "llms-txt",
        "python",
        "typescript",
        "webhooks",
        "pipeline",
        "speech-to-speech",
        "enterprise"
      ],
      "lastRelease": "2026-11-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 44.7,
        "grade": "E",
        "agentReady": false,
        "rank": 1210,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 23,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 76,
          "payments": 30,
          "reliability": 40,
          "schema": 63,
          "security": 44,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": -6,
        "negativeNotes": [
          "-3, released fixes of the framework's own flaws with no advisory. 0.10.212 (27 August 2026) added an SSRF guard on customer-supplied custom LLM `base_url` values, and 0.10.254 (23 September 2026) stopped writing tool and BYOK credentials to the logs. osv.dev lists no advisory for `bolna` (https://github.com/bolna-ai/bolna/commit/2cda924cd4144c2b7534d7e5e37155bf369f91e7, https://github.com/bolna-ai/bolna/commit/9d752db)",
          "-3, same-day change. The changelog entry of 8 October 2026 says graph agent extract parameters with reserved names (`reasoning`, `confidence`, `recipient_data`, `detected_language`, and names starting with `_`) \"are now rejected when an agent is saved\", so saves that worked the day before fail, with no earlier notice (https://www.bolna.ai/docs/changelog/october-2026.md)"
        ],
        "verdict": "Transcriber, LLM and voice chosen per agent, or one OpenAI Realtime or Gemini Live model. Unsigned webhooks and tool calls, IP allowlisting only.",
        "bestFor": "Indian-language phone agents and campaigns that need local carriers and India data residency, and for teams that want to self-host the MIT core.",
        "strengths": [
          "Transcriber, LLM and voice chosen per agent, or one OpenAI Realtime or Gemini Live model",
          "Indian telephony through Plivo, Exotel and Vobiz, with an India data-residency option in ap-south-1",
          "Hosted MCP server with 117 tools, 43 of them carrying `destructiveHint`",
          "MIT-licensed core framework with near-daily tagged releases and CI that runs its tests on every push",
          "Published per-endpoint rate limits with 429 and backoff guidance"
        ],
        "weaknesses": [
          "Unsigned webhooks and tool calls, IP allowlisting only",
          "No security.txt, bug bounty or SOC 2 claim found",
          "The OpenAPI link in llms.txt returns 404 (1 October and 4 November 2026)",
          "Telephony and platform fees aren't priced on the pricing page",
          "Terms and privacy policy name different legal entities"
        ],
        "agentNotes": [
          "Wait for the `completed` execution status, not `call-disconnected`, before reading cost, recording or extracted data",
          "Send `scheduled_at` with a numeric offset such as `+00:00`, since a `Z` suffix returns 500",
          "Back off exponentially on 429, the limit on `/call` is 500 requests a minute",
          "Reject webhook and tool requests that don't come from 13.203.39.153, 13.126.9.249 or 13.202.133.53",
          "Leave the MCP `api_key` argument empty unless acting as a sub-account, so the key stays out of the transcript"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "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.7
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 76,
          "payments": 30,
          "reliability": 40,
          "schema": 63,
          "security": 44,
          "transparency": 57
        },
        "provenanceScore": 77,
        "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.bolna.ai/call -H \"Authorization: Bearer $BOLNA_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"agent_id\":\"123e4567-e89b-12d3-a456-426655440000\",\"recipient_phone_number\":\"+919876543210\"}'",
        "claudeCode": "claude mcp add --transport http bolna https://mcp.bolna.ai/api/mcp --header \"Authorization: Bearer $BOLNA_API_KEY\"",
        "config": {
          "mcpServers": {
            "bolna": {
              "args": [
                "-y",
                "mcp-remote",
                "https://mcp.bolna.ai/api/mcp",
                "--header",
                "Authorization: Bearer ${BOLNA_API_KEY}"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/voice.agent",
        "tool": "https://letme.dev/bolna"
      },
      "area": "voice",
      "unitPrices": [
        {
          "item": "Standard rate, preferred models",
          "unit": "call-minute",
          "usd": 0.06,
          "note": "Voice AI only, telephony and platform fee extra"
        },
        {
          "item": "Pilot plan, 12,000 minutes",
          "unit": "call-minute",
          "usd": 0.042,
          "note": "one-off $500, 25 concurrent calls"
        },
        {
          "item": "Pilot plan, 6,500 minutes",
          "unit": "call-minute",
          "usd": 0.046,
          "note": "one-off $300"
        }
      ],
      "provenance": {
        "legalEntity": "Voxlabs Private Limited",
        "domain": "bolna.ai",
        "domainRegistered": "2024-09-27",
        "domainNote": "The registry date is later than Bolna's first PyPI release (2024-01-01), so the domain was probably re-registered. Support mail also uses bolna.dev.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.bolna.ai/terms-of-service",
        "privacy": "https://www.bolna.ai/privacy-policy",
        "statusPage": "https://status.bolna.ai",
        "changelog": "https://www.bolna.ai/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "The terms (last updated 13 August 2026) name Voxlabs Private Limited, operating as Bolna. The privacy policy (updated 2025-03-28, per the 1 October check) and the site footer (\"© 2026 Whismurwave Inc.\") name Whismurwave Inc.",
          "status.bolna.ai robots.txt disallows every path for every agent (2026-11-04), so the status page wasn't read."
        ],
        "score": 77
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bolna.json",
      "live": {
        "slug": "bolna",
        "probe": {
          "target": "https://api.bolna.ai",
          "method": "get",
          "lastAt": "2026-11-07T19:21:56.662676904Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 850,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.99,
          "p50ms24h": 775,
          "p95ms24h": 885,
          "samples24h": 238,
          "samples30d": 7920,
          "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": 251
            },
            {
              "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": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "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": 197,
              "ok": 197
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.bolna.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:11.594615135Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "bolna-ai/bolna",
            "version": "0.11.32",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:11:50.173791989Z"
          },
          {
            "registry": "npm",
            "name": "@bolna/web-call",
            "version": "3.0.1",
            "seenAt": "2026-11-06T23:11:49.948317996Z"
          },
          {
            "registry": "pypi",
            "name": "bolna",
            "version": "0.11.32",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:11:49.840283263Z"
          }
        ],
        "githubStars": 817,
        "npmWeekly": 572,
        "pypiWeekly": 2693,
        "securityTxt": {
          "url": "https://bolna.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:38.928670435Z"
        },
        "llmsTxt": {
          "url": "https://www.bolna.ai/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:43.862896413Z"
        },
        "domain": {
          "domain": "bolna.ai",
          "registered": "2024-09-27",
          "source": "https://rdap.identitydigital.services/rdap/domain/bolna.ai",
          "checkedAt": "2026-11-01T14:27:41.089389884Z"
        },
        "pages": [
          {
            "url": "https://www.bolna.ai/docs/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:25:50.890864721Z",
            "changedAt": "2026-11-03T08:03:50.397723749Z",
            "fingerprint": "9662c70b122f"
          },
          {
            "url": "https://www.bolna.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:25:53.451760161Z",
            "changedAt": "2026-10-29T05:20:36.408767864Z",
            "fingerprint": "e0d8f50dd353"
          },
          {
            "url": "https://www.bolna.ai/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:25:55.027117725Z",
            "changedAt": "2026-10-29T05:20:38.083050464Z",
            "fingerprint": "c80bdaa1e6fa"
          },
          {
            "url": "https://www.bolna.ai/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:25:57.05997569Z",
            "changedAt": "2026-10-29T05:20:40.095662802Z",
            "fingerprint": "e5eafb95e9d1"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.bolna.ai/api/mcp",
          "checkedAt": "2026-11-07T01:42:52.302576002Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:42:52.302576002Z"
        },
        "github": {
          "repo": "bolna-ai/bolna",
          "checkedAt": "2026-11-02T08:36:10.617177822Z",
          "stars": 814,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T05:31:07Z",
          "openIssues": 68,
          "openPRs": 101,
          "issuesOpened90d": 15,
          "issuesClosed90d": 0,
          "prsMerged90d": 166,
          "ci": {
            "branch": "master",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-31T08:23:40Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 25
          }
        },
        "updatedAt": "2026-11-07T19:21:56.662676904Z"
      }
    },
    "answer": "Inworld Realtime API scores 60.1 (C) on agent readiness against Bolna API + MCP's 44.7 (E), and leads in 4 of 7 scored categories. Bolna API + MCP leads on maintenance \u0026 community.",
    "b": {
      "slug": "inworld-realtime",
      "name": "Inworld Realtime API",
      "vendor": "Inworld AI",
      "vendorUrl": "https://inworld.ai",
      "kind": "http-api",
      "category": "voice-agents",
      "summary": "Inworld's Realtime API runs spoken conversations over WebSocket or WebRTC, chaining Inworld STT, an LLM chosen by the developer and Inworld TTS, with turn detection, interruptions and tool calling. It follows OpenAI's Realtime protocol.",
      "url": "https://www.anchorterminal.com/tools/inworld-realtime",
      "markdownUrl": "https://www.anchorterminal.com/tools/inworld-realtime.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/inworld-realtime.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/inworld-realtime.json",
      "dns": "inworld-realtime.grade.anchorterminal.com",
      "transports": [
        "websocket",
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@inworld/cli"
        }
      ],
      "auth": "api-key",
      "authNotes": "Servers send `Authorization: Basic` with the Base64 `key_id:secret` credential. Browsers send `Authorization: Bearer` with a session token minted server side. The `key` query parameter in the WebSocket URL is a session ID, not a secret.",
      "pricing": "usage",
      "pricingNotes": "No per-minute or per-session price. A session is billed as its STT ($0.10 to $0.15 an hour), its LLM tokens at the model's rate and its TTS characters (TTS-2 from $25 per million on the free plan). Segments already sent to TTS are billed after an interruption.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms.txt or pricing page (checked 2026-11-06). Plans and credits are bought in the Portal.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.inworld.ai/realtime/overview",
      "llmsTxt": "https://docs.inworld.ai/llms.txt",
      "capabilities": [
        "voice.agent",
        "voice.pipeline",
        "voice.tools",
        "voice.telephony"
      ],
      "tags": [
        "hosted",
        "usage",
        "free-tier",
        "closed-source",
        "llms-txt",
        "streaming",
        "websocket",
        "webrtc",
        "openai-compatible",
        "enterprise"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.1,
        "grade": "C",
        "agentReady": false,
        "rank": 671,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 71,
          "payments": 40,
          "reliability": 62,
          "schema": 60,
          "security": 58,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Inworld's Realtime API speaks OpenAI's Realtime protocol over WebSocket or WebRTC, with a choice of LLM, client-side tools and dated release notes. Cost is the sum of STT, LLM and TTS usage with no per-minute price, there is no machine-readable event schema, and status history couldn't be read.",
        "bestFor": "Teams moving off OpenAI's Realtime API who want a choice of LLM and Inworld voices.",
        "strengths": [
          "Follows OpenAI's Realtime events, with a migration guide that changes only the URL, key and a few defaults",
          "Dated release notes name affected clients and required actions for each compatibility change",
          "A choice of LLM through Inworld's router, with prompt caching on Anthropic models",
          "Concurrent sessions from 10 on the free plan to 1,000 on Growth",
          "Zero data retention covers session content from the Developer plan up"
        ],
        "weaknesses": [
          "No per-minute price. A session's cost depends on STT, LLM tokens and TTS characters, and interrupted segments are still billed",
          "No AsyncAPI or other machine-readable schema for the socket events",
          "Status history couldn't be read, and an SLA exists only for Enterprise",
          "The 21 July 2026 release changed response and item shapes for existing clients",
          "Zero data retention doesn't cover requests routed to third-party LLM providers"
        ],
        "agentNotes": [
          "Set the auto follow-up off if your client sends its own `response.create` after a tool result, or replies double",
          "Read `response.done` usage as an estimate and mute input audio when nobody speaks, since STT bills every second sent",
          "Use `response.speak` for fixed greetings, which skips the LLM",
          "Treat `unsupported_field` errors as warnings and keep the session open",
          "Mint browser session tokens on your server and never ship the Basic credential to a client"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.1
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 71,
          "payments": 40,
          "reliability": 62,
          "schema": 60,
          "security": 58,
          "transparency": 51
        },
        "provenanceScore": 75,
        "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": {
        "install": "npm install -g @inworld/cli"
      },
      "letme": {
        "capability": "https://letme.dev/voice.agent",
        "tool": "https://letme.dev/inworld-realtime"
      },
      "sameCompany": [
        "inworld-stt",
        "inworld-tts",
        "inworld-voice-cloning"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Speech recognition in a session",
          "unit": "audio-minute",
          "usd": 0.0025,
          "note": "STT-1 at $0.15 an hour On-Demand, $0.10 on paid plans"
        },
        {
          "item": "Agent speech, TTS-2",
          "unit": "1m-chars",
          "usd": 25,
          "note": "free On-Demand plan; lower on paid plans"
        }
      ],
      "provenance": {
        "legalEntity": "Theai, Inc. dba Inworld AI",
        "domain": "inworld.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://inworld.ai/terms",
        "privacy": "https://inworld.ai/privacy",
        "statusPage": "https://status.inworld.ai",
        "changelog": "https://docs.inworld.ai/release-notes/realtime",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The Terms of Service (effective 11 June 2025) are an agreement with Theai, Inc. dba Inworld AI under California law, with courts in Santa Clara. The Privacy Notice (last updated 18 January 2026) names Theai, Inc.",
          "inworld.ai/.well-known/security.txt returns 404. The security page links a vulnerability report form.",
          "status.inworld.ai runs the open-source issue-status app, which draws incidents from GitHub issues in inworld-ai/inworld-issue-status. Its history wasn't read, because GitHub's robots.txt couldn't be read from our environment.",
          "inworld.ai's robots.txt allows Claude agents on the paths read and sets `Content-Signal: ai-train=no, search=yes, ai-input=no`. docs.inworld.ai has no such signal.",
          "The domain's registration date wasn't established, because the RDAP lookup failed.",
          "firstReleased is left empty. The public Realtime release notes start on 21 July 2026 and no launch date was found."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/inworld-realtime.json",
      "live": {
        "slug": "inworld-realtime",
        "vendorStatus": {
          "page": "https://status.inworld.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:57.03709454Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@inworld/cli",
            "version": "1.5.0",
            "seenAt": "2026-11-06T23:35:04.551623033Z"
          }
        ],
        "npmWeekly": 290,
        "securityTxt": {
          "url": "https://inworld.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:11.794771951Z"
        },
        "llmsTxt": {
          "url": "https://docs.inworld.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:46.028273902Z"
        },
        "pages": [
          {
            "url": "https://docs.inworld.ai/release-notes/realtime",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:42.218731652Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9ae0f1f05b69"
          },
          {
            "url": "https://inworld.ai/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:11:39.031139211Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "99dc39a9de92"
          },
          {
            "url": "https://inworld.ai/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:11:41.181276356Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "777d881cbf9b"
          }
        ],
        "updatedAt": "2026-11-07T16:01:11.794771951Z"
      }
    },
    "edges": [
      {
        "by": 22,
        "category": "reliability",
        "leads": "inworld-realtime",
        "name": "Reliability",
        "reasons": {
          "a": "A status page sits at status.bolna.ai, linked from the site footer, but its robots.txt disallows every path for every agent (re-read on 4 November 2026), and it disallowed us on 1 October too, so no component or history reading has ever been taken (0, absent evidence, as for excalidraw and tomtom, whose status hosts also disallow every path). No readable incident history (5). Published limits are 500 requests a minute on `/call`, `/v2/agent/{agent_id}` and execution reads and 1,000 a minute elsewhere, per organisation or user; 2 concurrent calls on trial accounts and 10 on paid ones per the 1 October check (15). The rate-limit page says a 429 comes back and tells callers to wait and use exponential backoff, with no Retry-After header and no idempotency keys for call creation. Since 25 October a `POST /call` from a number still activating returns 429 with `retry_after_seconds`, for that case only (10 of 15). No SLA found for any tier (0). The API is generally available (10). 0+5+15+10+0+10 = 40.",
          "b": "Hosted reading of the checklist. status.inworld.ai is a public status page (20), with history we couldn't read, as on inworld-tts (5). Concurrent sessions are published per plan, 10 on On-Demand up to 1,000 on Growth (15). The rate limits page gives exponential backoff with jitter and Retry-After on longer windows, and sessions emit `rate_limits.updated`, with nothing on reconnecting a dropped session (12 of 15). An SLA appears only in the Enterprise column, with no terms (0). No preview or beta label on the Realtime API (10). 20 + 5 + 15 + 12 + 0 + 10 = 62."
        },
        "scores": {
          "a": 40,
          "b": 62
        }
      },
      {
        "by": 16,
        "category": "ergonomics",
        "leads": "inworld-realtime",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "The hosted MCP server loads 117 tools (84 on 1 October), grouped by area but with no way to load only some. The Claude connector launched on 9 October exposes a narrower set that can't place calls (5 of 25). Execution and batch lists page and filter (14 of 20). Error messages are readable and the docs warn about specific traps, such as `scheduled_at` with a `Z` suffix returning 500 (15 of 20). 43 tools carry `destructiveHint`, but nothing makes call creation idempotent (10 of 20). A call needs only `agent_id` and `recipient_phone_number`. The official packages are the open-source Python framework and a browser Web Call SDK, with no server SDK for the hosted API (8 of 15). 5+14+15+10+8 = 52.",
          "b": "Scored as an API. Conversation history defaults to the last 100 items, can be trimmed, and can be cached on Anthropic models, and every `response.done` carries a `usage` block (18 of 25). No lists to page. Output controls are modalities, turn detection settings, optional transcription and `response.speak` (12 of 20). Error events follow OpenAI's `type` and `code` shape, unsupported fields come back as non-fatal `unsupported_field` warnings, and `item_not_found` names the bad parameter (14 of 20). Tools run on the client and a follow-up response starts automatically after a tool result. Nothing covers side effects of a tool call cut off by an interruption (12 of 20). Works with OpenAI Realtime clients after changing the URL and key, with no Inworld Realtime SDK (12 of 15). Total 68."
        },
        "scores": {
          "a": 52,
          "b": 68
        }
      },
      {
        "by": 14,
        "category": "security",
        "leads": "inworld-realtime",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Bearer keys shown once and stored hashed, revocable from the dashboard, with separate `sa-` keys for enterprise sub-accounts (25). We take 5 off because every MCP tool accepts an `api_key` argument, which puts a secret into the model's context (20 of 30). Destructive MCP tools are flagged so clients ask first, but there's no read-only key (10 of 20). Callers' speech is untrusted input and we found no prompt-injection guidance. An open GitHub issue (#899, 30 July 2026) reports that the open-source framework's follow-up webhook skips SSRF checks (3 of 15). Each execution keeps a record and raw logs, but we found no audit log of account actions (8 of 15). No security.txt, no bug bounty, and no SOC 2 or ISO 27001 claim. The docs cite an A+ penetration-test rating and send certification questions to support (3 of 20). Webhooks and tool calls carry no signature, only three fixed source IPs. On 4 November the security page is unchanged, www.bolna.ai serves no security.txt (404), and osv.dev lists no advisory for `bolna`. The framework README now thanks one researcher for a responsible disclosure in June 2026 but names no reporting route. 20+10+3+8+3 = 44.",
          "b": "Workspace API keys sent as Basic credentials, deleted to revoke, with separate keys per environment advised. The CLI mints read-only keys unless `--write` is given, but write toggles cover only the Voice and Router APIs, so no key is limited to one product. Browsers use short-lived tokens minted server side. Session IDs, not secrets, go in the URL (25 of 30). Tools run in the client, so the developer approves side effects, with no approval step in the API (10 of 20). The agent listens to callers and passes their speech to an LLM, and no prompt-injection guidance was found (5 of 15). Usage per key and a Performance page with errors and throttling (8 of 15). SOC 2 Type II and HIPAA claimed and a vulnerability report form, with no security.txt or bug bounty, per the 4 November reading (10 of 20). Total 58. Zero data retention covers session content from the Developer plan up, but not requests routed to third-party LLM providers."
        },
        "scores": {
          "a": 44,
          "b": 58
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "inworld-realtime",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0 of 40). The $0.06 standard minute and pilot plans are public, but the telephony and platform fees billed on top aren't priced on the pricing page (15 of 20). $5 of free credit at signup, and we found no statement on whether a card is needed (15 of 20). Access starts with a human signup in the dashboard (0). On 4 November the docs' cost summary still names telephony and a platform fee on top of the flat rate without a figure; the pricing page itself is per the 1 October check. 0+15+15+0 = 30.",
          "b": "No x402, MPP or L402 (0). No per-session price, but each billed part (STT per hour, TTS per character, LLM per token) is priced publicly (20). On-Demand includes free STT and TTS allowances and lists no payment method, though some premium LLMs need a card on file (20). A person signs up in a browser before a key exists (0). Total 40."
        },
        "scores": {
          "a": 30,
          "b": 40
        }
      },
      {
        "by": 5,
        "category": "maintenance",
        "leads": "bolna",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Framework release 0.11.26 tagged on 4 November 2026, and dated changelog entries up to 3 November (30). 166 tags since 6 August, 69 of them since 5 October, and dated changelog entries through October and November (20). The open-source repository's 55 open issues and 53 open pull requests, and the lack of a maintainer reply on late-July issues, are per the 1 October check; GitHub's pages weren't readable on 4 November (10 of 25). Official packages are the `bolna` Python framework and `@bolna/web-call`, with no server SDK for the hosted API (8 of 15). Python 3.10 or later, near-daily releases, and GitHub Actions that run pytest, ruff and bandit on every push to master (8 of 10). 30+20+10+8+8 = 76.",
          "b": "Release note of 16 October 2026 (`cache_transcript`), 21 days ago (30). Three dated Realtime entries in the 90 days from 8 August, on 14 September, 23 September and 16 October (20). Discord and support@inworld.ai, with no evidence of answers read (8 of 15). Works with OpenAI's Realtime clients and the CLI is current at 1.5.0, but there is no Inworld Realtime SDK (8 of 15). CLI on npm under MIT, CI not read (5 of 10). Total 71."
        },
        "scores": {
          "a": 76,
          "b": 71
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Bolna",
        "b": "Inworld AI",
        "name": "Vendor"
      },
      {
        "a": "https://api.bolna.ai",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "websocket, HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "not published",
        "b": "$25 per 1M characters",
        "name": "Price for voice agents"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "117",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-04",
        "b": "2026-10-16",
        "name": "Last release"
      },
      {
        "a": "2026-08-13",
        "b": "2025-06-11",
        "name": "Terms last updated"
      },
      {
        "a": "2025-03-28",
        "b": "2026-01-18",
        "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": "yes",
        "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": "779 stars, 579 npm/wk, 2.6k PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Inworld Realtime API scores 60.1 (C) on agent readiness against Bolna API + MCP's 44.7 (E), and leads in 4 of 7 scored categories. Bolna API + MCP leads on maintenance \u0026 community.",
        "question": "Which is better for AI agents, Bolna API + MCP or Inworld Realtime API?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Bolna API + MCP and Inworld Realtime API need an API key?"
      },
      {
        "answer": "Bolna API + MCP has a hosted endpoint at https://api.bolna.ai. No hosted endpoint is listed for Inworld Realtime API.",
        "question": "Can an agent call Bolna API + MCP and Inworld Realtime API without installing anything?"
      },
      {
        "answer": "Bolna API + MCP is open source (MIT). No open-source release is listed for Inworld Realtime API.",
        "question": "Are Bolna API + MCP and Inworld Realtime API open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Maintenance \u0026 community, 76 against 71"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Open source"
        ],
        "goodFor": "Indian-language phone agents and campaigns that need local carriers and India data residency, and for teams that want to self-host the MIT core.",
        "slug": "bolna",
        "watchFor": "Unsigned webhooks and tool calls, IP allowlisting only"
      },
      {
        "aheadOn": [
          "Reliability, 62 against 40",
          "Agent ergonomics, 68 against 52",
          "Security \u0026 auth, 58 against 44",
          "Payments \u0026 pricing, 40 against 30"
        ],
        "also": [
          "No incidents deducted, where Bolna API + MCP loses 6 points for them"
        ],
        "goodFor": "Teams moving off OpenAI's Realtime API who want a choice of LLM and Inworld voices.",
        "slug": "inworld-realtime",
        "watchFor": "No per-minute price. A session's cost depends on STT, LLM tokens and TTS characters, and interrupted segments are still billed"
      }
    ],
    "history": {
      "bolna": [
        {
          "causes": [
            "security",
            "evidence"
          ],
          "date": "2026-11-04",
          "delta": -8,
          "from": 52.7,
          "fromGrade": "D",
          "to": 44.7,
          "toGrade": "E"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-28",
          "delta": 0.1,
          "from": 52.6,
          "fromGrade": "D",
          "to": 52.7,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.3,
          "from": 52.9,
          "fromGrade": "D",
          "to": 52.6,
          "toGrade": "D"
        }
      ],
      "inworld-realtime": null
    },
    "job": {
      "capability": "voice.agent",
      "name": "Voice agents"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-nova-sonic-vs-bolna.json",
        "title": "Amazon Nova 2 Sonic vs Bolna API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-nova-sonic-vs-bolna"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-nova-sonic-vs-inworld-realtime.json",
        "title": "Amazon Nova 2 Sonic vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/amazon-nova-sonic-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-bolna.json",
        "title": "AssemblyAI Voice Agent API vs Bolna API + MCP",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-bolna"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-inworld-realtime.json",
        "title": "AssemblyAI Voice Agent API vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bland-ai-vs-bolna.json",
        "title": "Bland AI API + MCP vs Bolna API + MCP",
        "url": "https://www.anchorterminal.com/compare/bland-ai-vs-bolna"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bland-ai-vs-inworld-realtime.json",
        "title": "Bland AI API + MCP vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/bland-ai-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-deepgram-voice-agent.json",
        "title": "Bolna API + MCP vs Deepgram Voice Agent API",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-deepgram-voice-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-elevenlabs-agents.json",
        "title": "Bolna API + MCP vs ElevenLabs Agents API + MCP",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-elevenlabs-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-fone-me.json",
        "title": "Bolna API + MCP vs fone.me",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-fone-me"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-gemini-live.json",
        "title": "Bolna API + MCP vs Gemini Live API",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-gemini-live"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-gpt-live.json",
        "title": "Bolna API + MCP vs GPT-Live",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-gpt-live"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-harmony-ai.json",
        "title": "Bolna API + MCP vs Harmony.ai",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-harmony-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-hume-evi.json",
        "title": "Bolna API + MCP vs Hume EVI (Empathic Voice Interface)",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-hume-evi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-livekit-agents.json",
        "title": "Bolna API + MCP vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-openai-realtime.json",
        "title": "Bolna API + MCP vs OpenAI Realtime API",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-openai-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-pipecat.json",
        "title": "Bolna API + MCP vs Pipecat",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-pipecat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-placecall.json",
        "title": "Bolna API + MCP vs PlaceCall",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-placecall"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-retell-ai.json",
        "title": "Bolna API + MCP vs Retell AI API + MCP",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-retell-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-rime-prism.json",
        "title": "Bolna API + MCP vs Rime Prism",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-rime-prism"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-synthflow.json",
        "title": "Bolna API + MCP vs Synthflow API + MCP",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-synthflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-ultravox.json",
        "title": "Bolna API + MCP vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-vaani-voice.json",
        "title": "Bolna API + MCP vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-vapi.json",
        "title": "Bolna API + MCP vs Vapi API + MCP",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-vapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-vocily.json",
        "title": "Bolna API + MCP vs Vocily AI",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-vocily"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-vogent.json",
        "title": "Bolna API + MCP vs Vogent API",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-vogent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-inworld-realtime.json",
        "title": "Deepgram Voice Agent API vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-inworld-realtime.json",
        "title": "ElevenLabs Agents API + MCP vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fone-me-vs-inworld-realtime.json",
        "title": "fone.me vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/fone-me-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-live-vs-inworld-realtime.json",
        "title": "Gemini Live API vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/gemini-live-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt-live-vs-inworld-realtime.json",
        "title": "GPT-Live vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/gpt-live-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harmony-ai-vs-inworld-realtime.json",
        "title": "Harmony.ai vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/harmony-ai-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hume-evi-vs-inworld-realtime.json",
        "title": "Hume EVI (Empathic Voice Interface) vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/hume-evi-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-livekit-agents.json",
        "title": "Inworld Realtime API vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-openai-realtime.json",
        "title": "Inworld Realtime API vs OpenAI Realtime API",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-openai-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat.json",
        "title": "Inworld Realtime API vs Pipecat",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-placecall.json",
        "title": "Inworld Realtime API vs PlaceCall",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-placecall"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-retell-ai.json",
        "title": "Inworld Realtime API vs Retell AI API + MCP",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-retell-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-rime-prism.json",
        "title": "Inworld Realtime API vs Rime Prism",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-rime-prism"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-synthflow.json",
        "title": "Inworld Realtime API vs Synthflow API + MCP",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-synthflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-ultravox.json",
        "title": "Inworld Realtime API vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vaani-voice.json",
        "title": "Inworld Realtime API vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vapi.json",
        "title": "Inworld Realtime API vs Vapi API + MCP",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vocily.json",
        "title": "Inworld Realtime API vs Vocily AI",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vocily"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vogent.json",
        "title": "Inworld Realtime API vs Vogent API",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vogent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-cuelight.json",
        "title": "Bolna API + MCP vs CueLight",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-cuelight"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-pipecat-phonellm.json",
        "title": "Bolna API + MCP vs Pipecat PhoneLLM",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-pipecat-phonellm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-inworld-realtime.json",
        "title": "CueLight vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat-phonellm.json",
        "title": "Inworld Realtime API vs Pipecat PhoneLLM",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat-phonellm"
      }
    ],
    "panel": null,
    "scores": [
      {
        "bolna": 40,
        "by": 22,
        "edge": "inworld-realtime",
        "inworld-realtime": 62,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bolna": 63,
        "by": 3,
        "edge": "bolna",
        "inworld-realtime": 60,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "bolna": 52,
        "by": 16,
        "edge": "inworld-realtime",
        "inworld-realtime": 68,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "bolna": 44,
        "by": 14,
        "edge": "inworld-realtime",
        "inworld-realtime": 58,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "bolna": 30,
        "by": 10,
        "edge": "inworld-realtime",
        "inworld-realtime": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bolna": 76,
        "by": 5,
        "edge": "bolna",
        "inworld-realtime": 71,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "bolna": 67,
        "by": 4,
        "edge": "bolna",
        "inworld-realtime": 63,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Inworld Realtime API scores 60.1 (C) on agent readiness against Bolna API + MCP's 44.7 (E), and leads in 4 of 7 scored categories. Bolna API + MCP leads on maintenance \u0026 community. Both do voice agents.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "bolna": "Transcriber, LLM and voice chosen per agent, or one OpenAI Realtime or Gemini Live model. Unsigned webhooks and tool calls, IP allowlisting only.",
      "inworld-realtime": "Inworld's Realtime API speaks OpenAI's Realtime protocol over WebSocket or WebRTC, with a choice of LLM, client-side tools and dated release notes. Cost is the sum of STT, LLM and TTS usage with no per-minute price, there is no machine-readable event schema, and status history couldn't be read."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bolna-vs-inworld-realtime",
    "json": "https://www.anchorterminal.com/compare/bolna-vs-inworld-realtime.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bolna-vs-inworld-realtime.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/bolna-vs-inworld-realtime.min.md"
  },
  "markdown": "Inworld Realtime API scores 60.1 (C) on agent readiness against Bolna API + MCP's 44.7 (E), and leads in 4 of 7 scored categories. Bolna API + MCP leads on maintenance \u0026 community. Both do voice agents.\n\n- Bolna API + MCP: grade E, 44.7/100, rank #1210 of 1510. Markdown https://www.anchorterminal.com/tools/bolna.md · JSON https://www.anchorterminal.com/api/v1/tools/bolna.json\n- Inworld Realtime API: grade C, 60.1/100, rank #671 of 1510. Markdown https://www.anchorterminal.com/tools/inworld-realtime.md · JSON https://www.anchorterminal.com/api/v1/tools/inworld-realtime.json\n- Best conversational voice-agent APIs: https://www.anchorterminal.com/best/voice-agents/index.md\n- All 518 voice agents comparisons: https://www.anchorterminal.com/compare/voice-agents/index.md\n\n## Which one, for what\n\n### Bolna API + MCP (E)\n\nGood for: Indian-language phone agents and campaigns that need local carriers and India data residency, and for teams that want to self-host the MIT core.\n\nAhead on:\n- Maintenance \u0026 community, 76 against 71\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Open source\n\nWatch for: Unsigned webhooks and tool calls, IP allowlisting only\n\n### Inworld Realtime API (C)\n\nGood for: Teams moving off OpenAI's Realtime API who want a choice of LLM and Inworld voices.\n\nAhead on:\n- Reliability, 62 against 40\n- Agent ergonomics, 68 against 52\n- Security \u0026 auth, 58 against 44\n- Payments \u0026 pricing, 40 against 30\n\nAlso in its favour:\n- No incidents deducted, where Bolna API + MCP loses 6 points for them\n\nWatch for: No per-minute price. A session's cost depends on STT, LLM tokens and TTS characters, and interrupted segments are still billed\n\n\n## Why the edge\n\n### Reliability: Inworld Realtime API +22\n\n- Bolna API + MCP (40): A status page sits at status.bolna.ai, linked from the site footer, but its robots.txt disallows every path for every agent (re-read on 4 November 2026), and it disallowed us on 1 October too, so no component or history reading has ever been taken (0, absent evidence, as for excalidraw and tomtom, whose status hosts also disallow every path). No readable incident history (5). Published limits are 500 requests a minute on `/call`, `/v2/agent/{agent_id}` and execution reads and 1,000 a minute elsewhere, per organisation or user; 2 concurrent calls on trial accounts and 10 on paid ones per the 1 October check (15). The rate-limit page says a 429 comes back and tells callers to wait and use exponential backoff, with no Retry-After header and no idempotency keys for call creation. Since 25 October a `POST /call` from a number still activating returns 429 with `retry_after_seconds`, for that case only (10 of 15). No SLA found for any tier (0). The API is generally available (10). 0+5+15+10+0+10 = 40.\n- Inworld Realtime API (62): Hosted reading of the checklist. status.inworld.ai is a public status page (20), with history we couldn't read, as on inworld-tts (5). Concurrent sessions are published per plan, 10 on On-Demand up to 1,000 on Growth (15). The rate limits page gives exponential backoff with jitter and Retry-After on longer windows, and sessions emit `rate_limits.updated`, with nothing on reconnecting a dropped session (12 of 15). An SLA appears only in the Enterprise column, with no terms (0). No preview or beta label on the Realtime API (10). 20 + 5 + 15 + 12 + 0 + 10 = 62.\n\n### Agent ergonomics: Inworld Realtime API +16\n\n- Bolna API + MCP (52): The hosted MCP server loads 117 tools (84 on 1 October), grouped by area but with no way to load only some. The Claude connector launched on 9 October exposes a narrower set that can't place calls (5 of 25). Execution and batch lists page and filter (14 of 20). Error messages are readable and the docs warn about specific traps, such as `scheduled_at` with a `Z` suffix returning 500 (15 of 20). 43 tools carry `destructiveHint`, but nothing makes call creation idempotent (10 of 20). A call needs only `agent_id` and `recipient_phone_number`. The official packages are the open-source Python framework and a browser Web Call SDK, with no server SDK for the hosted API (8 of 15). 5+14+15+10+8 = 52.\n- Inworld Realtime API (68): Scored as an API. Conversation history defaults to the last 100 items, can be trimmed, and can be cached on Anthropic models, and every `response.done` carries a `usage` block (18 of 25). No lists to page. Output controls are modalities, turn detection settings, optional transcription and `response.speak` (12 of 20). Error events follow OpenAI's `type` and `code` shape, unsupported fields come back as non-fatal `unsupported_field` warnings, and `item_not_found` names the bad parameter (14 of 20). Tools run on the client and a follow-up response starts automatically after a tool result. Nothing covers side effects of a tool call cut off by an interruption (12 of 20). Works with OpenAI Realtime clients after changing the URL and key, with no Inworld Realtime SDK (12 of 15). Total 68.\n\n### Security \u0026 auth: Inworld Realtime API +14\n\n- Bolna API + MCP (44): Bearer keys shown once and stored hashed, revocable from the dashboard, with separate `sa-` keys for enterprise sub-accounts (25). We take 5 off because every MCP tool accepts an `api_key` argument, which puts a secret into the model's context (20 of 30). Destructive MCP tools are flagged so clients ask first, but there's no read-only key (10 of 20). Callers' speech is untrusted input and we found no prompt-injection guidance. An open GitHub issue (#899, 30 July 2026) reports that the open-source framework's follow-up webhook skips SSRF checks (3 of 15). Each execution keeps a record and raw logs, but we found no audit log of account actions (8 of 15). No security.txt, no bug bounty, and no SOC 2 or ISO 27001 claim. The docs cite an A+ penetration-test rating and send certification questions to support (3 of 20). Webhooks and tool calls carry no signature, only three fixed source IPs. On 4 November the security page is unchanged, www.bolna.ai serves no security.txt (404), and osv.dev lists no advisory for `bolna`. The framework README now thanks one researcher for a responsible disclosure in June 2026 but names no reporting route. 20+10+3+8+3 = 44.\n- Inworld Realtime API (58): Workspace API keys sent as Basic credentials, deleted to revoke, with separate keys per environment advised. The CLI mints read-only keys unless `--write` is given, but write toggles cover only the Voice and Router APIs, so no key is limited to one product. Browsers use short-lived tokens minted server side. Session IDs, not secrets, go in the URL (25 of 30). Tools run in the client, so the developer approves side effects, with no approval step in the API (10 of 20). The agent listens to callers and passes their speech to an LLM, and no prompt-injection guidance was found (5 of 15). Usage per key and a Performance page with errors and throttling (8 of 15). SOC 2 Type II and HIPAA claimed and a vulnerability report form, with no security.txt or bug bounty, per the 4 November reading (10 of 20). Total 58. Zero data retention covers session content from the Developer plan up, but not requests routed to third-party LLM providers.\n\n### Payments \u0026 pricing: Inworld Realtime API +10\n\n- Bolna API + MCP (30): No x402, MPP or L402 (0 of 40). The $0.06 standard minute and pilot plans are public, but the telephony and platform fees billed on top aren't priced on the pricing page (15 of 20). $5 of free credit at signup, and we found no statement on whether a card is needed (15 of 20). Access starts with a human signup in the dashboard (0). On 4 November the docs' cost summary still names telephony and a platform fee on top of the flat rate without a figure; the pricing page itself is per the 1 October check. 0+15+15+0 = 30.\n- Inworld Realtime API (40): No x402, MPP or L402 (0). No per-session price, but each billed part (STT per hour, TTS per character, LLM per token) is priced publicly (20). On-Demand includes free STT and TTS allowances and lists no payment method, though some premium LLMs need a card on file (20). A person signs up in a browser before a key exists (0). Total 40.\n\n### Maintenance \u0026 community: Bolna API + MCP +5\n\n- Bolna API + MCP (76): Framework release 0.11.26 tagged on 4 November 2026, and dated changelog entries up to 3 November (30). 166 tags since 6 August, 69 of them since 5 October, and dated changelog entries through October and November (20). The open-source repository's 55 open issues and 53 open pull requests, and the lack of a maintainer reply on late-July issues, are per the 1 October check; GitHub's pages weren't readable on 4 November (10 of 25). Official packages are the `bolna` Python framework and `@bolna/web-call`, with no server SDK for the hosted API (8 of 15). Python 3.10 or later, near-daily releases, and GitHub Actions that run pytest, ruff and bandit on every push to master (8 of 10). 30+20+10+8+8 = 76.\n- Inworld Realtime API (71): Release note of 16 October 2026 (`cache_transcript`), 21 days ago (30). Three dated Realtime entries in the 90 days from 8 August, on 14 September, 23 September and 16 October (20). Discord and support@inworld.ai, with no evidence of answers read (8 of 15). Works with OpenAI's Realtime clients and the CLI is current at 1.5.0, but there is no Inworld Realtime SDK (8 of 15). CLI on npm under MIT, CI not read (5 of 10). Total 71.\n\n## Score by category\n\n| Category | Weight | Bolna API + MCP | Inworld Realtime API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 40 | 62 | Inworld Realtime API +22 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 63 | 60 | Bolna API + MCP +3 |\n| Agent ergonomics | 13% (16.2 this run) | 52 | 68 | Inworld Realtime API +16 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 58 | Inworld Realtime API +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Inworld Realtime API +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 76 | 71 | Bolna API + MCP +5 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 63 | Bolna API + MCP +4 |\n| Negative events | ≤15 | -6 | 0 | |\n| **Total** | | **44.7 · E** | **60.1 · C** | |\n\n## Facts side by side\n\n| Fact | Bolna API + MCP | Inworld Realtime API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bolna | Inworld AI |\n| Hosted endpoint | `https://api.bolna.ai` | no (local only) |\n| Transports | HTTP, Streamable HTTP | websocket, HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Pay per use |\n| Price for voice agents | not published | $25 per 1M characters |\n| x402 | no | no |\n| Licence | MIT | none |\n| Tools exposed | 117 | 0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-11-04 | 2026-10-16 |\n| Terms last updated | 2026-08-13 | 2025-06-11 |\n| Privacy policy last updated | 2025-03-28 | 2026-01-18 |\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 | yes | 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 | 779 stars, 579 npm/wk, 2.6k PyPI/wk | none |\n| Agent reviews | 2.5/5 (2) | none |\n\n## How the scores have moved\n\n### Bolna API + MCP\n\n- -8.0 on 4 November 2026 (D to E): security, new evidence\n- +0.1 on 28 October 2026: new evidence\n- -0.3 on 8 October 2026: checklist\n\n### Inworld Realtime API\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Bolna API + MCP.** Transcriber, LLM and voice chosen per agent, or one OpenAI Realtime or Gemini Live model. Unsigned webhooks and tool calls, IP allowlisting only.\n\n**Inworld Realtime API.** Inworld's Realtime API speaks OpenAI's Realtime protocol over WebSocket or WebRTC, with a choice of LLM, client-side tools and dated release notes. Cost is the sum of STT, LLM and TTS usage with no per-minute price, there is no machine-readable event schema, and status history couldn't be read.\n\n## Before you call either\n\n### Bolna API + MCP\n\n1. Wait for the `completed` execution status, not `call-disconnected`, before reading cost, recording or extracted data\n2. Send `scheduled_at` with a numeric offset such as `+00:00`, since a `Z` suffix returns 500\n3. Back off exponentially on 429, the limit on `/call` is 500 requests a minute\n4. Reject webhook and tool requests that don't come from 13.203.39.153, 13.126.9.249 or 13.202.133.53\n5. Leave the MCP `api_key` argument empty unless acting as a sub-account, so the key stays out of the transcript\n\n### Inworld Realtime API\n\n1. Set the auto follow-up off if your client sends its own `response.create` after a tool result, or replies double\n2. Read `response.done` usage as an estimate and mute input audio when nobody speaks, since STT bills every second sent\n3. Use `response.speak` for fixed greetings, which skips the LLM\n4. Treat `unsupported_field` errors as warnings and keep the session open\n5. Mint browser session tokens on your server and never ship the Basic credential to a client\n\n## Questions\n\n### Which is better for AI agents, Bolna API + MCP or Inworld Realtime API?\n\nInworld Realtime API scores 60.1 (C) on agent readiness against Bolna API + MCP's 44.7 (E), and leads in 4 of 7 scored categories. Bolna API + MCP leads on maintenance \u0026 community.\n\n### Do Bolna API + MCP and Inworld Realtime API need an API key?\n\nBoth need an API key.\n\n### Can an agent call Bolna API + MCP and Inworld Realtime API without installing anything?\n\nBolna API + MCP has a hosted endpoint at https://api.bolna.ai. No hosted endpoint is listed for Inworld Realtime API.\n\n### Are Bolna API + MCP and Inworld Realtime API open source?\n\nBolna API + MCP is open source (MIT). No open-source release is listed for Inworld Realtime API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bolna-vs-inworld-realtime.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bolna-vs-inworld-realtime.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bolna\", \"b\": \"inworld-realtime\"}`. From a terminal: `anchor compare bolna inworld-realtime`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bolna.json and https://www.anchorterminal.com/api/v1/tools/inworld-realtime.json\n\n## Other comparisons with Bolna API + MCP or Inworld Realtime API\n\n- [Amazon Nova 2 Sonic vs Bolna API + MCP](https://www.anchorterminal.com/compare/amazon-nova-sonic-vs-bolna.md)\n- [Amazon Nova 2 Sonic vs Inworld Realtime API](https://www.anchorterminal.com/compare/amazon-nova-sonic-vs-inworld-realtime.md)\n- [AssemblyAI Voice Agent API vs Bolna API + MCP](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-bolna.md)\n- [AssemblyAI Voice Agent API vs Inworld Realtime API](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-inworld-realtime.md)\n- [Bland AI API + MCP vs Bolna API + MCP](https://www.anchorterminal.com/compare/bland-ai-vs-bolna.md)\n- [Bland AI API + MCP vs Inworld Realtime API](https://www.anchorterminal.com/compare/bland-ai-vs-inworld-realtime.md)\n- [Bolna API + MCP vs Deepgram Voice Agent API](https://www.anchorterminal.com/compare/bolna-vs-deepgram-voice-agent.md)\n- [Bolna API + MCP vs ElevenLabs Agents API + MCP](https://www.anchorterminal.com/compare/bolna-vs-elevenlabs-agents.md)\n- [Bolna API + MCP vs fone.me](https://www.anchorterminal.com/compare/bolna-vs-fone-me.md)\n- [Bolna API + MCP vs Gemini Live API](https://www.anchorterminal.com/compare/bolna-vs-gemini-live.md)\n- [Bolna API + MCP vs GPT-Live](https://www.anchorterminal.com/compare/bolna-vs-gpt-live.md)\n- [Bolna API + MCP vs Harmony.ai](https://www.anchorterminal.com/compare/bolna-vs-harmony-ai.md)\n- [Bolna API + MCP vs Hume EVI (Empathic Voice Interface)](https://www.anchorterminal.com/compare/bolna-vs-hume-evi.md)\n- [Bolna API + MCP vs LiveKit Agents](https://www.anchorterminal.com/compare/bolna-vs-livekit-agents.md)\n- [Bolna API + MCP vs OpenAI Realtime API](https://www.anchorterminal.com/compare/bolna-vs-openai-realtime.md)\n- [Bolna API + MCP vs Pipecat](https://www.anchorterminal.com/compare/bolna-vs-pipecat.md)\n- [Bolna API + MCP vs PlaceCall](https://www.anchorterminal.com/compare/bolna-vs-placecall.md)\n- [Bolna API + MCP vs Retell AI API + MCP](https://www.anchorterminal.com/compare/bolna-vs-retell-ai.md)\n- [Bolna API + MCP vs Rime Prism](https://www.anchorterminal.com/compare/bolna-vs-rime-prism.md)\n- [Bolna API + MCP vs Synthflow API + MCP](https://www.anchorterminal.com/compare/bolna-vs-synthflow.md)\n- [Bolna API + MCP vs Ultravox Realtime API](https://www.anchorterminal.com/compare/bolna-vs-ultravox.md)\n- [Bolna API + MCP vs Vaani Developer Platform](https://www.anchorterminal.com/compare/bolna-vs-vaani-voice.md)\n- [Bolna API + MCP vs Vapi API + MCP](https://www.anchorterminal.com/compare/bolna-vs-vapi.md)\n- [Bolna API + MCP vs Vocily AI](https://www.anchorterminal.com/compare/bolna-vs-vocily.md)\n- [Bolna API + MCP vs Vogent API](https://www.anchorterminal.com/compare/bolna-vs-vogent.md)\n- [Deepgram Voice Agent API vs Inworld Realtime API](https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-inworld-realtime.md)\n- [ElevenLabs Agents API + MCP vs Inworld Realtime API](https://www.anchorterminal.com/compare/elevenlabs-agents-vs-inworld-realtime.md)\n- [fone.me vs Inworld Realtime API](https://www.anchorterminal.com/compare/fone-me-vs-inworld-realtime.md)\n- [Gemini Live API vs Inworld Realtime API](https://www.anchorterminal.com/compare/gemini-live-vs-inworld-realtime.md)\n- [GPT-Live vs Inworld Realtime API](https://www.anchorterminal.com/compare/gpt-live-vs-inworld-realtime.md)\n- [Harmony.ai vs Inworld Realtime API](https://www.anchorterminal.com/compare/harmony-ai-vs-inworld-realtime.md)\n- [Hume EVI (Empathic Voice Interface) vs Inworld Realtime API](https://www.anchorterminal.com/compare/hume-evi-vs-inworld-realtime.md)\n- [Inworld Realtime API vs LiveKit Agents](https://www.anchorterminal.com/compare/inworld-realtime-vs-livekit-agents.md)\n- [Inworld Realtime API vs OpenAI Realtime API](https://www.anchorterminal.com/compare/inworld-realtime-vs-openai-realtime.md)\n- [Inworld Realtime API vs Pipecat](https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat.md)\n- [Inworld Realtime API vs PlaceCall](https://www.anchorterminal.com/compare/inworld-realtime-vs-placecall.md)\n- [Inworld Realtime API vs Retell AI API + MCP](https://www.anchorterminal.com/compare/inworld-realtime-vs-retell-ai.md)\n- [Inworld Realtime API vs Rime Prism](https://www.anchorterminal.com/compare/inworld-realtime-vs-rime-prism.md)\n- [Inworld Realtime API vs Synthflow API + MCP](https://www.anchorterminal.com/compare/inworld-realtime-vs-synthflow.md)\n- [Inworld Realtime API vs Ultravox Realtime API](https://www.anchorterminal.com/compare/inworld-realtime-vs-ultravox.md)\n- [Inworld Realtime API vs Vaani Developer Platform](https://www.anchorterminal.com/compare/inworld-realtime-vs-vaani-voice.md)\n- [Inworld Realtime API vs Vapi API + MCP](https://www.anchorterminal.com/compare/inworld-realtime-vs-vapi.md)\n- [Inworld Realtime API vs Vocily AI](https://www.anchorterminal.com/compare/inworld-realtime-vs-vocily.md)\n- [Inworld Realtime API vs Vogent API](https://www.anchorterminal.com/compare/inworld-realtime-vs-vogent.md)\n- [Bolna API + MCP vs CueLight](https://www.anchorterminal.com/compare/bolna-vs-cuelight.md)\n- [Bolna API + MCP vs Pipecat PhoneLLM](https://www.anchorterminal.com/compare/bolna-vs-pipecat-phonellm.md)\n- [CueLight vs Inworld Realtime API](https://www.anchorterminal.com/compare/cuelight-vs-inworld-realtime.md)\n- [Inworld Realtime API vs Pipecat PhoneLLM](https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat-phonellm.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": "Bolna API + MCP vs Inworld Realtime API",
        "url": ""
      }
    ],
    "description": "Inworld Realtime scores 60.1 (C) to Bolna's 44.7 (E) for voice agents. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Bolna API + MCP E 44.7",
      "Inworld Realtime API C 60.1",
      "scores"
    ],
    "h1": "Bolna API + MCP vs Inworld Realtime API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/bolna-vs-inworld-realtime",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bolna vs Inworld Realtime for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/bolna-vs-inworld-realtime"
  },
  "tokens": {
    "markdown": 5200,
    "slim": 2580
  },
  "version": 1
}
