Head to head · Voice agents · October 2026 research run

Inworld Realtime API vs Ultravox Realtime API

Inworld Realtime API and Ultravox Realtime API score within a point of each other on agent readiness, 60.1 (C) and 59.2 (C). Ultravox Realtime API leads on schema & documentation and transparency & trust. Both do voice agents.

Best conversational voice-agent APIs · All 518 voice agents comparisons

Which one, for what

Inworld Realtime API C

Best for Teams moving off OpenAI's Realtime API who want a choice of LLM and Inworld voices.

Ahead on

  • Reliability, 62 against 52
  • Security & auth, 58 against 46
  • Maintenance & community, 71 against 53

Watch for

No per-minute price. A session's cost depends on STT, LLM tokens and TTS characters, and interrupted segments are still billed

Ultravox Realtime API C

Best for Cost-sensitive voice agents that bring their own telephony and want a speech-native model.

Ahead on

  • Schema & documentation, 84 against 60
  • Transparency & trust, 71 against 63

Also in its favour

  • A hosted endpoint, with nothing to install
  • Free to start without a card

Watch for

No MCP server

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Schema & documentation Ultravox Realtime API +24

Inworld Realtime API 60

No AsyncAPI or other machine-readable file for the socket, and the spec paths redirect (0). llms.txt, Markdown twins and a docs MCP server (10). The overview, OpenAI migration guide, providerData reference and the billing page's account of how a session is counted say what to use when (16 of 20). The reference lists every client and server event with field types and required marks, as text rather than a schema (12 of 15). JavaScript and Python example projects and an error event with type, code and param, without a list of codes (9 of 15). Dated release notes with affected clients and required actions, but no API version beyond /v1 (13 of 15). Total 60.

Ultravox Realtime API 84

OpenAPI schema at api.ultravox.ai/api/schema/ (25). llms.txt with Markdown copies (10). Guides explain call stages, tools and RAG corpora and when to use each (15 of 20). The OpenAPI types call creation with enums and required fields (13 of 15). Examples throughout, with error behaviour documented for concurrency and webhooks more than for every endpoint (11 of 15). A deprecation guide with dated removals and model version strings to pin, but the news page's newest entry is 3 December 2025 (10 of 15).

Maintenance & community Inworld Realtime API +18

Inworld Realtime API 71

Release note of 16 October 2026 (cache_transcript), 21 days ago (30). Three dated Realtime entries in the 90 days from 8 August, on 14 September, 23 September and 16 October (20). Discord and support@inworld.ai, with no evidence of answers read (8 of 15). Works with OpenAI's Realtime clients and the CLI is current at 1.5.0, but there is no Inworld Realtime SDK (8 of 15). CLI on npm under MIT, CI not read (5 of 10). Total 71.

Ultravox Realtime API 53

The deprecation guide added a dated entry on 3 November 2026 for priorCallId inheriting call fields, deprecated that day and removed on 7 December 2026, with a migration link to the making-calls guide. That is the newest published API change; the newest client release, ultravox-client 0.6.0 (tag 17 July, npm 18 July 2026), is 109 days old (30; was 20). Since 6 August only that one dated entry; no SDK tag in the JavaScript or Python clones and nothing new on the news page (0). The news page has nothing after December 2025 and we didn't test support (5 of 15). Client SDKs for six platforms. JavaScript 0.6.0 is the newest, the Python client's last release is 0.1.0 on 10 December 2025, Flutter and iOS last released in 2025 and Android in December 2024 (10 of 15). The JavaScript client runs CI and publishes from it with npm provenance, and the Python client needs 3.10 or later (8 of 10). 30 + 0 + 5 + 10 + 8 = 53.

Security & auth Inworld Realtime API +12

Inworld Realtime API 58

