{
  "data": {
    "a": {
      "slug": "openai-agents-sdk",
      "name": "OpenAI Agents SDK",
      "vendor": "OpenAI",
      "vendorUrl": "https://openai.com",
      "kind": "framework",
      "category": "frameworks",
      "summary": "Multi-agent framework built on agents, hand-offs and guardrails, with sessions, tracing and human approval.",
      "url": "https://www.anchorterminal.com/tools/openai-agents-sdk",
      "markdownUrl": "https://www.anchorterminal.com/tools/openai-agents-sdk.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openai-agents-sdk.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openai-agents-sdk.json",
      "dns": "openai-agents-sdk.grade.anchorterminal.com",
      "repo": "https://github.com/openai/openai-agents-python",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "openai-agents"
        },
        {
          "registry": "npm",
          "name": "@openai/agents",
          "main": true
        }
      ],
      "auth": "api-key",
      "authNotes": "OpenAI key by default. Other providers through LiteLLM or any-llm.",
      "pricing": "free",
      "pricingNotes": "Free and open source. You pay for the model calls it makes.",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 29709,
        "npmWeekly": 1291899,
        "pypiWeekly": 3018052,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://openai.github.io/openai-agents-python/",
      "llmsTxt": "https://openai.github.io/openai-agents-python/llms.txt",
      "capabilities": [
        "agent.framework",
        "agent.multi-agent",
        "agent.durable",
        "agent.mcp-client"
      ],
      "tags": [
        "official",
        "framework",
        "python",
        "typescript",
        "open-source",
        "telemetry-default-on"
      ],
      "lastRelease": "2026-10-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 86.2,
        "grade": "AA",
        "agentReady": true,
        "rank": 3,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 97,
          "maintenance": 100,
          "payments": 60,
          "reliability": 85,
          "schema": 95,
          "security": 80,
          "transparency": 89
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "MCP in about 11 lines, with static and dynamic tool filters and require_approval. Tracing on by default, with model and tool content, sent to OpenAI.",
        "bestFor": "Teams that want hand-offs, guardrails and approvals with little code, and are happy with OpenAI's tracing or will turn it off.",
        "strengths": [
          "MCP in about 11 lines, with static and dynamic tool filters and require_approval",
          "Input and output guardrails, built-in human approval and sandbox agents",
          "Typed exceptions plus error_handlers, and RunState to resume a paused run",
          "9 open issues and 2 open pull requests on 2026-10-04",
          "A written 0.Y.Z versioning policy with breaking changes listed per minor"
        ],
        "weaknesses": [
          "Tracing on by default, with model and tool content, sent to OpenAI",
          "Tracing isn't available to zero-data-retention organisations",
          "Pre-1.0, and minor releases can carry breaking changes, as 0.20.0, 0.21.0 and 0.22.0 did",
          "0.20.0 changed the default model",
          "Before 0.24.0, RunConfig(tracing_disabled=True) didn't stop spans inside a caller's own trace"
        ],
        "agentNotes": [
          "Set OPENAI_AGENTS_DISABLE_TRACING=1 or OPENAI_AGENTS_TRACE_INCLUDE_SENSITIVE_DATA=0. On versions before 0.24.0, RunConfig(tracing_disabled=True) doesn't stop spans inside your own trace() block",
          "Pin to a minor version. Each 0.Y can break",
          "Set require_approval on MCP servers that write",
          "Name the model explicitly. The default changed in 0.20.0",
          "Use an error handler for max_turns instead of catching MaxTurnsExceeded"
        ],
        "metrics": {
          "kind": "library",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.9,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "AA",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 86.2
          }
        ],
        "editorialScores": {
          "ergonomics": 97,
          "maintenance": 100,
          "payments": 60,
          "reliability": 85,
          "schema": 95,
          "security": 80,
          "transparency": 84
        },
        "provenanceScore": 94,
        "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-10-08",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install openai-agents   # or: npm i @openai/agents"
      },
      "letme": {
        "capability": "https://letme.dev/agent.framework",
        "tool": "https://letme.dev/openai-agents-sdk"
      },
      "sameCompany": [
        "openai-api",
        "openai-embeddings",
        "openai-guardrails",
        "openai-moderation",
        "openai-image-api",
        "openai-sora",
        "openai-speech-to-text",
        "gpt-live",
        "openai-realtime",
        "openai-decisions-api",
        "openai-agents-api",
        "openai-codex",
        "gpt-oss-120b",
        "gpt-oss-20b"
      ],
      "area": "frameworks",
      "provenance": {
        "legalEntity": "OpenAI OpCo, LLC",
        "domain": "openai.com",
        "domainRegistered": "2007-01-19",
        "endpointOnVendorDomain": null,
        "terms": "https://openai.com/policies/services-agreement/",
        "privacy": "https://openai.com/policies/privacy-policy/",
        "statusPage": "https://status.openai.com",
        "changelog": "https://openai.github.io/openai-agents-python/release/",
        "securityTxt": "valid",
        "checked": "2026-09-26",
        "score": 94
      },
      "requirements": {
        "setupChecked": true,
        "complianceChecked": true,
        "card": "unknown",
        "freeTier": true,
        "minutes": 5,
        "credential": "api-key",
        "hosting": [
          "self-hosted"
        ],
        "euResidency": "unknown",
        "trainsOnData": "no",
        "zeroRetention": "unknown",
        "dpa": true,
        "selfHost": "yes"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openai-agents-sdk.json",
      "live": {
        "slug": "openai-agents-sdk",
        "vendorStatus": {
          "page": "https://status.openai.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T19:22:48.855056154Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "openai/openai-agents-python",
            "version": "v0.24.0",
            "released": "2026-10-15",
            "seenAt": "2026-11-06T23:51:34.990215333Z"
          },
          {
            "registry": "npm",
            "name": "@openai/agents",
            "version": "0.21.0",
            "seenAt": "2026-11-06T23:51:34.164066161Z"
          },
          {
            "registry": "pypi",
            "name": "openai-agents",
            "version": "0.24.0",
            "released": "2026-10-15",
            "seenAt": "2026-11-06T23:51:32.387226297Z"
          }
        ],
        "githubStars": 30534,
        "npmWeekly": 2490720,
        "pypiWeekly": 4906329,
        "securityTxt": {
          "url": "https://openai.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-07T16:00:49.231731777Z"
        },
        "llmsTxt": {
          "url": "https://openai.github.io/openai-agents-python/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:22.742814931Z"
        },
        "domain": {
          "domain": "openai.com",
          "registered": "2007-01-19",
          "source": "https://rdap.verisign.com/com/v1/domain/openai.com",
          "checkedAt": "2026-11-01T14:19:18.345389832Z"
        },
        "pages": [
          {
            "url": "https://openai.github.io/openai-agents-python/release/",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T14:15:24.32755013Z",
            "changedAt": "2026-10-28T04:39:34.685607508Z",
            "fingerprint": "251fd383498a"
          },
          {
            "url": "https://openai.com/policies/privacy-policy/",
            "kind": "privacy",
            "status": 403,
            "checkedAt": "2026-10-16T22:27:51.367579814Z",
            "changedAt": "2026-10-11T19:31:08.710809907Z",
            "fingerprint": "604e9f69c16a"
          },
          {
            "url": "https://openai.com/policies/services-agreement/",
            "kind": "terms",
            "status": 403,
            "checkedAt": "2026-10-16T22:27:53.401505958Z",
            "changedAt": "2026-10-04T15:46:24.458479472Z",
            "fingerprint": "46a4b30744ca"
          }
        ],
        "github": {
          "repo": "openai/openai-agents-python",
          "checkedAt": "2026-11-02T09:12:58.455555785Z",
          "stars": 30451,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-01T04:56:10Z",
          "openIssues": 28,
          "openPRs": 8,
          "issuesOpened90d": 261,
          "issuesClosed90d": 256,
          "prsMerged90d": 593,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-30T20:29:39Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 13,
            "medianDays": 4.4
          }
        },
        "updatedAt": "2026-11-07T19:22:48.855056154Z"
      }
    },
    "answer": "AI SDK scores 89.8 (AA) on agent readiness against OpenAI Agents SDK's 86.2 (AA), and leads in 3 of 7 scored categories.",
    "b": {
      "slug": "vercel-ai-sdk",
      "name": "AI SDK",
      "vendor": "Vercel Inc.",
      "vendorUrl": "https://vercel.com",
      "kind": "framework",
      "category": "frameworks",
      "summary": "Open-source TypeScript toolkit from Vercel for building AI applications and agents, with a provider-agnostic API, a ToolLoopAgent, an MCP client and UI hooks for React, Vue, Svelte and Angular.",
      "url": "https://www.anchorterminal.com/tools/vercel-ai-sdk",
      "markdownUrl": "https://www.anchorterminal.com/tools/vercel-ai-sdk.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/vercel-ai-sdk.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/vercel-ai-sdk.json",
      "dns": "vercel-ai-sdk.grade.anchorterminal.com",
      "repo": "https://github.com/vercel/ai",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "ai"
        },
        {
          "registry": "npm",
          "name": "@ai-sdk/mcp"
        },
        {
          "registry": "npm",
          "name": "@ai-sdk/workflow"
        }
      ],
      "auth": "api-key",
      "authNotes": "The SDK has no account of its own. Each provider package takes that provider's key. Plain string model IDs resolve through Vercel's AI Gateway by default, which needs AI_GATEWAY_API_KEY or a Vercel OIDC token.",
      "pricing": "free",
      "pricingNotes": "Free and open source. You pay for model calls. The optional AI Gateway charges providers' list prices with no markup, from prepaid credits, with a free monthly credit on a subset of models (https://vercel.com/docs/ai-gateway/pricing, checked 2026-11-06).",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the AI SDK docs, the vercel/ai repository's packages or the AI Gateway pricing page. The tools registry in the repository lists a third-party x402 marketplace tool (checked 2026-10-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 27781,
        "npmWeekly": 44868298,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://ai-sdk.dev/docs",
      "llmsTxt": "https://ai-sdk.dev/llms.txt",
      "capabilities": [
        "agent.framework",
        "agent.mcp-client",
        "agent.multi-agent",
        "agent.durable"
      ],
      "tags": [
        "framework",
        "typescript",
        "open-source",
        "llms-txt",
        "mcp",
        "otel"
      ],
      "lastRelease": "2026-11-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 89.8,
        "grade": "AA",
        "agentReady": true,
        "rank": 1,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 95,
          "maintenance": 97,
          "payments": 60,
          "reliability": 93,
          "schema": 100,
          "security": 90,
          "transparency": 89
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "A TypeScript agent toolkit with ToolLoopAgent, a built-in MCP client, per-tool approvals that can be HMAC-signed, opt-in OpenTelemetry and durable runs through WorkflowAgent. It ships three major versions in 14 months (5.0, 6.0, 7.0), each with a migration guide, and plain string model IDs route through Vercel's AI Gateway unless another provider is set.",
        "bestFor": "TypeScript teams building agents and chat UIs who want one API across many providers and a short path to MCP.",
        "strengths": [
          "Apache 2.0, with 246 npm releases of `ai` in the 90 days to 6 October 2026",
          "MCP client in @ai-sdk/mcp with HTTP, SSE and stdio transports, OAuth and opt-in retries for tools/call",
          "Per-tool approvals, HMAC-signed approvals and Open Policy Agent rules in @ai-sdk/policy-opa",
          "Telemetry only after an OpenTelemetry integration is registered, with recordInputs and recordOutputs switches",
          "Tool search with deferred loading, so the model sees only a search tool until it needs more"
        ],
        "weaknesses": [
          "TypeScript only, and `ai` 7.x needs Node 22 or newer",
          "Three major versions between July 2025 and June 2026, each with breaking changes",
          "String model IDs go to Vercel's AI Gateway by default, which needs a Vercel key",
          "No input or output guardrail primitive, and sandboxes and stdio MCP transport are still experimental",
          "1,399 open issues and pull requests on 4 October 2026, per a GitHub mirror"
        ],
        "agentNotes": [
          "Pass a provider instance such as openai('model') if traffic shouldn't go through Vercel's AI Gateway",
          "Set toolApproval on tools that write, and experimental_toolApprovalSecret when approvals come back from a browser",
          "Raise or replace the default stop condition of 20 steps with stopWhen",
          "Close the MCP client after the run, and use HTTP transport outside local development",
          "Set recordInputs and recordOutputs to false when spans would carry secrets"
        ],
        "metrics": {
          "kind": "library",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "AA",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 89.8
          }
        ],
        "editorialScores": {
          "ergonomics": 95,
          "maintenance": 97,
          "payments": 60,
          "reliability": 93,
          "schema": 100,
          "security": 90,
          "transparency": 86
        },
        "provenanceScore": 91,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm i ai   # MCP: npm i @ai-sdk/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/agent.framework",
        "tool": "https://letme.dev/vercel-ai-sdk"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Vercel Inc.",
        "domain": "ai-sdk.dev",
        "domainRegistered": "2024-09-26",
        "endpointOnVendorDomain": null,
        "terms": "https://vercel.com/legal/terms",
        "privacy": "https://vercel.com/legal/privacy-policy",
        "statusPage": "https://www.vercel-status.com",
        "changelog": "https://github.com/vercel/ai/blob/main/packages/ai/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "The privacy notice (effective 1 June 2026) names Vercel Inc.",
          "vercel.com/.well-known/security.txt points to HackerOne and responsible.disclosure@vercel.com and expires 2027-09-28.",
          "RDAP gives ai-sdk.dev a registration date of 2024-09-26 and vercel.com 1999-10-04.",
          "The status page covers Vercel's hosted services, including the AI Gateway, not the library."
        ],
        "score": 91
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/vercel-ai-sdk.json",
      "live": {
        "slug": "vercel-ai-sdk",
        "vendorStatus": {
          "page": "https://www.vercel-status.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T19:23:51.340953129Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "vercel/ai",
            "version": "@ai-sdk/zai@2.0.19",
            "released": "2026-11-06",
            "seenAt": "2026-11-07T00:15:06.320451302Z"
          },
          {
            "registry": "npm",
            "name": "@ai-sdk/mcp",
            "version": "2.0.92",
            "seenAt": "2026-11-07T00:15:02.210062748Z"
          },
          {
            "registry": "npm",
            "name": "@ai-sdk/workflow",
            "version": "2.0.96",
            "seenAt": "2026-11-07T00:15:04.290347217Z"
          },
          {
            "registry": "npm",
            "name": "ai",
            "version": "7.0.164",
            "seenAt": "2026-11-07T00:15:02.102209516Z"
          }
        ],
        "githubStars": 27784,
        "npmWeekly": 44868298,
        "securityTxt": {
          "url": "https://ai-sdk.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:53.467050636Z"
        },
        "llmsTxt": {
          "url": "https://ai-sdk.dev/llms.txt",
          "ok": false,
          "status": 0,
          "checkedAt": "2026-11-07T15:34:35.854467131Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/vercel/ai/main/packages/ai/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:24:01.002799396Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6e9ccd1db741"
          }
        ],
        "updatedAt": "2026-11-07T19:23:51.340953129Z"
      }
    },
    "edges": [
      {
        "by": 10,
        "category": "security",
        "leads": "vercel-ai-sdk",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Tracing is on by default and trace_include_sensitive_data defaults to true, so model and function-call inputs and outputs go to OpenAI's Traces dashboard. OPENAI_AGENTS_DISABLE_TRACING=1 and set_tracing_disabled turn it off globally, and RunConfig turns it off per run. Through 0.23.1 the per-run opt-out didn't apply inside the caller's own trace. The fix shipped in 0.24.0 on 15 October (10). Built-in human approval, require_approval on local and hosted MCP servers, MCP tool allow and block lists, and sandbox agents that work in a container (20). Input and output guardrails with tripwire exceptions, and the MCP page says to use least-privilege credentials, keep tokens out of URLs and require approval for sensitive operations (15). Built-in tracing with third-party processors such as Weights \u0026 Biases and Datadog (15). SECURITY.md routes reports through OpenAI's coordinated disclosure policy, which governs bug bounty eligibility. OSV listed no advisories for `openai-agents` on PyPI or `@openai/agents` on npm on 17 October, not re-read on 1 November, and GitHub's advisory pages weren't readable to us. On main, unreleased on 1 November, pyproject.toml raises the `mcp` floor to 1.30.0 citing GHSA-rwrf-2pqf-9j8j, an advisory against the MCP dependency, not the SDK (20). Framework reading, so SOC 2 isn't scored.",
          "b": "No telemetry until an OpenTelemetry integration is registered. String model IDs route to Vercel's AI Gateway by default, which is documented and needs a Vercel key, so it isn't silent (25). Per-tool approval, HMAC-signed approvals against forged client history, and Open Policy Agent rules in @ai-sdk/policy-opa, though sandboxes are experimental (20). ToolLoopAgent rejects system messages in prompts by default as an injection risk, URL fetches are checked against private addresses, and MCP HTTP transport refuses redirects by default, but there's no guardrail primitive (10). OpenTelemetry spans for every model and tool call to any backend, opt-in (15). HackerOne programme, a valid security.txt, SECURITY.md and two low-severity advisories published with fixed versions (20). Framework reading, so SOC 2 isn't scored."
        },
        "scores": {
          "a": 80,
          "b": 90
        }
      },
      {
        "by": 8,
        "category": "reliability",
        "leads": "vercel-ai-sdk",
        "name": "Reliability",
        "reasons": {
          "a": "Official packages on PyPI (Python 3.10 or newer, `requires-python` re-read on 1 November) and npm (20). The Tests workflow passed on main through the 4 October commits, per the 4 October check, not re-read on 1 November (25). 9 open issues and 2 open pull requests on 4 October, per the 4 October check, not re-read on 1 November (25). A written policy for 0.Y.Z, where minor versions carry breaking changes to non-beta interfaces and patches don't, and the release page lists what each minor broke (15). 0.23.0 and 0.24.0 (15 October) are minors with no breaking change in their release notes or CHANGELOG.md, and the release page still has no entry for either on 1 November. 0.24.0, still pre-1.0 and still the newest on PyPI on 1 November (0).",
          "b": "Official npm packages, with `ai` 7.x requiring Node 22 or newer (20). A public CI workflow with lint, type checks, unit tests, Node-version tests, MCP tests on Windows and e2e tests runs on every push to main, and the newest completed CI runs on main passed on 6 November (25). 1,517 open issues and pull requests on 6 November from GitHub's API, with 1,059 issues opened in the 90 days to 3 November; 47 of the 50 newest had a comment and 32 were closed (18). A written versioning page with breaking changes only in majors, experimental_ prefixes for unstable APIs and a migration guide per major (15). 7.0.163 (15). 20+25+18+15+15 = 93, up from 73 on 6 October, when GitHub couldn't be read."
        },
        "scores": {
          "a": 85,
          "b": 93
        }
      },
      {
        "by": 5,
        "category": "schema",
        "leads": "vercel-ai-sdk",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Typed Python API with a reference section in the docs (25). llms.txt with an API Reference Highlights section, re-read on 1 November (10). Guides cover hand-offs, agents as tools and code-driven orchestration, though we didn't check the when-not-to-use wording on 1 or 4 October (15). Function tools get their schemas from typed Python signatures (15). Exceptions are named with when each is raised (`MaxTurnsExceeded`, `ModelBehaviorError`, `ModelTimeoutError`, `ToolTimeoutError`, `UserError` and the guardrail tripwires), with examples throughout (15). Versioning policy and release notes per minor, and from 0.23.0 a release-please CHANGELOG.md in the repository (15).",
          "b": "Typed TypeScript API with a reference section for every function (25). llms.txt and a Markdown copy of each page (10). The docs say when to use each piece, such as a table of WorkflowAgent against ToolLoopAgent, a when-to-use section for subagents and harnesses, and HTTP over stdio for MCP in production (20). Tools take Zod or JSON Schema inputs (15). 38 error types documented in the reference, with error-handling guides and examples throughout (15). Versioning page and a changesets CHANGELOG per package (15)."
        },
        "scores": {
          "a": 95,
          "b": 100
        }
      }
    ],
    "facts": [
      {
        "a": "Agent framework",
        "b": "Agent framework",
        "name": "Kind"
      },
      {
        "a": "OpenAI",
        "b": "Vercel Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-15",
        "b": "2026-11-05",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-06-01",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2026-06-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "yes, with an opt-out",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "30k stars, 1.3M npm/wk, 3M PyPI/wk",
        "b": "28k stars, 44.9M npm/wk",
        "name": "Popularity"
      },
      {
        "a": "3.9/5 (8)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "AI SDK scores 89.8 (AA) on agent readiness against OpenAI Agents SDK's 86.2 (AA), and leads in 3 of 7 scored categories.",
        "question": "Which is better for AI agents, OpenAI Agents SDK or AI SDK?"
      },
      {
        "answer": "Yes. OpenAI Agents SDK is open source (MIT). AI SDK is open source (Apache-2.0).",
        "question": "Are OpenAI Agents SDK and AI SDK open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Teams that want hand-offs, guardrails and approvals with little code, and are happy with OpenAI's tracing or will turn it off.",
        "slug": "openai-agents-sdk",
        "watchFor": "Tracing on by default, with model and tool content, sent to OpenAI"
      },
      {
        "aheadOn": [
          "Reliability, 93 against 85",
          "Schema \u0026 documentation, 100 against 95",
          "Security \u0026 auth, 90 against 80"
        ],
        "also": null,
        "goodFor": "TypeScript teams building agents and chat UIs who want one API across many providers and a short path to MCP.",
        "slug": "vercel-ai-sdk",
        "watchFor": "TypeScript only, and `ai` 7.x needs Node 22 or newer"
      }
    ],
    "history": {
      "openai-agents-sdk": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.3,
          "from": 86.5,
          "fromGrade": "AA",
          "to": 86.2,
          "toGrade": "AA"
        }
      ],
      "vercel-ai-sdk": null
    },
    "job": {
      "capability": "agent.framework",
      "name": "Agent frameworks"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-openai-agents-sdk.json",
        "title": "AgentOS vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-vercel-ai-sdk.json",
        "title": "AgentOS vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agno-vs-openai-agents-sdk.json",
        "title": "Agno vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/agno-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agno-vs-vercel-ai-sdk.json",
        "title": "Agno vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/agno-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boxlang-ai-vs-openai-agents-sdk.json",
        "title": "BoxLang AI vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/boxlang-ai-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boxlang-ai-vs-vercel-ai-sdk.json",
        "title": "BoxLang AI vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/boxlang-ai-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-openai-agents-sdk.json",
        "title": "Claude Agent SDK vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-vercel-ai-sdk.json",
        "title": "Claude Agent SDK vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crewai-vs-openai-agents-sdk.json",
        "title": "CrewAI vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/crewai-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crewai-vs-vercel-ai-sdk.json",
        "title": "CrewAI vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/crewai-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-openai-agents-sdk.json",
        "title": "Cursor Agent SDK vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-vercel-ai-sdk.json",
        "title": "Cursor Agent SDK vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-agent-vs-openai-agents-sdk.json",
        "title": "Docker Agent vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/docker-agent-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-agent-vs-vercel-ai-sdk.json",
        "title": "Docker Agent vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/docker-agent-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-adk-vs-openai-agents-sdk.json",
        "title": "Agent Development Kit (ADK) vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/google-adk-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-adk-vs-vercel-ai-sdk.json",
        "title": "Agent Development Kit (ADK) vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/google-adk-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/guilds-run-vs-openai-agents-sdk.json",
        "title": "guilds.run vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/guilds-run-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/guilds-run-vs-vercel-ai-sdk.json",
        "title": "guilds.run vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/guilds-run-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-openai-agents-sdk.json",
        "title": "LangGraph vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-vercel-ai-sdk.json",
        "title": "LangGraph vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamaindex-vs-openai-agents-sdk.json",
        "title": "LlamaIndex Framework vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/llamaindex-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamaindex-vs-vercel-ai-sdk.json",
        "title": "LlamaIndex Framework vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/llamaindex-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mastra-vs-openai-agents-sdk.json",
        "title": "Mastra vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/mastra-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mastra-vs-vercel-ai-sdk.json",
        "title": "Mastra vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/mastra-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-openai-agents-sdk.json",
        "title": "Microsoft Agent Framework vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-vercel-ai-sdk.json",
        "title": "Microsoft Agent Framework vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-pydantic-ai.json",
        "title": "OpenAI Agents SDK vs Pydantic AI",
        "url": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-pydantic-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-smolagents.json",
        "title": "OpenAI Agents SDK vs smolagents",
        "url": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-strands-agents.json",
        "title": "OpenAI Agents SDK vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-tradingagents.json",
        "title": "OpenAI Agents SDK vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pydantic-ai-vs-vercel-ai-sdk.json",
        "title": "Pydantic AI vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/pydantic-ai-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smolagents-vs-vercel-ai-sdk.json",
        "title": "smolagents vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/smolagents-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/strands-agents-vs-vercel-ai-sdk.json",
        "title": "Strands Agents vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/strands-agents-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tradingagents-vs-vercel-ai-sdk.json",
        "title": "TradingAgents vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/tradingagents-vs-vercel-ai-sdk"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 8,
        "edge": "vercel-ai-sdk",
        "key": "reliability",
        "name": "Reliability",
        "openai-agents-sdk": 85,
        "vercel-ai-sdk": 93,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "edge": "vercel-ai-sdk",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openai-agents-sdk": 95,
        "vercel-ai-sdk": 100,
        "weight": 13
      },
      {
        "by": 2,
        "edge": "openai-agents-sdk",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openai-agents-sdk": 97,
        "vercel-ai-sdk": 95,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "vercel-ai-sdk",
        "key": "security",
        "name": "Security \u0026 auth",
        "openai-agents-sdk": 80,
        "vercel-ai-sdk": 90,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openai-agents-sdk": 60,
        "vercel-ai-sdk": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 3,
        "edge": "openai-agents-sdk",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openai-agents-sdk": 100,
        "vercel-ai-sdk": 97,
        "weight": 7
      },
      {
        "by": 0,
        "edge": "",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openai-agents-sdk": 89,
        "vercel-ai-sdk": 89,
        "weight": 7
      }
    ],
    "summary": "AI SDK scores 89.8 (AA) on agent readiness against OpenAI Agents SDK's 86.2 (AA), and leads in 3 of 7 scored categories. Both do agent frameworks.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "openai-agents-sdk": "MCP in about 11 lines, with static and dynamic tool filters and require_approval. Tracing on by default, with model and tool content, sent to OpenAI.",
      "vercel-ai-sdk": "A TypeScript agent toolkit with ToolLoopAgent, a built-in MCP client, per-tool approvals that can be HMAC-signed, opt-in OpenTelemetry and durable runs through WorkflowAgent. It ships three major versions in 14 months (5.0, 6.0, 7.0), each with a migration guide, and plain string model IDs route through Vercel's AI Gateway unless another provider is set."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-vercel-ai-sdk",
    "json": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-vercel-ai-sdk.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-vercel-ai-sdk.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-vercel-ai-sdk.min.md"
  },
  "markdown": "AI SDK scores 89.8 (AA) on agent readiness against OpenAI Agents SDK's 86.2 (AA), and leads in 3 of 7 scored categories. Both do agent frameworks.\n\n- OpenAI Agents SDK: grade AA, 86.2/100, rank #3 of 1510. Markdown https://www.anchorterminal.com/tools/openai-agents-sdk.md · JSON https://www.anchorterminal.com/api/v1/tools/openai-agents-sdk.json\n- AI SDK: grade AA, 89.8/100, rank #1 of 1510. Markdown https://www.anchorterminal.com/tools/vercel-ai-sdk.md · JSON https://www.anchorterminal.com/api/v1/tools/vercel-ai-sdk.json\n- Best agent frameworks and SDKs: https://www.anchorterminal.com/best/frameworks/index.md\n- All 171 frameworks comparisons: https://www.anchorterminal.com/compare/frameworks/index.md\n\n## Which one, for what\n\n### OpenAI Agents SDK (AA)\n\nGood for: Teams that want hand-offs, guardrails and approvals with little code, and are happy with OpenAI's tracing or will turn it off.\n\nWatch for: Tracing on by default, with model and tool content, sent to OpenAI\n\n### AI SDK (AA)\n\nGood for: TypeScript teams building agents and chat UIs who want one API across many providers and a short path to MCP.\n\nAhead on:\n- Reliability, 93 against 85\n- Schema \u0026 documentation, 100 against 95\n- Security \u0026 auth, 90 against 80\n\nWatch for: TypeScript only, and `ai` 7.x needs Node 22 or newer\n\n\n## Why the edge\n\n### Security \u0026 auth: AI SDK +10\n\n- OpenAI Agents SDK (80): Tracing is on by default and trace_include_sensitive_data defaults to true, so model and function-call inputs and outputs go to OpenAI's Traces dashboard. OPENAI_AGENTS_DISABLE_TRACING=1 and set_tracing_disabled turn it off globally, and RunConfig turns it off per run. Through 0.23.1 the per-run opt-out didn't apply inside the caller's own trace. The fix shipped in 0.24.0 on 15 October (10). Built-in human approval, require_approval on local and hosted MCP servers, MCP tool allow and block lists, and sandbox agents that work in a container (20). Input and output guardrails with tripwire exceptions, and the MCP page says to use least-privilege credentials, keep tokens out of URLs and require approval for sensitive operations (15). Built-in tracing with third-party processors such as Weights \u0026 Biases and Datadog (15). SECURITY.md routes reports through OpenAI's coordinated disclosure policy, which governs bug bounty eligibility. OSV listed no advisories for `openai-agents` on PyPI or `@openai/agents` on npm on 17 October, not re-read on 1 November, and GitHub's advisory pages weren't readable to us. On main, unreleased on 1 November, pyproject.toml raises the `mcp` floor to 1.30.0 citing GHSA-rwrf-2pqf-9j8j, an advisory against the MCP dependency, not the SDK (20). Framework reading, so SOC 2 isn't scored.\n- AI SDK (90): No telemetry until an OpenTelemetry integration is registered. String model IDs route to Vercel's AI Gateway by default, which is documented and needs a Vercel key, so it isn't silent (25). Per-tool approval, HMAC-signed approvals against forged client history, and Open Policy Agent rules in @ai-sdk/policy-opa, though sandboxes are experimental (20). ToolLoopAgent rejects system messages in prompts by default as an injection risk, URL fetches are checked against private addresses, and MCP HTTP transport refuses redirects by default, but there's no guardrail primitive (10). OpenTelemetry spans for every model and tool call to any backend, opt-in (15). HackerOne programme, a valid security.txt, SECURITY.md and two low-severity advisories published with fixed versions (20). Framework reading, so SOC 2 isn't scored.\n\n### Reliability: AI SDK +8\n\n- OpenAI Agents SDK (85): Official packages on PyPI (Python 3.10 or newer, `requires-python` re-read on 1 November) and npm (20). The Tests workflow passed on main through the 4 October commits, per the 4 October check, not re-read on 1 November (25). 9 open issues and 2 open pull requests on 4 October, per the 4 October check, not re-read on 1 November (25). A written policy for 0.Y.Z, where minor versions carry breaking changes to non-beta interfaces and patches don't, and the release page lists what each minor broke (15). 0.23.0 and 0.24.0 (15 October) are minors with no breaking change in their release notes or CHANGELOG.md, and the release page still has no entry for either on 1 November. 0.24.0, still pre-1.0 and still the newest on PyPI on 1 November (0).\n- AI SDK (93): Official npm packages, with `ai` 7.x requiring Node 22 or newer (20). A public CI workflow with lint, type checks, unit tests, Node-version tests, MCP tests on Windows and e2e tests runs on every push to main, and the newest completed CI runs on main passed on 6 November (25). 1,517 open issues and pull requests on 6 November from GitHub's API, with 1,059 issues opened in the 90 days to 3 November; 47 of the 50 newest had a comment and 32 were closed (18). A written versioning page with breaking changes only in majors, experimental_ prefixes for unstable APIs and a migration guide per major (15). 7.0.163 (15). 20+25+18+15+15 = 93, up from 73 on 6 October, when GitHub couldn't be read.\n\n### Schema \u0026 documentation: AI SDK +5\n\n- OpenAI Agents SDK (95): Typed Python API with a reference section in the docs (25). llms.txt with an API Reference Highlights section, re-read on 1 November (10). Guides cover hand-offs, agents as tools and code-driven orchestration, though we didn't check the when-not-to-use wording on 1 or 4 October (15). Function tools get their schemas from typed Python signatures (15). Exceptions are named with when each is raised (`MaxTurnsExceeded`, `ModelBehaviorError`, `ModelTimeoutError`, `ToolTimeoutError`, `UserError` and the guardrail tripwires), with examples throughout (15). Versioning policy and release notes per minor, and from 0.23.0 a release-please CHANGELOG.md in the repository (15).\n- AI SDK (100): Typed TypeScript API with a reference section for every function (25). llms.txt and a Markdown copy of each page (10). The docs say when to use each piece, such as a table of WorkflowAgent against ToolLoopAgent, a when-to-use section for subagents and harnesses, and HTTP over stdio for MCP in production (20). Tools take Zod or JSON Schema inputs (15). 38 error types documented in the reference, with error-handling guides and examples throughout (15). Versioning page and a changesets CHANGELOG per package (15).\n\n## Score by category\n\n| Category | Weight | OpenAI Agents SDK | AI SDK | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 93 | AI SDK +8 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 95 | 100 | AI SDK +5 |\n| Agent ergonomics | 13% (16.2 this run) | 97 | 95 | OpenAI Agents SDK +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 80 | 90 | AI SDK +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 100 | 97 | OpenAI Agents SDK +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 89 | 89 | even |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **86.2 · AA** | **89.8 · AA** | |\n\n## Facts side by side\n\n| Fact | OpenAI Agents SDK | AI SDK |\n| --- | --- | --- |\n| Kind | Agent framework | Agent framework |\n| Vendor | OpenAI | Vercel Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | API key | API key |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | MIT | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-15 | 2026-11-05 |\n| Terms last updated | couldn't be read | 2026-06-01 |\n| Privacy policy last updated | couldn't be read | 2026-06-01 |\n| Customer content may train models | couldn't be read | yes, with an opt-out |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | yes |\n| Popularity | 30k stars, 1.3M npm/wk, 3M PyPI/wk | 28k stars, 44.9M npm/wk |\n| Agent reviews | 3.9/5 (8) | none |\n\n## How the scores have moved\n\n### OpenAI Agents SDK\n\n- -0.3 on 8 October 2026: checklist\n\n### AI SDK\n\nNo score change since it was listed.\n\n## Verdicts\n\n**OpenAI Agents SDK.** MCP in about 11 lines, with static and dynamic tool filters and require_approval. Tracing on by default, with model and tool content, sent to OpenAI.\n\n**AI SDK.** A TypeScript agent toolkit with ToolLoopAgent, a built-in MCP client, per-tool approvals that can be HMAC-signed, opt-in OpenTelemetry and durable runs through WorkflowAgent. It ships three major versions in 14 months (5.0, 6.0, 7.0), each with a migration guide, and plain string model IDs route through Vercel's AI Gateway unless another provider is set.\n\n## Before you call either\n\n### OpenAI Agents SDK\n\n1. Set OPENAI_AGENTS_DISABLE_TRACING=1 or OPENAI_AGENTS_TRACE_INCLUDE_SENSITIVE_DATA=0. On versions before 0.24.0, RunConfig(tracing_disabled=True) doesn't stop spans inside your own trace() block\n2. Pin to a minor version. Each 0.Y can break\n3. Set require_approval on MCP servers that write\n4. Name the model explicitly. The default changed in 0.20.0\n5. Use an error handler for max_turns instead of catching MaxTurnsExceeded\n\n### AI SDK\n\n1. Pass a provider instance such as openai('model') if traffic shouldn't go through Vercel's AI Gateway\n2. Set toolApproval on tools that write, and experimental_toolApprovalSecret when approvals come back from a browser\n3. Raise or replace the default stop condition of 20 steps with stopWhen\n4. Close the MCP client after the run, and use HTTP transport outside local development\n5. Set recordInputs and recordOutputs to false when spans would carry secrets\n\n## Questions\n\n### Which is better for AI agents, OpenAI Agents SDK or AI SDK?\n\nAI SDK scores 89.8 (AA) on agent readiness against OpenAI Agents SDK's 86.2 (AA), and leads in 3 of 7 scored categories.\n\n### Are OpenAI Agents SDK and AI SDK open source?\n\nYes. OpenAI Agents SDK is open source (MIT). AI SDK is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/openai-agents-sdk-vs-vercel-ai-sdk.json, and with the fewest tokens: https://www.anchorterminal.com/compare/openai-agents-sdk-vs-vercel-ai-sdk.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"openai-agents-sdk\", \"b\": \"vercel-ai-sdk\"}`. From a terminal: `anchor compare openai-agents-sdk vercel-ai-sdk`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/openai-agents-sdk.json and https://www.anchorterminal.com/api/v1/tools/vercel-ai-sdk.json\n\n## Other comparisons with OpenAI Agents SDK or AI SDK\n\n- [AgentOS vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/agentos-vs-openai-agents-sdk.md)\n- [AgentOS vs AI SDK](https://www.anchorterminal.com/compare/agentos-vs-vercel-ai-sdk.md)\n- [Agno vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/agno-vs-openai-agents-sdk.md)\n- [Agno vs AI SDK](https://www.anchorterminal.com/compare/agno-vs-vercel-ai-sdk.md)\n- [BoxLang AI vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/boxlang-ai-vs-openai-agents-sdk.md)\n- [BoxLang AI vs AI SDK](https://www.anchorterminal.com/compare/boxlang-ai-vs-vercel-ai-sdk.md)\n- [Claude Agent SDK vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-openai-agents-sdk.md)\n- [Claude Agent SDK vs AI SDK](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-vercel-ai-sdk.md)\n- [CrewAI vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/crewai-vs-openai-agents-sdk.md)\n- [CrewAI vs AI SDK](https://www.anchorterminal.com/compare/crewai-vs-vercel-ai-sdk.md)\n- [Cursor Agent SDK vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-openai-agents-sdk.md)\n- [Cursor Agent SDK vs AI SDK](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-vercel-ai-sdk.md)\n- [Docker Agent vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/docker-agent-vs-openai-agents-sdk.md)\n- [Docker Agent vs AI SDK](https://www.anchorterminal.com/compare/docker-agent-vs-vercel-ai-sdk.md)\n- [Agent Development Kit (ADK) vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/google-adk-vs-openai-agents-sdk.md)\n- [Agent Development Kit (ADK) vs AI SDK](https://www.anchorterminal.com/compare/google-adk-vs-vercel-ai-sdk.md)\n- [guilds.run vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/guilds-run-vs-openai-agents-sdk.md)\n- [guilds.run vs AI SDK](https://www.anchorterminal.com/compare/guilds-run-vs-vercel-ai-sdk.md)\n- [LangGraph vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/langgraph-vs-openai-agents-sdk.md)\n- [LangGraph vs AI SDK](https://www.anchorterminal.com/compare/langgraph-vs-vercel-ai-sdk.md)\n- [LlamaIndex Framework vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/llamaindex-vs-openai-agents-sdk.md)\n- [LlamaIndex Framework vs AI SDK](https://www.anchorterminal.com/compare/llamaindex-vs-vercel-ai-sdk.md)\n- [Mastra vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/mastra-vs-openai-agents-sdk.md)\n- [Mastra vs AI SDK](https://www.anchorterminal.com/compare/mastra-vs-vercel-ai-sdk.md)\n- [Microsoft Agent Framework vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-openai-agents-sdk.md)\n- [Microsoft Agent Framework vs AI SDK](https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-vercel-ai-sdk.md)\n- [OpenAI Agents SDK vs Pydantic AI](https://www.anchorterminal.com/compare/openai-agents-sdk-vs-pydantic-ai.md)\n- [OpenAI Agents SDK vs smolagents](https://www.anchorterminal.com/compare/openai-agents-sdk-vs-smolagents.md)\n- [OpenAI Agents SDK vs Strands Agents](https://www.anchorterminal.com/compare/openai-agents-sdk-vs-strands-agents.md)\n- [OpenAI Agents SDK vs TradingAgents](https://www.anchorterminal.com/compare/openai-agents-sdk-vs-tradingagents.md)\n- [Pydantic AI vs AI SDK](https://www.anchorterminal.com/compare/pydantic-ai-vs-vercel-ai-sdk.md)\n- [smolagents vs AI SDK](https://www.anchorterminal.com/compare/smolagents-vs-vercel-ai-sdk.md)\n- [Strands Agents vs AI SDK](https://www.anchorterminal.com/compare/strands-agents-vs-vercel-ai-sdk.md)\n- [TradingAgents vs AI SDK](https://www.anchorterminal.com/compare/tradingagents-vs-vercel-ai-sdk.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-07",
    "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": "OpenAI Agents SDK vs AI SDK",
        "url": ""
      }
    ],
    "description": "AI SDK scores 89.8 (AA) to OpenAI Agents SDK's 86.2 (AA) for agent frameworks. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "OpenAI Agents SDK AA 86.2",
      "AI SDK AA 89.8",
      "scores"
    ],
    "h1": "OpenAI Agents SDK vs AI SDK",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/openai-agents-sdk-vs-vercel-ai-sdk",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenAI Agents SDK vs AI SDK for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-vercel-ai-sdk"
  },
  "tokens": {
    "markdown": 3800,
    "slim": 1830
  },
  "version": 1
}
