canonical: https://jentic.com/apis/parallel.ai/parallel

# Parallel API

The Parallel API searches and researches the web for AI applications. Its Search and Extract operations return relevant web content for a set of search_queries or specific urls, and image search finds images on the web. Task runs take an input and a processor such as lite, base, core, or pro and return structured, research-backed results, with task groups for running many inputs together, while FindAll runs discover entities that match stated conditions and Monitors re-run searches or tasks on a fixed frequency to detect changes. A Responses operation and a chat completions endpoint return answers grounded in live web research with URL citations.

## For AI agents

Search the web or extract content from URLs, run deep-research tasks with structured outputs, find all entities matching conditions, and set up monitors that watch web content for changes, all through Parallel.

## Scope

Does not crawl whole websites, host your documents for retrieval, or train models. Use for web search, extraction, research tasks, entity discovery, and web change monitoring only.

## Capabilities

- Search the web for a list of search_queries with an optional objective and character budget through `/v1/search`
- Extract the content relevant to an objective from specific urls through `/v1/extract`
- Run a research task with a processor and input, then poll its status or stream events and fetch the result from `/v1/tasks/runs/{run_id}/result`
- Batch many task runs into a task group and fetch all of the group's runs
- Discover entities matching an objective, entity_type, and match_conditions with a FindAll run, then extend or enrich the results
- Create monitors of type event_stream or snapshot that run on a frequency and report changes through events or a webhook
- Get answers grounded in live web research with URL citations from `/v1/responses`

## Use cases

### Web research for agents through Jentic

An agent that needs current facts calls Parallel's search or responses operation through Jentic instead of relying on its training data. It sends search_queries with an objective, receives relevant excerpts, and cites the source URLs in its answer. Your own Jentic One instance injects the x-api-key header value at call time, so the agent never sees the key.

Example prompt: POST `/v1/search` with objective 'find recent suppliers of solid-state batteries' and search_queries ['solid-state battery supplier 2026', 'solid-state battery partnership announcement'], then summarise the results with their URLs

### Structured research task runs

Teams that need the same research done for many inputs, such as profiling companies from a list, create task runs with a processor and input and a task_spec for the output shape. Runs return immediately in status queued; the agent polls the run or streams its events and then reads the result, and task groups track many runs together.

Example prompt: POST `/v1/tasks/runs` with processor 'core' and input 'Acme Robotics funding history', then GET `/v1/tasks/runs/{run_id}/result` once the run completes

### Entity discovery with FindAll

Lead lists and market maps start with finding every entity that fits. A FindAll run takes an objective, entity_type, match_conditions, generator, and match_limit, returns a queued run, and its result endpoint returns the matched entities; extend adds more matches and enrich adds fields to them.

Example prompt: POST `/v1beta/findall/runs` with objective 'Series A fintech startups in Berlin', entity_type 'company', match_conditions for funding stage and location, a generator, and match_limit 50, then GET `/v1beta/findall/runs/{findall_id}/result`

### Change monitoring on web content

Monitors re-run a search query or a task's output on a fixed frequency and report material changes, so a competitive-intelligence agent learns about new announcements without polling. A monitor takes a type, frequency, and settings, can post to a webhook, and lists its events, and it can be triggered on demand or cancelled.

Example prompt: POST `/v1/monitors` with type 'event_stream', frequency '1d', and settings for the query 'Acme Robotics announcement', then GET `/v1/monitors/{monitor_id}/events` the next day

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/search` | Search the web |
| POST | `/v1/extract` | Extract content from URLs |
| POST | `/v1/tasks/runs` | Create a task run |
| GET | `/v1/tasks/runs/{run_id}/result` | Retrieve a task run result |
| POST | `/v1beta/findall/runs` | Create a FindAll run |
| POST | `/v1/monitors` | Create a monitor |
| POST | `/v1/responses` | Create a web-grounded response |

## Key resources

- **Search and Extract** — Web search, image search, and URL content extraction
- **Task runs and groups** — Research task runs with processors, events, inputs, results, and task groups
- **FindAll** — Entity discovery runs with extend, enrich, cancel, events, schema, and results
- **Monitors** — Scheduled change detection on searches or task outputs with events and stats
- **Responses and chat** — Web-grounded answers with citations and chat completions
- **Memory** — Retrieve, evict, and clear stored research memory

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 64 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 74 / 100
  - Developer Experience & Jentic Compatibility: 64 / 100
  - AI-Readiness & Agent Experience: 49 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 74 / 100
- **View full report:** https://jentic.com/apis/parallel.ai/parallel/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Parallel by hand means the x-api-key header, the parallel-beta header for beta features, and polling or streaming asynchronous task and FindAll runs. Through Jentic you install once, import Parallel from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Parallel puts run, task group, FindAll, and monitor ids in the URL path, such as `/v1/monitors/{monitor_id}`, so a rule can pin your agent to one monitor or one run. You choose the operations it may call, so costly or destructive ones like task runs or memory clear are not included unless you add them.
- **Credential handling:** Your Parallel API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'search the web' or 'run a research task', and Jentic returns the matching Parallel operation with its input schema so the agent sends the right processor and inputs.

## Related APIs

- **Exa** — Neural web search and content retrieval for AI
- **Tavily API** — Search API built for LLM agents
- **Firecrawl API** — Crawl websites and convert pages to clean Markdown

## FAQ

### What authentication does the Parallel API use?

The Parallel API authenticates with an API key sent in the x-api-key header per its OpenAPI spec. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at call time, so it never enters the agent's prompt or logs.

### What is the difference between Search and Task runs in the Parallel API?

POST `/v1/search` returns relevant web excerpts for your search_queries in a single call. POST `/v1/tasks/runs` starts an asynchronous research job with a processor such as lite, base, core, or pro and returns a run in status queued; you then poll it, stream its events, or wait for a webhook, and read the structured result.

### Can I get notified when a task run finishes?

Yes. Task runs, FindAll runs, and monitors accept a webhook in the request body, and task runs and FindAll runs also expose event streams at their events endpoints, so an agent does not have to poll for completion.

### What are the rate limits for the Parallel API?

The OpenAPI spec does not specify rate limits. Check the Parallel documentation at docs.parallel.ai for current limits.

### How do I run a web search through Jentic?

Install Jentic One, add the Parallel API from the Jentic API Directory, and store your Parallel API key once. Your agent searches for 'search the web for current information', gets the search operation with its input schema, and calls POST `/v1/search` with search_queries and an objective. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Is there a Parallel MCP server?

You don't need an MCP server to give your agent the Parallel API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls it, finding operations on demand rather than loading extra tool definitions.

### Can I limit what my agent is allowed to do with the Parallel API?

Yes. Write a rule that allows only POST `/v1/search` and POST `/v1/extract`, and your agent can search and read web pages but cannot start paid task runs, create monitors, or clear memory. Your own Jentic One instance logs what it called.