Workspace API keys sent as Basic credentials, deleted to revoke, with separate keys per environment advised. The CLI mints read-only keys unless --write is given, but write toggles cover only the Voice and Router APIs, so no key is limited to one product. Browsers use short-lived tokens minted server side. Session IDs, not secrets, go in the URL (25 of 30). Tools run in the client, so the developer approves side effects, with no approval step in the API (10 of 20). The agent listens to callers and passes their speech to an LLM, and no prompt-injection guidance was found (5 of 15). Usage per key and a Performance page with errors and throttling (8 of 15). SOC 2 Type II and HIPAA claimed and a vulnerability report form, with no security.txt or bug bounty, per the 4 November reading (10 of 20). Total 58. Zero data retention covers session content from the Developer plan up, but not requests routed to third-party LLM providers.

Ultravox Realtime API 46

Plain API keys in the X-API-Key header, which the OpenAPI document shows can be created, given an expiry, revoked and deleted through /api/api_keys, with no scopes; each call returns a joinUrl so clients never see the key (20). We found no scoped or read-only keys (8 of 20). The model hears callers directly and we found no prompt-injection guidance (5 of 15). Call records and a delete-call API, but no audit log (8 of 15). No security.txt (www.ultravox.ai answers 404). The site footer now links a hosted trust centre, which answered our robots.txt request with a Vercel bot check, so its contents are unchecked. Webhook signing is documented (5 of 20). 20 + 8 + 5 + 8 + 5 = 46.

Reliability Inworld Realtime API +10

Inworld Realtime API 62

Hosted reading of the checklist. status.inworld.ai is a public status page (20), with history we couldn't read, as on inworld-tts (5). Concurrent sessions are published per plan, 10 on On-Demand up to 1,000 on Growth (15). The rate limits page gives exponential backoff with jitter and Retry-After on longer windows, and sessions emit rate_limits.updated, with nothing on reconnecting a dropped session (12 of 15). An SLA appears only in the Enterprise column, with no terms (0). No preview or beta label on the Realtime API (10). 20 + 5 + 15 + 12 + 0 + 10 = 62.

Ultravox Realtime API 52

A status page sits at status.ultravox.ai, but its robots.txt disallows every path for every agent (re-read on 4 November 2026), so we couldn't confirm components or history (10 of 20 for the page, 5 for unreadable history). Concurrency is published, 5 calls on pay as you go and no hard cap on paid subscriptions, with priority concurrency now on Enterprise agreements and the Scale plan marked deprecated (15). Over-limit or overloaded call creation gets 429, priority accounts below their allotment get 503, and the docs say to use Retry-After with an exponential-backoff example; a refused create makes no call, but there's no idempotency key (12 of 15). No SLA found; Enterprise lists a response SLA only (0). The Realtime API is generally available (10). 10 + 5 + 15 + 12 + 0 + 10 = 52.

Transparency & trust Ultravox Realtime API +8

Inworld Realtime API 63

Closed service with clear terms naming Theai, Inc. dba Inworld AI (15). The ZDR page says what a session keeps and that third-party LLM requests aren't covered, but the terms and privacy notice disagree on training (12 of 30). Release notes flag potentially breaking changes with the clients affected and what to do, without stating a notice period (14 of 20). US headquarters with EU and India residency on Enterprise, and no sub-processor list in the docs, while sessions may route to third-party LLM providers (10 of 20). Total 51.

Ultravox Realtime API 71

The Ultravox model code is MIT on GitHub, and the v0.7 weights (fixie-ai/ultravox-v0_7-glm-4_6) are public and ungated on Hugging Face under MIT since 2 December 2025. The hosted service is closed (26 of 30). The site says Ultravox has been acquired by Inworld, and the terms and privacy notice at ultravox.ai are now Inworld AI's, both effective 1 October 2026. The terms say Inworld won't train its generally available models on non-public Materials except feedback and content flagged for trust and safety review, while the privacy notice lists training its AI models among the uses of collected information, content and voice recordings included, and keeps voice-derived biometric data for up to three years unless the purpose ends sooner. The two disagree, and retention is otherwise "as long as necessary" (10 of 30; was 15). A deprecation guide with a minimum 30-day window for pre-release capabilities and dated removals, now including priorCallId field inheritance (deprecated 3 November, removed 7 December 2026) (18 of 20). The privacy notice says Inworld has vendors in the United States and other countries, with no subprocessor list found (8 of 20). 26 + 10 + 18 + 8 = 62.

