Skip to main content
The Parallel Responses API is an OpenAI Responses-compatible endpoint that answers a question using live web research within a latency budget of ~5–60 seconds. The API automatically handles running multi-step web searches, fetching live pages, and cross-checking sources to return a synthesized answer with citations. Because it is OpenAI compatible, you can invoke the Responses API with OpenAI’s Typescript or Python SDKs. Just change three parameters: base_url, api_key, and model.

Model and reasoning tiers

There is one model id — parallel — and reasoning.effort selects the reasoning tier: Every tier grounds its answer in live web search, but higher tiers do more web research before producing an answer. If you omit reasoning, effort defaults to medium. high requests can take up to a minute, so give your client timeout headroom (e.g. timeout=120.0 in the Python SDK).

Prerequisites

Get an API key from Parallel Settings and set it as PARALLEL_API_KEY. If you are using an SDK, install the OpenAI SDK:

Make your first request

Read the answer from output_text (convenience accessor), or walk output[] — the message item’s content[] carries the answer text.

Migrate from OpenAI

Migrating an existing OpenAI Responses integration is a three-line diff: point base_url at Parallel, swap the key, set model="parallel", and drop the web_search tool (grounding is automatic):
See OpenAI Responses Compatibility for the full field-by-field compatibility reference.

Use it as a research subagent

You can use the Responses API as a web research tool for your own agent by creating a tool that wraps the Responses API. Each tool call your agent makes is delegated to an autonomous research subagent that returns a finished, cited answer — not raw search results your agent has to read through.
Your agent plans and decomposes; Parallel researches. See Using It as a Research Subagent for the tool definition, best practices for writing the tool description, and a full orchestrator loop.

Features

Statefulness

Multi-turn conversations via previous_response_id

Structured Outputs

JSON answers conforming to your schema

Streaming Events

Server-sent events with the standard Responses event sequence

Citations

Source annotations for grounded answers

Examples

Direct Requests

Call it directly: questions, deep research, enrichment, follow-ups

Research Subagent

Expose it as a web-research tool of another LLM

Next steps