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
Give the agent a question, and it breaks it into smaller questions, researches them with Parallel, and brings the findings together in a report with source links. Render Workflows runs the tasks and retries them when needed.
Start with the Parallel Research Agent template. Here’s how to deploy it and get your first report.
.md to its URL or sending Accept: text/markdown.For Search and Extract, use /v1/search and /v1/extract for all new integrations and agent tool calls. Use /v1beta/search and /v1beta/extract only when maintaining an existing integration that already uses them. Do not substitute /v1 for the documented FindAll or Ingest endpoint paths.How it works
- You send a question to the gateway, a small FastAPI app, and get back a run ID.
- The agent breaks your question into smaller questions it can research separately.
- Each research branch uses Parallel Search and Extract to find information. Search uses
fastmode by default. Extract returns focused excerpts within a set content budget. - A final task brings the findings together in a report with source links.
- You use the run ID to check progress and fetch the report.
What you’ll need
- A Render account and Render API key with access to the workspace where you will create the Workflow.
- A Parallel API key.
- An Anthropic API key to use the template’s defaults. You can also use another provider through LiteLLM.
- A terminal with
curlto submit a question and retrieve the result.
ANTHROPIC_API_KEY field blank and configure your provider’s credentials and model settings on the Workflow as described below. The gateway only uses the Render key to dispatch tasks; you don’t need to fork the repository just to switch providers.
The gateway runs on a paid Starter web service. You’ll also pay for Workflow usage and API calls, so check the costs before you deploy.
Deploy the application
1. Deploy the gateway
Deploy to Render. Render reads the template’s Blueprint file and sets up a Python web service calledparallel-research-gateway. Enter PARALLEL_API_KEY and RENDER_API_KEY when prompted. If you use Anthropic, also enter ANTHROPIC_API_KEY; otherwise leave that field blank. Leave RENDER_WORKFLOW_SLUG blank for now.
Render also creates an API_SECRET. You’ll use it to submit questions, so keep it set on the hosted gateway.
There are two parts to deploy: the gateway and the Workflow. The button sets up the gateway. You’ll add the Workflow next.
repo parameter with your fork’s URL, and use that same fork for the Workflow.
2. Create the Workflow service
In the Render Dashboard, choose New → Workflow, then My own workflow. Connect the same repository used by the gateway. To use the public repository without connecting a Git provider, choose Public Git Repository and enter:- Build command:
pip install -r requirements.txt - Start command:
python -m workflow.main - Environment variables:
PARALLEL_API_KEYandANTHROPIC_API_KEY
LLM_MODEL and PLANNER_MODEL to that provider’s LiteLLM model identifiers. The template’s configuration instructions list the current defaults. Choose a model that supports tool calling for LLM_MODEL.
Deploy the Workflow, then check that its tasks appear in the dashboard. They use the default Flex compute plan.
3. Connect the gateway
Open theresearch_agent task in Render and find its task slug, which has the form your-workflow/research_agent. Copy just the Workflow portion, your-workflow. Open the gateway’s Environment page and paste it into RENDER_WORKFLOW_SLUG. If that variable isn’t listed because you left it blank earlier, add it now.
Save the change and wait for the gateway to redeploy. Copy its public URL for the next step.
Submit a question
CopyAPI_SECRET from the gateway’s Environment page, then fill in your gateway URL and secret below:
run_id and status: "dispatched". Save the run ID and use it to check the result below. Send the POST once: each new submission starts another billable research job.
For this hosted setup, use the request above. The gateway’s browser form is for local development.
Get your report
Paste the run ID you just received:status is completed or failed. While the agent is working, result is null. When status is completed, you’ll find the report in result.report and its source URLs in result.sources. Check result.branches_completed, result.branches_failed, and result.failed_questions to see how much of the research finished.
A failed run has no report: result stays null. If something fails, check the task logs in Render before starting another run. A 401 when submitting means the secret is missing or incorrect. A 503 about an unset Workflow slug means you still need to connect the gateway. A 429 means you’ve reached the gateway’s submission limit.
Submitting a question requires your secret. Reading results or progress does not. Stick to non-sensitive questions until you’ve added access controls for private research.
Check the findings
Read through the report before relying on it. Even a completed run can include incorrect claims, so check important figures, units, dates, and the passages it cites. Look atfailed_questions for gaps. The sources array is pulled from the generated report, not a verified log of pages the agent read. It holds up to 20 URLs; that count doesn’t tell you whether the research is complete or accurate.
Costs
The cost of a report depends on how much research it takes. There are four parts to keep track of:- Gateway hosting: the Starter web service costs money while it’s running, including between questions. See Render pricing.
- Workflow usage: Render charges for task compute and temporarily storing task inputs and results. See Workflow limits and pricing.
- Parallel usage: Search pricing depends on the mode and requested results. Extract is billed per URL, and one call can include several URLs. See Parallel pricing.
- Model usage: your provider charges for the model calls used to plan, research, and write the report. The model, token usage, and retries all affect the cost.
tool_calls_made count combines Search and Extract calls from successful branches and leaves out failed attempts, so it won’t give you the full bill. Limiting submissions also won’t set a dollar cap on spending.
Customize or run locally
Want to try it locally? Follow the repository’s local development instructions to start the Workflow server and gateway. To make the agent your own, start with workflow/tasks.py. You can change the prompts, number of branches, and how many research turns each branch gets. On the Workflow, setPARALLEL_SEARCH_MODE to choose a Search mode, or PARALLEL_EXTRACT_MAX_CHARS to adjust the Extract content budget.