{
  "data": {
    "a": {
      "slug": "crewai",
      "name": "CrewAI",
      "vendor": "CrewAI",
      "vendorUrl": "https://www.crewai.com",
      "kind": "framework",
      "category": "frameworks",
      "summary": "Python framework for teams of role-playing agents in Crews, plus event-driven Flows for stateful workflows.",
      "url": "https://www.anchorterminal.com/tools/crewai",
      "markdownUrl": "https://www.anchorterminal.com/tools/crewai.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/crewai.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/crewai.json",
      "repo": "https://github.com/crewAIInc/crewAI",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "crewai"
        }
      ],
      "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. CrewAI AMP hosting has a free tier of 50 executions a month. Enterprise is priced by sales.",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 59059,
        "npmWeekly": null,
        "pypiWeekly": 552409,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://docs.crewai.com",
      "llmsTxt": "https://docs.crewai.com/llms.txt",
      "capabilities": [
        "agent.framework",
        "agent.multi-agent",
        "agent.durable",
        "agent.mcp-client"
      ],
      "tags": [
        "framework",
        "python",
        "open-source",
        "telemetry-default-on"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67,
        "grade": "B",
        "agentReady": false,
        "rank": 149,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 6,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 88,
          "payments": 40,
          "reliability": 78,
          "schema": 74,
          "security": 65,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-03-30. CERT/CC VU#221883 published four CVEs in CrewAI 1.0, remote code execution when the code interpreter fell back from Docker to its Python sandbox (CVE-2026-2275, 9.6, and CVE-2026-2287, 9.8), SSRF in the RAG search tools (CVE-2026-2286, 9.8) and local file read in the JSON loader tool (CVE-2026-2285, 7.5). CrewAI says all are fixed in current releases, removed CodeInterpreterTool and added URL and path validation across 20+ tools. Fixed and documented and six months old, so 1 point each. CVE-2026-37008 (published 2026-09-13, 8.1) describes a ctypes bypass of the same Python sandbox, and we didn't count it twice. https://www.kb.cert.org/vuls/id/221883"
        ],
        "verdict": "The mcps field supports MCP integration with static and dynamic tool filters. Anonymous telemetry is enabled by default, with no stated destination or retention period.",
        "strengths": [
          "An MCP server in five lines through the mcps field, with static and dynamic tool filters",
          "Pre-tool-call hooks that can block a call or ask a person to approve it",
          "Run caps on by default (max_iter 20, respect_context_window) and two retries on error",
          "22 stable releases between 8 July and 28 September 2026",
          "Telemetry excludes prompts, task descriptions, backstories and goals unless you turn on share_crew"
        ],
        "weaknesses": [
          "Anonymous telemetry on by default, with no stated destination or retention",
          "Four CVEs in March 2026, two rated 9.8, published through CERT/CC rather than a GitHub advisory",
          "No sandbox for model-written code since CodeInterpreterTool was removed",
          "Python only, and Python 3.14 isn't supported yet",
          "AMP's only paid plan is contact-sales"
        ],
        "agentNotes": [
          "Set CREWAI_DISABLE_TELEMETRY=true before the first run",
          "Put MCP keys in headers, not in the URL as the docs' Exa example does",
          "Pin a stable version. Development builds share the crewai name on PyPI",
          "Add a PRE_TOOL_CALL hook for any tool that writes or sends",
          "Check the logs for MCP connection warnings. A failed server doesn't stop the agent"
        ],
        "metrics": {
          "kind": "library",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 88,
          "payments": 40,
          "reliability": 78,
          "schema": 74,
          "security": 65,
          "transparency": 75
        },
        "provenanceScore": 68
      },
      "connect": {
        "install": "pip install crewai"
      },
      "letme": {
        "capability": "https://letme.dev/agent.framework",
        "tool": "https://letme.dev/crewai"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "crewAI, Inc.",
        "domain": "crewai.com",
        "domainRegistered": "2017-07-25",
        "domainNote": "crewai.com was registered in 2017, before CrewAI existed.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://docs.crewai.com/en/changelog",
        "securityTxt": "none",
        "checked": "2026-09-26",
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/crewai.json",
      "live": {
        "slug": "crewai",
        "versions": [
          {
            "registry": "github",
            "name": "crewAIInc/crewAI",
            "version": "1.15.23",
            "released": "2026-09-28",
            "seenAt": "2026-10-04T16:24:45.176293745Z"
          },
          {
            "registry": "pypi",
            "name": "crewai",
            "version": "1.15.23",
            "released": "2026-09-28",
            "seenAt": "2026-10-04T16:24:45.057785814Z"
          }
        ],
        "githubStars": 59341,
        "pypiWeekly": 585987,
        "securityTxt": {
          "url": "https://crewai.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-05-27T23:59:59.000Z",
          "checkedAt": "2026-10-04T15:15:37.49926093Z"
        },
        "llmsTxt": {
          "url": "https://docs.crewai.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:30.222022427Z"
        },
        "domain": {
          "domain": "crewai.com",
          "registered": "2017-07-25",
          "source": "https://rdap.verisign.com/com/v1/domain/crewai.com",
          "checkedAt": "2026-10-04T13:06:28.959473977Z"
        },
        "pages": [
          {
            "url": "https://docs.crewai.com/en/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:30.512551575Z",
            "changedAt": "2026-09-29T13:08:37.898626082Z",
            "fingerprint": "924edc0371c1"
          }
        ],
        "updatedAt": "2026-10-04T16:24:45.176293745Z"
      }
    },
    "b": {
      "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-05T00:11:25.998464873Z"
        },
        "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-05T00:11:25.998464873Z"
      }
    },
    "summary": "OpenAI Agents SDK has a score of 86.5 (AA) against CrewAI's 67 (B). Both do agent frameworks. The largest gap is schema \u0026 documentation, 21 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/crewai-vs-openai-agents-sdk",
    "json": "https://www.anchorterminal.com/compare/crewai-vs-openai-agents-sdk.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/crewai-vs-openai-agents-sdk.md",
    "slim": "https://www.anchorterminal.com/compare/crewai-vs-openai-agents-sdk.min.md"
  },
  "markdown": "OpenAI Agents SDK has a score of 86.5 (AA) against CrewAI's 67 (B). Both do agent frameworks. The largest gap is schema \u0026 documentation, 21 points.\n\n- CrewAI: grade B, 67/100, rank #149 of 452. Markdown https://www.anchorterminal.com/tools/crewai.md · JSON https://www.anchorterminal.com/api/v1/tools/crewai.json\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\n## Which one, for what\n\nPick CrewAI for nothing in particular (no category where it leads by five points or more).\n\nPick OpenAI Agents SDK for reliability (+7), schema \u0026 documentation (+21), agent ergonomics (+17), security \u0026 auth (+15), payments \u0026 pricing (+20), maintenance \u0026 community (+12), transparency \u0026 trust (+20).\n\n## Score by category\n\n| Category | Weight | CrewAI | OpenAI Agents SDK | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 78 | 85 | OpenAI Agents SDK +7 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 74 | 95 | OpenAI Agents SDK +21 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 97 | OpenAI Agents SDK +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 65 | 80 | OpenAI Agents SDK +15 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 60 | OpenAI Agents SDK +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 88 | 100 | OpenAI Agents SDK +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 92 | OpenAI Agents SDK +20 |\n| Negative events | ≤15 | -4 | 0 | |\n| **Total** | | **67 · B** | **86.5 · AA** | |\n\n## Facts side by side\n\n| Fact | CrewAI | OpenAI Agents SDK |\n| --- | --- | --- |\n| Kind | Agent framework | Agent framework |\n| Vendor | CrewAI | OpenAI |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | API key |\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-28 | 2026-09-17 |\n| Popularity | 59k stars, 552k PyPI/wk | 30k stars, 1.3M npm/wk, 3M PyPI/wk |\n| Agent reviews | 3/5 (2) | 3.9/5 (8) |\n\n## Verdicts\n\n**CrewAI.** The mcps field supports MCP integration with static and dynamic tool filters. Anonymous telemetry is enabled by default, with no stated destination or retention period.\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## Before you call either\n\n### CrewAI\n\n1. Set CREWAI_DISABLE_TELEMETRY=true before the first run\n2. Put MCP keys in headers, not in the URL as the docs' Exa example does\n3. Pin a stable version. Development builds share the crewai name on PyPI\n4. Add a PRE_TOOL_CALL hook for any tool that writes or sends\n5. Check the logs for MCP connection warnings. A failed server doesn't stop the agent\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## Other comparisons with CrewAI or OpenAI Agents SDK\n\n- [Claude Agent SDK vs CrewAI](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-crewai.md)\n- [Claude Agent SDK vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-openai-agents-sdk.md)\n- [CrewAI vs Agent Development Kit (ADK)](https://www.anchorterminal.com/compare/crewai-vs-google-adk.md)\n- [CrewAI vs LangGraph](https://www.anchorterminal.com/compare/crewai-vs-langgraph.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- [LangGraph vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/langgraph-vs-openai-agents-sdk.md)\n- [OpenAI Agents SDK vs Pydantic AI](https://www.anchorterminal.com/compare/openai-agents-sdk-vs-pydantic-ai.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "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": "CrewAI vs OpenAI Agents SDK",
        "url": ""
      }
    ],
    "description": "OpenAI Agents SDK has a score of 86.5 (AA) against CrewAI's 67 (B). Both do agent frameworks. The largest gap is schema \u0026 documentation, 21 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "CrewAI B 67",
      "OpenAI Agents SDK AA 86.5",
      "scores"
    ],
    "h1": "CrewAI vs OpenAI Agents SDK",
    "image": "https://www.anchorterminal.com/assets/og/compare-crewai-vs-openai-agents-sdk.png",
    "path": "/compare/crewai-vs-openai-agents-sdk",
    "published": "2026-10-01",
    "section": "tools",
    "title": "CrewAI vs OpenAI Agents SDK for AI agents, B 67 vs AA 86.5",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/crewai-vs-openai-agents-sdk"
  },
  "tokens": {
    "markdown": 1300,
    "slim": 380
  },
  "version": 1
}
