{
  "data": {
    "similar": [
      {
        "grade": "BB",
        "json": "https://www.anchorterminal.com/tools/elevenlabs-agents.json",
        "name": "ElevenLabs Agents API + MCP",
        "score": 71.3,
        "shared": [
          "voice.agent",
          "voice.pipeline",
          "voice.tools",
          "voice.telephony"
        ],
        "slug": "elevenlabs-agents"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/retell-ai.json",
        "name": "Retell AI API + MCP",
        "score": 69.1,
        "shared": [
          "voice.agent",
          "voice.pipeline",
          "voice.tools",
          "voice.telephony"
        ],
        "slug": "retell-ai"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/bland-ai.json",
        "name": "Bland AI API + MCP",
        "score": 63.8,
        "shared": [
          "voice.agent",
          "voice.pipeline",
          "voice.tools",
          "voice.telephony"
        ],
        "slug": "bland-ai"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/vapi.json",
        "name": "Vapi API + MCP",
        "score": 63.5,
        "shared": [
          "voice.agent",
          "voice.pipeline",
          "voice.tools",
          "voice.telephony"
        ],
        "slug": "vapi"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/hume-evi.json",
        "name": "Hume EVI (Empathic Voice Interface)",
        "score": 56.7,
        "shared": [
          "voice.agent",
          "voice.pipeline",
          "voice.tools",
          "voice.telephony"
        ],
        "slug": "hume-evi"
      },
      {
        "grade": "D",
        "json": "https://www.anchorterminal.com/tools/vocily.json",
        "name": "Vocily AI",
        "score": 53.8,
        "shared": [
          "voice.agent",
          "voice.pipeline",
          "voice.tools",
          "voice.telephony"
        ],
        "slug": "vocily"
      }
    ],
    "tool": {
      "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"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 60,
            "points": 12,
            "reason": "Scored with the hosted lines. Statuspage at status.assemblyai.com with component history, but its components are the Asynchronous API, Streaming API and LLM Gateway and none is the Voice Agent API (15 of 20). No incident in the 90 days to 9 October 2026 names the Voice Agent API. Five name the realtime speech-to-text it runs on, including about two hours of degraded Universal-3.5 Pro streaming in us-east on 31 July and about two hours of rejected Universal-3.6 Pro Realtime sessions on the US endpoint on 6 October. Whether agent sessions were affected is not stated (15 of 30). A per-account concurrent-session limit is enforced and no figure is published for it (0 of 15). The events reference names `at_capacity`, `concurrency_exceeded` and `internal_error` as the only retryable codes and says to reconnect with backoff, sessions resume for 30 seconds, and webhooks carry a stable `event_id`. No idempotency key on `POST /v1/agents` (10 of 15). A Service Level Agreement of 99.9 per cent a month with credits is published, written against an Order Form (10). The launch note of 29 April 2026 says the API is available to all customers and no beta label was found (10)."
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 83,
            "points": 13.49,
            "reason": "An AsyncAPI 3.0 file describes the socket and an OpenAPI 3.0.3 file the token endpoint. No description file was found for the agents, sessions and webhook REST endpoints, and the AsyncAPI file lacks `language_codes`, `voice_focus`, `transcript.agent.delta` and `is_error`, which the docs added on 23 July 2026 (19 of 25). llms.txt, a Markdown copy of each page and a docs MCP server (10). Operations and fields say what they are for and when to use them, such as when to choose `hold` over `interactive` execution (17 of 20). Enums, ranges and defaults on audio encoding, turn detection and timeouts. Tool `parameters` are a JSON Schema the server does not validate at `session.update` (12 of 15). Examples in cURL, Python and JavaScript, and tables of session error codes with close codes (13 of 15). A dated public changelog tagged by product and a `/v1` path, with no written versioning policy found (12 of 15)."
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 72,
            "points": 11.7,
            "reason": "Scored as an API. Events are small typed JSON, HTTP tool responses are capped at 8 KiB before they reach the model, and the session list leaves artefacts out (18 of 25). `GET /v1/sessions` pages by `cursor` with `limit` from 1 to 200 and filters on `status` and `agent_id` (18 of 20). Errors carry `code`, `message` and sometimes `param`, and REST validation errors name the field (17 of 20). No idempotency keys on REST writes. Sessions resume within 30 seconds, webhooks dedupe on `event_id`, and `hold` mode silences the agent during long tools (10 of 20). An agent needs three fields (`name`, `system_prompt`, `voice`). The official Python and Node SDKs have no Voice Agent client, so callers write JSON over a socket or start from the two starter repositories (9 of 15)."
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 62,
            "points": 10.85,
            "reason": "Plain API keys per project, created and deleted in the dashboard, with no scopes or expiry found (20 of 30). Browser clients pass a token in the `token` query parameter. We took no deduction because the token is one-time and redeemable for at most 600 seconds, which is a judgement call. A read-only Reader role exists for dashboard members but not for keys. HTTP tool header values are write-only and encrypted at rest, tool calls go only to public `https` hosts with redirects refused, and the docs show how to gate tools by conversation state. No built-in confirmation step before a tool that writes (10 of 20). Caller speech and tool results reach a model. Tool arguments are drawn only from user turns and tool results since 26 August 2026 and tool responses are capped, but no prompt-injection guidance was found (8 of 15). Sessions keep a timeline with tool calls, webhook deliveries are logged per session, usage is broken down by key, and the dashboard has activity logs (12 of 15). The security page states a SOC 2 Type 2 report and third-party penetration tests. No bug bounty or disclosure policy was found, and robots.txt closes `/.well-known`, so security.txt went unread (12 of 20)."
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 40,
            "points": 5,
            "reason": "No x402, MPP or L402 (0 of 40). One per-unit price on the public pricing page, $4.50 an hour billed per second (20). $50 of credit with no card, which the billing docs say covers the Voice Agent API (20). A person has to sign up in a browser to get the first key, and no key-creation API was found (0)."
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 64,
            "points": 5.6,
            "reason": "Universal-3.6 Pro Realtime, the speech-to-text the pricing page lists inside the Voice Agent API, shipped on 29 September 2026. The last changelog entry tagged Voice Agent API is 26 August 2026. We scored on the August entry, the last one tagged for this API, 44 days before the check (20). Ten entries tagged Voice Agent API between 13 July and 26 August 2026 (20). A public changelog that records fixes, a support address and a Discord link we did not test (11 of 15 for a closed service). The Python SDK (1.6.1) and Node SDK (4.41.5) were tagged on 24 September 2026 but have no Voice Agent client. The two starter repositories were last changed on 16 August 2026 (8 of 15). The starters need no dependencies and have no licence file, tests or CI (5 of 10)."
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 66,
            "points": 5.78,
            "note": "editorial 51, provenance 81",
            "reason": "A closed service with a clear service agreement. The starter repositories have no licence file (15 of 30). The Terms of Service grant a licence to train on Customer Data by default, the opt-out needs a paid plan, and the retention page gives periods for streaming, sync, dictation, asynchronous and LLM Gateway data but none for Voice Agent sessions, which are recorded and stored. A DPA is published and the privacy policy states Data Privacy Framework certification (14 of 30). The changelog dates deprecations ahead of time, such as the 11 July 2026 notice of a change on 7 August, and the terms promise reasonable prior notice of major changes. No written deprecation policy was found (12 of 20). The subprocessor list sits on a third-party trust centre we did not read. US and EU endpoints are mentioned, with no EU host named for the Voice Agent API in the pages read (10 of 20)."
          }
        ],
        "assessment": {
          "date": "2026-10-09",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "Scored as an API. Events are small typed JSON, HTTP tool responses are capped at 8 KiB before they reach the model, and the session list leaves artefacts out (18 of 25). `GET /v1/sessions` pages by `cursor` with `limit` from 1 to 200 and filters on `status` and `agent_id` (18 of 20). Errors carry `code`, `message` and sometimes `param`, and REST validation errors name the field (17 of 20). No idempotency keys on REST writes. Sessions resume within 30 seconds, webhooks dedupe on `event_id`, and `hold` mode silences the agent during long tools (10 of 20). An agent needs three fields (`name`, `system_prompt`, `voice`). The official Python and Node SDKs have no Voice Agent client, so callers write JSON over a socket or start from the two starter repositories (9 of 15).",
            "maintenance": "Universal-3.6 Pro Realtime, the speech-to-text the pricing page lists inside the Voice Agent API, shipped on 29 September 2026. The last changelog entry tagged Voice Agent API is 26 August 2026. We scored on the August entry, the last one tagged for this API, 44 days before the check (20). Ten entries tagged Voice Agent API between 13 July and 26 August 2026 (20). A public changelog that records fixes, a support address and a Discord link we did not test (11 of 15 for a closed service). The Python SDK (1.6.1) and Node SDK (4.41.5) were tagged on 24 September 2026 but have no Voice Agent client. The two starter repositories were last changed on 16 August 2026 (8 of 15). The starters need no dependencies and have no licence file, tests or CI (5 of 10).",
            "payments": "No x402, MPP or L402 (0 of 40). One per-unit price on the public pricing page, $4.50 an hour billed per second (20). $50 of credit with no card, which the billing docs say covers the Voice Agent API (20). A person has to sign up in a browser to get the first key, and no key-creation API was found (0).",
            "reliability": "Scored with the hosted lines. Statuspage at status.assemblyai.com with component history, but its components are the Asynchronous API, Streaming API and LLM Gateway and none is the Voice Agent API (15 of 20). No incident in the 90 days to 9 October 2026 names the Voice Agent API. Five name the realtime speech-to-text it runs on, including about two hours of degraded Universal-3.5 Pro streaming in us-east on 31 July and about two hours of rejected Universal-3.6 Pro Realtime sessions on the US endpoint on 6 October. Whether agent sessions were affected is not stated (15 of 30). A per-account concurrent-session limit is enforced and no figure is published for it (0 of 15). The events reference names `at_capacity`, `concurrency_exceeded` and `internal_error` as the only retryable codes and says to reconnect with backoff, sessions resume for 30 seconds, and webhooks carry a stable `event_id`. No idempotency key on `POST /v1/agents` (10 of 15). A Service Level Agreement of 99.9 per cent a month with credits is published, written against an Order Form (10). The launch note of 29 April 2026 says the API is available to all customers and no beta label was found (10).",
            "schema": "An AsyncAPI 3.0 file describes the socket and an OpenAPI 3.0.3 file the token endpoint. No description file was found for the agents, sessions and webhook REST endpoints, and the AsyncAPI file lacks `language_codes`, `voice_focus`, `transcript.agent.delta` and `is_error`, which the docs added on 23 July 2026 (19 of 25). llms.txt, a Markdown copy of each page and a docs MCP server (10). Operations and fields say what they are for and when to use them, such as when to choose `hold` over `interactive` execution (17 of 20). Enums, ranges and defaults on audio encoding, turn detection and timeouts. Tool `parameters` are a JSON Schema the server does not validate at `session.update` (12 of 15). Examples in cURL, Python and JavaScript, and tables of session error codes with close codes (13 of 15). A dated public changelog tagged by product and a `/v1` path, with no written versioning policy found (12 of 15).",
            "security": "Plain API keys per project, created and deleted in the dashboard, with no scopes or expiry found (20 of 30). Browser clients pass a token in the `token` query parameter. We took no deduction because the token is one-time and redeemable for at most 600 seconds, which is a judgement call. A read-only Reader role exists for dashboard members but not for keys. HTTP tool header values are write-only and encrypted at rest, tool calls go only to public `https` hosts with redirects refused, and the docs show how to gate tools by conversation state. No built-in confirmation step before a tool that writes (10 of 20). Caller speech and tool results reach a model. Tool arguments are drawn only from user turns and tool results since 26 August 2026 and tool responses are capped, but no prompt-injection guidance was found (8 of 15). Sessions keep a timeline with tool calls, webhook deliveries are logged per session, usage is broken down by key, and the dashboard has activity logs (12 of 15). The security page states a SOC 2 Type 2 report and third-party penetration tests. No bug bounty or disclosure policy was found, and robots.txt closes `/.well-known`, so security.txt went unread (12 of 20).",
            "transparency": "A closed service with a clear service agreement. The starter repositories have no licence file (15 of 30). The Terms of Service grant a licence to train on Customer Data by default, the opt-out needs a paid plan, and the retention page gives periods for streaming, sync, dictation, asynchronous and LLM Gateway data but none for Voice Agent sessions, which are recorded and stored. A DPA is published and the privacy policy states Data Privacy Framework certification (14 of 30). The changelog dates deprecations ahead of time, such as the 11 July 2026 notice of a change on 7 August, and the terms promise reasonable prior notice of major changes. No written deprecation policy was found (12 of 20). The subprocessor list sits on a third-party trust centre we did not read. US and EU endpoints are mentioned, with no EU host named for the Voice Agent API in the pages read (10 of 20)."
          },
          "sources": [
            {
              "what": "Voice Agent API overview (Markdown copy)",
              "url": "https://www.assemblyai.com/docs/voice-agents/voice-agent-api.md",
              "seen": "2026-10-09"
            },
            {
              "what": "docs index",
              "url": "https://www.assemblyai.com/docs/llms.txt",
              "seen": "2026-10-09"
            },
            {
              "what": "AsyncAPI description of the socket, read as the file and not the rendered reference page",
              "url": "https://www.assemblyai.com/docs/api-reference/specs/voice-agent-api.yaml",
              "seen": "2026-10-09"
            },
            {
              "what": "OpenAPI description of the token endpoint, read as the file",
              "url": "https://www.assemblyai.com/docs/api-reference/specs/voice-agent-token.yaml",
              "seen": "2026-10-09"
            },
            {
              "what": "events reference and error codes",
              "url": "https://www.assemblyai.com/docs/voice-agents/voice-agent-api/events-reference.md",
              "seen": "2026-10-09"
            },
            {
              "what": "REST reference for agents",
              "url": "https://www.assemblyai.com/docs/voice-agents/voice-agent-api/manage-agents.md",
              "seen": "2026-10-09"
            },
            {
              "what": "tools overview",
              "url": "https://www.assemblyai.com/docs/voice-agents/voice-agent-api/tools/overview.md",
              "seen": "2026-10-09"
            },
            {
              "what": "HTTP tools",
              "url": "https://www.assemblyai.com/docs/voice-agents/voice-agent-api/tools/http-tools.md",
              "seen": "2026-10-09"
            },
            {
              "what": "recordings and transcripts",
              "url": "https://www.assemblyai.com/docs/voice-agents/voice-agent-api/session-history.md",
              "seen": "2026-10-09"
            },
            {
              "what": "webhooks",
              "url": "https://www.assemblyai.com/docs/voice-agents/voice-agent-api/webhooks.md",
              "seen": "2026-10-09"
            },
            {
              "what": "inbound phone agent over SIP",
              "url": "https://www.assemblyai.com/docs/voice-agents/voice-agent-api/connect-to-twilio.md",
              "seen": "2026-10-09"
            },
            {
              "what": "connect your own LLM",
              "url": "https://www.assemblyai.com/docs/voice-agents/voice-agent-api/connect-your-own-llm.md",
              "seen": "2026-10-09"
            },
            {
              "what": "browser integration and tokens",
              "url": "https://www.assemblyai.com/docs/voice-agents/voice-agent-api/browser-integration.md",
              "seen": "2026-10-09"
            },
            {
              "what": "troubleshooting",
              "url": "https://www.assemblyai.com/docs/voice-agents/voice-agent-api/troubleshooting.md",
              "seen": "2026-10-09"
            },
            {
              "what": "build with AI coding tools",
              "url": "https://www.assemblyai.com/docs/voice-agents/voice-agent-api/build-with-ai-tools.md",
              "seen": "2026-10-09"
            },
            {
              "what": "pricing",
              "url": "https://www.assemblyai.com/pricing",
              "seen": "2026-10-09"
            },
            {
              "what": "billing and free credit",
              "url": "https://www.assemblyai.com/docs/billing-and-pricing.md",
              "seen": "2026-10-09"
            },
            {
              "what": "Terms of Service, effective 1 July 2026",
              "url": "https://www.assemblyai.com/legal/terms-of-service",
              "seen": "2026-10-09"
            },
            {
              "what": "privacy policy, effective 26 May 2026",
              "url": "https://www.assemblyai.com/legal/privacy-policy",
              "seen": "2026-10-09"
            },
            {
              "what": "Service Level Agreement, effective 13 April 2026",
              "url": "https://www.assemblyai.com/legal/service-level-agreement",
              "seen": "2026-10-09"
            },
            {
              "what": "data retention and model training",
              "url": "https://www.assemblyai.com/docs/data-retention-and-model-training.md",
              "seen": "2026-10-09"
            },
            {
              "what": "data controls",
              "url": "https://www.assemblyai.com/docs/data-controls.md",
              "seen": "2026-10-09"
            },
            {
              "what": "account management, keys and roles",
              "url": "https://www.assemblyai.com/docs/account-management.md",
              "seen": "2026-10-09"
            },
            {
              "what": "security page",
              "url": "https://www.assemblyai.com/security",
              "seen": "2026-10-09"
            },
            {
              "what": "changelog",
              "url": "https://www.assemblyai.com/changelog",
              "seen": "2026-10-09"
            },
            {
              "what": "status page",
              "url": "https://status.assemblyai.com",
              "seen": "2026-10-09"
            },
            {
              "what": "status history feed",
              "url": "https://status.assemblyai.com/history.rss",
              "seen": "2026-10-09"
            },
            {
              "what": "Python starter repository (shallow clone)",
              "url": "https://github.com/AssemblyAI/voice-agent-starter-python",
              "seen": "2026-10-09"
            },
            {
              "what": "JavaScript starter repository (shallow clone)",
              "url": "https://github.com/AssemblyAI/voice-agent-starter-js",
              "seen": "2026-10-09"
            },
            {
              "what": "Python SDK tags (shallow clone)",
              "url": "https://github.com/AssemblyAI/assemblyai-python-sdk",
              "seen": "2026-10-09"
            },
            {
              "what": "Node SDK tags (shallow clone)",
              "url": "https://github.com/AssemblyAI/assemblyai-node-sdk",
              "seen": "2026-10-09"
            },
            {
              "what": "robots.txt",
              "url": "https://www.assemblyai.com/robots.txt",
              "seen": "2026-10-09"
            },
            {
              "what": "domain registration (RDAP)",
              "url": "https://rdap.verisign.com/com/v1/domain/assemblyai.com",
              "seen": "2026-10-09"
            }
          ],
          "openQuestions": [
            "The Terms of Service (effective 1 July 2026) bar competitive analysis and benchmarking (2.4(f)), any automated or programmatic method of extracting data or Output (4.4), and use of the Services or Output for automated decision-making (2.4(j)). Recorded as a fact with no deduction. It matters before any probe is run.",
            "unchecked: the concurrent-session limit for Voice Agent accounts. No figure is in the Voice Agent docs, and the published streaming limits are not said to apply.",
            "unchecked: security.txt. robots.txt on www.assemblyai.com disallows `/.well-known`, so `securityTxt` is unknown.",
            "unchecked: the subprocessor list and the trust centre, which redirect to app.vanta.com and were not read.",
            "unchecked: the Data Processing Addendum, the acceptable use policy and the biometric data addendum were not read.",
            "unchecked: how long Voice Agent recordings and timelines are kept. The retention page has no Voice Agent section.",
            "unchecked: the EU host for the Voice Agent API. The troubleshooting page mentions an EU endpoint without naming it.",
            "unchecked: GitHub stars and package download counts, so `popularity` is empty.",
            "Whether the realtime speech-to-text incidents of 31 July and 6 October 2026 affected Voice Agent sessions is not stated on the status page.",
            "The RDAP host answered 400 to a robots.txt request, and one domain lookup was made after that.",
            "The docs carry text addressed to AI models (a note to fetch the docs index, an integration prompt and an `AGENTS.md`). It was treated as data."
          ]
        },
        "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"
      ],
      "notable": [
        "The socket is `wss://agents.assemblyai.com/v1/ws`, configured by a first `session.update` that either binds a stored `agent_id` or sends the prompt, greeting, tools and audio settings inline (https://www.assemblyai.com/docs/api-reference/specs/voice-agent-api.yaml)",
        "The default model is AssemblyAI's managed conversational model. An `llm` entry points the agent at any OpenAI-compatible endpoint or at the vendor's LLM Gateway, which is billed separately by token (https://www.assemblyai.com/docs/voice-agents/voice-agent-api/connect-your-own-llm)",
        "Sessions last at most 10,800 seconds (3 hours) and end with no warning event (https://www.assemblyai.com/docs/voice-agents/voice-agent-api/browser-integration)",
        "Tool calls take argument values only from user turns and tool results since 26 August 2026, and the vendor says its internal test fell from 2.5 per cent invented arguments to none (https://www.assemblyai.com/changelog)",
        "The docs pages open with a note telling readers to fetch the documentation index, and the vendor publishes an integration prompt and an `AGENTS.md` for coding assistants. We recorded these as facts and did not act on them (https://www.assemblyai.com/docs/voice-agents/voice-agent-api/build-with-ai-tools)",
        "The Terms of Service, effective 1 July 2026, grant AssemblyAI a licence to train its models on Customer Data unless the customer opts out, and the opt-out is open to paid plans only (https://www.assemblyai.com/legal/terms-of-service, https://www.assemblyai.com/docs/data-controls)",
        "AssemblyAI's speech-to-text is a separate listing. This listing covers the Voice Agent API, which has its own host, docs section and price (https://www.assemblyai.com/pricing)"
      ],
      "area": "voice",
      "details": [
        {
          "label": "Architecture",
          "value": "Pipeline of AssemblyAI's own models over one WebSocket. Universal-3.6 Pro Realtime speech-to-text, a managed conversational model and the vendor's text-to-speech voices"
        },
        {
          "label": "Endpoints",
          "value": "`wss://agents.assemblyai.com/v1/ws` for conversations. REST on `https://agents.assemblyai.com` for `/v1/agents`, `/v1/sessions`, webhook subscriptions and `/v1/token`"
        },
        {
          "label": "LLM",
          "value": "Managed by default. One OpenAI-compatible endpoint of the customer's, or the vendor's LLM Gateway, can replace it. Fallback entries are not supported"
        },
        {
          "label": "Tool calling",
          "value": "HTTP tools that AssemblyAI calls itself (`GET`, `POST`, `PUT`, `PATCH`, `DELETE`, response capped at 8 KiB) and client-side function tools, each with `interactive` or `hold` execution and a timeout of 1 to 300 seconds"
        },
        {
          "label": "Telephony",
          "value": "Inbound only. A Twilio number the customer owns is routed to AssemblyAI over a SIP trunk. G.711 μ-law and A-law at 8 kHz are accepted beside 24 kHz PCM16"
        },
        {
          "label": "Interruptions",
          "value": "Server-side turn detection with `vad_threshold`, `min_silence` and `max_silence`, barge-in reported as `interrupted` on `reply.done`"
        },
        {
          "label": "Session limits",
          "value": "3 hours at most (`max_session_duration_seconds` 60 to 10,800). A dropped session can be resumed for 30 seconds"
        },
        {
          "label": "Rate limits",
          "value": "A per-account concurrent-session limit exists (`concurrency_exceeded`). No figure was found in the Voice Agent docs"
        },
        {
          "label": "Errors",
          "value": "`session.error` events with `code`, `message` and sometimes `param`. REST answers 400, 401 and 422 with the failing field named"
        },
        {
          "label": "Recordings",
          "value": "Each session keeps an OGG/Opus stereo recording, a JSON timeline and metadata, fetched through pre-signed links from `GET /v1/sessions/{id}` and removed with `DELETE`"
        },
        {
          "label": "Webhooks",
          "value": "Signed with HMAC-SHA256 in `X-AAI-Signature`, at-least-once delivery, 15-second read timeout, delivery history per session"
        },
        {
          "label": "Free tier",
          "value": "$50 one-off credit, no card, no expiry"
        },
        {
          "label": "SLA",
          "value": "99.9 per cent monthly availability with service credits of up to 10 per cent of the invoice, written against an Order Form (effective 13 April 2026)"
        },
        {
          "label": "Data use",
          "value": "Customer Data may train AssemblyAI's models unless the account opts out. The opt-out, retention settings and a BAA are self-serve on paid plans only"
        }
      ],
      "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,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "AssemblyAI, Inc.",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "assemblyai.com, registered 2016-12-24 (9 years)",
            "points": 11,
            "max": 15,
            "state": "part"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "wss:",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Terms of service",
            "value": "read, states 7 of the 7 things a reader expects, and has 2 clauses that cost points",
            "points": 6,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Privacy policy",
            "value": "read, states 7 of the 8 things a reader expects",
            "points": 9.3,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Status page",
            "value": "status.assemblyai.com",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Changelog",
            "value": "published",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "security.txt",
            "value": "could not be fetched",
            "points": 0,
            "max": 10,
            "state": "no"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://www.assemblyai.com/legal/terms-of-service",
            "state": "read",
            "readAt": "2026-10-08",
            "statedDate": "2026-07-01",
            "words": 7966,
            "points": 6,
            "max": 10,
            "expected": [
              {
                "key": "terms.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last modifiedJuly 1, 2026",
                "says": "Last updated 2026-07-01"
              },
              {
                "key": "terms.law",
                "label": "Names the governing law or courts",
                "found": true,
                "quote": "This Agreement is governed by the laws of the State of Delaware, exclusive of its rules governing choice of law and conflict of laws, and the Parties consent to exclusive jurisdiction and venue in the state and federal courts located in New York, New York.",
                "says": "The law of the State of Delaware, with disputes in the courts of New York, New York"
              },
              {
                "key": "terms.liability",
                "label": "States a limit on its liability",
                "found": true,
                "quote": "Any exchange of data or other interaction between Customer and a Third Party Provider is solely between Customer and such Third Party Provider, and in no event shall AssemblyAI be liable or responsible for any such exchange or interaction"
              },
              {
                "key": "terms.termination",
                "label": "Says how the agreement or account can be ended",
                "found": true,
                "quote": "…balance per month, or the maximum rate permitted by law, whichever is lower, and/or (b) AssemblyAI may suspend Customer’s access to the Services until Customer’s account is brought current, including the payment of any accrued interest charges."
              },
              {
                "key": "terms.changes",
                "label": "Says how changes to the terms are announced",
                "found": true,
                "quote": "The Fee Schedule may be modified during the Service Term by mutual written agreement of the Parties (email will suffice).",
                "says": "Says it gives notice of a change"
              },
              {
                "key": "terms.use",
                "label": "Lists what users may not do",
                "found": true,
                "quote": "Customer shall not (and shall not permit any third party to), directly or indirectly: (a) reverse engineer, decompile, disassemble, or otherwise attempt to discover the source code, object code, or underlying structure, ideas, or algorithms of the Services (except to the extent applicable laws specifically prohibit su…"
              },
              {
                "key": "terms.sla",
                "label": "Refers to a service level or uptime commitment",
                "found": true,
                "quote": "1.14 “SLA” means the Service Level Agreement available at: www.assemblyai.com/legal/service-level-agreement, which may be updated from time to time."
              }
            ],
            "toKnow": [
              {
                "key": "training.optout",
                "label": "Says it may use customer content to train or improve models, and gives an opt-out",
                "found": true,
                "quote": "For information on how to opt-out of AssemblyAI’s use of Customer Data for purposes of training its artificial intelligence and machine learning models (to the extent applicable to Customer’s pricing plan)"
              },
              {
                "key": "terms.automated",
                "label": "Restricts automated access",
                "found": true,
                "quote": "Customer may not: (a) use any automated or programmatic method to extract data or Output or to circumvent limits on Output, including scraping, web harvesting, or web data extraction;",
                "costsPoints": true
              },
              {
                "key": "terms.benchmark",
                "label": "Restricts benchmarking or competitive use",
                "found": true,
                "quote": "(f) use or access the Services to develop a product or service that is competitive with any AssemblyAI product or service, or engage in competitive analysis or benchmarking;",
                "costsPoints": true
              },
              {
                "key": "terms.cutoff",
                "label": "Says access can be ended without notice or for any reason",
                "found": true,
                "quote": "Either Party may terminate this Order Form for its convenience by providing written notice (email shall suffice)."
              }
            ],
            "notes": [
              {
                "date": "2026-10-08",
                "text": "AssemblyAI may use, keep and make available de-identified data generated from Customer Data for any purpose, including marketing and training its own models.",
                "quote": "may freely use, retain and make available such data for any purpose, including, but not limited to product improvement, training, testing, benchmarking and marketing of the Services, and training of AssemblyAI’s artificial intelligence and machine learning models."
              },
              {
                "date": "2026-10-08",
                "text": "Customers may not use the Services or any Output for automated decision-making or profiling as applicable law defines those terms.",
                "quote": "(j) use the Services or any Output for automated decision-making or profiling purposes, as such or similar terms are defined under applicable law;"
              },
              {
                "date": "2026-10-08",
                "text": "Customers may not present any Output as human-generated.",
                "quote": "(b) represent that any Output is human-generated."
              }
            ]
          },
          {
            "kind": "privacy",
            "url": "https://www.assemblyai.com/legal/privacy-policy",
            "state": "read",
            "readAt": "2026-10-08",
            "statedDate": "2026-05-26",
            "words": 6842,
            "points": 9.3,
            "max": 10,
            "expected": [
              {
                "key": "privacy.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last modifiedMay 26, 2026",
                "says": "Last updated 2026-05-26"
              },
              {
                "key": "privacy.collected",
                "label": "Says what personal data is collected",
                "found": true,
                "quote": "This chart details the categories of Personal Data that we collect and have collected over the past 12 months:"
              },
              {
                "key": "privacy.retention",
                "label": "Says how long data is kept",
                "found": true,
                "quote": "We retain Personal Data about you for as long as necessary to provide you with our Services or to perform our business or commercial purposes for collecting your Personal Data.",
                "says": "For as long as needed, with no period named"
              },
              {
                "key": "privacy.processors",
                "label": "Says who else receives the data",
                "found": true,
                "quote": "In those cases we are a service provider and our processing of that data is governed by the agreement in place between us and the applicable customer."
              },
              {
                "key": "privacy.sale",
                "label": "Says whether personal data is sold or shared for advertising",
                "found": true,
                "quote": "We do not sell or share your Personal Data in any other way than through the use of Cookies.",
                "says": "Says it does not sell personal data"
              },
              {
                "key": "privacy.rights",
                "label": "Says what rights people have over their data",
                "found": true,
                "quote": "Under the CCPA, this right is subject to certain exceptions: for example, we may need to retain your Personal Data to provide you with the Services or complete a transaction or other action you have requested, or if deletion of your Personal Data involves disproportionate effort."
              },
              {
                "key": "privacy.contact",
                "label": "Gives a privacy contact",
                "found": false
              },
              {
                "key": "privacy.transfers",
                "label": "Says where data is transferred or stored",
                "found": true,
                "quote": "pursuant to a data processing agreement incorporating standard data protection clauses or the Data Privacy Framework(s) described below.",
                "says": "Relies on the Data Privacy Framework"
              }
            ],
            "toKnow": [
              {
                "key": "privacy.sells",
                "label": "Says it sells personal data or shares it for advertising",
                "found": true,
                "quote": "Depending on state laws that may be applicable to you, some of these disclosures may constitute a “sale” or “sharing” of your Personal Data under the CCPA."
              }
            ],
            "notes": [
              {
                "date": "2026-10-08",
                "text": "Continued use of the Services is treated as consent to session replay technology.",
                "quote": "By continuing to use the Services, you consent to the use of session replay technology."
              }
            ]
          }
        ]
      },
      "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-10T01:37:43.613772094Z",
          "lastOk": false,
          "lastStatus": 0,
          "lastMs": 0,
          "lastNote": "unsupported protocol scheme \"wss\"",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 102,
          "samples30d": 102,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 0
            },
            {
              "date": "2026-10-10",
              "probes": 17,
              "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-10T01:33:21.704340058Z"
        },
        "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-10T01:37:43.613772094Z"
      }
    },
    "verify": {
      "accepts": "a page on assemblyai.com or one of its subdomains, or the README of github.com/AssemblyAI/voice-agent-starter-python",
      "badgeUrl": "https://www.anchorterminal.com/badges/assemblyai-voice-agent.svg",
      "body": {
        "slug": "assemblyai-voice-agent",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/assemblyai-voice-agent",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/assemblyai-voice-agent\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/assemblyai-voice-agent.svg\" alt=\"AssemblyAI Voice Agent API on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![AssemblyAI Voice Agent API on Anchor Terminal](https://www.anchorterminal.com/badges/assemblyai-voice-agent.svg)](https://www.anchorterminal.com/tools/assemblyai-voice-agent)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/assemblyai-voice-agent\"\u003eAssemblyAI Voice Agent API on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/assemblyai-voice-agent",
    "json": "https://www.anchorterminal.com/tools/assemblyai-voice-agent.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/assemblyai-voice-agent.md",
    "slim": "https://www.anchorterminal.com/tools/assemblyai-voice-agent.min.md"
  },
  "markdown": "## Overview\n\n**Grade B · 64.4/100 · rank #351 of 950 · #4 in Conversational voice agents · not agent-ready · confidence medium**\n\n\nMore from AssemblyAI, Inc., listed separately because each is its own product: [AssemblyAI Speech-to-Text (Universal)](https://www.anchorterminal.com/tools/assemblyai-stt.md) (Speech-to-text).\n\n## Assessment\n\nOne $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## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | AssemblyAI, Inc. (https://www.assemblyai.com) |\n| Kind | HTTP API |\n| Category | Conversational voice agents (https://www.anchorterminal.com/categories/voice-agents) |\n| Transport | HTTP |\n| Endpoint | `wss://agents.assemblyai.com/v1/ws` |\n| Auth | API key · 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. |\n| Pricing | Pay per use (Pay per use) · $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). |\n| x402 | No · 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). |\n| Licence | Proprietary service under AssemblyAI's Terms of Service. The two starter repositories on GitHub carry no licence file |\n| Source | https://github.com/AssemblyAI/voice-agent-starter-python |\n| Docs | https://www.assemblyai.com/docs/voice-agents/voice-agent-api |\n| llms.txt | https://www.assemblyai.com/docs/llms.txt |\n| Last release | 2026-08-26 |\n| Architecture | Pipeline of AssemblyAI's own models over one WebSocket. Universal-3.6 Pro Realtime speech-to-text, a managed conversational model and the vendor's text-to-speech voices |\n| Endpoints | `wss://agents.assemblyai.com/v1/ws` for conversations. REST on `https://agents.assemblyai.com` for `/v1/agents`, `/v1/sessions`, webhook subscriptions and `/v1/token` |\n| LLM | Managed by default. One OpenAI-compatible endpoint of the customer's, or the vendor's LLM Gateway, can replace it. Fallback entries are not supported |\n| Tool calling | HTTP tools that AssemblyAI calls itself (`GET`, `POST`, `PUT`, `PATCH`, `DELETE`, response capped at 8 KiB) and client-side function tools, each with `interactive` or `hold` execution and a timeout of 1 to 300 seconds |\n| Telephony | Inbound only. A Twilio number the customer owns is routed to AssemblyAI over a SIP trunk. G.711 μ-law and A-law at 8 kHz are accepted beside 24 kHz PCM16 |\n| Interruptions | Server-side turn detection with `vad_threshold`, `min_silence` and `max_silence`, barge-in reported as `interrupted` on `reply.done` |\n| Session limits | 3 hours at most (`max_session_duration_seconds` 60 to 10,800). A dropped session can be resumed for 30 seconds |\n| Rate limits | A per-account concurrent-session limit exists (`concurrency_exceeded`). No figure was found in the Voice Agent docs |\n| Errors | `session.error` events with `code`, `message` and sometimes `param`. REST answers 400, 401 and 422 with the failing field named |\n| Recordings | Each session keeps an OGG/Opus stereo recording, a JSON timeline and metadata, fetched through pre-signed links from `GET /v1/sessions/{id}` and removed with `DELETE` |\n| Webhooks | Signed with HMAC-SHA256 in `X-AAI-Signature`, at-least-once delivery, 15-second read timeout, delivery history per session |\n| Free tier | $50 one-off credit, no card, no expiry |\n| SLA | 99.9 per cent monthly availability with service credits of up to 10 per cent of the invoice, written against an Order Form (effective 13 April 2026) |\n| Data use | Customer Data may train AssemblyAI's models unless the account opts out. The opt-out, retention settings and a BAA are self-serve on paid plans only |\n| Capabilities | voice.agent, voice.pipeline, voice.tools, voice.telephony |\n| Tags | hosted, no-card, closed-source, llms-txt, webhooks, streaming, pipeline, python, javascript, status-page, soc2 |\n| JSON | https://www.anchorterminal.com/api/v1/tools/assemblyai-voice-agent.json |\n\n## Score breakdown (methodology v0.4, October 2026 research run)\n\nAssessed 2026-10-09 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 60 | 12.0 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 83 | 13.5 |\n| Agent ergonomics | 13% | 16.2 | 72 | 11.7 |\n| Security \u0026 auth | 14% | 17.5 | 62 | 10.8 |\n| Payments \u0026 pricing | 10% | 12.5 | 40 | 5.0 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 64 | 5.6 |\n| Transparency \u0026 trust (editorial 51, provenance 81) | 7% | 8.8 | 66 | 5.8 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **64.4 → B** |\n\n### Why each score\n\n- Reliability 60: Scored with the hosted lines. Statuspage at status.assemblyai.com with component history, but its components are the Asynchronous API, Streaming API and LLM Gateway and none is the Voice Agent API (15 of 20). No incident in the 90 days to 9 October 2026 names the Voice Agent API. Five name the realtime speech-to-text it runs on, including about two hours of degraded Universal-3.5 Pro streaming in us-east on 31 July and about two hours of rejected Universal-3.6 Pro Realtime sessions on the US endpoint on 6 October. Whether agent sessions were affected is not stated (15 of 30). A per-account concurrent-session limit is enforced and no figure is published for it (0 of 15). The events reference names `at_capacity`, `concurrency_exceeded` and `internal_error` as the only retryable codes and says to reconnect with backoff, sessions resume for 30 seconds, and webhooks carry a stable `event_id`. No idempotency key on `POST /v1/agents` (10 of 15). A Service Level Agreement of 99.9 per cent a month with credits is published, written against an Order Form (10). The launch note of 29 April 2026 says the API is available to all customers and no beta label was found (10).\n- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 83: An AsyncAPI 3.0 file describes the socket and an OpenAPI 3.0.3 file the token endpoint. No description file was found for the agents, sessions and webhook REST endpoints, and the AsyncAPI file lacks `language_codes`, `voice_focus`, `transcript.agent.delta` and `is_error`, which the docs added on 23 July 2026 (19 of 25). llms.txt, a Markdown copy of each page and a docs MCP server (10). Operations and fields say what they are for and when to use them, such as when to choose `hold` over `interactive` execution (17 of 20). Enums, ranges and defaults on audio encoding, turn detection and timeouts. Tool `parameters` are a JSON Schema the server does not validate at `session.update` (12 of 15). Examples in cURL, Python and JavaScript, and tables of session error codes with close codes (13 of 15). A dated public changelog tagged by product and a `/v1` path, with no written versioning policy found (12 of 15).\n- Agent ergonomics 72: Scored as an API. Events are small typed JSON, HTTP tool responses are capped at 8 KiB before they reach the model, and the session list leaves artefacts out (18 of 25). `GET /v1/sessions` pages by `cursor` with `limit` from 1 to 200 and filters on `status` and `agent_id` (18 of 20). Errors carry `code`, `message` and sometimes `param`, and REST validation errors name the field (17 of 20). No idempotency keys on REST writes. Sessions resume within 30 seconds, webhooks dedupe on `event_id`, and `hold` mode silences the agent during long tools (10 of 20). An agent needs three fields (`name`, `system_prompt`, `voice`). The official Python and Node SDKs have no Voice Agent client, so callers write JSON over a socket or start from the two starter repositories (9 of 15).\n- Security \u0026 auth 62: Plain API keys per project, created and deleted in the dashboard, with no scopes or expiry found (20 of 30). Browser clients pass a token in the `token` query parameter. We took no deduction because the token is one-time and redeemable for at most 600 seconds, which is a judgement call. A read-only Reader role exists for dashboard members but not for keys. HTTP tool header values are write-only and encrypted at rest, tool calls go only to public `https` hosts with redirects refused, and the docs show how to gate tools by conversation state. No built-in confirmation step before a tool that writes (10 of 20). Caller speech and tool results reach a model. Tool arguments are drawn only from user turns and tool results since 26 August 2026 and tool responses are capped, but no prompt-injection guidance was found (8 of 15). Sessions keep a timeline with tool calls, webhook deliveries are logged per session, usage is broken down by key, and the dashboard has activity logs (12 of 15). The security page states a SOC 2 Type 2 report and third-party penetration tests. No bug bounty or disclosure policy was found, and robots.txt closes `/.well-known`, so security.txt went unread (12 of 20).\n- Payments \u0026 pricing 40: No x402, MPP or L402 (0 of 40). One per-unit price on the public pricing page, $4.50 an hour billed per second (20). $50 of credit with no card, which the billing docs say covers the Voice Agent API (20). A person has to sign up in a browser to get the first key, and no key-creation API was found (0).\n- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 64: Universal-3.6 Pro Realtime, the speech-to-text the pricing page lists inside the Voice Agent API, shipped on 29 September 2026. The last changelog entry tagged Voice Agent API is 26 August 2026. We scored on the August entry, the last one tagged for this API, 44 days before the check (20). Ten entries tagged Voice Agent API between 13 July and 26 August 2026 (20). A public changelog that records fixes, a support address and a Discord link we did not test (11 of 15 for a closed service). The Python SDK (1.6.1) and Node SDK (4.41.5) were tagged on 24 September 2026 but have no Voice Agent client. The two starter repositories were last changed on 16 August 2026 (8 of 15). The starters need no dependencies and have no licence file, tests or CI (5 of 10).\n- Transparency \u0026 trust 66: A closed service with a clear service agreement. The starter repositories have no licence file (15 of 30). The Terms of Service grant a licence to train on Customer Data by default, the opt-out needs a paid plan, and the retention page gives periods for streaming, sync, dictation, asynchronous and LLM Gateway data but none for Voice Agent sessions, which are recorded and stored. A DPA is published and the privacy policy states Data Privacy Framework certification (14 of 30). The changelog dates deprecations ahead of time, such as the 11 July 2026 notice of a change on 7 August, and the terms promise reasonable prior notice of major changes. No written deprecation policy was found (12 of 20). The subprocessor list sits on a third-party trust centre we did not read. US and EU endpoints are mentioned, with no EU host named for the Voice Agent API in the pages read (10 of 20).\n\nFix list for a coding agent, everything this grade says the listing lacks, the biggest gain first (22 items): https://www.anchorterminal.com/fixes/assemblyai-voice-agent.md (JSON https://www.anchorterminal.com/fixes/assemblyai-voice-agent.json)\n\n### What we couldn't check\n\n- The Terms of Service (effective 1 July 2026) bar competitive analysis and benchmarking (2.4(f)), any automated or programmatic method of extracting data or Output (4.4), and use of the Services or Output for automated decision-making (2.4(j)). Recorded as a fact with no deduction. It matters before any probe is run.\n- unchecked: the concurrent-session limit for Voice Agent accounts. No figure is in the Voice Agent docs, and the published streaming limits are not said to apply.\n- unchecked: security.txt. robots.txt on www.assemblyai.com disallows `/.well-known`, so `securityTxt` is unknown.\n- unchecked: the subprocessor list and the trust centre, which redirect to app.vanta.com and were not read.\n- unchecked: the Data Processing Addendum, the acceptable use policy and the biometric data addendum were not read.\n- unchecked: how long Voice Agent recordings and timelines are kept. The retention page has no Voice Agent section.\n- unchecked: the EU host for the Voice Agent API. The troubleshooting page mentions an EU endpoint without naming it.\n- unchecked: GitHub stars and package download counts, so `popularity` is empty.\n- Whether the realtime speech-to-text incidents of 31 July and 6 October 2026 affected Voice Agent sessions is not stated on the status page.\n- The RDAP host answered 400 to a robots.txt request, and one domain lookup was made after that.\n- The docs carry text addressed to AI models (a note to fetch the docs index, an integration prompt and an `AGENTS.md`). It was treated as data.\n\n### Sources\n\n- Voice Agent API overview (Markdown copy): \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api.md\u003e (seen 2026-10-09)\n- docs index: \u003chttps://www.assemblyai.com/docs/llms.txt\u003e (seen 2026-10-09)\n- AsyncAPI description of the socket, read as the file and not the rendered reference page: \u003chttps://www.assemblyai.com/docs/api-reference/specs/voice-agent-api.yaml\u003e (seen 2026-10-09)\n- OpenAPI description of the token endpoint, read as the file: \u003chttps://www.assemblyai.com/docs/api-reference/specs/voice-agent-token.yaml\u003e (seen 2026-10-09)\n- events reference and error codes: \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api/events-reference.md\u003e (seen 2026-10-09)\n- REST reference for agents: \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api/manage-agents.md\u003e (seen 2026-10-09)\n- tools overview: \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api/tools/overview.md\u003e (seen 2026-10-09)\n- HTTP tools: \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api/tools/http-tools.md\u003e (seen 2026-10-09)\n- recordings and transcripts: \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api/session-history.md\u003e (seen 2026-10-09)\n- webhooks: \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api/webhooks.md\u003e (seen 2026-10-09)\n- inbound phone agent over SIP: \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api/connect-to-twilio.md\u003e (seen 2026-10-09)\n- connect your own LLM: \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api/connect-your-own-llm.md\u003e (seen 2026-10-09)\n- browser integration and tokens: \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api/browser-integration.md\u003e (seen 2026-10-09)\n- troubleshooting: \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api/troubleshooting.md\u003e (seen 2026-10-09)\n- build with AI coding tools: \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api/build-with-ai-tools.md\u003e (seen 2026-10-09)\n- pricing: \u003chttps://www.assemblyai.com/pricing\u003e (seen 2026-10-09)\n- billing and free credit: \u003chttps://www.assemblyai.com/docs/billing-and-pricing.md\u003e (seen 2026-10-09)\n- Terms of Service, effective 1 July 2026: \u003chttps://www.assemblyai.com/legal/terms-of-service\u003e (seen 2026-10-09)\n- privacy policy, effective 26 May 2026: \u003chttps://www.assemblyai.com/legal/privacy-policy\u003e (seen 2026-10-09)\n- Service Level Agreement, effective 13 April 2026: \u003chttps://www.assemblyai.com/legal/service-level-agreement\u003e (seen 2026-10-09)\n- data retention and model training: \u003chttps://www.assemblyai.com/docs/data-retention-and-model-training.md\u003e (seen 2026-10-09)\n- data controls: \u003chttps://www.assemblyai.com/docs/data-controls.md\u003e (seen 2026-10-09)\n- account management, keys and roles: \u003chttps://www.assemblyai.com/docs/account-management.md\u003e (seen 2026-10-09)\n- security page: \u003chttps://www.assemblyai.com/security\u003e (seen 2026-10-09)\n- changelog: \u003chttps://www.assemblyai.com/changelog\u003e (seen 2026-10-09)\n- status page: \u003chttps://status.assemblyai.com\u003e (seen 2026-10-09)\n- status history feed: \u003chttps://status.assemblyai.com/history.rss\u003e (seen 2026-10-09)\n- Python starter repository (shallow clone): \u003chttps://github.com/AssemblyAI/voice-agent-starter-python\u003e (seen 2026-10-09)\n- JavaScript starter repository (shallow clone): \u003chttps://github.com/AssemblyAI/voice-agent-starter-js\u003e (seen 2026-10-09)\n- Python SDK tags (shallow clone): \u003chttps://github.com/AssemblyAI/assemblyai-python-sdk\u003e (seen 2026-10-09)\n- Node SDK tags (shallow clone): \u003chttps://github.com/AssemblyAI/assemblyai-node-sdk\u003e (seen 2026-10-09)\n- robots.txt: \u003chttps://www.assemblyai.com/robots.txt\u003e (seen 2026-10-09)\n- domain registration (RDAP): \u003chttps://rdap.verisign.com/com/v1/domain/assemblyai.com\u003e (seen 2026-10-09)\n\n## Who's behind it (provenance 81/100, checked 2026-10-09)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | AssemblyAI, Inc. | 20/20 |\n| Domain age | assemblyai.com, registered 2016-12-24 (9 years) | 11/15 |\n| Endpoint on the vendor's domain | wss: | 15/15 |\n| Terms of service | read, states 7 of the 7 things a reader expects, and has 2 clauses that cost points | 6/10 |\n| Privacy policy | read, states 7 of the 8 things a reader expects | 9.3/10 |\n| Status page | status.assemblyai.com | 10/10 |\n| Changelog | published | 10/10 |\n| security.txt | could not be fetched | 0/10 |\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service** (https://www.assemblyai.com/legal/terms-of-service), read 2026-10-08, dated 2026-07-01, states 7 of the 7 things a reader expects.\n\n- To know. Says it may use customer content to train or improve models, and gives an opt-out. \"For information on how to opt-out of AssemblyAI’s use of Customer Data for purposes of training its artificial intelligence and machine learning models (to the extent applicable to Customer’s pricing plan)\"\n- To know. Restricts automated access (costs points). \"Customer may not: (a) use any automated or programmatic method to extract data or Output or to circumvent limits on Output, including scraping, web harvesting, or web data extraction;\"\n- To know. Restricts benchmarking or competitive use (costs points). \"(f) use or access the Services to develop a product or service that is competitive with any AssemblyAI product or service, or engage in competitive analysis or benchmarking;\"\n- To know. Says access can be ended without notice or for any reason. \"Either Party may terminate this Order Form for its convenience by providing written notice (email shall suffice).\"\n- Gives the date it was last updated. Last updated 2026-07-01.\n- Names the governing law or courts. The law of the State of Delaware, with disputes in the courts of New York, New York.\n- Says how changes to the terms are announced. Says it gives notice of a change.\n- Also in the text (2026-10-08). AssemblyAI may use, keep and make available de-identified data generated from Customer Data for any purpose, including marketing and training its own models. \"may freely use, retain and make available such data for any purpose, including, but not limited to product improvement, training, testing, benchmarking and marketing of the Services, and training of AssemblyAI’s artificial intelligence and machine learning models.\"\n- Also in the text (2026-10-08). Customers may not use the Services or any Output for automated decision-making or profiling as applicable law defines those terms. \"(j) use the Services or any Output for automated decision-making or profiling purposes, as such or similar terms are defined under applicable law;\"\n- Also in the text (2026-10-08). Customers may not present any Output as human-generated. \"(b) represent that any Output is human-generated.\"\n\n**Privacy policy** (https://www.assemblyai.com/legal/privacy-policy), read 2026-10-08, dated 2026-05-26, states 7 of the 8 things a reader expects.\n\n- To know. Says it sells personal data or shares it for advertising. \"Depending on state laws that may be applicable to you, some of these disclosures may constitute a “sale” or “sharing” of your Personal Data under the CCPA.\"\n- Gives the date it was last updated. Last updated 2026-05-26.\n- Says how long data is kept. For as long as needed, with no period named.\n- Says whether personal data is sold or shared for advertising. Says it does not sell personal data.\n- Not found in the text. Gives a privacy contact.\n- Says where data is transferred or stored. Relies on the Data Privacy Framework.\n- Also in the text (2026-10-08). Continued use of the Services is treated as consent to session replay technology. \"By continuing to use the Services, you consent to the use of session replay technology.\"\n\n## Live (updated 2026-10-10 01:37 UTC)\n\n- Right now: down, n/a, checked 2026-10-10 01:37 UTC (get on `wss://agents.assemblyai.com/v1/ws`)\n- Uptime 24h 0.0% (102 probes) · 30 days 0.0% (102 probes) · p50 n/a · p95 n/a\n- Vendor status page: none, All Systems Operational\n- Watching pricing \u003chttps://www.assemblyai.com/docs/billing-and-pricing\u003e\n- Always current: https://www.anchorterminal.com/api/v1/live/assemblyai-voice-agent.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Prices\n\n| Item | Price | Unit | Note |\n| --- | --- | --- | --- |\n| Voice Agent session | $0.075 | per minute of call | $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 |\n\nAcross all listings: https://www.anchorterminal.com/prices/index.md\n\n## Strengths\n\n- 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\n- AsyncAPI 3.0 file for the socket, an OpenAPI file for the token endpoint, llms.txt and a Markdown copy of every docs page\n- Session errors carry a code, a message and sometimes the offending field, and the docs name the three codes that are safe to retry\n- HTTP tool header values are write-only and encrypted at rest, and tool calls are limited to public `https` hosts with redirects refused\n- Every session is stored with a stereo recording, a JSON timeline of turns and tool calls, and signed webhooks with a delivery history\n\n## Weaknesses\n\n- No number is published for the concurrent-session limit that the `concurrency_exceeded` error enforces\n- status.assemblyai.com lists the Asynchronous API, Streaming API and LLM Gateway, with no Voice Agent component\n- Telephony is inbound only, over a SIP trunk on a Twilio account the customer owns\n- API keys have no scopes or expiry, and opting out of model training needs a paid plan\n- 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\n\n## Before you call it (notes for agents)\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## Connect\n\nInstall:\n\n```bash\ngit clone https://github.com/AssemblyAI/voice-agent-starter-python\n```\n\nFirst request:\n\n```bash\ncurl -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\"}}'\n```\n\nClaude Code:\n\n```bash\nclaude mcp add --transport http --scope user assemblyai-docs https://mcp.assemblyai.com/docs\n```\n\nThrough letme (picks today, calling later): https://letme.dev/assemblyai-voice-agent. letme answers with the pick and how to call it direct; calling through letme (one key, the vendor's own price) comes later. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| ElevenLabs Agents API + MCP | BB | 71.3 | 130 | voice.agent, voice.pipeline, voice.tools, voice.telephony | no | https://www.anchorterminal.com/tools/elevenlabs-agents.md |\n| Retell AI API + MCP | B | 69.1 | 196 | voice.agent, voice.pipeline, voice.tools, voice.telephony | no | https://www.anchorterminal.com/tools/retell-ai.md |\n| Bland AI API + MCP | B | 63.8 | 370 | voice.agent, voice.pipeline, voice.tools, voice.telephony | no | https://www.anchorterminal.com/tools/bland-ai.md |\n| Vapi API + MCP | B | 63.5 | 390 | voice.agent, voice.pipeline, voice.tools, voice.telephony | no | https://www.anchorterminal.com/tools/vapi.md |\n| Hume EVI (Empathic Voice Interface) | C | 56.7 | 626 | voice.agent, voice.pipeline, voice.tools, voice.telephony | no | https://www.anchorterminal.com/tools/hume-evi.md |\n| Vocily AI | D | 53.8 | 701 | voice.agent, voice.pipeline, voice.tools, voice.telephony | no | https://www.anchorterminal.com/tools/vocily.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- The socket is `wss://agents.assemblyai.com/v1/ws`, configured by a first `session.update` that either binds a stored `agent_id` or sends the prompt, greeting, tools and audio settings inline (source: \u003chttps://www.assemblyai.com/docs/api-reference/specs/voice-agent-api.yaml\u003e)\n- The default model is AssemblyAI's managed conversational model. An `llm` entry points the agent at any OpenAI-compatible endpoint or at the vendor's LLM Gateway, which is billed separately by token (source: \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api/connect-your-own-llm\u003e)\n- Sessions last at most 10,800 seconds (3 hours) and end with no warning event (source: \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api/browser-integration\u003e)\n- Tool calls take argument values only from user turns and tool results since 26 August 2026, and the vendor says its internal test fell from 2.5 per cent invented arguments to none (source: \u003chttps://www.assemblyai.com/changelog\u003e)\n- The docs pages open with a note telling readers to fetch the documentation index, and the vendor publishes an integration prompt and an `AGENTS.md` for coding assistants. We recorded these as facts and did not act on them (source: \u003chttps://www.assemblyai.com/docs/voice-agents/voice-agent-api/build-with-ai-tools\u003e)\n- The Terms of Service, effective 1 July 2026, grant AssemblyAI a licence to train its models on Customer Data unless the customer opts out, and the opt-out is open to paid plans only (source: \u003chttps://www.assemblyai.com/legal/terms-of-service, https://www.assemblyai.com/docs/data-controls\u003e)\n- AssemblyAI's speech-to-text is a separate listing. This listing covers the Voice Agent API, which has its own host, docs section and price (source: \u003chttps://www.assemblyai.com/pricing\u003e)\n\n- #4 of 14 in 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## Compare\n\n- [AssemblyAI Voice Agent API vs Bland AI API + MCP](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-bland-ai.md): B 64.4 vs B 63.8\n- [AssemblyAI Voice Agent API vs Bolna API + MCP](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-bolna.md): B 64.4 vs D 52.6\n- [AssemblyAI Voice Agent API vs Deepgram Voice Agent API](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-deepgram-voice-agent.md): B 64.4 vs B 68.1\n- [AssemblyAI Voice Agent API vs ElevenLabs Agents API + MCP](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-elevenlabs-agents.md): B 64.4 vs BB 71.3\n- [AssemblyAI Voice Agent API vs Gemini Live API](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-gemini-live.md): B 64.4 vs C 57.1\n- [AssemblyAI Voice Agent API vs Hume EVI (Empathic Voice Interface)](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-hume-evi.md): B 64.4 vs C 56.7\n- [AssemblyAI Voice Agent API vs OpenAI Realtime API](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-openai-realtime.md): B 64.4 vs B 63.3\n- [AssemblyAI Voice Agent API vs Retell AI API + MCP](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-retell-ai.md): B 64.4 vs B 69.1\n- [AssemblyAI Voice Agent API vs Synthflow API + MCP](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-synthflow.md): B 64.4 vs D 51.1\n- [AssemblyAI Voice Agent API vs Ultravox Realtime API](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-ultravox.md): B 64.4 vs C 58.5\n- [AssemblyAI Voice Agent API vs Vapi API + MCP](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vapi.md): B 64.4 vs B 63.5\n- [AssemblyAI Voice Agent API vs Vocily AI](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vocily.md): B 64.4 vs D 53.8\n- [AssemblyAI Voice Agent API vs Vogent API](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vogent.md): B 64.4 vs D 47.1\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on assemblyai.com or one of its subdomains, or the README of github.com/AssemblyAI/voice-agent-starter-python. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"assemblyai-voice-agent\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/assemblyai-voice-agent\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/assemblyai-voice-agent.svg\" alt=\"AssemblyAI Voice Agent API on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![AssemblyAI Voice Agent API on Anchor Terminal](https://www.anchorterminal.com/badges/assemblyai-voice-agent.svg)](https://www.anchorterminal.com/tools/assemblyai-voice-agent)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/assemblyai-voice-agent\"\u003eAssemblyAI Voice Agent API on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say AssemblyAI Voice Agent API is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/assemblyai-voice-agent-dark.png\n- Light: https://www.anchorterminal.com/assets/share/assemblyai-voice-agent-light.png\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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Conversational voice agents",
        "url": "https://www.anchorterminal.com/categories/voice-agents"
      },
      {
        "name": "AssemblyAI Voice Agent API",
        "url": ""
      }
    ],
    "description": "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.",
    "facts": [
      "rank #351 of 950",
      "API key auth",
      "0 desk reviews"
    ],
    "h1": "AssemblyAI Voice Agent API",
    "image": "https://www.anchorterminal.com/assets/og/tools-assemblyai-voice-agent.png",
    "path": "/tools/assemblyai-voice-agent",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AssemblyAI Voice Agent review: pricing, alternatives, grade B",
    "toc": null,
    "updated": "2026-10-10",
    "url": "https://www.anchorterminal.com/tools/assemblyai-voice-agent"
  },
  "tokens": {
    "markdown": 8550,
    "slim": 1830
  },
  "version": 1
}
