{
  "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",
      "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": 84,
      "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-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 52.9,
        "grade": "D",
        "agentReady": false,
        "rank": 339,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 8,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 76,
          "payments": 30,
          "reliability": 50,
          "schema": 63,
          "security": 44,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Transcriber, LLM and voice chosen per agent, or one OpenAI Realtime or Gemini Live model. Unsigned webhooks and tool calls, IP allowlisting only.",
        "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 84 tools, 23 of them carrying `destructiveHint`",
          "MIT-licensed core framework, released to PyPI almost daily",
          "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",
          "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": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 52.9
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 76,
          "payments": 30,
          "reliability": 50,
          "schema": 63,
          "security": 44,
          "transparency": 57
        },
        "provenanceScore": 82
      },
      "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-10-01",
        "notes": [
          "The terms name Voxlabs Private Limited, operating as Bolna. The privacy policy (updated 2025-03-28) and the site footer name Whismurwave Inc."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bolna.json",
      "live": {
        "slug": "bolna",
        "probe": {
          "target": "https://api.bolna.ai",
          "method": "get",
          "lastAt": "2026-10-05T02:29:52.835069529Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 748,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 741,
          "p95ms24h": 819,
          "samples24h": 273,
          "samples30d": 1131,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.bolna.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:39:52.03506865Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "bolna-ai/bolna",
            "version": "0.10.269",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:22:32.734659247Z"
          },
          {
            "registry": "npm",
            "name": "@bolna/web-call",
            "version": "3.0.1",
            "seenAt": "2026-10-04T16:22:31.875037371Z"
          },
          {
            "registry": "pypi",
            "name": "bolna",
            "version": "0.10.269",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:22:31.685913882Z"
          }
        ],
        "githubStars": 782,
        "npmWeekly": 364,
        "pypiWeekly": 1824,
        "securityTxt": {
          "url": "https://bolna.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:00.262891241Z"
        },
        "llmsTxt": {
          "url": "https://www.bolna.ai/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:21.76090737Z"
        },
        "domain": {
          "domain": "bolna.ai",
          "registered": "2024-09-27",
          "source": "https://rdap.identitydigital.services/rdap/domain/bolna.ai",
          "checkedAt": "2026-10-04T13:07:18.917906737Z"
        },
        "pages": [
          {
            "url": "https://www.bolna.ai/docs/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:30.073496597Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0db7b7c8de51"
          },
          {
            "url": "https://www.bolna.ai/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:49:32.473331376Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "edeeeb6accdd"
          },
          {
            "url": "https://www.bolna.ai/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:49:34.270339558Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0f8133e9e865"
          },
          {
            "url": "https://www.bolna.ai/terms-of-service",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:49:36.239918073Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "561e3b6c9a44"
          }
        ],
        "updatedAt": "2026-10-05T02:29:52.835069529Z"
      }
    },
    "b": {
      "slug": "ultravox",
      "name": "Ultravox Realtime API",
      "vendor": "Ultravox (Fixie.ai)",
      "vendorUrl": "https://www.ultravox.ai",
      "kind": "http-api",
      "category": "voice-agents",
      "summary": "Hosted voice agents on Ultravox, an open-weight model that takes speech directly with no speech-to-text step and answers through a TTS voice.",
      "url": "https://www.anchorterminal.com/tools/ultravox",
      "markdownUrl": "https://www.anchorterminal.com/tools/ultravox.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ultravox.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ultravox.json",
      "repo": "https://github.com/fixie-ai/ultravox",
      "license": "MIT (model code)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.ultravox.ai/api",
      "packages": [
        {
          "registry": "npm",
          "name": "ultravox-client"
        },
        {
          "registry": "pypi",
          "name": "ultravox-client"
        }
      ],
      "auth": "api-key",
      "authNotes": "`X-API-Key` header on the REST API. Clients join a call with the `joinUrl` returned when it's created, so the key stays on your server.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go at $0.05 a minute after 30 free minutes, capped at 5 concurrent calls. Pro is $100 a month (annual rate) at the same $0.05 a minute with no hard concurrency cap, the outbound scheduler, 5 custom voices and 20 RAG corpora. SIP costs 0.5 cents a minute (0.48 on Pro). Threads are $2 per 1M input tokens and $15 per 1M output. Enterprise is custom. Telephony from Twilio or other carriers is billed by them (https://www.ultravox.ai/pricing).",
      "priceSummary": "$100 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in the docs, pricing page or MCP docs (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 4574,
        "npmWeekly": 17262,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.ultravox.ai",
      "llmsTxt": "https://docs.ultravox.ai/llms.txt",
      "openapi": "https://api.ultravox.ai/api/schema/",
      "capabilities": [
        "voice.agent",
        "voice.speech-to-speech",
        "voice.tools",
        "voice.telephony"
      ],
      "tags": [
        "hosted",
        "open-weights",
        "no-card",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks",
        "streaming",
        "speech-to-speech"
      ],
      "lastRelease": "2026-07-18",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.6,
        "grade": "C",
        "agentReady": false,
        "rank": 279,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 6,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 43,
          "payments": 40,
          "reliability": 52,
          "schema": 84,
          "security": 46,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Flat $0.05 a minute including model and built-in voices. No MCP server.",
        "strengths": [
          "Flat $0.05 a minute including model and built-in voices",
          "Speech-native model with no separate STT stage, v0.7 weights public under MIT",
          "429 and 503 responses with Retry-After and backoff guidance",
          "Deprecation guide with a minimum 30-day window",
          "Privacy policy says voice data isn't used for training"
        ],
        "weaknesses": [
          "No MCP server",
          "News page, deprecation guide and Python client last updated in December 2025",
          "Plain API keys with no scopes",
          "Pay as you go caps at 5 concurrent calls",
          "No subprocessor list or stated certification"
        ],
        "agentNotes": [
          "Honour `Retry-After` on 429 and 503 when creating calls",
          "Pin the model string (`ultravox-v0.7` or `ultravox-v0.6`) rather than relying on the default",
          "Hand clients the `joinUrl`, never the API key",
          "Delete calls through the API when you need data removed, there's no retention setting",
          "Use call stages for multi-step flows instead of one long prompt"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.6
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 43,
          "payments": 40,
          "reliability": 52,
          "schema": 84,
          "security": 46,
          "transparency": 67
        },
        "provenanceScore": 82
      },
      "connect": {
        "http": "curl -X POST https://api.ultravox.ai/api/calls -H \"X-API-Key: $ULTRAVOX_API_KEY\" \\\n  -H \"content-type: application/json\" \\\n  -d '{\"systemPrompt\":\"You are a friendly receptionist.\",\"voice\":\"Mark\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/voice.agent",
        "tool": "https://letme.dev/ultravox"
      },
      "sameCompany": [
        "ultravox-voice-cloning"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Ultravox Realtime",
          "unit": "call-minute",
          "usd": 0.05,
          "note": "model and built-in voices, telephony carrier costs extra"
        },
        {
          "item": "SIP",
          "unit": "call-minute",
          "usd": 0.005,
          "note": "0.0048 on Pro"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 100,
          "note": "annual rate"
        }
      ],
      "provenance": {
        "legalEntity": "Fixie.ai Inc.",
        "domain": "ultravox.ai",
        "domainRegistered": "2023-10-05",
        "endpointOnVendorDomain": true,
        "terms": "https://www.ultravox.ai/terms",
        "privacy": "https://www.ultravox.ai/privacy",
        "statusPage": "https://status.ultravox.ai",
        "changelog": "https://docs.ultravox.ai/changelog/news",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ultravox.json",
      "live": {
        "slug": "ultravox",
        "probe": {
          "target": "https://api.ultravox.ai/api",
          "method": "get",
          "lastAt": "2026-10-05T02:30:04.261916949Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 397,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 112,
          "p95ms24h": 162,
          "samples24h": 273,
          "samples30d": 1131,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.ultravox.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:32.436136967Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "fixie-ai/ultravox",
            "version": "v0.6",
            "released": "2025-08-18",
            "seenAt": "2026-10-04T16:42:43.948571548Z"
          },
          {
            "registry": "npm",
            "name": "ultravox-client",
            "version": "0.6.0",
            "seenAt": "2026-10-04T16:42:42.977160423Z"
          },
          {
            "registry": "pypi",
            "name": "ultravox-client",
            "version": "0.1.0",
            "released": "2025-12-10",
            "seenAt": "2026-10-04T16:42:43.762434657Z"
          }
        ],
        "githubStars": 4573,
        "npmWeekly": 18685,
        "pypiWeekly": 117,
        "securityTxt": {
          "url": "https://ultravox.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:37.319054674Z"
        },
        "llmsTxt": {
          "url": "https://docs.ultravox.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:20.699570722Z"
        },
        "domain": {
          "domain": "ultravox.ai",
          "registered": "2023-10-05",
          "source": "https://rdap.identitydigital.services/rdap/domain/ultravox.ai",
          "checkedAt": "2026-10-04T13:04:52.103171331Z"
        },
        "updatedAt": "2026-10-05T02:30:04.261916949Z"
      }
    },
    "summary": "Ultravox Realtime API has a score of 58.6 (C) against Bolna API + MCP's 52.9 (D). Both do voice agent. The largest gap is maintenance \u0026 community, 33 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bolna-vs-ultravox",
    "json": "https://www.anchorterminal.com/compare/bolna-vs-ultravox.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bolna-vs-ultravox.md",
    "slim": "https://www.anchorterminal.com/compare/bolna-vs-ultravox.min.md"
  },
  "markdown": "Ultravox Realtime API has a score of 58.6 (C) against Bolna API + MCP's 52.9 (D). Both do voice agent. The largest gap is maintenance \u0026 community, 33 points.\n\n- Bolna API + MCP: grade D, 52.9/100, rank #339 of 452. Markdown https://www.anchorterminal.com/tools/bolna.md · JSON https://www.anchorterminal.com/api/v1/tools/bolna.json\n- Ultravox Realtime API: grade C, 58.6/100, rank #279 of 452. Markdown https://www.anchorterminal.com/tools/ultravox.md · JSON https://www.anchorterminal.com/api/v1/tools/ultravox.json\n\n## Which one, for what\n\nPick Bolna API + MCP for maintenance \u0026 community (+33).\n\nPick Ultravox Realtime API for schema \u0026 documentation (+21), agent ergonomics (+17), payments \u0026 pricing (+10), transparency \u0026 trust (+5).\n\n## Score by category\n\n| Category | Weight | Bolna API + MCP | Ultravox Realtime API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 50 | 52 | Ultravox Realtime API +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 63 | 84 | Ultravox Realtime API +21 |\n| Agent ergonomics | 13% (16.2 this run) | 52 | 69 | Ultravox Realtime API +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 46 | Ultravox Realtime API +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Ultravox 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 | 43 | Bolna API + MCP +33 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 70 | 75 | Ultravox Realtime API +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **52.9 · D** | **58.6 · C** | |\n\n## Facts side by side\n\n| Fact | Bolna API + MCP | Ultravox Realtime API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bolna | Ultravox (Fixie.ai) |\n| Hosted endpoint | `https://api.bolna.ai` | `https://api.ultravox.ai/api` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | MIT | MIT (model code) |\n| Tools exposed | 84 | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-29 | 2026-07-18 |\n| Popularity | 779 stars, 579 npm/wk, 2.6k PyPI/wk | 4.6k stars, 17k npm/wk |\n| Agent reviews | 2.5/5 (2) | 3/5 (2) |\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**Ultravox Realtime API.** Flat $0.05 a minute including model and built-in voices. No MCP server.\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### Ultravox Realtime API\n\n1. Honour `Retry-After` on 429 and 503 when creating calls\n2. Pin the model string (`ultravox-v0.7` or `ultravox-v0.6`) rather than relying on the default\n3. Hand clients the `joinUrl`, never the API key\n4. Delete calls through the API when you need data removed, there's no retention setting\n5. Use call stages for multi-step flows instead of one long prompt\n\n## Other comparisons with Bolna API + MCP or Ultravox Realtime API\n\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 Ultravox Realtime API](https://www.anchorterminal.com/compare/bland-ai-vs-ultravox.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 Hume EVI (Empathic Voice Interface)](https://www.anchorterminal.com/compare/bolna-vs-hume-evi.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 Synthflow API + MCP](https://www.anchorterminal.com/compare/bolna-vs-synthflow.md)\n- [Bolna API + MCP vs Vapi API + MCP](https://www.anchorterminal.com/compare/bolna-vs-vapi.md)\n- [Bolna API + MCP vs Vogent API](https://www.anchorterminal.com/compare/bolna-vs-vogent.md)\n- [Deepgram Voice Agent API vs Ultravox Realtime API](https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-ultravox.md)\n- [ElevenLabs Agents API + MCP vs Ultravox Realtime API](https://www.anchorterminal.com/compare/elevenlabs-agents-vs-ultravox.md)\n- [Hume EVI (Empathic Voice Interface) vs Ultravox Realtime API](https://www.anchorterminal.com/compare/hume-evi-vs-ultravox.md)\n- [Retell AI API + MCP vs Ultravox Realtime API](https://www.anchorterminal.com/compare/retell-ai-vs-ultravox.md)\n- [Synthflow API + MCP vs Ultravox Realtime API](https://www.anchorterminal.com/compare/synthflow-vs-ultravox.md)\n- [Ultravox Realtime API vs Vapi API + MCP](https://www.anchorterminal.com/compare/ultravox-vs-vapi.md)\n- [Ultravox Realtime API vs Vogent API](https://www.anchorterminal.com/compare/ultravox-vs-vogent.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Bolna API + MCP vs Ultravox Realtime API",
        "url": ""
      }
    ],
    "description": "Ultravox Realtime API has a score of 58.6 (C) against Bolna API + MCP's 52.9 (D). Both do voice agent. The largest gap is maintenance \u0026 community, 33 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Bolna API + MCP D 52.9",
      "Ultravox Realtime API C 58.6",
      "scores"
    ],
    "h1": "Bolna API + MCP vs Ultravox Realtime API",
    "image": "https://www.anchorterminal.com/assets/og/compare-bolna-vs-ultravox.png",
    "path": "/compare/bolna-vs-ultravox",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bolna API + MCP vs Ultravox Realtime API for AI agents",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/bolna-vs-ultravox"
  },
  "tokens": {
    "markdown": 1600,
    "slim": 330
  },
  "version": 1
}
