What's the difference between the OpenAI Agents SDK and the Responses API?
The Responses API is OpenAI’s single call to a model, one request in and one response out, with no orchestration layered on it; the Agents SDK is a runtime built on top of that call, adding the loop, handoffs, guardrails, and sessions a bare API call doesn’t have. OpenAI’s own SDK docs put it plainly: the SDK “uses the Responses API by default for OpenAI models, but it wraps model calls in a higher-level runtime.”
That wrapping is what matters for grading a run. Call the Responses API directly and you get one thing to look at, the request and the response, with a tool call inside if the model asked for one; you track conversation state yourself, and a handoff between two roles is just a decision your own code makes, invisible to anything watching the API. The Agents SDK cuts the same run into a span per agent, per model call, per tool call, per handoff, and per guardrail, each gradable on its own. Pick the API when you’re writing the loop yourself; pick the SDK when you want that decomposition for free and can live inside its runtime.
sources
- OpenAI Agents SDK documentation fetched
- OpenAI API docs: Agents guide fetched