{
  "data": {
    "a": {
      "slug": "livekit-agents",
      "name": "LiveKit Agents",
      "vendor": "LiveKit Incorporated",
      "vendorUrl": "https://livekit.com",
      "kind": "framework",
      "category": "voice-agents",
      "summary": "LiveKit Agents is LiveKit's open-source Python and Node.js framework for realtime voice and video agents that join LiveKit rooms, with STT, LLM, TTS and realtime-model plugins, turn detection, MCP tools and telephony through LiveKit SIP.",
      "url": "https://www.anchorterminal.com/tools/livekit-agents",
      "markdownUrl": "https://www.anchorterminal.com/tools/livekit-agents.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/livekit-agents.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/livekit-agents.json",
      "dns": "livekit-agents.grade.anchorterminal.com",
      "repo": "https://github.com/livekit/agents",
      "license": "Apache-2.0 for the framework and plugins. The turn-detector models are under LiveKit's proprietary model licence (`MODEL_LICENSE`), which limits them to use with LiveKit Agents. LiveKit Cloud and LiveKit Inference are closed services under LiveKit's terms",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "livekit-agents"
        },
        {
          "registry": "npm",
          "name": "@livekit/agents"
        }
      ],
      "auth": "api-key",
      "authNotes": "The agent server connects to a LiveKit server with `LIVEKIT_URL`, `LIVEKIT_API_KEY` and `LIVEKIT_API_SECRET`. The key and secret sign JWT access tokens with room grants and a lifetime the issuer sets. Model plugins take each provider's own key, or LiveKit Inference uses the LiveKit Cloud project's key and secret. A self-hosted LiveKit server needs no LiveKit account, and a LiveKit Cloud project needs a browser sign-up.",
      "pricing": "free",
      "pricingNotes": "The framework is free under Apache-2.0, and you pay for models and for hosting. LiveKit Cloud's Build plan is $0 with no card, with 1,000 agent session minutes, 5 concurrent sessions and $2.50 of LiveKit Inference credit, as a hard cap. Ship starts at $50 a month and Scale at $500, with agent session minutes at $0.01 past the allowance and LiveKit Inference models billed per minute, per character or per token (https://livekit.com/pricing.md, checked 2026-10-17).",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the repository source, the docs (llms-full.txt) or the pricing page, checked 2026-10-17.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 819555,
        "pypiWeekly": 1055589,
        "asOf": "2026-10-17"
      },
      "docsUrl": "https://docs.livekit.io/agents/",
      "llmsTxt": "https://docs.livekit.io/llms.txt",
      "capabilities": [
        "voice.agent",
        "voice.pipeline",
        "voice.speech-to-speech",
        "voice.tools",
        "voice.telephony",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "framework",
        "official",
        "python",
        "typescript",
        "open-source",
        "apache-2.0",
        "self-hosted",
        "llms-txt",
        "pipeline",
        "speech-to-speech",
        "webrtc",
        "sip",
        "no-card"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 72.7,
        "grade": "BB",
        "agentReady": true,
        "rank": 106,
        "ranked": true,
        "rankOf": 1266,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 87,
          "payments": 60,
          "reliability": 67,
          "schema": 81,
          "security": 62,
          "transparency": 82
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "An Apache-2.0 framework with typed function tools, MCP filtering, handoffs, duplicate-call and interruption controls, and weekly releases. It needs a LiveKit server, and the default turn detector's models are under a proprietary licence limited to this framework. No approval primitive or prompt-injection guidance was found.",
        "bestFor": "Teams writing their own voice agents in Python or Node.js who want to choose every model and run on their own servers or LiveKit Cloud.",
        "strengths": [
          "Apache-2.0 Python and Node.js packages, with 18 Python releases in the 90 days to 1 November 2026",
          "MCP client with `allowed_tools`, `filter_tools()` and `tool_result_resolver` to limit tools and trim results (Python only)",
          "Voice-specific tool controls. `disallow_interruptions()`, four `on_duplicate` modes, and interrupted tools keep their result so the model doesn't call them again",
          "81 provider plugin packages, or LiveKit Inference model strings with one LiveKit key and zero data retention under LiveKit's terms",
          "Runs entirely self-hosted, with the local `v1-mini` turn detector and no LiveKit account"
        ],
        "weaknesses": [
          "The turn-detector models are under a proprietary licence that forbids use outside LiveKit Agents and training other models on their output",
          "No CHANGELOG file, release notes only on GitHub, and 2.0.0b1 tagged on 12 October 2026 with no 2.0 migration guide by 1 November",
          "The quickstart still calls the deprecated `cli.run_app`, and the llms.txt link to the Python reference's Markdown returns 404",
          "No built-in approval step for tool calls, and no prompt-injection guidance found in the docs",
          "In `dev` mode with LiveKit Cloud credentials, the default turn detector streams user audio to LiveKit Inference"
        ],
        "agentNotes": [
          "Set `LIVEKIT_URL`, `LIVEKIT_API_KEY` and `LIVEKIT_API_SECRET` before starting. Every agent joins a LiveKit room, on LiveKit Cloud or a self-hosted server",
          "Pass `inference.TurnDetector(version=\"v1-mini\")` to keep turn detection local, and read `MODEL_LICENSE` before using LiveKit's turn models anywhere but LiveKit Agents",
          "Pass `record=False`, or a dict per category, to `session.start()` if audio, transcripts, traces and logs must not reach LiveKit Cloud",
          "Call `context.disallow_interruptions()` first in tools that write, and set `on_duplicate=\"reject\"` or `\"confirm\"`. Duplicates are matched by tool name only, not arguments",
          "Wrap MCP servers in `mcp.MCPToolset` with `allowed_tools` (Python only). The `mcp_servers` parameter is deprecated"
        ],
        "metrics": {
          "kind": "library",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 72.7
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 87,
          "payments": 60,
          "reliability": 67,
          "schema": 81,
          "security": 62,
          "transparency": 68
        },
        "provenanceScore": 96,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install \"livekit-agents[openai,deepgram,cartesia]\"   # or: npm i @livekit/agents"
      },
      "letme": {
        "capability": "https://letme.dev/voice.agent",
        "tool": "https://letme.dev/livekit-agents"
      },
      "sameCompany": [
        "livekit-telephony"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "LiveKit Cloud agent session",
          "unit": "call-minute",
          "usd": 0.01,
          "note": "past the Ship or Scale allowance, models and telephony extra"
        },
        {
          "item": "LiveKit Cloud agent session recording",
          "unit": "audio-minute",
          "usd": 0.005,
          "note": "past the Ship or Scale allowance"
        },
        {
          "item": "LiveKit Cloud Ship plan",
          "unit": "month",
          "usd": 50,
          "note": "starting price"
        },
        {
          "item": "LiveKit Cloud Scale plan",
          "unit": "month",
          "usd": 500,
          "note": "starting price"
        }
      ],
      "provenance": {
        "legalEntity": "LiveKit Incorporated",
        "domain": "livekit.com",
        "domainRegistered": "2000-02-24",
        "endpointOnVendorDomain": null,
        "terms": "https://livekit.com/legal/terms-of-service",
        "privacy": "https://livekit.com/legal/privacy-policy",
        "statusPage": "https://status.livekit.io",
        "changelog": "https://github.com/livekit/agents/releases",
        "securityTxt": "valid",
        "checked": "2026-10-17",
        "notes": [
          "The framework is Apache-2.0 software the owner runs. The terms (last updated 6 October 2026) govern LiveKit Cloud's Build, Ship and Scale plans, including LiveKit Inference and Agent Observability, between the customer and LiveKit Incorporated of San Francisco.",
          "The privacy policy (last updated 15 October 2026) covers LiveKit's website and says it does not apply where LiveKit processes data for customers. The sub-processor list is dated 10 September 2026.",
          "livekit.io answers 308 to livekit.com. RDAP at Verisign gives livekit.com a registration date of 24 February 2000, before the company existed.",
          "livekit.com/.well-known/security.txt names a security contact, a PGP key and the disclosure policy at https://livekit.com/security/policy, with no Expires field. The repository has no SECURITY.md.",
          "No CHANGELOG file in the repository. Release notes are on GitHub releases, which couldn't be read from our session. The status page covers LiveKit Cloud, not the framework.",
          "WebFetch refused every page in this session, so first-hand pages were read with curl after checking each host's robots.txt. status.livekit.io disallows /api/, so its history page was read instead."
        ],
        "score": 96
      },
      "requirements": {
        "card": "no",
        "freeTier": true,
        "minutes": 10,
        "credential": "api-key",
        "hosting": [
          "self-hosted"
        ],
        "euResidency": "yes",
        "trainsOnData": "no",
        "zeroRetention": "yes",
        "certifications": [
          "SOC 2 Type II"
        ],
        "dpa": true,
        "selfHost": "yes"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/livekit-agents.json",
      "live": {
        "slug": "livekit-agents",
        "vendorStatus": {
          "page": "https://status.livekit.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-02T15:06:30.44587758Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "livekit/agents",
            "version": "livekit-agents@1.8.10",
            "released": "2026-10-29",
            "seenAt": "2026-11-01T17:11:18.392915249Z"
          },
          {
            "registry": "npm",
            "name": "@livekit/agents",
            "version": "1.9.5",
            "seenAt": "2026-11-01T17:11:17.50476526Z"
          },
          {
            "registry": "pypi",
            "name": "livekit-agents",
            "version": "1.8.10",
            "released": "2026-10-28",
            "seenAt": "2026-11-01T17:11:17.30631873Z"
          }
        ],
        "githubStars": 15038,
        "npmWeekly": 1274485,
        "pypiWeekly": 1132258,
        "securityTxt": {
          "url": "https://livekit.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-01T15:43:06.288888891Z"
        },
        "llmsTxt": {
          "url": "https://docs.livekit.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-01T15:14:09.454291109Z"
        },
        "domain": {
          "domain": "livekit.com",
          "registered": "2000-02-24",
          "source": "https://rdap.verisign.com/com/v1/domain/livekit.com",
          "checkedAt": "2026-11-01T14:09:57.960731673Z"
        },
        "pages": [
          {
            "url": "https://livekit.com/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-02T07:20:14.657209231Z",
            "changedAt": "2026-10-29T05:10:26.686120824Z",
            "fingerprint": "e6491565dd04"
          },
          {
            "url": "https://livekit.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-02T07:20:09.706728174Z",
            "changedAt": "2026-11-02T07:20:09.706728174Z",
            "fingerprint": "0bb51baaa18e"
          },
          {
            "url": "https://livekit.com/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-02T07:20:12.054916879Z",
            "changedAt": "2026-11-02T07:20:12.054916879Z",
            "fingerprint": "9fcf21c0505d"
          }
        ],
        "github": {
          "repo": "livekit/agents",
          "checkedAt": "2026-11-02T09:01:09.273469862Z",
          "stars": 15048,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T08:26:10Z",
          "openIssues": 250,
          "openPRs": 635,
          "issuesOpened90d": 274,
          "issuesClosed90d": 240,
          "prsMerged90d": 652,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 33,
            "failure": 17,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-02T08:27:09Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-q77r-q2p5-68vf",
              "severity": "medium",
              "published": "2026-08-21T22:37:22Z"
            }
          ],
          "replies": {
            "sampled": 25,
            "unanswered": 18,
            "medianDays": 1.8
          }
        },
        "updatedAt": "2026-11-02T15:06:30.44587758Z"
      }
    },
    "answer": "LiveKit Agents scores 72.7 (BB) on agent readiness against Vaani Developer Platform's 44.6 (E), and leads in every scored category.",
    "b": {
      "slug": "vaani-voice",
      "name": "Vaani Developer Platform",
      "vendor": "Vaani AI Research Private Limited",
      "vendorUrl": "https://www.vaani.dev",
      "kind": "http-api",
      "category": "voice-agents",
      "summary": "Vaani is a hosted voice-agent platform from Bengaluru for outbound and inbound phone calls, browser WebRTC sessions and calling campaigns. Agents reach it through a REST API, a Python SDK and a local MCP server.",
      "url": "https://www.anchorterminal.com/tools/vaani-voice",
      "markdownUrl": "https://www.anchorterminal.com/tools/vaani-voice.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/vaani-voice.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/vaani-voice.json",
      "dns": "vaani-voice.grade.anchorterminal.com",
      "license": "Proprietary hosted service under Vaani AI Research's terms of service. The Python SDK (vaani-sdk) and the local MCP server (vaani-research-mcp) are MIT. The SDK's full source ships in its PyPI sdist, and the MCP server's npm package holds only the bundled JavaScript",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.vaanivoice.ai",
      "packages": [
        {
          "registry": "pypi",
          "name": "vaani-sdk"
        },
        {
          "registry": "npm",
          "name": "vaani-research-mcp"
        }
      ],
      "auth": "api-key",
      "authNotes": "An API key (`vaani_...`) sent as the `X-API-Key` header, created by a signed-in user in the dashboard under Settings, API Keys. Keys are shown once, several can be active, and rotation means creating a new one and deleting the old one. Every key reaches the whole workspace, with no per-agent, read-only or scoped keys. The live-captions WebSocket URL carries its own short-lived token in the query string, bound to one call (24 hours by default). Campaign webhooks are signed with HMAC-SHA256 over a timestamp and the body.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go from a prepaid wallet. The Vaani platform fee is ₹1 ($0.02) a minute, with telephony, speech recognition, the language model and the voice billed on top at the providers' unit rates shown in the calculator. The page's illustrative production stack comes to ₹5.66 a minute. A phone number is ₹600 ($10) a month, extra concurrency ₹2,000 for 5 lines a month, and the plan includes 2 concurrent calls. Warm transfers (₹0.50) and two other add-ons are free under an early launch offer. Bringing your own provider keys needs Enterprise, which is priced on request. No free credit or trial allowance is stated (https://www.vaani.dev/pricing, checked 2026-11-02).",
      "priceSummary": "$10 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs (llms-full.txt), the OpenAPI file, the pricing page or the SDK and MCP source. Access starts with an email sign-up and a dashboard key, and calls are paid from a prepaid wallet (checked 2026-11-02).",
        "endpoints": []
      },
      "toolCount": 9,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 14,
        "pypiWeekly": 19,
        "asOf": "2026-11-02"
      },
      "docsUrl": "https://docs.vaani.dev",
      "llmsTxt": "https://docs.vaani.dev/llms.txt",
      "openapi": "https://docs.vaani.dev/api-reference/openapi.json",
      "capabilities": [
        "voice.agent",
        "voice.pipeline",
        "voice.tools",
        "voice.telephony",
        "voice.recording"
      ],
      "tags": [
        "hosted",
        "india",
        "closed-source",
        "mcp",
        "openapi",
        "llms-txt",
        "python",
        "webhooks",
        "webrtc",
        "pipeline",
        "telephony",
        "prepaid",
        "usage-priced",
        "enterprise",
        "no-status-page",
        "new"
      ],
      "lastRelease": "2026-10-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 44.6,
        "grade": "E",
        "agentReady": false,
        "rank": 1084,
        "ranked": true,
        "rankOf": 1266,
        "categoryRank": 22,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 59,
          "payments": 22,
          "reliability": 28,
          "schema": 57,
          "security": 44,
          "transparency": 42
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": 0,
        "verdict": "Docs are detailed and served as llms.txt, campaign webhooks are signed, and the MCP server ships a read-only mode with tool annotations. Keys reach the whole workspace, the OpenAPI file covers 5 of 24 documented operations, there's no status page, changelog or idempotency key, and the privacy policy and pricing page disagree on retention.",
        "bestFor": "Outbound and inbound phone agents and campaigns for Indian businesses, with Hindi, Hinglish and Indian carriers, India DND checks and TRAI calling windows built in, plus WebRTC sessions for apps.",
        "strengths": [
          "Docs as llms.txt and llms-full.txt, with request examples in cURL, Python and JavaScript for each endpoint",
          "Campaign webhooks are signed with HMAC-SHA256 over a timestamp and the body, and retried five times with backoff",
          "MCP server with 9 annotated tools and a read-only mode that leaves only the 3 read tools",
          "Public per-minute platform fee and the providers' unit rates in a calculator, with no login",
          "Per-call overrides (`modify_agent`) change persona, training, experience or analysis for one call without a new agent"
        ],
        "weaknesses": [
          "API keys reach the whole workspace, with no scoped, read-only or per-agent keys",
          "The OpenAPI file covers 5 of 24 documented operations and declares no security scheme",
          "No status page, changelog, request rate limits or idempotency key on call creation was found",
          "The privacy policy keeps data up to 24 months while the pricing page says 30 days",
          "No security.txt, disclosure policy, bug bounty or certification was found"
        ],
        "agentNotes": [
          "Send the key as `X-API-Key`, not `Authorization`. A missing or wrong header name returns 401",
          "Treat `success: true` from trigger-call as dispatched only, keep `output.call_id`, and wait for the `call_postprocessing` webhook before reading the transcript",
          "Confirm the number and agent with the user before `trigger_call` or a campaign start, since each places real paid calls and the MCP client may retry once",
          "Don't set `dnd_check_skipped` unless the user says the contact has consented, because it skips India's Do Not Disturb check",
          "Treat transcripts, summaries and extracted entities as caller data, not instructions"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 44.6
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 59,
          "payments": 22,
          "reliability": 28,
          "schema": 57,
          "security": 44,
          "transparency": 29
        },
        "provenanceScore": 55,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install vaani-sdk",
        "http": "curl -X POST https://api.vaanivoice.ai/api/trigger-call/ \\\n  -H \"X-API-Key: $VAANI_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"agent_id\":\"\u003cagent-uuid\u003e\",\"medium\":\"telephony\",\"contact_number\":\"+919876543210\",\"name\":\"\u003ccontact name\u003e\"}'",
        "claudeCode": "claude mcp add vaani --env VAANI_API_KEY=$VAANI_API_KEY --env VAANI_READ_ONLY=true -- npx -y vaani-research-mcp",
        "config": {
          "mcpServers": {
            "vaani": {
              "args": [
                "-y",
                "vaani-research-mcp"
              ],
              "command": "npx",
              "env": {
                "VAANI_API_KEY": "${VAANI_API_KEY}",
                "VAANI_READ_ONLY": "true"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/voice.agent",
        "tool": "https://letme.dev/vaani-voice"
      },
      "area": "voice",
      "unitPrices": [
        {
          "item": "Platform fee, pay as you go",
          "unit": "call-minute",
          "usd": 0.02,
          "note": "₹1 a minute. Telephony, speech recognition, LLM and voice billed on top at provider rates"
        },
        {
          "item": "Phone number rental",
          "unit": "month",
          "usd": 10,
          "note": "₹600 a month, varies by country"
        },
        {
          "item": "Warm transfer",
          "unit": "tx",
          "usd": 0.01,
          "note": "₹0.50 a transfer, free under the early launch offer. The transferred leg's telephony is extra"
        }
      ],
      "provenance": {
        "legalEntity": "Vaani AI Research Private Limited (Bengaluru, India, CIN U62099KA2025PTC201212)",
        "domain": "vaani.dev",
        "domainRegistered": "2026-10-02",
        "domainNote": "vaani.dev is a new brand domain, registered on 2 October 2026 per RDAP. The API and docs host vaanivoice.ai was registered on 11 March 2026, and the company domain vaaniresearch.com on 18 July 2024.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.vaani.dev/legal/terms",
        "privacy": "https://www.vaani.dev/legal/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-02",
        "notes": [
          "The terms and privacy policy name Vaani AI Research Private Limited, registered under Indian law at 17, 2nd Floor, 7th Main Road, II Stage, Hoysala Nagar, Indiranagar, Bengaluru 560038, with Indian law and Bengaluru courts. The terms footer gives the CIN U62099KA2025PTC201212. Neither page carries a date.",
          "The terms are written for the website www.vaaniresearch.com and cover acceptable use, liability and termination without notice. They say nothing about billing, refunds, API use or customer data.",
          "No security.txt on www.vaani.dev or www.vaaniresearch.com (404). status.vaani.dev and status.vaanivoice.ai don't resolve and no status page is linked.",
          "No changelog or release notes page was found in the docs or on the site. PyPI and npm release dates are the only dated record.",
          "docs.vaani.dev's robots.txt allows crawling and carries Content-Signal ai-train=yes, search=yes, ai-input=yes. www.vaani.dev and www.vaaniresearch.com answer robots.txt with 404."
        ],
        "score": 55
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/vaani-voice.json",
      "live": {
        "slug": "vaani-voice",
        "probe": {
          "target": "https://api.vaanivoice.ai",
          "method": "get",
          "lastAt": "2026-11-02T15:07:03.611312147Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 724,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 711,
          "p95ms24h": 804,
          "samples24h": 41,
          "samples30d": 41,
          "days": [
            {
              "date": "2026-11-02",
              "probes": 41,
              "ok": 41
            }
          ]
        },
        "updatedAt": "2026-11-02T15:07:03.611312147Z"
      }
    },
    "edges": [
      {
        "by": 40,
        "category": "transparency",
        "leads": "livekit-agents",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Apache-2.0 for the framework and its 81 plugin packages. The turn-detector models are under LiveKit's proprietary model licence, and the core package now requires `livekit-local-inference`, installed from PyPI with its source outside the repository, which runs the local `v1-mini` model that the turn-detector docs place under the same model licence. The README calls the project \"Fully open-source\" and names the model licence in its licence section, and `MODEL_LICENSE` itself calls LiveKit Agents a proprietary framework (20 of 30). The terms, the observability docs and the pricing page agree on 30-day observability retention, zero data retention for LiveKit Inference and no training on customer data, and a DPA and sub-processor list are published. The privacy policy (15 October 2026) excludes data LiveKit processes for customers. The pricing page lists LiveKit Inference models from Fish Audio, Gradium and Speechmatics, which the sub-processor list of 10 September 2026 does not name (22 of 30). Deprecations are flagged in code and docs (`mcp_servers`, `cli.run_app`, the text turn-detector plugin), mostly without dates. One warning names 30 April 2026 for removing `api_version` and is still in 1.8.10 on 1 November, and 2.0.0b1 has no migration notes we could find (9 of 20). What reaches LiveKit is documented with opt-outs (`record`, `TurnDetector(version=\"v1-mini\")`), and the sub-processor list names each entity and country (17 of 20).",
          "b": "A closed service. The terms name Vaani AI Research Private Limited, its Bengaluru address, CIN, Indian law and Bengaluru courts, but they're undated, written for the website www.vaaniresearch.com, and say nothing on billing, refunds, API use or customer data. The SDK and MCP server are MIT, with the SDK's full source in its PyPI sdist (14 of 30). The privacy policy (undated) keeps data, including voice recordings, for up to 24 months, while the pricing table gives 30 days' retention on pay as you go and zero retention on Enterprise. Voice data trains models only with explicit consent. No DPA found (8 of 30). No deprecation policy. The privacy policy promises 15 days' notice of significant changes, and the terms allow changes and termination without notice (2 of 20). The privacy policy names vendor categories (cloud hosting, analytics, voice transcription) and says data may be stored outside India. Model and telephony providers can be read from the calculator, and India data residency is offered on demand. No subprocessor list or data location for the hosted service (5 of 20). 14+8+2+5 = 29."
        },
        "scores": {
          "a": 82,
          "b": 42
        }
      },
      {
        "by": 39,
        "category": "reliability",
        "leads": "livekit-agents",
        "name": "Reliability",
        "reasons": {
          "a": "Graded as a framework with the local-software lines, since LiveKit Cloud is optional and not graded. Official packages on PyPI (Python 3.10 to 3.14 declared) and npm (Node.js 20 or later per the docs) (20). Public workflows run on every push to main and on pull requests. Unit tests on Linux with Python 3.12 over 310 test files on 1 November, ruff, and mypy on Python 3.10 and 3.13, with a small blockguard suite on Linux, macOS and Windows. GitHub's pages and API weren't readable from our session, so a passing main is not confirmed (15 of 25). Open issues and reply times weren't read, because GitHub's pages answer 403, and the earlier issue figures, taken from a third-party copy of GitHub data, are struck. In a clone of main, the 200 newest commits run from 11 to 31 October 2026 and 104 of them are fixes, among them an Inference STT socket that hung when silently dropped (#8023) and an avatar plugin's error handler that crashed (#7498). None names the issue it closes and there is no changelog, so whether reported crashes and regressions get handled can't be seen (10 of 25). No CHANGELOG file. Release notes are on GitHub, which we couldn't read, and the repository's release-notes script asks for Breaking changes and Security sections. Migration guides exist for 0.x to 1.0, AGENTS.md makes patch bumps the default, and 2.0.0b1 was tagged on 12 October and the docs' migration guides still stop at Python 0.x to 1.0 and Node.js 1.x to 1.5 on 1 November (7 of 15). 1.8.10, stable since 1.0 (15).",
          "b": "Graded on the hosted REST API at api.vaanivoice.ai. No status page. status.vaani.dev and status.vaanivoice.ai don't resolve, and neither the site nor the docs link one (0). With no history to read, 5. No request rate limits are published. The docs give 2 concurrent calls on pay as you go and a per-organisation campaign concurrency cap, so partial credit (5). The SDK raises `RateLimitError` on 429 and the MCP client retries once after 600 ms, but no Retry-After, backoff guidance or idempotency key for call creation is documented (3). The pricing table lists a 99.50 per cent uptime SLA on both plans, but no SLA document or service credits were found and the terms supply the service \"as-is\" with no warranties, so half (5). The API is version 2.0.0 and isn't labelled beta (10). 0+5+5+3+5+10 = 28."
        },
        "scores": {
          "a": 67,
          "b": 28
        }
      },
      {
        "by": 38,
        "category": "payments",
        "leads": "livekit-agents",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0 of 40). Read with the rule for open-source software that has a paid hosted option. LiveKit Cloud publishes per-minute prices for agent sessions and recordings and per-unit prices for every LiveKit Inference model without a login (20). The Apache-2.0 packages install with no card, and LiveKit Cloud's Build plan is $0 with no card (20). The framework and a LiveKit server can both run self-hosted with no account or sign-up (20).",
          "b": "No x402, MPP or L402 (0 of 40). The ₹1 ($0.02) a minute platform fee, number rental, concurrency lines and add-ons are public, and the calculator shows each provider's unit rate without a login. Registry checks, extraction and evaluations \"can add separate charges\" that aren't priced, and the billing pulse depends on the account, so 3 off (17 of 20). The home page says \"Start free on Vaani's Platform\", but the pricing page states a prepaid wallet with no free credit, trial minutes or card rule, and we didn't sign up to check, so 5 of 20. A person signs up with email verification at platform.vaani.dev and creates keys in the dashboard (0). 0+17+5+0 = 22."
        },
        "scores": {
          "a": 60,
          "b": 22
        }
      },
      {
        "by": 28,
        "category": "maintenance",
        "leads": "livekit-agents",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "`livekit-agents` 1.8.10 tagged on 28 October 2026, after 1.8.9 on 23 October (30). 18 tagged releases in the 90 days to 1 November, from 1.6.8 on 3 August to 1.8.10, counted from the repository's tags since PyPI didn't answer from our shell on 1 November, and `@livekit/agents` 1.9.4 (24 October) and 1.9.5 (28 October) in livekit/agents-js (20). Issue and pull request reply times weren't read, because GitHub's pages answer 403, and the earlier figures, taken from a third-party copy of GitHub data, are struck. In the clone, 147 of the 200 newest commits (11 to 31 October) came from about 80 authors with addresses outside livekit.io, bots aside, and every one of the 200 landed as a numbered pull request. CODEOWNERS sends every change to the agent-devs team, a workflow requests that team's review on pull requests from the repository's own branches, and the issue form points questions to LiveKit's community forum, with a Slack linked from the README (15 of 25). Python 1.8.10 and Node.js 1.9.5 were both tagged on 28 October (15). Renovate, a uv lockfile that holds new dependencies back seven days, security bumps of aiohttp (22 October) and nltk (27 October), pinned actions and CI on every push, with the pass state unconfirmed (7 of 10). 30 + 20 + 15 + 15 + 7 = 87.",
          "b": "vaani-research-mcp 0.1.1 on 2026-10-14 (30). In the last 90 days, vaani-sdk 0.3.1 on 28 September and three npm versions (0.0.0-stage, 0.1.0, 0.1.1) within 40 minutes on 14 October. No dated changelog, so half (10 of 20). A closed service with no public changelog, issue tracker or community channel found. Contact is hello@vaaniresearch.com and a booking link, and we didn't test whether they answer. The MCP repository on GitHub couldn't be read from this session (4 of 15, the closed-service reading). A current official Python SDK, released seven times since April 2026. The MCP server isn't in the official MCP registry (10 of 15). The SDK's sdist ships its tests and current httpx and pydantic dependencies, and the MCP package runs its tests before publishing, but no public CI was found and the SDK has no repository (5 of 10). 30+10+4+10+5 = 59."
        },
        "scores": {
          "a": 87,
          "b": 59
        }
      },
      {
        "by": 24,
        "category": "schema",
        "leads": "livekit-agents",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Library reading. A typed Python package (`py.typed`, mypy in CI) with a Python and Node.js API reference on docs.livekit.io. The reference llms.txt link to the Python reference's Markdown still returns 404 on 1 November (22 of 25). llms.txt with section indexes, `.md` on every page, llms-full.txt and a docs MCP server (10). Pages say when to use a realtime model or a pipeline, when to choose `v1` or `v1-mini`, when to disallow interruptions and how to gate critical actions, and mark MCP as Python only (16 of 20). Function tools take their schema from typed signatures and docstrings, raw JSON Schema is accepted, and argument validation failures go back to the model as `ToolError` (13 of 15). 15 example folders in the repository after provider-specific examples were removed on 27 October, 39 recipes, and an events and error-handling reference (13 of 15). No changelog in the repository or docs, release notes only on GitHub, and the quickstart's `agent.py` still ends with `agents.cli.run_app(server)`, which the framework marks as deprecated, still so on 1 November (7 of 15).",
          "b": "A public OpenAPI 3.1 file at docs.vaani.dev/api-reference/openapi.json, version 2.0.0, but it holds 5 of the 24 operations in the API reference (trigger-call, call history, transcript, stream, call details). It declares the key only as a header parameter with no security scheme, its trigger-call schema leaves out `medium` and `modify_agent`, and four response schemas are empty. The MCP tools have typed zod inputs (8 of 25). llms.txt, llms-full.txt and a Markdown copy of each page on Mintlify (10). Pages explain what each route is for and warn where it matters, such as dispatch acceptance not meaning a completed call, transcripts returning 404 while processing, and real paid calls from trigger_call (14 of 20). Ranges and enums are documented (`medium`, `voice_speed` 0.6 to 1.4, `page_size` up to 200, campaign retries 1 to 10, campaign status), but `metadata`, `modify_agent` and three MCP tool payloads are free-form objects (9 of 15). Request examples in cURL, Python and JavaScript on every endpoint, a campaign error-code table, 422 and 404 bodies and an SDK exception table by status. No single error reference for the whole API (12 of 15). The docs state API version 2.0.0, but no changelog or release notes page was found (4 of 15). 8+10+14+9+12+4 = 57."
        },
        "scores": {
          "a": 81,
          "b": 57
        }
      },
      {
        "by": 18,
        "category": "security",
        "leads": "livekit-agents",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Framework reading. Agents authenticate to a LiveKit server with an API key and secret that sign JWT access tokens with room grants and a lifetime. No analytics calls were found in the source. Uploads to LiveKit Cloud happen only when the agent connects to LiveKit Cloud media servers and the project enables Agent Observability, which the terms call a capability the customer elects to enable. `record` then defaults to the project setting, and since 23 October (1.8.9) the recording header also carries a session summary without chat history or events, with `record=False` or per-category opt-outs, 30-day retention and PII redaction that is off by default. The default turn detector streams user audio to LiveKit Inference when deployed to LiveKit Cloud or in `dev` mode with credentials, which the docs state (20 of 30). No built-in approval step or read-only mode. `disallow_interruptions()`, `on_duplicate=\"confirm\"`, MCP `allowed_tools`, prebuilt tasks with `require_confirmation` and the docs' advice to gate critical actions in code. Hosted agents run in sandboxed per-instance environments per the security page (10 of 20). Callers' speech and MCP results reach the model, and a search of llms-full.txt found no prompt-injection guidance (3 of 15). OpenTelemetry traces and metrics per session, session reports, and Agent Insights on LiveKit Cloud (14 of 15). security.txt with a contact and PGP key but no Expires field, a disclosure policy with safe harbour and a hall of fame, a SOC 2 Type II report for LiveKit Cloud under NDA, and no OSV advisories for livekit-agents or @livekit/agents on 1 November. No SECURITY.md in the repository and no paid bug bounty found. CI pins its actions by commit (15 of 20).",
          "b": "Plain revocable API keys, shown once, several active at a time and rotated by creating a new key and deleting the old one. Every key reaches the whole workspace, with no scoped, read-only or per-agent keys (20). Campaign webhooks are signed with HMAC-SHA256 over a timestamp and the body, with a five-minute replay window in the example (+2). The live-captions URL carries a call-bound token in the query string for 24 hours by default, the documented way for browsers to connect, so 3 off as a judgement call, less than the full 10 because it isn't the account key (19 of 30). The MCP server has a read-only mode and destructive annotations, and its docs, tool descriptions and bundled prompt say to confirm the number and agent with the user before a call. The API itself has no read-only key and nothing stops a call without confirmation (12 of 20). The tool returns transcripts, summaries and entities drawn from callers' speech. No guidance on treating them as untrusted data was found. Agent guardrails exist for the voice agent's own replies (3 of 15). Each call keeps a record in call history and call details, and keys are labelled so calls can be traced to a key, but no account or key audit log is documented (7 of 15). No security.txt (404 on both domains), disclosure policy, bug bounty or certification. vaaniresearch.com marks its security standards \"In Progress\", the pricing page lists HIPAA compliance on Enterprise with no report or BAA found, and the privacy policy promises breach notice in line with applicable law (3 of 20). 19+12+3+7+3 = 44."
        },
        "scores": {
          "a": 62,
          "b": 44
        }
      }
    ],
    "facts": [
      {
        "a": "Agent framework",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "LiveKit Incorporated",
        "b": "Vaani AI Research Private Limited",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.vaanivoice.ai",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "$0.005 per minute of audio",
        "b": "not published",
        "name": "Price for voice agents"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0 for the framework and plugins. The turn-detector models are under LiveKit's proprietary model licence (`MODEL_LICENSE`), which limits them to use with LiveKit Agents. LiveKit Cloud and LiveKit Inference are closed services under LiveKit's terms",
        "b": "Proprietary hosted service under Vaani AI Research's terms of service. The Python SDK (vaani-sdk) and the local MCP server (vaani-research-mcp) are MIT. The SDK's full source ships in its PyPI sdist, and the MCP server's npm package holds only the bundled JavaScript",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "9",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-28",
        "b": "2026-10-14",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "820k npm/wk, 1.1M PyPI/wk",
        "b": "14 npm/wk, 19 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "LiveKit Agents scores 72.7 (BB) on agent readiness against Vaani Developer Platform's 44.6 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, LiveKit Agents or Vaani Developer Platform?"
      },
      {
        "answer": "No hosted endpoint is listed for LiveKit Agents. Vaani Developer Platform has a hosted endpoint at https://api.vaanivoice.ai.",
        "question": "Can an agent call LiveKit Agents and Vaani Developer Platform without installing anything?"
      },
      {
        "answer": "LiveKit Agents is open source (Apache-2.0 for the framework and plugins. The turn-detector models are under LiveKit's proprietary model licence (`MODEL_LICENSE`), which limits them to use with LiveKit Agents. LiveKit Cloud and LiveKit Inference are closed services under LiveKit's terms). No open-source release is listed for Vaani Developer Platform.",
        "question": "Are LiveKit Agents and Vaani Developer Platform open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 67 against 28",
          "Schema \u0026 documentation, 81 against 57",
          "Agent ergonomics, 80 against 64",
          "Security \u0026 auth, 62 against 44",
          "Payments \u0026 pricing, 60 against 22",
          "Maintenance \u0026 community, 87 against 59",
          "Transparency \u0026 trust, 82 against 42"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "Teams writing their own voice agents in Python or Node.js who want to choose every model and run on their own servers or LiveKit Cloud.",
        "slug": "livekit-agents",
        "watchFor": "The turn-detector models are under a proprietary licence that forbids use outside LiveKit Agents and training other models on their output"
      },
      {
        "aheadOn": null,
        "also": [
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine"
        ],
        "goodFor": "Outbound and inbound phone agents and campaigns for Indian businesses, with Hindi, Hinglish and Indian carriers, India DND checks and TRAI calling windows built in, plus WebRTC sessions for apps.",
        "slug": "vaani-voice",
        "watchFor": "API keys reach the whole workspace, with no scoped, read-only or per-agent keys"
      }
    ],
    "history": {
      "livekit-agents": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-01",
          "delta": 0.2,
          "from": 72.5,
          "fromGrade": "BB",
          "to": 72.7,
          "toGrade": "BB"
        }
      ],
      "vaani-voice": null
    },
    "job": {
      "capability": "voice.agent",
      "name": "Voice agents"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-livekit-agents.json",
        "title": "AssemblyAI Voice Agent API vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vaani-voice.json",
        "title": "AssemblyAI Voice Agent API vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bland-ai-vs-livekit-agents.json",
        "title": "Bland AI API + MCP vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/bland-ai-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bland-ai-vs-vaani-voice.json",
        "title": "Bland AI API + MCP vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/bland-ai-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-livekit-agents.json",
        "title": "Bolna API + MCP vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-vaani-voice.json",
        "title": "Bolna API + MCP vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-livekit-agents.json",
        "title": "Deepgram Voice Agent API vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-vaani-voice.json",
        "title": "Deepgram Voice Agent API vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-livekit-agents.json",
        "title": "ElevenLabs Agents API + MCP vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-vaani-voice.json",
        "title": "ElevenLabs Agents API + MCP vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-live-vs-livekit-agents.json",
        "title": "Gemini Live API vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/gemini-live-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-live-vs-vaani-voice.json",
        "title": "Gemini Live API vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/gemini-live-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt-live-vs-vaani-voice.json",
        "title": "GPT-Live vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/gpt-live-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harmony-ai-vs-livekit-agents.json",
        "title": "Harmony.ai vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/harmony-ai-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harmony-ai-vs-vaani-voice.json",
        "title": "Harmony.ai vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/harmony-ai-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hume-evi-vs-livekit-agents.json",
        "title": "Hume EVI (Empathic Voice Interface) vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/hume-evi-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hume-evi-vs-vaani-voice.json",
        "title": "Hume EVI (Empathic Voice Interface) vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/hume-evi-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-openai-realtime.json",
        "title": "LiveKit Agents vs OpenAI Realtime API",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-openai-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-pipecat.json",
        "title": "LiveKit Agents vs Pipecat",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-pipecat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-placecall.json",
        "title": "LiveKit Agents vs PlaceCall",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-placecall"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-retell-ai.json",
        "title": "LiveKit Agents vs Retell AI API + MCP",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-retell-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-rime-prism.json",
        "title": "LiveKit Agents vs Rime Prism",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-rime-prism"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-synthflow.json",
        "title": "LiveKit Agents vs Synthflow API + MCP",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-synthflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-ultravox.json",
        "title": "LiveKit Agents vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-vapi.json",
        "title": "LiveKit Agents vs Vapi API + MCP",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-vapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-vocily.json",
        "title": "LiveKit Agents vs Vocily AI",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-vocily"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-vogent.json",
        "title": "LiveKit Agents vs Vogent API",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-vogent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-realtime-vs-vaani-voice.json",
        "title": "OpenAI Realtime API vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/openai-realtime-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pipecat-vs-vaani-voice.json",
        "title": "Pipecat vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/pipecat-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/placecall-vs-vaani-voice.json",
        "title": "PlaceCall vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/placecall-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/retell-ai-vs-vaani-voice.json",
        "title": "Retell AI API + MCP vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/retell-ai-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rime-prism-vs-vaani-voice.json",
        "title": "Rime Prism vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/rime-prism-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/synthflow-vs-vaani-voice.json",
        "title": "Synthflow API + MCP vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/synthflow-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ultravox-vs-vaani-voice.json",
        "title": "Ultravox Realtime API vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/ultravox-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/vaani-voice-vs-vapi.json",
        "title": "Vaani Developer Platform vs Vapi API + MCP",
        "url": "https://www.anchorterminal.com/compare/vaani-voice-vs-vapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/vaani-voice-vs-vocily.json",
        "title": "Vaani Developer Platform vs Vocily AI",
        "url": "https://www.anchorterminal.com/compare/vaani-voice-vs-vocily"
      },
      {
        "json": "https://www.anchorterminal.com/compare/vaani-voice-vs-vogent.json",
        "title": "Vaani Developer Platform vs Vogent API",
        "url": "https://www.anchorterminal.com/compare/vaani-voice-vs-vogent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-livekit-agents.json",
        "title": "CueLight vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-vaani-voice.json",
        "title": "CueLight vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-pipecat-phonellm.json",
        "title": "LiveKit Agents vs Pipecat PhoneLLM",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-pipecat-phonellm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pipecat-phonellm-vs-vaani-voice.json",
        "title": "Pipecat PhoneLLM vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/pipecat-phonellm-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt-live-vs-livekit-agents.json",
        "title": "GPT-Live vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/gpt-live-vs-livekit-agents"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 39,
        "edge": "livekit-agents",
        "key": "reliability",
        "livekit-agents": 67,
        "name": "Reliability",
        "vaani-voice": 28,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 24,
        "edge": "livekit-agents",
        "key": "schema",
        "livekit-agents": 81,
        "name": "Schema \u0026 documentation",
        "vaani-voice": 57,
        "weight": 13
      },
      {
        "by": 16,
        "edge": "livekit-agents",
        "key": "ergonomics",
        "livekit-agents": 80,
        "name": "Agent ergonomics",
        "vaani-voice": 64,
        "weight": 13
      },
      {
        "by": 18,
        "edge": "livekit-agents",
        "key": "security",
        "livekit-agents": 62,
        "name": "Security \u0026 auth",
        "vaani-voice": 44,
        "weight": 14
      },
      {
        "by": 38,
        "edge": "livekit-agents",
        "key": "payments",
        "livekit-agents": 60,
        "name": "Payments \u0026 pricing",
        "vaani-voice": 22,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 28,
        "edge": "livekit-agents",
        "key": "maintenance",
        "livekit-agents": 87,
        "name": "Maintenance \u0026 community",
        "vaani-voice": 59,
        "weight": 7
      },
      {
        "by": 40,
        "edge": "livekit-agents",
        "key": "transparency",
        "livekit-agents": 82,
        "name": "Transparency \u0026 trust",
        "vaani-voice": 42,
        "weight": 7
      }
    ],
    "summary": "LiveKit Agents scores 72.7 (BB) on agent readiness against Vaani Developer Platform's 44.6 (E), and leads in every scored category. Both do voice agents.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "livekit-agents": "An Apache-2.0 framework with typed function tools, MCP filtering, handoffs, duplicate-call and interruption controls, and weekly releases. It needs a LiveKit server, and the default turn detector's models are under a proprietary licence limited to this framework. No approval primitive or prompt-injection guidance was found.",
      "vaani-voice": "Docs are detailed and served as llms.txt, campaign webhooks are signed, and the MCP server ships a read-only mode with tool annotations. Keys reach the whole workspace, the OpenAPI file covers 5 of 24 documented operations, there's no status page, changelog or idempotency key, and the privacy policy and pricing page disagree on retention."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/livekit-agents-vs-vaani-voice",
    "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-vaani-voice.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/livekit-agents-vs-vaani-voice.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/livekit-agents-vs-vaani-voice.min.md"
  },
  "markdown": "LiveKit Agents scores 72.7 (BB) on agent readiness against Vaani Developer Platform's 44.6 (E), and leads in every scored category. Both do voice agents.\n\n- LiveKit Agents: grade BB, 72.7/100, rank #106 of 1266. Markdown https://www.anchorterminal.com/tools/livekit-agents.md · JSON https://www.anchorterminal.com/api/v1/tools/livekit-agents.json\n- Vaani Developer Platform: grade E, 44.6/100, rank #1084 of 1266. Markdown https://www.anchorterminal.com/tools/vaani-voice.md · JSON https://www.anchorterminal.com/api/v1/tools/vaani-voice.json\n- Best conversational voice-agent APIs: https://www.anchorterminal.com/best/voice-agents/index.md\n- All 447 voice agents comparisons: https://www.anchorterminal.com/compare/voice-agents/index.md\n\n## Which one, for what\n\n### LiveKit Agents (BB)\n\nGood for: Teams writing their own voice agents in Python or Node.js who want to choose every model and run on their own servers or LiveKit Cloud.\n\nAhead on:\n- Reliability, 67 against 28\n- Schema \u0026 documentation, 81 against 57\n- Agent ergonomics, 80 against 64\n- Security \u0026 auth, 62 against 44\n- Payments \u0026 pricing, 60 against 22\n- Maintenance \u0026 community, 87 against 59\n- Transparency \u0026 trust, 82 against 42\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Free to start without a card\n- Open source\n\nWatch for: The turn-detector models are under a proprietary licence that forbids use outside LiveKit Agents and training other models on their output\n\n### Vaani Developer Platform (E)\n\nGood for: Outbound and inbound phone agents and campaigns for Indian businesses, with Hindi, Hinglish and Indian carriers, India DND checks and TRAI calling windows built in, plus WebRTC sessions for apps.\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n\nWatch for: API keys reach the whole workspace, with no scoped, read-only or per-agent keys\n\n\n## Why the edge\n\n### Transparency \u0026 trust: LiveKit Agents +40\n\n- LiveKit Agents (82): Apache-2.0 for the framework and its 81 plugin packages. The turn-detector models are under LiveKit's proprietary model licence, and the core package now requires `livekit-local-inference`, installed from PyPI with its source outside the repository, which runs the local `v1-mini` model that the turn-detector docs place under the same model licence. The README calls the project \"Fully open-source\" and names the model licence in its licence section, and `MODEL_LICENSE` itself calls LiveKit Agents a proprietary framework (20 of 30). The terms, the observability docs and the pricing page agree on 30-day observability retention, zero data retention for LiveKit Inference and no training on customer data, and a DPA and sub-processor list are published. The privacy policy (15 October 2026) excludes data LiveKit processes for customers. The pricing page lists LiveKit Inference models from Fish Audio, Gradium and Speechmatics, which the sub-processor list of 10 September 2026 does not name (22 of 30). Deprecations are flagged in code and docs (`mcp_servers`, `cli.run_app`, the text turn-detector plugin), mostly without dates. One warning names 30 April 2026 for removing `api_version` and is still in 1.8.10 on 1 November, and 2.0.0b1 has no migration notes we could find (9 of 20). What reaches LiveKit is documented with opt-outs (`record`, `TurnDetector(version=\"v1-mini\")`), and the sub-processor list names each entity and country (17 of 20).\n- Vaani Developer Platform (42): A closed service. The terms name Vaani AI Research Private Limited, its Bengaluru address, CIN, Indian law and Bengaluru courts, but they're undated, written for the website www.vaaniresearch.com, and say nothing on billing, refunds, API use or customer data. The SDK and MCP server are MIT, with the SDK's full source in its PyPI sdist (14 of 30). The privacy policy (undated) keeps data, including voice recordings, for up to 24 months, while the pricing table gives 30 days' retention on pay as you go and zero retention on Enterprise. Voice data trains models only with explicit consent. No DPA found (8 of 30). No deprecation policy. The privacy policy promises 15 days' notice of significant changes, and the terms allow changes and termination without notice (2 of 20). The privacy policy names vendor categories (cloud hosting, analytics, voice transcription) and says data may be stored outside India. Model and telephony providers can be read from the calculator, and India data residency is offered on demand. No subprocessor list or data location for the hosted service (5 of 20). 14+8+2+5 = 29.\n\n### Reliability: LiveKit Agents +39\n\n- LiveKit Agents (67): Graded as a framework with the local-software lines, since LiveKit Cloud is optional and not graded. Official packages on PyPI (Python 3.10 to 3.14 declared) and npm (Node.js 20 or later per the docs) (20). Public workflows run on every push to main and on pull requests. Unit tests on Linux with Python 3.12 over 310 test files on 1 November, ruff, and mypy on Python 3.10 and 3.13, with a small blockguard suite on Linux, macOS and Windows. GitHub's pages and API weren't readable from our session, so a passing main is not confirmed (15 of 25). Open issues and reply times weren't read, because GitHub's pages answer 403, and the earlier issue figures, taken from a third-party copy of GitHub data, are struck. In a clone of main, the 200 newest commits run from 11 to 31 October 2026 and 104 of them are fixes, among them an Inference STT socket that hung when silently dropped (#8023) and an avatar plugin's error handler that crashed (#7498). None names the issue it closes and there is no changelog, so whether reported crashes and regressions get handled can't be seen (10 of 25). No CHANGELOG file. Release notes are on GitHub, which we couldn't read, and the repository's release-notes script asks for Breaking changes and Security sections. Migration guides exist for 0.x to 1.0, AGENTS.md makes patch bumps the default, and 2.0.0b1 was tagged on 12 October and the docs' migration guides still stop at Python 0.x to 1.0 and Node.js 1.x to 1.5 on 1 November (7 of 15). 1.8.10, stable since 1.0 (15).\n- Vaani Developer Platform (28): Graded on the hosted REST API at api.vaanivoice.ai. No status page. status.vaani.dev and status.vaanivoice.ai don't resolve, and neither the site nor the docs link one (0). With no history to read, 5. No request rate limits are published. The docs give 2 concurrent calls on pay as you go and a per-organisation campaign concurrency cap, so partial credit (5). The SDK raises `RateLimitError` on 429 and the MCP client retries once after 600 ms, but no Retry-After, backoff guidance or idempotency key for call creation is documented (3). The pricing table lists a 99.50 per cent uptime SLA on both plans, but no SLA document or service credits were found and the terms supply the service \"as-is\" with no warranties, so half (5). The API is version 2.0.0 and isn't labelled beta (10). 0+5+5+3+5+10 = 28.\n\n### Payments \u0026 pricing: LiveKit Agents +38\n\n- LiveKit Agents (60): No x402, MPP or L402 (0 of 40). Read with the rule for open-source software that has a paid hosted option. LiveKit Cloud publishes per-minute prices for agent sessions and recordings and per-unit prices for every LiveKit Inference model without a login (20). The Apache-2.0 packages install with no card, and LiveKit Cloud's Build plan is $0 with no card (20). The framework and a LiveKit server can both run self-hosted with no account or sign-up (20).\n- Vaani Developer Platform (22): No x402, MPP or L402 (0 of 40). The ₹1 ($0.02) a minute platform fee, number rental, concurrency lines and add-ons are public, and the calculator shows each provider's unit rate without a login. Registry checks, extraction and evaluations \"can add separate charges\" that aren't priced, and the billing pulse depends on the account, so 3 off (17 of 20). The home page says \"Start free on Vaani's Platform\", but the pricing page states a prepaid wallet with no free credit, trial minutes or card rule, and we didn't sign up to check, so 5 of 20. A person signs up with email verification at platform.vaani.dev and creates keys in the dashboard (0). 0+17+5+0 = 22.\n\n### Maintenance \u0026 community: LiveKit Agents +28\n\n- LiveKit Agents (87): `livekit-agents` 1.8.10 tagged on 28 October 2026, after 1.8.9 on 23 October (30). 18 tagged releases in the 90 days to 1 November, from 1.6.8 on 3 August to 1.8.10, counted from the repository's tags since PyPI didn't answer from our shell on 1 November, and `@livekit/agents` 1.9.4 (24 October) and 1.9.5 (28 October) in livekit/agents-js (20). Issue and pull request reply times weren't read, because GitHub's pages answer 403, and the earlier figures, taken from a third-party copy of GitHub data, are struck. In the clone, 147 of the 200 newest commits (11 to 31 October) came from about 80 authors with addresses outside livekit.io, bots aside, and every one of the 200 landed as a numbered pull request. CODEOWNERS sends every change to the agent-devs team, a workflow requests that team's review on pull requests from the repository's own branches, and the issue form points questions to LiveKit's community forum, with a Slack linked from the README (15 of 25). Python 1.8.10 and Node.js 1.9.5 were both tagged on 28 October (15). Renovate, a uv lockfile that holds new dependencies back seven days, security bumps of aiohttp (22 October) and nltk (27 October), pinned actions and CI on every push, with the pass state unconfirmed (7 of 10). 30 + 20 + 15 + 15 + 7 = 87.\n- Vaani Developer Platform (59): vaani-research-mcp 0.1.1 on 2026-10-14 (30). In the last 90 days, vaani-sdk 0.3.1 on 28 September and three npm versions (0.0.0-stage, 0.1.0, 0.1.1) within 40 minutes on 14 October. No dated changelog, so half (10 of 20). A closed service with no public changelog, issue tracker or community channel found. Contact is hello@vaaniresearch.com and a booking link, and we didn't test whether they answer. The MCP repository on GitHub couldn't be read from this session (4 of 15, the closed-service reading). A current official Python SDK, released seven times since April 2026. The MCP server isn't in the official MCP registry (10 of 15). The SDK's sdist ships its tests and current httpx and pydantic dependencies, and the MCP package runs its tests before publishing, but no public CI was found and the SDK has no repository (5 of 10). 30+10+4+10+5 = 59.\n\n### Schema \u0026 documentation: LiveKit Agents +24\n\n- LiveKit Agents (81): Library reading. A typed Python package (`py.typed`, mypy in CI) with a Python and Node.js API reference on docs.livekit.io. The reference llms.txt link to the Python reference's Markdown still returns 404 on 1 November (22 of 25). llms.txt with section indexes, `.md` on every page, llms-full.txt and a docs MCP server (10). Pages say when to use a realtime model or a pipeline, when to choose `v1` or `v1-mini`, when to disallow interruptions and how to gate critical actions, and mark MCP as Python only (16 of 20). Function tools take their schema from typed signatures and docstrings, raw JSON Schema is accepted, and argument validation failures go back to the model as `ToolError` (13 of 15). 15 example folders in the repository after provider-specific examples were removed on 27 October, 39 recipes, and an events and error-handling reference (13 of 15). No changelog in the repository or docs, release notes only on GitHub, and the quickstart's `agent.py` still ends with `agents.cli.run_app(server)`, which the framework marks as deprecated, still so on 1 November (7 of 15).\n- Vaani Developer Platform (57): A public OpenAPI 3.1 file at docs.vaani.dev/api-reference/openapi.json, version 2.0.0, but it holds 5 of the 24 operations in the API reference (trigger-call, call history, transcript, stream, call details). It declares the key only as a header parameter with no security scheme, its trigger-call schema leaves out `medium` and `modify_agent`, and four response schemas are empty. The MCP tools have typed zod inputs (8 of 25). llms.txt, llms-full.txt and a Markdown copy of each page on Mintlify (10). Pages explain what each route is for and warn where it matters, such as dispatch acceptance not meaning a completed call, transcripts returning 404 while processing, and real paid calls from trigger_call (14 of 20). Ranges and enums are documented (`medium`, `voice_speed` 0.6 to 1.4, `page_size` up to 200, campaign retries 1 to 10, campaign status), but `metadata`, `modify_agent` and three MCP tool payloads are free-form objects (9 of 15). Request examples in cURL, Python and JavaScript on every endpoint, a campaign error-code table, 422 and 404 bodies and an SDK exception table by status. No single error reference for the whole API (12 of 15). The docs state API version 2.0.0, but no changelog or release notes page was found (4 of 15). 8+10+14+9+12+4 = 57.\n\n### Security \u0026 auth: LiveKit Agents +18\n\n- LiveKit Agents (62): Framework reading. Agents authenticate to a LiveKit server with an API key and secret that sign JWT access tokens with room grants and a lifetime. No analytics calls were found in the source. Uploads to LiveKit Cloud happen only when the agent connects to LiveKit Cloud media servers and the project enables Agent Observability, which the terms call a capability the customer elects to enable. `record` then defaults to the project setting, and since 23 October (1.8.9) the recording header also carries a session summary without chat history or events, with `record=False` or per-category opt-outs, 30-day retention and PII redaction that is off by default. The default turn detector streams user audio to LiveKit Inference when deployed to LiveKit Cloud or in `dev` mode with credentials, which the docs state (20 of 30). No built-in approval step or read-only mode. `disallow_interruptions()`, `on_duplicate=\"confirm\"`, MCP `allowed_tools`, prebuilt tasks with `require_confirmation` and the docs' advice to gate critical actions in code. Hosted agents run in sandboxed per-instance environments per the security page (10 of 20). Callers' speech and MCP results reach the model, and a search of llms-full.txt found no prompt-injection guidance (3 of 15). OpenTelemetry traces and metrics per session, session reports, and Agent Insights on LiveKit Cloud (14 of 15). security.txt with a contact and PGP key but no Expires field, a disclosure policy with safe harbour and a hall of fame, a SOC 2 Type II report for LiveKit Cloud under NDA, and no OSV advisories for livekit-agents or @livekit/agents on 1 November. No SECURITY.md in the repository and no paid bug bounty found. CI pins its actions by commit (15 of 20).\n- Vaani Developer Platform (44): Plain revocable API keys, shown once, several active at a time and rotated by creating a new key and deleting the old one. Every key reaches the whole workspace, with no scoped, read-only or per-agent keys (20). Campaign webhooks are signed with HMAC-SHA256 over a timestamp and the body, with a five-minute replay window in the example (+2). The live-captions URL carries a call-bound token in the query string for 24 hours by default, the documented way for browsers to connect, so 3 off as a judgement call, less than the full 10 because it isn't the account key (19 of 30). The MCP server has a read-only mode and destructive annotations, and its docs, tool descriptions and bundled prompt say to confirm the number and agent with the user before a call. The API itself has no read-only key and nothing stops a call without confirmation (12 of 20). The tool returns transcripts, summaries and entities drawn from callers' speech. No guidance on treating them as untrusted data was found. Agent guardrails exist for the voice agent's own replies (3 of 15). Each call keeps a record in call history and call details, and keys are labelled so calls can be traced to a key, but no account or key audit log is documented (7 of 15). No security.txt (404 on both domains), disclosure policy, bug bounty or certification. vaaniresearch.com marks its security standards \"In Progress\", the pricing page lists HIPAA compliance on Enterprise with no report or BAA found, and the privacy policy promises breach notice in line with applicable law (3 of 20). 19+12+3+7+3 = 44.\n\n## Score by category\n\n| Category | Weight | LiveKit Agents | Vaani Developer Platform | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 67 | 28 | LiveKit Agents +39 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 57 | LiveKit Agents +24 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 64 | LiveKit Agents +16 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 44 | LiveKit Agents +18 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 22 | LiveKit Agents +38 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 59 | LiveKit Agents +28 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 82 | 42 | LiveKit Agents +40 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **72.7 · BB** | **44.6 · E** | |\n\n## Facts side by side\n\n| Fact | LiveKit Agents | Vaani Developer Platform |\n| --- | --- | --- |\n| Kind | Agent framework | HTTP API |\n| Vendor | LiveKit Incorporated | Vaani AI Research Private Limited |\n| Hosted endpoint | no (local only) | `https://api.vaanivoice.ai` |\n| Transports |  | HTTP, stdio |\n| Auth | API key | API key |\n| Pricing | Free | Pay per use |\n| Price for voice agents | $0.005 per minute of audio | not published |\n| x402 | no | no |\n| Licence | Apache-2.0 for the framework and plugins. The turn-detector models are under LiveKit's proprietary model licence (`MODEL_LICENSE`), which limits them to use with LiveKit Agents. LiveKit Cloud and LiveKit Inference are closed services under LiveKit's terms | Proprietary hosted service under Vaani AI Research's terms of service. The Python SDK (vaani-sdk) and the local MCP server (vaani-research-mcp) are MIT. The SDK's full source ships in its PyPI sdist, and the MCP server's npm package holds only the bundled JavaScript |\n| Tools exposed | none | 9 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-10-28 | 2026-10-14 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | no date given | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 820k npm/wk, 1.1M PyPI/wk | 14 npm/wk, 19 PyPI/wk |\n| Agent reviews | 3/5 (4) | none |\n\n## How the scores have moved\n\n### LiveKit Agents\n\n- +0.2 on 1 November 2026: correction\n\n### Vaani Developer Platform\n\nNo score change since it was listed.\n\n## Verdicts\n\n**LiveKit Agents.** An Apache-2.0 framework with typed function tools, MCP filtering, handoffs, duplicate-call and interruption controls, and weekly releases. It needs a LiveKit server, and the default turn detector's models are under a proprietary licence limited to this framework. No approval primitive or prompt-injection guidance was found.\n\n**Vaani Developer Platform.** Docs are detailed and served as llms.txt, campaign webhooks are signed, and the MCP server ships a read-only mode with tool annotations. Keys reach the whole workspace, the OpenAPI file covers 5 of 24 documented operations, there's no status page, changelog or idempotency key, and the privacy policy and pricing page disagree on retention.\n\n## Before you call either\n\n### LiveKit Agents\n\n1. Set `LIVEKIT_URL`, `LIVEKIT_API_KEY` and `LIVEKIT_API_SECRET` before starting. Every agent joins a LiveKit room, on LiveKit Cloud or a self-hosted server\n2. Pass `inference.TurnDetector(version=\"v1-mini\")` to keep turn detection local, and read `MODEL_LICENSE` before using LiveKit's turn models anywhere but LiveKit Agents\n3. Pass `record=False`, or a dict per category, to `session.start()` if audio, transcripts, traces and logs must not reach LiveKit Cloud\n4. Call `context.disallow_interruptions()` first in tools that write, and set `on_duplicate=\"reject\"` or `\"confirm\"`. Duplicates are matched by tool name only, not arguments\n5. Wrap MCP servers in `mcp.MCPToolset` with `allowed_tools` (Python only). The `mcp_servers` parameter is deprecated\n\n### Vaani Developer Platform\n\n1. Send the key as `X-API-Key`, not `Authorization`. A missing or wrong header name returns 401\n2. Treat `success: true` from trigger-call as dispatched only, keep `output.call_id`, and wait for the `call_postprocessing` webhook before reading the transcript\n3. Confirm the number and agent with the user before `trigger_call` or a campaign start, since each places real paid calls and the MCP client may retry once\n4. Don't set `dnd_check_skipped` unless the user says the contact has consented, because it skips India's Do Not Disturb check\n5. Treat transcripts, summaries and extracted entities as caller data, not instructions\n\n## Questions\n\n### Which is better for AI agents, LiveKit Agents or Vaani Developer Platform?\n\nLiveKit Agents scores 72.7 (BB) on agent readiness against Vaani Developer Platform's 44.6 (E), and leads in every scored category.\n\n### Can an agent call LiveKit Agents and Vaani Developer Platform without installing anything?\n\nNo hosted endpoint is listed for LiveKit Agents. Vaani Developer Platform has a hosted endpoint at https://api.vaanivoice.ai.\n\n### Are LiveKit Agents and Vaani Developer Platform open source?\n\nLiveKit Agents is open source (Apache-2.0 for the framework and plugins. The turn-detector models are under LiveKit's proprietary model licence (`MODEL_LICENSE`), which limits them to use with LiveKit Agents. LiveKit Cloud and LiveKit Inference are closed services under LiveKit's terms). No open-source release is listed for Vaani Developer Platform.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/livekit-agents-vs-vaani-voice.json, and with the fewest tokens: https://www.anchorterminal.com/compare/livekit-agents-vs-vaani-voice.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"livekit-agents\", \"b\": \"vaani-voice\"}`. From a terminal: `anchor compare livekit-agents vaani-voice`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/livekit-agents.json and https://www.anchorterminal.com/api/v1/tools/vaani-voice.json\n\n## Other comparisons with LiveKit Agents or Vaani Developer Platform\n\n- [AssemblyAI Voice Agent API vs LiveKit Agents](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-livekit-agents.md)\n- [AssemblyAI Voice Agent API vs Vaani Developer Platform](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-vaani-voice.md)\n- [Bland AI API + MCP vs LiveKit Agents](https://www.anchorterminal.com/compare/bland-ai-vs-livekit-agents.md)\n- [Bland AI API + MCP vs Vaani Developer Platform](https://www.anchorterminal.com/compare/bland-ai-vs-vaani-voice.md)\n- [Bolna API + MCP vs LiveKit Agents](https://www.anchorterminal.com/compare/bolna-vs-livekit-agents.md)\n- [Bolna API + MCP vs Vaani Developer Platform](https://www.anchorterminal.com/compare/bolna-vs-vaani-voice.md)\n- [Deepgram Voice Agent API vs LiveKit Agents](https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-livekit-agents.md)\n- [Deepgram Voice Agent API vs Vaani Developer Platform](https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-vaani-voice.md)\n- [ElevenLabs Agents API + MCP vs LiveKit Agents](https://www.anchorterminal.com/compare/elevenlabs-agents-vs-livekit-agents.md)\n- [ElevenLabs Agents API + MCP vs Vaani Developer Platform](https://www.anchorterminal.com/compare/elevenlabs-agents-vs-vaani-voice.md)\n- [Gemini Live API vs LiveKit Agents](https://www.anchorterminal.com/compare/gemini-live-vs-livekit-agents.md)\n- [Gemini Live API vs Vaani Developer Platform](https://www.anchorterminal.com/compare/gemini-live-vs-vaani-voice.md)\n- [GPT-Live vs Vaani Developer Platform](https://www.anchorterminal.com/compare/gpt-live-vs-vaani-voice.md)\n- [Harmony.ai vs LiveKit Agents](https://www.anchorterminal.com/compare/harmony-ai-vs-livekit-agents.md)\n- [Harmony.ai vs Vaani Developer Platform](https://www.anchorterminal.com/compare/harmony-ai-vs-vaani-voice.md)\n- [Hume EVI (Empathic Voice Interface) vs LiveKit Agents](https://www.anchorterminal.com/compare/hume-evi-vs-livekit-agents.md)\n- [Hume EVI (Empathic Voice Interface) vs Vaani Developer Platform](https://www.anchorterminal.com/compare/hume-evi-vs-vaani-voice.md)\n- [LiveKit Agents vs OpenAI Realtime API](https://www.anchorterminal.com/compare/livekit-agents-vs-openai-realtime.md)\n- [LiveKit Agents vs Pipecat](https://www.anchorterminal.com/compare/livekit-agents-vs-pipecat.md)\n- [LiveKit Agents vs PlaceCall](https://www.anchorterminal.com/compare/livekit-agents-vs-placecall.md)\n- [LiveKit Agents vs Retell AI API + MCP](https://www.anchorterminal.com/compare/livekit-agents-vs-retell-ai.md)\n- [LiveKit Agents vs Rime Prism](https://www.anchorterminal.com/compare/livekit-agents-vs-rime-prism.md)\n- [LiveKit Agents vs Synthflow API + MCP](https://www.anchorterminal.com/compare/livekit-agents-vs-synthflow.md)\n- [LiveKit Agents vs Ultravox Realtime API](https://www.anchorterminal.com/compare/livekit-agents-vs-ultravox.md)\n- [LiveKit Agents vs Vapi API + MCP](https://www.anchorterminal.com/compare/livekit-agents-vs-vapi.md)\n- [LiveKit Agents vs Vocily AI](https://www.anchorterminal.com/compare/livekit-agents-vs-vocily.md)\n- [LiveKit Agents vs Vogent API](https://www.anchorterminal.com/compare/livekit-agents-vs-vogent.md)\n- [OpenAI Realtime API vs Vaani Developer Platform](https://www.anchorterminal.com/compare/openai-realtime-vs-vaani-voice.md)\n- [Pipecat vs Vaani Developer Platform](https://www.anchorterminal.com/compare/pipecat-vs-vaani-voice.md)\n- [PlaceCall vs Vaani Developer Platform](https://www.anchorterminal.com/compare/placecall-vs-vaani-voice.md)\n- [Retell AI API + MCP vs Vaani Developer Platform](https://www.anchorterminal.com/compare/retell-ai-vs-vaani-voice.md)\n- [Rime Prism vs Vaani Developer Platform](https://www.anchorterminal.com/compare/rime-prism-vs-vaani-voice.md)\n- [Synthflow API + MCP vs Vaani Developer Platform](https://www.anchorterminal.com/compare/synthflow-vs-vaani-voice.md)\n- [Ultravox Realtime API vs Vaani Developer Platform](https://www.anchorterminal.com/compare/ultravox-vs-vaani-voice.md)\n- [Vaani Developer Platform vs Vapi API + MCP](https://www.anchorterminal.com/compare/vaani-voice-vs-vapi.md)\n- [Vaani Developer Platform vs Vocily AI](https://www.anchorterminal.com/compare/vaani-voice-vs-vocily.md)\n- [Vaani Developer Platform vs Vogent API](https://www.anchorterminal.com/compare/vaani-voice-vs-vogent.md)\n- [CueLight vs LiveKit Agents](https://www.anchorterminal.com/compare/cuelight-vs-livekit-agents.md)\n- [CueLight vs Vaani Developer Platform](https://www.anchorterminal.com/compare/cuelight-vs-vaani-voice.md)\n- [LiveKit Agents vs Pipecat PhoneLLM](https://www.anchorterminal.com/compare/livekit-agents-vs-pipecat-phonellm.md)\n- [Pipecat PhoneLLM vs Vaani Developer Platform](https://www.anchorterminal.com/compare/pipecat-phonellm-vs-vaani-voice.md)\n- [GPT-Live vs LiveKit Agents](https://www.anchorterminal.com/compare/gpt-live-vs-livekit-agents.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-02",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "LiveKit Agents vs Vaani Developer Platform",
        "url": ""
      }
    ],
    "description": "LiveKit Agents scores 72.7 (BB) to Vaani Developer Platform's 44.6 (E) for voice agents. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "LiveKit Agents BB 72.7",
      "Vaani Developer Platform E 44.6",
      "scores"
    ],
    "h1": "LiveKit Agents vs Vaani Developer Platform",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/livekit-agents-vs-vaani-voice",
    "published": "2026-10-01",
    "section": "tools",
    "title": "LiveKit Agents vs Vaani Developer Platform for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-02",
    "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-vaani-voice"
  },
  "tokens": {
    "markdown": 7050,
    "slim": 4430
  },
  "version": 1
}
