{
  "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",
      "repo": "https://github.com/openai/openai-agents-python",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "openai-agents"
        },
        {
          "registry": "npm",
          "name": "@openai/agents"
        }
      ],
      "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-09-17",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 86.5,
        "grade": "AA",
        "agentReady": true,
        "rank": 1,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 97,
          "maintenance": 100,
          "payments": 60,
          "reliability": 85,
          "schema": 95,
          "security": 80,
          "transparency": 92
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-10-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.",
        "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",
          "8 open issues and 3 open pull requests on 2026-10-01",
          "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",
          "Breaking changes in each minor release while pre-1.0",
          "0.20.0 changed the default model"
        ],
        "agentNotes": [
          "Set OPENAI_AGENTS_DISABLE_TRACING=1, or OPENAI_AGENTS_TRACE_INCLUDE_SENSITIVE_DATA=0 to keep content out of traces",
          "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.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 86.5
          }
        ],
        "editorialScores": {
          "ergonomics": 97,
          "maintenance": 100,
          "payments": 60,
          "reliability": 85,
          "schema": 95,
          "security": 80,
          "transparency": 84
        },
        "provenanceScore": 100
      },
      "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-moderation",
        "openai-image-api",
        "openai-sora",
        "openai-codex"
      ],
      "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": 100
      },
      "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-10-04T23:49:20.062045928Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "openai/openai-agents-python",
            "version": "v0.23.1",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:35:19.634240353Z"
          },
          {
            "registry": "npm",
            "name": "@openai/agents",
            "version": "0.18.0",
            "seenAt": "2026-10-04T16:35:19.165210863Z"
          },
          {
            "registry": "pypi",
            "name": "openai-agents",
            "version": "0.23.1",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:35:19.052384941Z"
          }
        ],
        "githubStars": 29831,
        "npmWeekly": 2444016,
        "pypiWeekly": 3020685,
        "securityTxt": {
          "url": "https://openai.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-04T15:15:58.86463118Z"
        },
        "llmsTxt": {
          "url": "https://openai.github.io/openai-agents-python/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:04.128684515Z"
        },
        "domain": {
          "domain": "openai.com",
          "registered": "2007-01-19",
          "source": "https://rdap.verisign.com/com/v1/domain/openai.com",
          "checkedAt": "2026-10-04T13:05:02.32020521Z"
        },
        "pages": [
          {
            "url": "https://openai.github.io/openai-agents-python/release/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:25.613837519Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7523bd6f3514"
          },
          {
            "url": "https://openai.com/policies/privacy-policy/",
            "kind": "privacy",
            "status": 403,
            "checkedAt": "2026-10-04T15:46:22.441801571Z",
            "changedAt": "2026-10-02T15:22:38.858492571Z",
            "fingerprint": "1313fe838818"
          },
          {
            "url": "https://openai.com/policies/services-agreement/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:24.458479472Z",
            "changedAt": "2026-10-04T15:46:24.458479472Z",
            "fingerprint": "46a4b30744ca"
          }
        ],
        "updatedAt": "2026-10-04T23:49:20.062045928Z"
      }
    },
    "b": {
      "slug": "pydantic-ai",
      "name": "Pydantic AI",
      "vendor": "Pydantic",
      "vendorUrl": "https://pydantic.dev",
      "kind": "framework",
      "category": "frameworks",
      "summary": "Typed Python agent framework for 25+ model providers, with MCP, A2A and durable execution.",
      "url": "https://www.anchorterminal.com/tools/pydantic-ai",
      "markdownUrl": "https://www.anchorterminal.com/tools/pydantic-ai.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pydantic-ai.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pydantic-ai.json",
      "repo": "https://github.com/pydantic/pydantic-ai",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "pydantic-ai"
        }
      ],
      "auth": "none",
      "authNotes": "A library. Credentials are for the models and tools you use.",
      "pricing": "free",
      "pricingNotes": "Free and open source. You pay for the model calls it makes. Logfire for tracing is free for personal use, $49 a month for teams.",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 20192,
        "npmWeekly": null,
        "pypiWeekly": 1276452,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://pydantic.dev/docs/ai/overview/",
      "llmsTxt": "https://pydantic.dev/docs/ai/llms.txt",
      "capabilities": [
        "agent.framework",
        "agent.multi-agent",
        "agent.durable",
        "agent.mcp-client"
      ],
      "tags": [
        "framework",
        "python",
        "open-source",
        "typed",
        "no-telemetry"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 80,
        "grade": "A",
        "agentReady": true,
        "rank": 7,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 2,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 90,
          "payments": 60,
          "reliability": 83,
          "schema": 95,
          "security": 80,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-02-06. Two high-severity advisories, server-side request forgery in URL download handling (GHSA-2jrp-274c-jhv3, CVE-2026-25580) and stored XSS through path traversal in the web UI's CDN URL (GHSA-wjp5-868j-wqv7). Both fixed and published, and almost eight months old, so 1 point each. Five moderate advisories from May to August 2026, two of them bypasses of its cloud-metadata blocklist, weren't deducted. https://github.com/pydantic/pydantic-ai/security"
        ],
        "verdict": "Typed outputs and tools, validated by Pydantic, with failed validations sent back to the model. Python only.",
        "strengths": [
          "Typed outputs and tools, validated by Pydantic, with failed validations sent back to the model",
          "No telemetry until you configure OpenTelemetry or Logfire",
          "Durable execution on Temporal, DBOS, Prefect, Restate, AWS Lambda, Kitaru and Airflow",
          "A written version policy, with deprecations kept until the next major",
          "A built-in test model that needs no API key"
        ],
        "weaknesses": [
          "Python only",
          "560 open issues and 219 open pull requests",
          "Seven advisories in 2026, including SSRF and two bypasses of its cloud-metadata blocklist",
          "No sandbox for model-written code",
          "Guardrails live in the separate Harness"
        ],
        "agentNotes": [
          "Define the output type first. Validation retries fix most malformed answers without a prompt change",
          "Start with the test model to check the wiring without a key",
          "Use streamable HTTP for MCP. SSE is deprecated",
          "Set usage limits on every run that calls paid models",
          "Stay on a current release if agents download URLs. Its cloud-metadata blocklist was bypassed twice in May 2026"
        ],
        "metrics": {
          "kind": "library",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "A",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 80
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 90,
          "payments": 60,
          "reliability": 83,
          "schema": 95,
          "security": 80,
          "transparency": 90
        },
        "provenanceScore": 63
      },
      "connect": {
        "install": "pip install pydantic-ai"
      },
      "letme": {
        "capability": "https://letme.dev/agent.framework",
        "tool": "https://letme.dev/pydantic-ai"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Logfire Team",
          "unit": "month",
          "usd": 49,
          "note": "tracing, personal use free"
        }
      ],
      "provenance": {
        "legalEntity": "Pydantic Services Inc.",
        "domain": "pydantic.dev",
        "domainRegistered": "2022-04-24",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://pydantic.dev/docs/ai/project/changelog/",
        "securityTxt": "none",
        "checked": "2026-09-26",
        "score": 63
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/pydantic-ai.json",
      "live": {
        "slug": "pydantic-ai",
        "versions": [
          {
            "registry": "github",
            "name": "pydantic/pydantic-ai",
            "version": "v2.54.0",
            "released": "2026-10-03",
            "seenAt": "2026-10-04T16:37:46.651114626Z"
          },
          {
            "registry": "pypi",
            "name": "pydantic-ai",
            "version": "2.54.0",
            "released": "2026-10-03",
            "seenAt": "2026-10-04T16:37:46.543619785Z"
          }
        ],
        "githubStars": 20402,
        "pypiWeekly": 1337828,
        "securityTxt": {
          "url": "https://pydantic.dev/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-09-17T00:00:00.000Z",
          "checkedAt": "2026-10-04T15:15:39.341503297Z"
        },
        "llmsTxt": {
          "url": "https://pydantic.dev/docs/ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:08.880084623Z"
        },
        "domain": {
          "domain": "pydantic.dev",
          "registered": "2022-04-24",
          "source": "https://pubapi.registry.google/rdap/domain/pydantic.dev",
          "checkedAt": "2026-10-04T13:05:46.866197353Z"
        },
        "pages": [
          {
            "url": "https://pydantic.dev/docs/ai/project/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:12.334207825Z",
            "changedAt": "2026-10-03T15:35:11.705364904Z",
            "fingerprint": "020b53329d62"
          },
          {
            "url": "https://pydantic.dev/articles/pydantic-ai-v2",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:10.284617874Z",
            "changedAt": "2026-09-30T13:10:38.85001264Z",
            "fingerprint": "b2069886d3ed"
          }
        ],
        "updatedAt": "2026-10-04T16:37:46.651114626Z"
      }
    },
    "summary": "OpenAI Agents SDK has a score of 86.5 (AA) against Pydantic AI's 80 (A). Both do agent frameworks. The largest gap is transparency \u0026 trust, 15 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-pydantic-ai",
    "json": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-pydantic-ai.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-pydantic-ai.md",
    "slim": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-pydantic-ai.min.md"
  },
  "markdown": "OpenAI Agents SDK has a score of 86.5 (AA) against Pydantic AI's 80 (A). Both do agent frameworks. The largest gap is transparency \u0026 trust, 15 points.\n\n- OpenAI Agents SDK: grade AA, 86.5/100, rank #1 of 452. Markdown https://www.anchorterminal.com/tools/openai-agents-sdk.md · JSON https://www.anchorterminal.com/api/v1/tools/openai-agents-sdk.json\n- Pydantic AI: grade A, 80/100, rank #7 of 452. Markdown https://www.anchorterminal.com/tools/pydantic-ai.md · JSON https://www.anchorterminal.com/api/v1/tools/pydantic-ai.json\n\n## Which one, for what\n\nPick OpenAI Agents SDK for agent ergonomics (+12), maintenance \u0026 community (+10), transparency \u0026 trust (+15).\n\nPick Pydantic AI for nothing in particular (no category where it leads by five points or more).\n\n## Score by category\n\n| Category | Weight | OpenAI Agents SDK | Pydantic AI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 83 | OpenAI Agents SDK +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 95 | 95 | even |\n| Agent ergonomics | 13% (16.2 this run) | 97 | 85 | OpenAI Agents SDK +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 80 | 80 | even |\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 | 90 | OpenAI Agents SDK +10 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 92 | 77 | OpenAI Agents SDK +15 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **86.5 · AA** | **80 · A** | |\n\n## Facts side by side\n\n| Fact | OpenAI Agents SDK | Pydantic AI |\n| --- | --- | --- |\n| Kind | Agent framework | Agent framework |\n| Vendor | OpenAI | Pydantic |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | API key | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | MIT | MIT |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-17 | 2026-09-30 |\n| Popularity | 30k stars, 1.3M npm/wk, 3M PyPI/wk | 20k stars, 1.3M PyPI/wk |\n| Agent reviews | 3.9/5 (8) | 4/5 (8) |\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**Pydantic AI.** Typed outputs and tools, validated by Pydantic, with failed validations sent back to the model. Python only.\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 to keep content out of traces\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### Pydantic AI\n\n1. Define the output type first. Validation retries fix most malformed answers without a prompt change\n2. Start with the test model to check the wiring without a key\n3. Use streamable HTTP for MCP. SSE is deprecated\n4. Set usage limits on every run that calls paid models\n5. Stay on a current release if agents download URLs. Its cloud-metadata blocklist was bypassed twice in May 2026\n\n## Other comparisons with OpenAI Agents SDK or Pydantic AI\n\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 Pydantic AI](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-pydantic-ai.md)\n- [CrewAI vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/crewai-vs-openai-agents-sdk.md)\n- [CrewAI vs Pydantic AI](https://www.anchorterminal.com/compare/crewai-vs-pydantic-ai.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 Pydantic AI](https://www.anchorterminal.com/compare/google-adk-vs-pydantic-ai.md)\n- [LangGraph vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/langgraph-vs-openai-agents-sdk.md)\n- [LangGraph vs Pydantic AI](https://www.anchorterminal.com/compare/langgraph-vs-pydantic-ai.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "OpenAI Agents SDK vs Pydantic AI",
        "url": ""
      }
    ],
    "description": "OpenAI Agents SDK has a score of 86.5 (AA) against Pydantic AI's 80 (A). Both do agent frameworks. The largest gap is transparency \u0026 trust, 15 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "OpenAI Agents SDK AA 86.5",
      "Pydantic AI A 80",
      "scores"
    ],
    "h1": "OpenAI Agents SDK vs Pydantic AI",
    "image": "https://www.anchorterminal.com/assets/og/compare-openai-agents-sdk-vs-pydantic-ai.png",
    "path": "/compare/openai-agents-sdk-vs-pydantic-ai",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenAI Agents SDK vs Pydantic AI for AI agents, AA 86.5 vs A 80",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-pydantic-ai"
  },
  "tokens": {
    "markdown": 1300,
    "slim": 330
  },
  "version": 1
}
