Head to head · Voice agents · October 2026 research run

Inworld Realtime API vs Vocily AI

Inworld Realtime API scores 60.1 (C) on agent readiness against Vocily AI's 53.9 (D), and leads in 4 of 7 scored categories. Vocily AI leads on schema & documentation and agent ergonomics. 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 40
  • Security & auth, 58 against 46
  • Maintenance & community, 71 against 61
  • Transparency & trust, 63 against 48

Also in its favour

  • No incidents deducted, where Vocily AI loses 5 points for them

Watch for

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

Vocily AI D

Best for Indian-language phone agents where a backend builds agents, places outbound calls and reads results over REST, with prepaid rupee billing.

Ahead on

  • Schema & documentation, 90 against 60
  • Agent ergonomics, 84 against 68

Also in its favour

  • A hosted endpoint, with nothing to install

Watch for

No status page, incident history or SLA was found

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 Vocily AI +30

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.

Vocily AI 90

A public OpenAPI 3.1 file, linked from llms.txt, with 60 operations on 4 November (54 on 8 October) at docs.vocily.ai/developers/openapi.json (25). llms.txt, llms-full.txt and a Markdown copy of every page (10). Pages say what each route is for and what to use instead, such as webhooks over polling and dashboard batches over a loop of calls, though some operation titles are generated names such as Create Kb (16 of 20). Bodies refuse unknown fields and carry ranges and enums, but list filters such as status are plain strings and variables and metadata are free-form (12 of 15). 234 example entries in the spec, a reason-code table by status and a 422 that lists every invalid field (15). The /v1 prefix and a dated API changes page from 23 September 2026, which records removals made under /v1 (23 and 25 September, 10 and 30 October) against the reference's own rule that fields are never removed within a version (12 of 15). 25 + 10 + 16 + 12 + 15 + 12 = 90.

Reliability Inworld Realtime API +22

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.

Vocily AI 40

Graded on the public REST API at api.vocily.ai, read as a hosted service. No status page found: status.vocily.ai gave no answer on 4 November and neither the site nor the docs link one (0). No readable incident history (5). The limit is published as 300 requests a minute per key (moving window), with ten concurrent calls per organisation included (15). A 429 carries Retry-After and X-RateLimit headers, and POST /v1/calls, the write that places a billed call, requires an Idempotency-Key and returns the original call on a retry (15). No SLA found. The terms say availability isn't guaranteed (0). The docs don't label the API beta, but nine dated changes from 23 September to 30 October 2026 changed the /v1 contract, seven of them with removals, changed error codes or changed meanings, and the terms still allow for beta and pre-launch service; the 8 October reading of the API root's version is struck (a request to the product's own endpoint), and the partial is carried (5 of 10). 0 + 5 + 15 + 15 + 0 + 5 = 40.

Agent ergonomics Vocily AI +16

Inworld Realtime API 68

Scored as an API. Conversation history defaults to the last 100 items, can be trimmed, and can be cached on Anthropic models, and every response.done carries a usage block (18 of 25). No lists to page. Output controls are modalities, turn detection settings, optional transcription and response.speak (12 of 20). Error events follow OpenAI's type and code shape, unsupported fields come back as non-fatal unsupported_field warnings, and item_not_found names the bad parameter (14 of 20). Tools run on the client and a follow-up response starts automatically after a tool result. Nothing covers side effects of a tool call cut off by an interruption (12 of 20). Works with OpenAI Realtime clients after changing the URL and key, with no Inworld Realtime SDK (12 of 15). Total 68.

Vocily AI 84

List calls take limit from 1 to 100, default 20, and return the transcript only with include=transcript (20 of 25). Every growing list uses the same cursor envelope, and calls filter by agent, status, direction, origin and date. The bounded lists return bare arrays (18 of 20). Errors carry a machine-readable detail.code, a field path on validation failures and an X-Request-ID (20). Idempotency-Key is required on call creation, agent edits accept If-Match on a document revision, and the bulk memory erase previews unless dry_run is false. Other writes have no idempotency key (18 of 20). A call needs only agent_id and to_number and an agent only name. No SDK was found in the docs, on npm or on PyPI (8 of 15). 20 + 18 + 20 + 18 + 8 = 84.

Transparency & trust Inworld Realtime API +15

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.

Vocily AI 48

