Parallel Tasks API

The Task API executes web research and extraction tasks. Clients submit a natural-language objective with an optional input schema; the service plans retrieval, fetches relevant URLs, and returns outputs that conform to a provided or inferred JSON schema. Supports deep research style queries and can return rich structured JSON outputs. Processors trade-off between cost, latency, and quality. Each processor supports calibrated confidences. - Output metadata: citations, excerpts, reasoning, and confidence per field Task Groups enable batch execution of many independent Task runs with group-level monitoring and failure handling. - Submit hundreds or thousands of Tasks as a single group - Observe group progress and receive results as they complete - Real-time updates via Server-Sent Events (SSE) - Add tasks to an existing group while it is running - Group-level retry and error aggregation

Operations 12

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /v1/tasks/groups Create a task group to batch runs · Create Task Group #
Ask an LLM
“How do I group many task runs together so I can track them as one batch?”
“Can I attach my own metadata to a task group when I create it?”
Tell an agent
Create a new task group.
Create a task group tagged with metadata {metadata}.
GET /v1/tasks/groups/{taskgroup_id} Get aggregated status of a task group · Retrieve Task Group #
Ask an LLM
“How many runs in my task group have finished versus are still running?”
“Can I see the overall progress of a batch of task runs at a glance?”
Tell an agent
Show the aggregated status of task group {taskgroup_id}.
Summarize progress across all runs in task group {taskgroup_id}.
GET /v1/tasks/groups/{taskgroup_id}/events Stream status events for a task group · Stream Task Group Events #
Ask an LLM
“Can I get live notifications as runs in a task group complete?”
“How long does a task group event stream stay open?”
Tell an agent
Stream status updates and run completions for task group {taskgroup_id}.
Resume task group {taskgroup_id} events after event {last_event_id}.
POST /v1/tasks/groups/{taskgroup_id}/runs Add a batch of task runs to a group · Add Runs to Task Group #
Ask an LLM
“How many task runs can I add to a task group in a single request?”
“Can I set a default task spec for all the runs I add to a group?”
Tell an agent
Add these runs to task group {taskgroup_id}: {inputs}.
Queue {inputs} in task group {taskgroup_id} using default spec {default_task_spec}.
GET /v1/tasks/groups/{taskgroup_id}/runs Fetch the runs in a task group · Fetch Task Group Runs #
Ask an LLM
“How do I get every run in a task group along with its inputs and outputs?”
“Can I fetch only the task group runs with a particular status?”
Tell an agent
Fetch all runs in task group {taskgroup_id} with their outputs.
List the {status} runs in task group {taskgroup_id}.
GET /v1/tasks/groups/{taskgroup_id}/runs/{run_id} Check one run inside a task group · Retrieve Task Group Run #
Ask an LLM
“Can I look up the status of a single run within a specific task group?”
“Where do I check one run's status when I only know its group and run IDs?”
Tell an agent
Check the status of run {run_id} in task group {taskgroup_id}.
Look up group {taskgroup_id} member run {run_id}.
POST /v1/tasks/runs Start a web research task run · Create Task Run #
Ask an LLM
“How do I start a single research task with Parallel and get structured output?”
“Which processor should a task run use, and can I restrict which domains it searches?”
Tell an agent
Start a task run on the {processor} processor with input {input}.
Run {input} with processor {processor} using task spec {task_spec}.
GET /v1/tasks/runs/{run_id} Check a task run's status · Retrieve Task Run #
Ask an LLM
“Is my task run still queued or has it finished?”
“How can I poll a task run's status without waiting for the result?”
Tell an agent
Check the status of task run {run_id}.
Tell me if task run {run_id} is done yet.
GET /v1/tasks/runs/{run_id}/events Stream progress events for a task run · Stream Task Run Events #
Ask an LLM
“Can I watch a task run's progress updates as they happen on the current v1 endpoint?”
“Will I get fewer progress events if I didn't enable events when creating the run?”
Tell an agent
Stream progress events for task run {run_id} using the v1 endpoint.
Follow task run {run_id} state changes live via v1.
GET /v1/tasks/runs/{run_id}/input Get the input a task run was given · Retrieve Task Run Input #
Ask an LLM
“What input did I submit for a particular task run?”
“Can I retrieve the original prompt or JSON a task run started with?”
Tell an agent
Show the input of task run {run_id}.
Get what task run {run_id} was asked to research.
GET /v1/tasks/runs/{run_id}/result Get the output of a completed task run · Retrieve Task Run Result #
Ask an LLM
“How do I get the final output of a task run once it completes?”
“Does fetching a task run's result block until it's finished, and can I set a timeout?”
Tell an agent
Get the result of task run {run_id}.
Wait up to {timeout} seconds for task run {run_id} output.
GET /v1beta/tasks/runs/{run_id}/events Stream task run events (legacy v1beta) · Stream Task Run Events #
Ask an LLM
“Is there still a v1beta endpoint for streaming task run events?”
“Can older beta integrations keep streaming task run progress from the beta path?”
Tell an agent
Stream events for task run {run_id} from the v1beta endpoint.
Use the legacy beta stream to follow task run {run_id}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/parallel-ai:parallel-ai-tasks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

parallel-tasks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Parallel Tasks API
  description: Parallel API
  contact:
    name: Parallel Support
    url: https://parallel.ai
    email: support@parallel.ai
  version: 0.1.2
servers:
- url: https://api.parallel.ai
  description: Parallel API
security:
- ApiKeyAuth: []
tags:


# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/parallel-ai/refs/heads/main/openapi/parallel-tasks-api-openapi.yml