PermissiveMITTested by Geekflare

OpenAI Agents SDK review

Lightweight SDK from OpenAI for agents with tools, handoffs, guardrails and tracing

Data refreshedMethodologyHow we tested
Director of Geekflare

Rity Anand is a director of Geekflare. She has extensive experience managing business technology and a special interest in emerging technologies.

Verdict

The OpenAI Agents SDK has the smallest set of ideas to learn here: agents, tools, handoffs, guardrails and sessions, with tracing that works out of the box. It runs with other providers through LiteLLM, but its defaults lean on OpenAI, and long-running runs need an outside engine such as Temporal or DBOS.

Best for

Developers who want a small, readable agent loop with handoffs and tracing from day one

Not for

Teams that need built-in crash recovery, a visual builder or tracing that stays off OpenAI's platform by default

Pros

  • A small API that is quick to learn
  • Tracing of every model call, tool call and handoff with no setup
  • Tool approvals that pause a run and resume it later from saved state
  • Works with other providers through LiteLLM or any-llm

Cons

  • Traces go to OpenAI by default, even for other providers' models
  • Crash recovery needs an outside engine such as Temporal or DBOS
  • No visual studio or server of its own
Ask Sparkian

Is OpenAI Agents SDK right for your project?

Describe what you need and AI will check the fit against this review.

OpenAI Agents SDK features and capabilities

Handoffs and agents as tools

One agent can pass the conversation to a specialist or call another agent as a tool, which covers most multi-agent patterns with little code.

Guardrails

Input and output checks run alongside the agent and can stop a run early, so off-topic or unsafe requests don't reach expensive steps.

Built-in tracing

Every run records model calls, tool calls, handoffs and guardrails, viewable on OpenAI's Traces dashboard or sent to your own processor.

Tool approvals

Tools can require approval, and a paused run is saved as RunState so a person can approve it later and the run carries on.

Sessions

Conversation history is stored for you in SQLite, Redis or SQLAlchemy, so multi-turn agents don't need their own storage code.

Any model providerWorks with OpenAI, Anthropic, Google and local models, not one vendor
YesOther providers through LiteLLM or any-llm
Multi-agentSeveral agents can hand off or work together
YesHandoffs and agents as tools
MCP toolsCan use tools from MCP servers
Yes
Durable stateSaves progress so a run can resume after a crash or a pause
PartlyPaused runs save as RunState; crash recovery via Temporal or DBOS
Human approvalCan pause for a person to approve or edit before continuing
Yes
TracingShows each step, tool call and token use
YesOpenAI's Traces dashboard by default, or your own processor
Visual studioA UI to build, run or debug agents
No

At a glance

Type
Agent SDK
Stack
Python 3.10+ / TypeScript
Databases
SQLite, Redis
Licence terms
The SDK is MIT. Tracing is on by default and sends runs to OpenAI's Traces dashboard, even when the model is from another provider, until you turn it off or add your own processor.
SSO
No
Roles and permissions
No
Audit logs
No

Free vs paid editions

What you get when you self-host, and what needs a paid plan.

The SDK is free under MIT and has no paid edition. You pay for the models you call. Traces go to the Traces dashboard on the OpenAI platform at no extra charge, and organisations under OpenAI's zero data retention policy can't use it.

Self-hosting OpenAI Agents SDK

The Python SDK needs Python 3.10 or later. Tracing works with an OpenAI API key, and other providers need the LiteLLM or any-llm extra.

New cloud server to ready

41 s

Research task, median of 3

20.6 s, 120 MB peak

Version tested

0.24.0 · Oct 19, 2026

  • Installing the SDK took 19 seconds, and it used the least memory of the seven at 120 MB.
  • It talks to OpenRouter through OpenAIChatCompletionsModel and an OpenAI client pointed at another base URL. All three runs passed in 20 to 22 seconds, at $0.001 to $0.002 each.
  • Tracing is on by default and sends traces to OpenAI's dashboard, which needs an OpenAI key. With another provider you turn it off or add your own trace processor.
agent.py, after pip install openai-agents httpx
# tools.py holds the shared web_search and read_page functions over Geekflare's APIs,
# common.py the model name, OpenRouter key, system prompt and task.
from agents import Agent, OpenAIChatCompletionsModel, Runner, function_tool, set_tracing_disabled
from agents.model_settings import ModelSettings
from openai import AsyncOpenAI

import tools
from common import BASE_URL, KEY, MODEL, SYSTEM

# Tracing uploads to OpenAI by default and needs an OpenAI key; we use OpenRouter, so it's off.
set_tracing_disabled(True)

client = AsyncOpenAI(base_url=BASE_URL, api_key=KEY)
agent = Agent(name="Researcher", instructions=SYSTEM, model=OpenAIChatCompletionsModel(model=MODEL, openai_client=client),
              tools=[function_tool(tools.web_search), function_tool(tools.read_page)], model_settings=ModelSettings(temperature=0, max_tokens=1024))


def run(task: str) -> str:
    return Runner.run_sync(agent, task, max_turns=10).final_output
Agent's answerPassedRun 3 of 3 · 20.6 s · $0.0018
Asked: What is the latest stable release of Scrapy, when was it released, and what are two notable changes in it? Use the tools, cite the release notes URL, and answer in under 120 words.

The latest stable release is Scrapy 2.19.0, released 10 September 2026 (Scrapy release notes; GitHub releases, which also marks it as Latest).

Two notable changes:

  1. A new RemoteControl extension lets you inspect and control a running crawl over HTTP.
  2. Support for Python 3.9 and PyPy 3.10 was dropped.

I only saw the highlights in search snippets, so check the full release notes for details.