A closed service. The terms (10 June 2026) name no legal entity or governing law, still describe a possible beta, and say paid plans may come later while prices are live (10 of 30). The privacy policy (3 September 2026) is written mainly around WhatsApp data and gives no retention period. The compliance page says recordings are kept for the life of the account and deleted on request, and audio and transcript storage are per-agent settings. No DPA found (12 of 30). The reference promises additive changes within /v1, but removals shipped on 23 and 25 September and 10 and 30 October 2026 with same-day notes and migration tables and no notice period (6 of 20). The privacy policy mentions vetted providers without naming them. The compliance page now says call records, transcripts and recordings are stored on AWS in Mumbai (ap-south-1), that model providers process in their own regions and that Plivo carries calls; no sub-processor list was found, so the partial is carried (6 of 20). 10 + 12 + 6 + 6 = 34.

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.

Vocily AI 46

Bearer keys are shown once, revocable in the dashboard and bound to one workspace, and they can't reach billing, members or key management. There are no scopes to set and no rotation route, and webhooks are HMAC-signed with a timestamp and a rotation overlap (22 of 30). No read-only key. Spending and contractual actions stay in the dashboard, a version answers calls only after publish and make-live, and the memory erase previews by default (10 of 20). Transcripts and caller speech are untrusted content, and the API docs have no prompt-injection guidance. The site describes topic fencing and an empty-knowledge-base guard (4 of 15). Each call keeps a record with cost and version, webhooks have a delivery log and every response a request id, but we found no audit log of account or key actions (8 of 15). No security.txt (404 on 4 November), disclosure policy, bug bounty or certification. The compliance page says Vocily doesn't claim certification, and the privacy policy states encryption in transit and at rest (2 of 20). 22 + 10 + 4 + 8 + 2 = 46.

Maintenance & community Inworld Realtime API +10

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.

Vocily AI 61

The latest dated API change is 30 October 2026 (send_whatsapp_template moved to the dashboard), 5 days before this check (30). Nine dated entries since 6 August: 23, 25, 27 and 30 September and 10, 15, 17, 20 and 30 October (20). A public change log, a Discord server and a founder email address are the channels found, and we didn't test whether they answer (8 of 15 for a closed service). No official SDK found; the developer page now says to generate a typed client from the OpenAPI file (0 of 15). There is no package to assess. The OpenAPI file was last modified on 31 October 2026 (3 of 10, carried). 30 + 20 + 8 + 0 + 3 = 61.

Score by category

CategoryWeight this runInworld Realtime APIVocily AIEdge
Reliability16%206240Inworld Realtime API +22
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26090Vocily AI +30
Agent ergonomics13%16.26884Vocily AI +16
Security & auth14%17.55846Inworld Realtime API +12
Payments & pricing10%12.54040even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87161Inworld Realtime API +10
Transparency & trust7%8.86348Inworld Realtime API +15
Negative events≤150-5
TotalC 60.1/100D 53.9/100

Facts side by side

FactInworld Realtime APIVocily AI
KindHTTP APIHTTP API
VendorInworld AIVocily AI Private Limited
Hosted endpointno (local only)https://api.vocily.ai
Transportswebsocket, HTTPHTTP
AuthAPI keyAPI key
PricingPay per usePay per use
Price for voice agents$25 per 1M charactersnot published
x402nono
LicencenoneProprietary service under Vocily's terms of service. No open-source code or published package was found
Tools exposed0none
Read-only variant documentednono
llms.txtyesyes
Last release2026-10-162026-10-30
Terms last updated2025-06-112026-06-10
Privacy policy last updated2026-01-182026-09-03
Customer content may train modelsnot found in the textnot found in the text
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

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.

Vocily AI

The REST API is documented in detail, with an OpenAPI 3.1 file of 60 operations, a required idempotency key on calls, Retry-After on 429 and signed webhooks. No status page, SLA, SDK or security programme was found, and releases from September to 30 October 2026 removed fields under /v1 on the day they were announced.

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

Vocily AI

  1. Send a fresh UUID in Idempotency-Key on every POST /v1/calls. The API refuses the request without it
  2. Pass a from_number the workspace holds. The shared Test Number returns 403 from the API
  3. Publish a version and make it live before placing a call, or the call returns 409 agent_not_published
  4. Branch on detail.code, falling back to the top-level code. A 429 body is flat, so read Retry-After
  5. Read currency on every call and chat record. Costs are in rupees or dollars depending on the organisation

Questions

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

Inworld Realtime API scores 60.1 (C) on agent readiness against Vocily AI's 53.9 (D), and leads in 4 of 7 scored categories. Vocily AI leads on schema & documentation and agent ergonomics.

Do Inworld Realtime API and Vocily AI need an API key?

Both need an API key.

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

No hosted endpoint is listed for Inworld Realtime API. Vocily AI has a hosted endpoint at https://api.vocily.ai.

Other comparisons with Inworld Realtime API or Vocily AI

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.