Score by category

CategoryWeight this runInworld Realtime APIUltravox Realtime APIEdge
Reliability16%206252Inworld Realtime API +10
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26084Ultravox Realtime API +24
Agent ergonomics13%16.26869Ultravox Realtime API +1
Security & auth14%17.55846Inworld Realtime API +12
Payments & pricing10%12.54040even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87153Inworld Realtime API +18
Transparency & trust7%8.86371Ultravox Realtime API +8
Negative events≤1500
TotalC 60.1/100C 59.2/100

Facts side by side

FactInworld Realtime APIUltravox Realtime API
KindHTTP APIHTTP API
VendorInworld AIUltravox (Fixie.ai)
Hosted endpointno (local only)https://api.ultravox.ai/api
Transportswebsocket, HTTPHTTP
AuthAPI keyAPI key
PricingPay per usePay per use
Price for voice agents$25 per 1M charactersnot published
x402nono
LicencenoneMIT (model code)
Tools exposed0none
Read-only variant documentednono
llms.txtyesyes
Last release2026-10-162026-07-18
Terms last updated2025-06-112026-10-01
Privacy policy last updated2026-01-182026-10-01
Customer content may train modelsnot found in the textyes
Terms restrict automated accessnot found in the textnot found in the text
Terms restrict benchmarkingnot found in the textnot found in the text
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waivernot found in the textnot found in the text
Popularitynone4.6k stars, 17k npm/wk
Agent reviewsnone3/5 (2)

How the scores have moved

Verdicts

Inworld Realtime API

Inworld's Realtime API speaks OpenAI's Realtime protocol over WebSocket or WebRTC, with a choice of LLM, client-side tools and dated release notes. Cost is the sum of STT, LLM and TTS usage with no per-minute price, there is no machine-readable event schema, and status history couldn't be read.

Ultravox Realtime API

Flat $0.05 a minute including the model and built-in voices, with Retry-After guidance on 429 and 503. Since the Inworld acquisition the terms rule out training on customer Materials while the privacy notice lists model training among its uses. No MCP server, and the status page refuses automated readers.

Before you call either

Inworld Realtime API

  1. Set the auto follow-up off if your client sends its own response.create after a tool result, or replies double
  2. Read response.done usage as an estimate and mute input audio when nobody speaks, since STT bills every second sent
  3. Use response.speak for fixed greetings, which skips the LLM
  4. Treat unsupported_field errors as warnings and keep the session open
  5. Mint browser session tokens on your server and never ship the Basic credential to a client

Ultravox Realtime API

  1. Honour Retry-After on 429 and 503 when creating calls
  2. Pin the model string (ultravox-v0.7 or ultravox-v0.6) rather than relying on the default
  3. Hand clients the joinUrl, never the API key
  4. When continuing a call with priorCallId, send the full call configuration in the body; fields stop being inherited by 7 December 2026
  5. Delete calls through the API when you need data removed, there's no retention setting

Questions

Which is better for AI agents, Inworld Realtime API or Ultravox Realtime API?

Inworld Realtime API and Ultravox Realtime API score within a point of each other on agent readiness, 60.1 (C) and 59.2 (C). Ultravox Realtime API leads on schema & documentation and transparency & trust.

Do Inworld Realtime API and Ultravox Realtime API need an API key?

Both need an API key.

Can an agent call Inworld Realtime API and Ultravox Realtime API without installing anything?

No hosted endpoint is listed for Inworld Realtime API. Ultravox Realtime API has a hosted endpoint at https://api.ultravox.ai/api.

Other comparisons with Inworld Realtime API or Ultravox Realtime API

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.