For AI agents: a documentation index is available at https://docs.parallel.ai/llms.txt. The full text of all docs is at https://docs.parallel.ai/llms-full.txt. You may also fetch any page as Markdown by appending
The Search API returns ranked, LLM-optimized excerpts from web sources based on natural
language objectives or keyword queries. Results are designed to serve directly as model
input, enabling faster reasoning and higher-quality completions with minimal
post-processing.
The guidance below applies whether you call the API directly or your model fills .md to its URL or sending Accept: text/markdown.objective and search_queries through function calling. For the copy-paste tool schema, jump to Search Tool Definition below.
Key Benefits
- Context engineering for token efficiency: The API ranks and compresses web results based on reasoning utility rather than human engagement, delivering the most relevant tokens for each agent’s specific objective. Because those excerpts are dense and relevant, your model spends fewer input tokens to reason over them. On a typical call, better retrieval routinely saves more in downstream inference than the search call itself costs.
- Single-hop resolution of complex queries: Where traditional search forces agents to make multiple sequential calls, accumulating latency and costs, Parallel resolves complex multi-topic queries in a single request.
- Multi-hop efficiency: For deep research workflows requiring multiple reasoning steps, agents using Parallel complete tasks in fewer tool calls while achieving higher accuracy and lower end-to-end latency.
Request Fields
search_queries is required (at least one non-empty query). The remaining
fields are optional. See the API
Reference for complete parameter
specifications and constraints.
Use Advanced Settings only when strictly required: restrictive parameters such as
source_policy, location and max_results can unnecessarily limit results and reduce quality. Apply these only when there is a product need to search only within a particular domain, location or setting.
For best results, provide both objective and search queries.
Examples of effective objectives with search queries:
Session Identifiers
Agents frequently make multiple Search and Extract calls to complete a single task. Passing the samesession_id across those related calls helps Parallel treat them as one logical group. Use a new id for each new task to keep groups distinct.
Every Search and Extract response includes a session_id, matching the request when you provide one, otherwise one is server-generated and returned for you to reuse. Any string up to 1000 characters works. Use an identifier meaningful in your app, or reuse a session_id returned by an earlier call. Because each task should have a unique id, UUIDs (optionally with a descriptive prefix) work well, for example "company_search_cd812136-9f81-484e-ab92-2ba0cb8b9ea8".
Search Tool Definition
Copy this directly into your agent’s tool/function list to give any LLM-powered agent real-time web search via Parallel Search. This works with any framework that supports function/tool calling — OpenAI, Anthropic, Google Gemini, Vercel AI SDK, LangChain, and others. We provide OpenAI, Anthropic, and Gemini formats below — the schema is identical, only the wrapper differs.If you’re using MCP, the tool definition is provided automatically — you don’t need to define it yourself.
- OpenAI
- Anthropic
- Gemini