{
  "data": {
    "a": {
      "slug": "openai-realtime",
      "name": "OpenAI Realtime API",
      "vendor": "OpenAI",
      "vendorUrl": "https://openai.com",
      "kind": "http-api",
      "category": "voice-agents",
      "summary": "OpenAI's Realtime API runs spoken conversations with speech-to-speech models such as `gpt-realtime-2.1`. Clients connect over WebRTC, WebSocket or SIP, and sessions support interruptions, function calling and remote MCP tools.",
      "url": "https://www.anchorterminal.com/tools/openai-realtime",
      "markdownUrl": "https://www.anchorterminal.com/tools/openai-realtime.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openai-realtime.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openai-realtime.json",
      "repo": "https://github.com/openai/openai-agents-js",
      "license": "Proprietary service. The service terms on openai.com were not read. The Agents SDK for TypeScript and the OpenAPI description are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.openai.com/v1/realtime",
      "packages": [
        {
          "registry": "npm",
          "name": "@openai/agents"
        },
        {
          "registry": "npm",
          "name": "@openai/agents-realtime"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve API key from platform.openai.com, sent as a Bearer header on server WebSocket connections and call-control requests. For browsers and phones, a server calls `POST /v1/realtime/client_secrets` for a client secret (`ek_`) that lasts 10 seconds to 2 hours, 10 minutes by default, and can start several sessions until it expires. The browser WebSocket example passes the secret as a subprotocol. SIP calls are tied to a project by the project ID in the SIP address.",
      "pricing": "usage",
      "pricingNotes": "Per 1M tokens on `gpt-realtime-2.1`. Audio $32.00 in, $0.40 cached and $64.00 out, text $4.00 in and $24.00 out, image $5.00 in. `gpt-realtime-2.1-mini` is $10.00 and $20.00 for audio. Each response re-sends the whole conversation, and input transcription is billed separately. Usage tiers start at $5 of credit purchases. Whether the Free tier covers Realtime models was not established (https://developers.openai.com/api/docs/pricing.md, checked 2026-10-09).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Realtime guides, the pricing page or the OpenAPI file (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://developers.openai.com/api/docs/guides/realtime",
      "llmsTxt": "https://developers.openai.com/api/docs/llms.txt",
      "openapi": "https://github.com/openai/openai-openapi/blob/main/openapi.yaml",
      "capabilities": [
        "voice.agent",
        "voice.speech-to-speech",
        "voice.tools",
        "voice.telephony"
      ],
      "tags": [
        "hosted",
        "usage-priced",
        "closed-source",
        "speech-to-speech",
        "webrtc",
        "websocket",
        "sip",
        "streaming",
        "typescript",
        "python",
        "openapi",
        "llms-txt",
        "api-key",
        "function-calling",
        "mcp-client",
        "status-page"
      ],
      "lastRelease": "2026-07-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.3,
        "grade": "B",
        "agentReady": false,
        "rank": 400,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 76,
          "maintenance": 52,
          "payments": 20,
          "reliability": 67,
          "schema": 84,
          "security": 61,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "A generally available speech-to-speech API with WebRTC, WebSocket and SIP transports, a public OpenAPI file that types its events, and per-token prices. Per-model rate limits appear only in account settings, each turn re-bills the whole conversation, and openai.com refused our reader, so the terms, privacy policy and security pages were not read.",
        "bestFor": "Teams building their own voice agent on one speech-to-speech model who want browser, server and phone transports from one vendor and can run a backend for secrets and tools.",
        "strengths": [
          "The OpenAPI 3.1 file in `openai/openai-openapi` covers nine Realtime paths and types 13 client events and 48 server events as schemas.",
          "Browser clients use client secrets that expire after 10 seconds to 2 hours, 10 minutes by default, so the API key stays on a server.",
          "Remote MCP tools accept an `allowed_tools` list, and `require_approval` defaults to `always` in the OpenAPI file.",
          "SIP calls connect at `sip.api.openai.com` with accept, reject, refer and hangup endpoints and a signed incoming-call webhook.",
          "The data controls page lists `/v1/realtime` with no training use, 30-day abuse logs, no stored application state and Zero Data Retention eligibility."
        ],
        "weaknesses": [
          "openai.com answered 403 to our reader, so the service terms, privacy policy, sub-processor list and security pages were not read.",
          "Realtime rate limits are shown only in account settings. The public table gives numbers for GPT-6 model families only.",
          "Every response re-sends the whole conversation, so later turns cost more. Audio is $32 in and $64 out per 1M tokens on `gpt-realtime-2.1`.",
          "The status feed names Realtime among affected components in five incidents between 24 July and 6 October 2026, with durations not shown in the feed.",
          "Session settings attached to a client secret can be overridden by the client connection, per the client secret reference."
        ],
        "agentNotes": [
          "Create a client secret on a server with `POST /v1/realtime/client_secrets` and give browsers only the `ek_` value. Never ship the API key.",
          "After a response with MCP calls finishes, send another `response.create`. The API does not create the follow-up response itself.",
          "Set `truncation` with a `retention_ratio` below 1 and `token_limits.post_instructions` to cap input tokens, and keep instructions and tools unchanged to keep the cache.",
          "On a WebSocket, stop playback on `input_audio_buffer.speech_started` and send `conversation.item.truncate` with `audio_end_ms`. WebRTC and SIP truncate on the server.",
          "Use `gpt-realtime-2.1` or `gpt-realtime-2.1-mini`. `gpt-realtime` and `gpt-realtime-mini` shut down on 20 January 2027."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.3
          }
        ],
        "editorialScores": {
          "ergonomics": 76,
          "maintenance": 52,
          "payments": 20,
          "reliability": 67,
          "schema": 84,
          "security": 61,
          "transparency": 58
        },
        "provenanceScore": 84
      },
      "connect": {
        "install": "npm install @openai/agents",
        "http": "curl -X POST https://api.openai.com/v1/realtime/client_secrets \\\n  -H \"Authorization: Bearer $OPENAI_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"session\": {\"type\": \"realtime\", \"model\": \"gpt-realtime-2.1\"}}'"
      },
      "letme": {
        "capability": "https://letme.dev/voice.agent",
        "tool": "https://letme.dev/openai-realtime"
      },
      "sameCompany": [
        "openai-api",
        "openai-embeddings",
        "openai-guardrails",
        "openai-moderation",
        "openai-image-api",
        "openai-sora",
        "openai-speech-to-text",
        "openai-agents-sdk",
        "openai-decisions-api",
        "openai-codex"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "gpt-realtime-2.1 audio input",
          "unit": "1m-tokens",
          "usd": 32,
          "note": "$0.40 cached. 1 token per 100 ms of user audio, about $0.019 a minute before caching"
        },
        {
          "item": "gpt-realtime-2.1 audio output",
          "unit": "1m-tokens",
          "usd": 64,
          "note": "1 token per 50 ms of assistant audio, about $0.077 a minute"
        },
        {
          "item": "gpt-realtime-2.1 text input",
          "unit": "1m-tokens",
          "usd": 4,
          "note": "$0.40 cached"
        },
        {
          "item": "gpt-realtime-2.1 text output",
          "unit": "1m-tokens",
          "usd": 24
        },
        {
          "item": "gpt-realtime-2.1-mini audio input",
          "unit": "1m-tokens",
          "usd": 10,
          "note": "$0.30 cached"
        },
        {
          "item": "gpt-realtime-2.1-mini audio output",
          "unit": "1m-tokens",
          "usd": 20
        }
      ],
      "provenance": {
        "legalEntity": "OpenAI",
        "domain": "openai.com",
        "domainRegistered": "2007-01-19",
        "endpointOnVendorDomain": true,
        "terms": "https://openai.com/policies/services-agreement/",
        "privacy": "https://openai.com/policies/privacy-policy/",
        "statusPage": "https://status.openai.com",
        "changelog": "https://developers.openai.com/api/docs/changelog",
        "securityTxt": "unknown",
        "checked": "2026-10-09",
        "notes": [
          "The API, WebRTC and SIP endpoints are on api.openai.com and sip.api.openai.com. The docs are on developers.openai.com.",
          "RDAP for openai.com gives a registration date of 2007-01-19.",
          "The legal entity was not read. The SDK licence file says Copyright (c) 2025 OpenAI.",
          "robots.txt answered 200 on developers.openai.com and openai.com, allowing the pages read, and 404 on status.openai.com, which means no rules.",
          "openai.com answered our researcher with a bot check on 9 October 2026, so the terms and privacy policy were not read on that day. The links are the two documents OpenAI's other listings here carry. openai.com answers our policy reader with HTTP 403 as well, so neither document has been read and both are recorded as unreadable."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openai-realtime.json",
      "live": {
        "slug": "openai-realtime",
        "probe": {
          "target": "https://api.openai.com/v1/realtime",
          "method": "get",
          "lastAt": "2026-10-10T02:55:04.55025386Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 133,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 153,
          "p95ms24h": 204,
          "samples24h": 115,
          "samples30d": 115,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 30,
              "ok": 30
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.openai.com",
          "indicator": "minor",
          "summary": "Partial System Degradation",
          "checkedAt": "2026-10-10T02:50:36.234904992Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "openai/openai-agents-js",
            "version": "@openai/agents-extensions@0.20.0",
            "released": "2026-10-08",
            "seenAt": "2026-10-09T17:10:29.452928495Z"
          },
          {
            "registry": "npm",
            "name": "@openai/agents",
            "version": "0.20.0",
            "seenAt": "2026-10-09T17:10:27.202909251Z"
          },
          {
            "registry": "npm",
            "name": "@openai/agents-realtime",
            "version": "0.20.0",
            "seenAt": "2026-10-09T17:10:27.531105633Z"
          }
        ],
        "githubStars": 3903,
        "npmWeekly": 2125326,
        "pages": [
          {
            "url": "https://developers.openai.com/api/docs/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:36:10.419663305Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "742c4d3c6b71"
          }
        ],
        "updatedAt": "2026-10-10T02:55:04.55025386Z"
      }
    },
    "answer": "OpenAI Realtime API scores 63.3 (B) on agent readiness against Ultravox Realtime API's 58.5 (C), and leads in 4 of 7 scored categories. Ultravox Realtime API leads on payments \u0026 pricing.",
    "b": {
      "slug": "ultravox",
      "name": "Ultravox Realtime API",
      "vendor": "Ultravox (Fixie.ai)",
      "vendorUrl": "https://www.ultravox.ai",
      "kind": "http-api",
      "category": "voice-agents",
      "summary": "Hosted voice agents on Ultravox, an open-weight model that takes speech directly with no speech-to-text step and answers through a TTS voice.",
      "url": "https://www.anchorterminal.com/tools/ultravox",
      "markdownUrl": "https://www.anchorterminal.com/tools/ultravox.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ultravox.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ultravox.json",
      "repo": "https://github.com/fixie-ai/ultravox",
      "license": "MIT (model code)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.ultravox.ai/api",
      "packages": [
        {
          "registry": "npm",
          "name": "ultravox-client"
        },
        {
          "registry": "pypi",
          "name": "ultravox-client"
        }
      ],
      "auth": "api-key",
      "authNotes": "`X-API-Key` header on the REST API. Clients join a call with the `joinUrl` returned when it's created, so the key stays on your server.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go at $0.05 a minute after 30 free minutes, capped at 5 concurrent calls. Pro is $100 a month (annual rate) at the same $0.05 a minute with no hard concurrency cap, the outbound scheduler, 5 custom voices and 20 RAG corpora. SIP costs 0.5 cents a minute (0.48 on Pro). Threads are $2 per 1M input tokens and $15 per 1M output. Enterprise is custom. Telephony from Twilio or other carriers is billed by them (https://www.ultravox.ai/pricing).",
      "priceSummary": "$100 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in the docs, pricing page or MCP docs (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 4574,
        "npmWeekly": 17262,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.ultravox.ai",
      "llmsTxt": "https://docs.ultravox.ai/llms.txt",
      "openapi": "https://api.ultravox.ai/api/schema/",
      "capabilities": [
        "voice.agent",
        "voice.speech-to-speech",
        "voice.tools",
        "voice.telephony"
      ],
      "tags": [
        "hosted",
        "open-weights",
        "no-card",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks",
        "streaming",
        "speech-to-speech"
      ],
      "lastRelease": "2026-07-18",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.5,
        "grade": "C",
        "agentReady": false,
        "rank": 576,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 43,
          "payments": 40,
          "reliability": 52,
          "schema": 84,
          "security": 46,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Flat $0.05 a minute including model and built-in voices. No MCP server.",
        "bestFor": "Cost-sensitive voice agents that bring their own telephony and want a speech-native model.",
        "strengths": [
          "Flat $0.05 a minute including model and built-in voices",
          "Speech-native model with no separate STT stage, v0.7 weights public under MIT",
          "429 and 503 responses with Retry-After and backoff guidance",
          "Deprecation guide with a minimum 30-day window",
          "Privacy policy says voice data isn't used for training"
        ],
        "weaknesses": [
          "No MCP server",
          "News page, deprecation guide and Python client last updated in December 2025",
          "Plain API keys with no scopes",
          "Pay as you go caps at 5 concurrent calls",
          "No subprocessor list or stated certification"
        ],
        "agentNotes": [
          "Honour `Retry-After` on 429 and 503 when creating calls",
          "Pin the model string (`ultravox-v0.7` or `ultravox-v0.6`) rather than relying on the default",
          "Hand clients the `joinUrl`, never the API key",
          "Delete calls through the API when you need data removed, there's no retention setting",
          "Use call stages for multi-step flows instead of one long prompt"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.5
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 43,
          "payments": 40,
          "reliability": 52,
          "schema": 84,
          "security": 46,
          "transparency": 67
        },
        "provenanceScore": 78
      },
      "connect": {
        "http": "curl -X POST https://api.ultravox.ai/api/calls -H \"X-API-Key: $ULTRAVOX_API_KEY\" \\\n  -H \"content-type: application/json\" \\\n  -d '{\"systemPrompt\":\"You are a friendly receptionist.\",\"voice\":\"Mark\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/voice.agent",
        "tool": "https://letme.dev/ultravox"
      },
      "sameCompany": [
        "ultravox-voice-cloning"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Ultravox Realtime",
          "unit": "call-minute",
          "usd": 0.05,
          "note": "model and built-in voices, telephony carrier costs extra"
        },
        {
          "item": "SIP",
          "unit": "call-minute",
          "usd": 0.005,
          "note": "0.0048 on Pro"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 100,
          "note": "annual rate"
        }
      ],
      "provenance": {
        "legalEntity": "Fixie.ai Inc.",
        "domain": "ultravox.ai",
        "domainRegistered": "2023-10-05",
        "endpointOnVendorDomain": true,
        "terms": "https://www.ultravox.ai/terms",
        "privacy": "https://www.ultravox.ai/privacy",
        "statusPage": "https://status.ultravox.ai",
        "changelog": "https://docs.ultravox.ai/changelog/news",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ultravox.json",
      "live": {
        "slug": "ultravox",
        "probe": {
          "target": "https://api.ultravox.ai/api",
          "method": "get",
          "lastAt": "2026-10-10T02:55:14.204187105Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 108,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 119,
          "p95ms24h": 158,
          "samples24h": 249,
          "samples30d": 2466,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 30,
              "ok": 30
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.ultravox.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:51:21.709293093Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "fixie-ai/ultravox",
            "version": "v0.6",
            "released": "2025-08-18",
            "seenAt": "2026-10-09T17:25:55.752217212Z"
          },
          {
            "registry": "npm",
            "name": "ultravox-client",
            "version": "0.6.0",
            "seenAt": "2026-10-09T17:25:54.734195011Z"
          },
          {
            "registry": "pypi",
            "name": "ultravox-client",
            "version": "0.1.0",
            "released": "2025-12-10",
            "seenAt": "2026-10-09T17:25:55.563179083Z"
          }
        ],
        "githubStars": 4572,
        "npmWeekly": 17778,
        "pypiWeekly": 104,
        "securityTxt": {
          "url": "https://ultravox.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:40:36.404486116Z"
        },
        "llmsTxt": {
          "url": "https://docs.ultravox.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:02:57.982423245Z"
        },
        "domain": {
          "domain": "ultravox.ai",
          "registered": "2023-10-05",
          "source": "https://rdap.identitydigital.services/rdap/domain/ultravox.ai",
          "checkedAt": "2026-10-04T13:04:52.103171331Z"
        },
        "updatedAt": "2026-10-10T02:55:14.204187105Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "OpenAI",
        "b": "Ultravox (Fixie.ai)",
        "name": "Vendor"
      },
      {
        "a": "https://api.openai.com/v1/realtime",
        "b": "https://api.ultravox.ai/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service. The service terms on openai.com were not read. The Agents SDK for TypeScript and the OpenAPI description are MIT",
        "b": "MIT (model code)",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-07-28",
        "b": "2026-07-18",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-10-01",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2026-10-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "4.6k stars, 17k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenAI Realtime API scores 63.3 (B) on agent readiness against Ultravox Realtime API's 58.5 (C), and leads in 4 of 7 scored categories. Ultravox Realtime API leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, OpenAI Realtime API or Ultravox Realtime API?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do OpenAI Realtime API and Ultravox Realtime API need an API key?"
      },
      {
        "answer": "Yes. OpenAI Realtime API has a hosted endpoint at https://api.openai.com/v1/realtime and Ultravox Realtime API at https://api.ultravox.ai/api.",
        "question": "Can an agent call OpenAI Realtime API and Ultravox Realtime API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 67 against 52",
          "Agent ergonomics, 76 against 69",
          "Security \u0026 auth, 61 against 46",
          "Maintenance \u0026 community, 52 against 43"
        ],
        "also": null,
        "goodFor": "Teams building their own voice agent on one speech-to-speech model who want browser, server and phone transports from one vendor and can run a backend for secrets and tools.",
        "slug": "openai-realtime",
        "watchFor": "openai.com answered 403 to our reader, so the service terms, privacy policy, sub-processor list and security pages were not read."
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 40 against 20"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Cost-sensitive voice agents that bring their own telephony and want a speech-native model.",
        "slug": "ultravox",
        "watchFor": "No MCP server"
      }
    ],
    "job": {
      "capability": "voice.agent",
      "name": "Voice agents"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-openai-realtime.json",
        "title": "AssemblyAI Voice Agent API vs OpenAI Realtime API",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-openai-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-ultravox.json",
        "title": "AssemblyAI Voice Agent API vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bland-ai-vs-openai-realtime.json",
        "title": "Bland AI API + MCP vs OpenAI Realtime API",
        "url": "https://www.anchorterminal.com/compare/bland-ai-vs-openai-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bland-ai-vs-ultravox.json",
        "title": "Bland AI API + MCP vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/bland-ai-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-openai-realtime.json",
        "title": "Bolna API + MCP vs OpenAI Realtime API",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-openai-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-ultravox.json",
        "title": "Bolna API + MCP vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-openai-realtime.json",
        "title": "Deepgram Voice Agent API vs OpenAI Realtime API",
        "url": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-openai-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-ultravox.json",
        "title": "Deepgram Voice Agent API vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-openai-realtime.json",
        "title": "ElevenLabs Agents API + MCP vs OpenAI Realtime API",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-openai-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-ultravox.json",
        "title": "ElevenLabs Agents API + MCP vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-live-vs-openai-realtime.json",
        "title": "Gemini Live API vs OpenAI Realtime API",
        "url": "https://www.anchorterminal.com/compare/gemini-live-vs-openai-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-live-vs-ultravox.json",
        "title": "Gemini Live API vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/gemini-live-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hume-evi-vs-openai-realtime.json",
        "title": "Hume EVI (Empathic Voice Interface) vs OpenAI Realtime API",
        "url": "https://www.anchorterminal.com/compare/hume-evi-vs-openai-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hume-evi-vs-ultravox.json",
        "title": "Hume EVI (Empathic Voice Interface) vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/hume-evi-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-realtime-vs-retell-ai.json",
        "title": "OpenAI Realtime API vs Retell AI API + MCP",
        "url": "https://www.anchorterminal.com/compare/openai-realtime-vs-retell-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-realtime-vs-synthflow.json",
        "title": "OpenAI Realtime API vs Synthflow API + MCP",
        "url": "https://www.anchorterminal.com/compare/openai-realtime-vs-synthflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-realtime-vs-vapi.json",
        "title": "OpenAI Realtime API vs Vapi API + MCP",
        "url": "https://www.anchorterminal.com/compare/openai-realtime-vs-vapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-realtime-vs-vocily.json",
        "title": "OpenAI Realtime API vs Vocily AI",
        "url": "https://www.anchorterminal.com/compare/openai-realtime-vs-vocily"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-realtime-vs-vogent.json",
        "title": "OpenAI Realtime API vs Vogent API",
        "url": "https://www.anchorterminal.com/compare/openai-realtime-vs-vogent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/retell-ai-vs-ultravox.json",
        "title": "Retell AI API + MCP vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/retell-ai-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/synthflow-vs-ultravox.json",
        "title": "Synthflow API + MCP vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/synthflow-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ultravox-vs-vapi.json",
        "title": "Ultravox Realtime API vs Vapi API + MCP",
        "url": "https://www.anchorterminal.com/compare/ultravox-vs-vapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ultravox-vs-vocily.json",
        "title": "Ultravox Realtime API vs Vocily AI",
        "url": "https://www.anchorterminal.com/compare/ultravox-vs-vocily"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ultravox-vs-vogent.json",
        "title": "Ultravox Realtime API vs Vogent API",
        "url": "https://www.anchorterminal.com/compare/ultravox-vs-vogent"
      }
    ],
    "scores": [
      {
        "by": 15,
        "edge": "openai-realtime",
        "key": "reliability",
        "name": "Reliability",
        "openai-realtime": 67,
        "ultravox": 52,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 0,
        "edge": "",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openai-realtime": 84,
        "ultravox": 84,
        "weight": 13
      },
      {
        "by": 7,
        "edge": "openai-realtime",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openai-realtime": 76,
        "ultravox": 69,
        "weight": 13
      },
      {
        "by": 15,
        "edge": "openai-realtime",
        "key": "security",
        "name": "Security \u0026 auth",
        "openai-realtime": 61,
        "ultravox": 46,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "ultravox",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openai-realtime": 20,
        "ultravox": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "openai-realtime",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openai-realtime": 52,
        "ultravox": 43,
        "weight": 7
      },
      {
        "by": 2,
        "edge": "ultravox",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openai-realtime": 71,
        "ultravox": 73,
        "weight": 7
      }
    ],
    "summary": "OpenAI Realtime API scores 63.3 (B) on agent readiness against Ultravox Realtime API's 58.5 (C), and leads in 4 of 7 scored categories. Ultravox Realtime API leads on payments \u0026 pricing. Both do voice agents.",
    "verdicts": {
      "openai-realtime": "A generally available speech-to-speech API with WebRTC, WebSocket and SIP transports, a public OpenAPI file that types its events, and per-token prices. Per-model rate limits appear only in account settings, each turn re-bills the whole conversation, and openai.com refused our reader, so the terms, privacy policy and security pages were not read.",
      "ultravox": "Flat $0.05 a minute including model and built-in voices. No MCP server."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/openai-realtime-vs-ultravox",
    "json": "https://www.anchorterminal.com/compare/openai-realtime-vs-ultravox.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/openai-realtime-vs-ultravox.md",
    "slim": "https://www.anchorterminal.com/compare/openai-realtime-vs-ultravox.min.md"
  },
  "markdown": "OpenAI Realtime API scores 63.3 (B) on agent readiness against Ultravox Realtime API's 58.5 (C), and leads in 4 of 7 scored categories. Ultravox Realtime API leads on payments \u0026 pricing. Both do voice agents.\n\n- OpenAI Realtime API: grade B, 63.3/100, rank #400 of 950. Markdown https://www.anchorterminal.com/tools/openai-realtime.md · JSON https://www.anchorterminal.com/api/v1/tools/openai-realtime.json\n- Ultravox Realtime API: grade C, 58.5/100, rank #576 of 950. Markdown https://www.anchorterminal.com/tools/ultravox.md · JSON https://www.anchorterminal.com/api/v1/tools/ultravox.json\n- Best conversational voice-agent APIs: https://www.anchorterminal.com/best/voice-agents/index.md\n- All 91 voice agents comparisons: https://www.anchorterminal.com/compare/voice-agents/index.md\n\n## Which one, for what\n\n### OpenAI Realtime API (B)\n\nGood for: Teams building their own voice agent on one speech-to-speech model who want browser, server and phone transports from one vendor and can run a backend for secrets and tools.\n\nAhead on:\n- Reliability, 67 against 52\n- Agent ergonomics, 76 against 69\n- Security \u0026 auth, 61 against 46\n- Maintenance \u0026 community, 52 against 43\n\nWatch for: openai.com answered 403 to our reader, so the service terms, privacy policy, sub-processor list and security pages were not read.\n\n### Ultravox Realtime API (C)\n\nGood for: Cost-sensitive voice agents that bring their own telephony and want a speech-native model.\n\nAhead on:\n- Payments \u0026 pricing, 40 against 20\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No MCP server\n\n\n## Score by category\n\n| Category | Weight | OpenAI Realtime API | Ultravox Realtime API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 67 | 52 | OpenAI Realtime API +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 84 | 84 | even |\n| Agent ergonomics | 13% (16.2 this run) | 76 | 69 | OpenAI Realtime API +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 61 | 46 | OpenAI Realtime API +15 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 40 | Ultravox Realtime API +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 52 | 43 | OpenAI Realtime API +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 73 | Ultravox Realtime API +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.3 · B** | **58.5 · C** | |\n\n## Facts side by side\n\n| Fact | OpenAI Realtime API | Ultravox Realtime API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | OpenAI | Ultravox (Fixie.ai) |\n| Hosted endpoint | `https://api.openai.com/v1/realtime` | `https://api.ultravox.ai/api` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary service. The service terms on openai.com were not read. The Agents SDK for TypeScript and the OpenAPI description are MIT | MIT (model code) |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-07-28 | 2026-07-18 |\n| Terms last updated | couldn't be read | 2026-10-01 |\n| Privacy policy last updated | couldn't be read | 2026-10-01 |\n| Customer content may train models | couldn't be read | yes |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Popularity | none | 4.6k stars, 17k npm/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## Verdicts\n\n**OpenAI Realtime API.** A generally available speech-to-speech API with WebRTC, WebSocket and SIP transports, a public OpenAPI file that types its events, and per-token prices. Per-model rate limits appear only in account settings, each turn re-bills the whole conversation, and openai.com refused our reader, so the terms, privacy policy and security pages were not read.\n\n**Ultravox Realtime API.** Flat $0.05 a minute including model and built-in voices. No MCP server.\n\n## Before you call either\n\n### OpenAI Realtime API\n\n1. Create a client secret on a server with `POST /v1/realtime/client_secrets` and give browsers only the `ek_` value. Never ship the API key.\n2. After a response with MCP calls finishes, send another `response.create`. The API does not create the follow-up response itself.\n3. Set `truncation` with a `retention_ratio` below 1 and `token_limits.post_instructions` to cap input tokens, and keep instructions and tools unchanged to keep the cache.\n4. On a WebSocket, stop playback on `input_audio_buffer.speech_started` and send `conversation.item.truncate` with `audio_end_ms`. WebRTC and SIP truncate on the server.\n5. Use `gpt-realtime-2.1` or `gpt-realtime-2.1-mini`. `gpt-realtime` and `gpt-realtime-mini` shut down on 20 January 2027.\n\n### Ultravox Realtime API\n\n1. Honour `Retry-After` on 429 and 503 when creating calls\n2. Pin the model string (`ultravox-v0.7` or `ultravox-v0.6`) rather than relying on the default\n3. Hand clients the `joinUrl`, never the API key\n4. Delete calls through the API when you need data removed, there's no retention setting\n5. Use call stages for multi-step flows instead of one long prompt\n\n## Questions\n\n### Which is better for AI agents, OpenAI Realtime API or Ultravox Realtime API?\n\nOpenAI Realtime API scores 63.3 (B) on agent readiness against Ultravox Realtime API's 58.5 (C), and leads in 4 of 7 scored categories. Ultravox Realtime API leads on payments \u0026 pricing.\n\n### Do OpenAI Realtime API and Ultravox Realtime API need an API key?\n\nBoth need an API key.\n\n### Can an agent call OpenAI Realtime API and Ultravox Realtime API without installing anything?\n\nYes. OpenAI Realtime API has a hosted endpoint at https://api.openai.com/v1/realtime and Ultravox Realtime API at https://api.ultravox.ai/api.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/openai-realtime-vs-ultravox.json, and with the fewest tokens: https://www.anchorterminal.com/compare/openai-realtime-vs-ultravox.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"openai-realtime\", \"b\": \"ultravox\"}`. From a terminal: `anchor compare openai-realtime ultravox`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/openai-realtime.json and https://www.anchorterminal.com/api/v1/tools/ultravox.json\n\n## Other comparisons with OpenAI Realtime API or Ultravox Realtime API\n\n- [AssemblyAI Voice Agent API vs OpenAI Realtime API](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-openai-realtime.md)\n- [AssemblyAI Voice Agent API vs Ultravox Realtime API](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-ultravox.md)\n- [Bland AI API + MCP vs OpenAI Realtime API](https://www.anchorterminal.com/compare/bland-ai-vs-openai-realtime.md)\n- [Bland AI API + MCP vs Ultravox Realtime API](https://www.anchorterminal.com/compare/bland-ai-vs-ultravox.md)\n- [Bolna API + MCP vs OpenAI Realtime API](https://www.anchorterminal.com/compare/bolna-vs-openai-realtime.md)\n- [Bolna API + MCP vs Ultravox Realtime API](https://www.anchorterminal.com/compare/bolna-vs-ultravox.md)\n- [Deepgram Voice Agent API vs OpenAI Realtime API](https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-openai-realtime.md)\n- [Deepgram Voice Agent API vs Ultravox Realtime API](https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-ultravox.md)\n- [ElevenLabs Agents API + MCP vs OpenAI Realtime API](https://www.anchorterminal.com/compare/elevenlabs-agents-vs-openai-realtime.md)\n- [ElevenLabs Agents API + MCP vs Ultravox Realtime API](https://www.anchorterminal.com/compare/elevenlabs-agents-vs-ultravox.md)\n- [Gemini Live API vs OpenAI Realtime API](https://www.anchorterminal.com/compare/gemini-live-vs-openai-realtime.md)\n- [Gemini Live API vs Ultravox Realtime API](https://www.anchorterminal.com/compare/gemini-live-vs-ultravox.md)\n- [Hume EVI (Empathic Voice Interface) vs OpenAI Realtime API](https://www.anchorterminal.com/compare/hume-evi-vs-openai-realtime.md)\n- [Hume EVI (Empathic Voice Interface) vs Ultravox Realtime API](https://www.anchorterminal.com/compare/hume-evi-vs-ultravox.md)\n- [OpenAI Realtime API vs Retell AI API + MCP](https://www.anchorterminal.com/compare/openai-realtime-vs-retell-ai.md)\n- [OpenAI Realtime API vs Synthflow API + MCP](https://www.anchorterminal.com/compare/openai-realtime-vs-synthflow.md)\n- [OpenAI Realtime API vs Vapi API + MCP](https://www.anchorterminal.com/compare/openai-realtime-vs-vapi.md)\n- [OpenAI Realtime API vs Vocily AI](https://www.anchorterminal.com/compare/openai-realtime-vs-vocily.md)\n- [OpenAI Realtime API vs Vogent API](https://www.anchorterminal.com/compare/openai-realtime-vs-vogent.md)\n- [Retell AI API + MCP vs Ultravox Realtime API](https://www.anchorterminal.com/compare/retell-ai-vs-ultravox.md)\n- [Synthflow API + MCP vs Ultravox Realtime API](https://www.anchorterminal.com/compare/synthflow-vs-ultravox.md)\n- [Ultravox Realtime API vs Vapi API + MCP](https://www.anchorterminal.com/compare/ultravox-vs-vapi.md)\n- [Ultravox Realtime API vs Vocily AI](https://www.anchorterminal.com/compare/ultravox-vs-vocily.md)\n- [Ultravox Realtime API vs Vogent API](https://www.anchorterminal.com/compare/ultravox-vs-vogent.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "OpenAI Realtime API vs Ultravox Realtime API",
        "url": ""
      }
    ],
    "description": "OpenAI Realtime scores 63.3 (B) to Ultravox Realtime's 58.5 (C) for voice agents. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "OpenAI Realtime API B 63.3",
      "Ultravox Realtime API C 58.5",
      "scores"
    ],
    "h1": "OpenAI Realtime API vs Ultravox Realtime API",
    "image": "https://www.anchorterminal.com/assets/og/compare-openai-realtime-vs-ultravox.png",
    "path": "/compare/openai-realtime-vs-ultravox",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenAI Realtime vs Ultravox Realtime for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/openai-realtime-vs-ultravox"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 730
  },
  "version": 1
}
