{
  "data": {
    "a": {
      "slug": "assemblyai-voice-agent",
      "name": "AssemblyAI Voice Agent API",
      "vendor": "AssemblyAI, Inc.",
      "vendorUrl": "https://www.assemblyai.com",
      "kind": "http-api",
      "category": "voice-agents",
      "summary": "AssemblyAI's Voice Agent API runs a spoken conversation over one WebSocket, combining its own speech-to-text, language model and text-to-speech. Agents are stored through a REST API and reached from a browser, a server or an inbound Twilio SIP number.",
      "url": "https://www.anchorterminal.com/tools/assemblyai-voice-agent",
      "markdownUrl": "https://www.anchorterminal.com/tools/assemblyai-voice-agent.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/assemblyai-voice-agent.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/assemblyai-voice-agent.json",
      "repo": "https://github.com/AssemblyAI/voice-agent-starter-python",
      "license": "Proprietary service under AssemblyAI's Terms of Service. The two starter repositories on GitHub carry no licence file",
      "transports": [
        "http"
      ],
      "remoteUrl": "wss://agents.assemblyai.com/v1/ws",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Self-serve API key from the dashboard, sent in the `Authorization` header on REST calls and on the WebSocket upgrade, with or without a `Bearer` prefix. Keys belong to a project and can be created and deleted in the dashboard (2 on the free plan, 4 on pay as you go, 25 on a contract). No scopes or expiry were found. Browser clients use a one-time token from `GET /v1/token`, redeemable within 1 to 600 seconds and passed as the `token` query parameter.",
      "pricing": "usage",
      "pricingNotes": "$4.50 an hour ($0.075 a minute), billed per second from socket open to session end, idle time included. The rate covers speech-to-text, the managed model, speech output, recordings and hosting. New accounts get $50 of credit with no card, which covers the Voice Agent API. LLM Gateway tokens and Twilio carrier minutes are billed separately. Volume pricing is by sales contact (https://www.assemblyai.com/pricing, https://www.assemblyai.com/docs/billing-and-pricing, checked 2026-10-09).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Voice Agent docs, the two API description files, the billing docs or the pricing page. Payment is by card into a prepaid balance (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://www.assemblyai.com/docs/voice-agents/voice-agent-api",
      "llmsTxt": "https://www.assemblyai.com/docs/llms.txt",
      "openapi": "https://www.assemblyai.com/docs/api-reference/specs/voice-agent-api.yaml",
      "capabilities": [
        "voice.agent",
        "voice.pipeline",
        "voice.tools",
        "voice.telephony"
      ],
      "tags": [
        "hosted",
        "no-card",
        "closed-source",
        "llms-txt",
        "webhooks",
        "streaming",
        "pipeline",
        "python",
        "javascript",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-08-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.4,
        "grade": "B",
        "agentReady": false,
        "rank": 351,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 64,
          "payments": 40,
          "reliability": 60,
          "schema": 83,
          "security": 62,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "One $0.075 a minute rate covers speech-to-text, the managed model, speech output, recordings and hosting, and the socket has an AsyncAPI file, typed error codes and a 30-second resume window. No concurrent-session limit is published, the status page has no Voice Agent component, and phone calls are inbound only through a Twilio trunk the customer owns.",
        "bestFor": "A developer who wants one managed pipeline at a flat rate and is content with AssemblyAI's own speech models and voices, with an optional model of their own.",
        "strengths": [
          "One published rate of $4.50 an hour ($0.075 a minute), billed per second, with $50 of credit and no card for new accounts",
          "AsyncAPI 3.0 file for the socket, an OpenAPI file for the token endpoint, llms.txt and a Markdown copy of every docs page",
          "Session errors carry a code, a message and sometimes the offending field, and the docs name the three codes that are safe to retry",
          "HTTP tool header values are write-only and encrypted at rest, and tool calls are limited to public `https` hosts with redirects refused",
          "Every session is stored with a stereo recording, a JSON timeline of turns and tool calls, and signed webhooks with a delivery history"
        ],
        "weaknesses": [
          "No number is published for the concurrent-session limit that the `concurrency_exceeded` error enforces",
          "status.assemblyai.com lists the Asynchronous API, Streaming API and LLM Gateway, with no Voice Agent component",
          "Telephony is inbound only, over a SIP trunk on a Twilio account the customer owns",
          "API keys have no scopes or expiry, and opting out of model training needs a paid plan",
          "The Terms of Service bar benchmarking and competitive analysis (2.4(f)) and any automated or programmatic method of extracting data or Output (4.4), which matters before any probe is run"
        ],
        "agentNotes": [
          "Send `session.end` before closing the socket. Without it the session stays resumable, and billed, for 30 seconds",
          "Retry only `at_capacity`, `concurrency_exceeded` and `internal_error`, with backoff. Every other session error code is fatal",
          "Send `tool.result` inside the `reply.done` handler, not straight after `tool.call`",
          "Mint a one-time token with `GET /v1/token` for browser clients and never ship the API key to a page",
          "Deduplicate webhooks on `event_id`, and verify `X-AAI-Signature` against the raw body bytes because a 401 is not retried"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 64.4
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 64,
          "payments": 40,
          "reliability": 60,
          "schema": 83,
          "security": 62,
          "transparency": 51
        },
        "provenanceScore": 81
      },
      "connect": {
        "install": "git clone https://github.com/AssemblyAI/voice-agent-starter-python",
        "http": "curl -X POST https://agents.assemblyai.com/v1/agents \\\n  -H \"Authorization: $ASSEMBLYAI_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\": \"Support Assistant\", \"system_prompt\": \"You are a friendly support agent.\", \"greeting\": \"Hi, how can I help?\", \"voice\": {\"voice_id\": \"alba\"}}'",
        "claudeCode": "claude mcp add --transport http --scope user assemblyai-docs https://mcp.assemblyai.com/docs"
      },
      "letme": {
        "capability": "https://letme.dev/voice.agent",
        "tool": "https://letme.dev/assemblyai-voice-agent"
      },
      "sameCompany": [
        "assemblyai-stt"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Voice Agent session",
          "unit": "call-minute",
          "usd": 0.075,
          "note": "$4.50 an hour billed per second of open socket. Speech-to-text, managed model, speech output and recordings included. LLM Gateway tokens and carrier minutes extra"
        }
      ],
      "provenance": {
        "legalEntity": "AssemblyAI, Inc.",
        "domain": "assemblyai.com",
        "domainRegistered": "2016-12-24",
        "endpointOnVendorDomain": true,
        "terms": "https://www.assemblyai.com/legal/terms-of-service",
        "privacy": "https://www.assemblyai.com/legal/privacy-policy",
        "statusPage": "https://status.assemblyai.com",
        "changelog": "https://www.assemblyai.com/changelog",
        "securityTxt": "unknown",
        "checked": "2026-10-09",
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/assemblyai-voice-agent.json",
      "live": {
        "slug": "assemblyai-voice-agent",
        "probe": {
          "target": "wss://agents.assemblyai.com/v1/ws",
          "method": "get",
          "lastAt": "2026-10-10T02:54:46.844166109Z",
          "lastOk": false,
          "lastStatus": 0,
          "lastMs": 0,
          "lastNote": "unsupported protocol scheme \"wss\"",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 115,
          "samples30d": 115,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 0
            },
            {
              "date": "2026-10-10",
              "probes": 30,
              "ok": 0
            }
          ],
          "outages": [
            {
              "start": "2026-10-09T15:42:56.660671906Z",
              "end": "0001-01-01T00:00:00Z",
              "note": "unsupported protocol scheme \"wss\""
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.assemblyai.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T02:49:55.908212561Z"
        },
        "githubStars": 3,
        "pages": [
          {
            "url": "https://www.assemblyai.com/docs/billing-and-pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:48:16.435584974Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3b80ad9644cf"
          }
        ],
        "updatedAt": "2026-10-10T02:54:46.844166109Z"
      }
    },
    "answer": "AssemblyAI Voice Agent API scores 64.4 (B) on agent readiness against Ultravox Realtime API's 58.5 (C), and leads in 4 of 7 scored categories. Ultravox Realtime API leads on transparency \u0026 trust.",
    "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.5,
        "grade": "C",
        "agentReady": false,
        "rank": 576,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 43,
          "payments": 40,
          "reliability": 52,
          "schema": 84,
          "security": 46,
          "transparency": 73
        },
        "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.",
        "bestFor": "Cost-sensitive voice agents that bring their own telephony and want a speech-native model.",
        "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.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.5
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 43,
          "payments": 40,
          "reliability": 52,
          "schema": 84,
          "security": 46,
          "transparency": 67
        },
        "provenanceScore": 78
      },
      "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": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ultravox.json",
      "live": {
        "slug": "ultravox",
        "probe": {
          "target": "https://api.ultravox.ai/api",
          "method": "get",
          "lastAt": "2026-10-10T02:55:14.204187105Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 108,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 119,
          "p95ms24h": 158,
          "samples24h": 249,
          "samples30d": 2466,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "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": 30,
              "ok": 30
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.ultravox.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:51:21.709293093Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "fixie-ai/ultravox",
            "version": "v0.6",
            "released": "2025-08-18",
            "seenAt": "2026-10-09T17:25:55.752217212Z"
          },
          {
            "registry": "npm",
            "name": "ultravox-client",
            "version": "0.6.0",
            "seenAt": "2026-10-09T17:25:54.734195011Z"
          },
          {
            "registry": "pypi",
            "name": "ultravox-client",
            "version": "0.1.0",
            "released": "2025-12-10",
            "seenAt": "2026-10-09T17:25:55.563179083Z"
          }
        ],
        "githubStars": 4572,
        "npmWeekly": 17778,
        "pypiWeekly": 104,
        "securityTxt": {
          "url": "https://ultravox.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:40:36.404486116Z"
        },
        "llmsTxt": {
          "url": "https://docs.ultravox.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:02:57.982423245Z"
        },
        "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-10T02:55:14.204187105Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "AssemblyAI, Inc.",
        "b": "Ultravox (Fixie.ai)",
        "name": "Vendor"
      },
      {
        "a": "wss://agents.assemblyai.com/v1/ws",
        "b": "https://api.ultravox.ai/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "$0.075 per minute of call",
        "b": "not published",
        "name": "Price for voice agents"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under AssemblyAI's Terms of Service. The two starter repositories on GitHub carry no licence file",
        "b": "MIT (model code)",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-26",
        "b": "2026-07-18",
        "name": "Last release"
      },
      {
        "a": "2026-07-01",
        "b": "2026-10-01",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-26",
        "b": "2026-10-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes, with an opt-out",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "4.6k stars, 17k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "AssemblyAI Voice Agent API scores 64.4 (B) on agent readiness against Ultravox Realtime API's 58.5 (C), and leads in 4 of 7 scored categories. Ultravox Realtime API leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, AssemblyAI Voice Agent API or Ultravox Realtime API?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do AssemblyAI Voice Agent API and Ultravox Realtime API need an API key?"
      },
      {
        "answer": "Yes. AssemblyAI Voice Agent API has a hosted endpoint at wss://agents.assemblyai.com/v1/ws and Ultravox Realtime API at https://api.ultravox.ai/api.",
        "question": "Can an agent call AssemblyAI Voice Agent API and Ultravox Realtime API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 60 against 52",
          "Security \u0026 auth, 62 against 46",
          "Maintenance \u0026 community, 64 against 43"
        ],
        "also": null,
        "goodFor": "A developer who wants one managed pipeline at a flat rate and is content with AssemblyAI's own speech models and voices, with an optional model of their own.",
        "slug": "assemblyai-voice-agent",
        "watchFor": "No number is published for the concurrent-session limit that the `concurrency_exceeded` error enforces"
      },
      {
        "aheadOn": [
          "Transparency \u0026 trust, 73 against 66"
        ],
        "also": null,
        "goodFor": "Cost-sensitive voice agents that bring their own telephony and want a speech-native model.",
        "slug": "ultravox",
        "watchFor": "No MCP server"
      }
    ],
    "job": {
      "capability": "voice.agent",
      "name": "Voice agents"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-bland-ai.json",
        "title": "AssemblyAI Voice Agent API vs Bland AI API + MCP",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-bland-ai"
      },
      {
        "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-deepgram-voice-agent.json",
        "title": "AssemblyAI Voice Agent API vs Deepgram Voice Agent API",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-deepgram-voice-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-elevenlabs-agents.json",
        "title": "AssemblyAI Voice Agent API vs ElevenLabs Agents API + MCP",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-elevenlabs-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-gemini-live.json",
        "title": "AssemblyAI Voice Agent API vs Gemini Live API",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-gemini-live"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-hume-evi.json",
        "title": "AssemblyAI Voice Agent API vs Hume EVI (Empathic Voice Interface)",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-hume-evi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-openai-realtime.json",
        "title": "AssemblyAI Voice Agent API vs OpenAI Realtime API",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-openai-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-retell-ai.json",
        "title": "AssemblyAI Voice Agent API vs Retell AI API + MCP",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-retell-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-synthflow.json",
        "title": "AssemblyAI Voice Agent API vs Synthflow API + MCP",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-synthflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vapi.json",
        "title": "AssemblyAI Voice Agent API vs Vapi API + MCP",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vocily.json",
        "title": "AssemblyAI Voice Agent API vs Vocily AI",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vocily"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vogent.json",
        "title": "AssemblyAI Voice Agent API vs Vogent API",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vogent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bland-ai-vs-ultravox.json",
        "title": "Bland AI API + MCP vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/bland-ai-vs-ultravox"
      },
      {
        "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/deepgram-voice-agent-vs-ultravox.json",
        "title": "Deepgram Voice Agent API vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-ultravox.json",
        "title": "ElevenLabs Agents API + MCP vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-live-vs-ultravox.json",
        "title": "Gemini Live API vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/gemini-live-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hume-evi-vs-ultravox.json",
        "title": "Hume EVI (Empathic Voice Interface) vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/hume-evi-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-realtime-vs-ultravox.json",
        "title": "OpenAI Realtime API vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/openai-realtime-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/retell-ai-vs-ultravox.json",
        "title": "Retell AI API + MCP vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/retell-ai-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/synthflow-vs-ultravox.json",
        "title": "Synthflow API + MCP vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/synthflow-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ultravox-vs-vapi.json",
        "title": "Ultravox Realtime API vs Vapi API + MCP",
        "url": "https://www.anchorterminal.com/compare/ultravox-vs-vapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ultravox-vs-vocily.json",
        "title": "Ultravox Realtime API vs Vocily AI",
        "url": "https://www.anchorterminal.com/compare/ultravox-vs-vocily"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ultravox-vs-vogent.json",
        "title": "Ultravox Realtime API vs Vogent API",
        "url": "https://www.anchorterminal.com/compare/ultravox-vs-vogent"
      }
    ],
    "scores": [
      {
        "assemblyai-voice-agent": 60,
        "by": 8,
        "edge": "assemblyai-voice-agent",
        "key": "reliability",
        "name": "Reliability",
        "ultravox": 52,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "assemblyai-voice-agent": 83,
        "by": 1,
        "edge": "ultravox",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "ultravox": 84,
        "weight": 13
      },
      {
        "assemblyai-voice-agent": 72,
        "by": 3,
        "edge": "assemblyai-voice-agent",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "ultravox": 69,
        "weight": 13
      },
      {
        "assemblyai-voice-agent": 62,
        "by": 16,
        "edge": "assemblyai-voice-agent",
        "key": "security",
        "name": "Security \u0026 auth",
        "ultravox": 46,
        "weight": 14
      },
      {
        "assemblyai-voice-agent": 40,
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "ultravox": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "assemblyai-voice-agent": 64,
        "by": 21,
        "edge": "assemblyai-voice-agent",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "ultravox": 43,
        "weight": 7
      },
      {
        "assemblyai-voice-agent": 66,
        "by": 7,
        "edge": "ultravox",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "ultravox": 73,
        "weight": 7
      }
    ],
    "summary": "AssemblyAI Voice Agent API scores 64.4 (B) on agent readiness against Ultravox Realtime API's 58.5 (C), and leads in 4 of 7 scored categories. Ultravox Realtime API leads on transparency \u0026 trust. Both do voice agents.",
    "verdicts": {
      "assemblyai-voice-agent": "One $0.075 a minute rate covers speech-to-text, the managed model, speech output, recordings and hosting, and the socket has an AsyncAPI file, typed error codes and a 30-second resume window. No concurrent-session limit is published, the status page has no Voice Agent component, and phone calls are inbound only through a Twilio trunk the customer owns.",
      "ultravox": "Flat $0.05 a minute including model and built-in voices. No MCP server."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-ultravox",
    "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-ultravox.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-ultravox.md",
    "slim": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-ultravox.min.md"
  },
  "markdown": "AssemblyAI Voice Agent API scores 64.4 (B) on agent readiness against Ultravox Realtime API's 58.5 (C), and leads in 4 of 7 scored categories. Ultravox Realtime API leads on transparency \u0026 trust. Both do voice agents.\n\n- AssemblyAI Voice Agent API: grade B, 64.4/100, rank #351 of 950. Markdown https://www.anchorterminal.com/tools/assemblyai-voice-agent.md · JSON https://www.anchorterminal.com/api/v1/tools/assemblyai-voice-agent.json\n- Ultravox Realtime API: grade C, 58.5/100, rank #576 of 950. Markdown https://www.anchorterminal.com/tools/ultravox.md · JSON https://www.anchorterminal.com/api/v1/tools/ultravox.json\n- Best conversational voice-agent APIs: https://www.anchorterminal.com/best/voice-agents/index.md\n- All 91 voice agents comparisons: https://www.anchorterminal.com/compare/voice-agents/index.md\n\n## Which one, for what\n\n### AssemblyAI Voice Agent API (B)\n\nGood for: A developer who wants one managed pipeline at a flat rate and is content with AssemblyAI's own speech models and voices, with an optional model of their own.\n\nAhead on:\n- Reliability, 60 against 52\n- Security \u0026 auth, 62 against 46\n- Maintenance \u0026 community, 64 against 43\n\nWatch for: No number is published for the concurrent-session limit that the `concurrency_exceeded` error enforces\n\n### Ultravox Realtime API (C)\n\nGood for: Cost-sensitive voice agents that bring their own telephony and want a speech-native model.\n\nAhead on:\n- Transparency \u0026 trust, 73 against 66\n\nWatch for: No MCP server\n\n\n## Score by category\n\n| Category | Weight | AssemblyAI Voice Agent API | Ultravox Realtime API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 52 | AssemblyAI Voice Agent API +8 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 84 | Ultravox Realtime API +1 |\n| Agent ergonomics | 13% (16.2 this run) | 72 | 69 | AssemblyAI Voice Agent API +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 46 | AssemblyAI Voice Agent API +16 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 64 | 43 | AssemblyAI Voice Agent API +21 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 66 | 73 | Ultravox Realtime API +7 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **64.4 · B** | **58.5 · C** | |\n\n## Facts side by side\n\n| Fact | AssemblyAI Voice Agent API | Ultravox Realtime API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | AssemblyAI, Inc. | Ultravox (Fixie.ai) |\n| Hosted endpoint | `wss://agents.assemblyai.com/v1/ws` | `https://api.ultravox.ai/api` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Pay per use |\n| Price for voice agents | $0.075 per minute of call | not published |\n| x402 | no | no |\n| Licence | Proprietary service under AssemblyAI's Terms of Service. The two starter repositories on GitHub carry no licence file | MIT (model code) |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-08-26 | 2026-07-18 |\n| Terms last updated | 2026-07-01 | 2026-10-01 |\n| Privacy policy last updated | 2026-05-26 | 2026-10-01 |\n| Customer content may train models | yes, with an opt-out | yes |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | none | 4.6k stars, 17k npm/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## Verdicts\n\n**AssemblyAI Voice Agent API.** One $0.075 a minute rate covers speech-to-text, the managed model, speech output, recordings and hosting, and the socket has an AsyncAPI file, typed error codes and a 30-second resume window. No concurrent-session limit is published, the status page has no Voice Agent component, and phone calls are inbound only through a Twilio trunk the customer owns.\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### AssemblyAI Voice Agent API\n\n1. Send `session.end` before closing the socket. Without it the session stays resumable, and billed, for 30 seconds\n2. Retry only `at_capacity`, `concurrency_exceeded` and `internal_error`, with backoff. Every other session error code is fatal\n3. Send `tool.result` inside the `reply.done` handler, not straight after `tool.call`\n4. Mint a one-time token with `GET /v1/token` for browser clients and never ship the API key to a page\n5. Deduplicate webhooks on `event_id`, and verify `X-AAI-Signature` against the raw body bytes because a 401 is not retried\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## Questions\n\n### Which is better for AI agents, AssemblyAI Voice Agent API or Ultravox Realtime API?\n\nAssemblyAI Voice Agent API scores 64.4 (B) on agent readiness against Ultravox Realtime API's 58.5 (C), and leads in 4 of 7 scored categories. Ultravox Realtime API leads on transparency \u0026 trust.\n\n### Do AssemblyAI Voice Agent API and Ultravox Realtime API need an API key?\n\nBoth need an API key.\n\n### Can an agent call AssemblyAI Voice Agent API and Ultravox Realtime API without installing anything?\n\nYes. AssemblyAI Voice Agent API has a hosted endpoint at wss://agents.assemblyai.com/v1/ws and Ultravox Realtime API at https://api.ultravox.ai/api.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-ultravox.json, and with the fewest tokens: https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-ultravox.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"assemblyai-voice-agent\", \"b\": \"ultravox\"}`. From a terminal: `anchor compare assemblyai-voice-agent ultravox`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/assemblyai-voice-agent.json and https://www.anchorterminal.com/api/v1/tools/ultravox.json\n\n## Other comparisons with AssemblyAI Voice Agent API or Ultravox Realtime API\n\n- [AssemblyAI Voice Agent API vs Bland AI API + MCP](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-bland-ai.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 Deepgram Voice Agent API](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-deepgram-voice-agent.md)\n- [AssemblyAI Voice Agent API vs ElevenLabs Agents API + MCP](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-elevenlabs-agents.md)\n- [AssemblyAI Voice Agent API vs Gemini Live API](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-gemini-live.md)\n- [AssemblyAI Voice Agent API vs Hume EVI (Empathic Voice Interface)](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-hume-evi.md)\n- [AssemblyAI Voice Agent API vs OpenAI Realtime API](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-openai-realtime.md)\n- [AssemblyAI Voice Agent API vs Retell AI API + MCP](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-retell-ai.md)\n- [AssemblyAI Voice Agent API vs Synthflow API + MCP](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-synthflow.md)\n- [AssemblyAI Voice Agent API vs Vapi API + MCP](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vapi.md)\n- [AssemblyAI Voice Agent API vs Vocily AI](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vocily.md)\n- [AssemblyAI Voice Agent API vs Vogent API](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vogent.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 Ultravox Realtime API](https://www.anchorterminal.com/compare/bolna-vs-ultravox.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- [Gemini Live API vs Ultravox Realtime API](https://www.anchorterminal.com/compare/gemini-live-vs-ultravox.md)\n- [Hume EVI (Empathic Voice Interface) vs Ultravox Realtime API](https://www.anchorterminal.com/compare/hume-evi-vs-ultravox.md)\n- [OpenAI Realtime API vs Ultravox Realtime API](https://www.anchorterminal.com/compare/openai-realtime-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 Vocily AI](https://www.anchorterminal.com/compare/ultravox-vs-vocily.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-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "AssemblyAI Voice Agent API vs Ultravox Realtime API",
        "url": ""
      }
    ],
    "description": "AssemblyAI Voice Agent scores 64.4 (B) to Ultravox Realtime's 58.5 (C) for voice agents. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AssemblyAI Voice Agent API B 64.4",
      "Ultravox Realtime API C 58.5",
      "scores"
    ],
    "h1": "AssemblyAI Voice Agent API vs Ultravox Realtime API",
    "image": "https://www.anchorterminal.com/assets/og/compare-assemblyai-voice-agent-vs-ultravox.png",
    "path": "/compare/assemblyai-voice-agent-vs-ultravox",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AssemblyAI Voice Agent vs Ultravox Realtime for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-ultravox"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 680
  },
  "version": 1
}
