# How we built parallelmpp.dev

Tags:Cookbook
Reading time: 7 min
How we built parallelmpp.dev

We recently shipped parallelmpp.dev[parallelmpp.dev](https://parallelmpp.dev/), a gateway that puts Parallel's Search, Extract, and Task APIs behind HTTP 402 Payment Required. An agent can call it without an API key, without a contract, and without a human in the loop. It pays per request in the rail of its choice (Tempo stablecoins, or x402 on Base), gets back the same response shape Parallel customers see today, and moves on.

This is the engineering story behind that launch: why HTTP 402 turned out to be the right contract for autonomous agents, how we run two payment rails on one gateway, and the design choices that fell out of treating the price tag as the only thing the caller has to agree to.

Illustration demonstrating deep research API concepts, web search capabilities, or AI agent integration features
![](https://cdn.sanity.io/images/5hzduz3y/production/df38d844316ad9c572f7f74b9a9fabb0cbbc69ad-2048x1579.png)

## The problem we wanted to solve

Parallel's APIs are built for agents. The provisioning model around them, on the other hand, was built for humans. To call Search or Task today, you create an account, generate a key, paste it into your environment, and live with the consequences if it leaks. That works fine when a developer is in the loop. It breaks down the moment the caller is itself an agent making a one-off decision: "Should I spend two cents to read this page right now?" Asking that question requires a payment relationship that exists at request time, not at onboarding time.

HTTP 402 is the one status code in the spec that contemplates this. The Machine Payments Protocol (MPP) gives 402 a wire format: a WWW-Authenticate: Payment challenge on the unpaid request, an Authorization: Payment credential on the retry, and an on-chain or Stripe-backed settlement in between. The contract is small enough to fit on one screen and old enough to ride on every HTTP client an agent already uses. We picked it as the substrate for the gateway and started designing inward from there.

## Two rails, one gateway

The gateway exposes three paid endpoints (POST /api/search at $0.01, POST /api/extract at $0.01 per URL, and POST /api/task at $0.30 ultra or $0.10 pro), plus free routes for discovery, task polling, and wallet balance lookups. The interesting decision was on the payment side: not which rail to support, but how to support more than one without forking the route surface.

We landed on two rails, all routed through the same middleware:

  • - **Tempo stablecoins** (pathUSD or USDC) for agents that already hold a wallet. The mppx CLI signs a transfer on Tempo, and the gateway verifies it with getTransactionReceipt.
  • - **x402** (USDC on Base) via Stripe's purl CLI, for callers in the x402 ecosystem.

A single middleware instance handles the 402 issuance and credential verification for both of the routes. The route handler doesn't know, or care, which rail the caller used. It sees a 200, a Payment-Receipt header, and a parsed body, and proceeds as if it were any other authenticated request. That separation matters because we can add or retire a rail without touching the routes that call Parallel.

## Stateless challenges

The first design choice we got right early was making 402 challenges stateless. The challenge has an ID field that is an HMAC-SHA256 of the challenge parameters: realm, method, intent, request body, and expiry. When the client retries with a credential referencing that ID, we recompute the HMAC against the parameters in the credential and check the IDs match. We never write the issued challenge anywhere.

This sounds incidental. It isn't. Stateless issuance means the gateway can horizontally scale behind any load balancer, restart cleanly, and survive a database outage without dropping in-flight requests. It also means there is no challenge replay window to manage and no TTL to tune. The expiry travels inside the signed parameters; if a client tries to redeem a credential past it, the math fails, and the request 402s again. The whole challenge layer is a pure function.

## Using Stripe deposit addresses

Stripe's preview API for crypto PaymentIntents returns a Tempo and Base deposit address. We cache that address in a small in-memory set, return it as the recipient on the 402 challenge, and on retry, confirm the credential references an address from our cache before passing the request to mppx or purl for verification.

### Determining where a customer should send a crypto payment
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
async function createPayToAddress(request: Request, amountCents: number): Promise<`0x${string}`> { const authHeader = request.headers.get('authorization') if (authHeader && Credential.extractPaymentScheme(authHeader)) { const credential = Credential.fromRequest(request) const toAddress = credential.challenge.request.recipient as `0x${string}` if (!validPayToAddresses.has(toAddress)) { throw new Error('Invalid payTo address: not found in server cache') } return toAddress } const paymentIntent = await stripe.paymentIntents.create({ amount: amountCents, currency: 'usd', payment_method_types: ['crypto'], payment_method_data: { type: 'crypto' }, payment_method_options: { crypto: { mode: 'deposit', deposit_options: { networks: ['tempo', 'base'] }, }, }, confirm: true, return_url: `${baseUrl}/api`, } as any) const depositDetails = paymentIntent.next_action.crypto_display_details const payToAddress = depositDetails.deposit_addresses?.tempo?.address validPayToAddresses.add(payToAddress) return payToAddress as `0x${string}` }```
async function createPayToAddress(request: Request, amountCents: number): Promise<`0x${string}`> {
const authHeader = request.headers.get('authorization')
if (authHeader && Credential.extractPaymentScheme(authHeader)) {
const credential = Credential.fromRequest(request)
const toAddress = credential.challenge.request.recipient as `0x${string}`
if (!validPayToAddresses.has(toAddress)) {
throw new Error('Invalid payTo address: not found in server cache')
}
return toAddress
}
 
const paymentIntent = await stripe.paymentIntents.create({
amount: amountCents,
currency: 'usd',
payment_method_types: ['crypto'],
payment_method_data: { type: 'crypto' },
payment_method_options: {
crypto: {
mode: 'deposit',
deposit_options: { networks: ['tempo', 'base'] },
},
},
confirm: true,
return_url: `${baseUrl}/api`,
} as any)
 
const depositDetails = paymentIntent.next_action.crypto_display_details
const payToAddress = depositDetails.deposit_addresses?.tempo?.address
validPayToAddresses.add(payToAddress)
return payToAddress as `0x${string}`
}
```

The cache is leak-tolerant by design. If we lose it during a deploy, the worst case is a few in-flight credentials that 500 instead of 200 because the recipient isn't recognized; the agent retries, gets a fresh challenge, and continues. We leverage Stripe's PaymentIntent record as the durable settlement ledger, not our process memory. We get crypto rails for the on-chain settlement and Stripe for the dashboard, ledger, and reconciliation. That combination took a few iterations to land on, but once we had it, the gateway felt finished.

## Two caller modes, one route

We wanted POST /api/search to mean the same thing whether it came from a curl with a credential header, the browser with a WebAuthn-signed credential, or an agent calling through the server-side auto-pay proxy. The handler shouldn't care. The contract is the 402 challenge, not the client.

The two modes look like this:

### MODE 1: CLI with mppx
1
npx mppx https://parallelmpp.dev/api/search -J '{"query":"AI agent payments 2026"}'```
npx mppx https://parallelmpp.dev/api/search -J '{"query":"AI agent payments 2026"}'
```
### MODE 2: CLI with purl
1
purl https://parallelmpp.dev/api/search -J '{"query":"AI agent payments 2026"}'```
purl https://parallelmpp.dev/api/search -J '{"query":"AI agent payments 2026"}'
```

## Discovery as the contract

The most agent-native thing we did was make the protocol self-describing. GET /api is free and returns a JSON document with every endpoint, its price, the request body schema, ready-to-paste curl and mppx commands, and a short description of the 402 flow:

### JSON response
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{ "description": "Parallel API gateway with single payment rail: MPP/Tempo (pathUSD)", "endpoints": { "POST /api/search": { "price": "$0.01", "body": "objective + search_queries, or query" }, "POST /api/extract": { "price": "$0.01/url", "body": { "urls": "string[]", "objective": "string?" } }, "POST /api/task": { "price": "$0.30 (ultra) / $0.10 (pro)", "body": "input + processor" } }, "agent_integration": { "mppx_setup": ["npx mppx account create"], "mppx_usage": [ "npx mppx https://parallelmpp.dev/api/search -J '{\"query\":\"AI funding 2026\"}'", "npx mppx https://parallelmpp.dev/api/extract -J '{\"urls\":[\"https://example.com\"]}'", "npx mppx https://parallelmpp.dev/api/task -J '{\"input\":\"HVAC market\",\"processor\":\"ultra\"}'" ] } }```
{
"description": "Parallel API gateway with single payment rail: MPP/Tempo (pathUSD)",
"endpoints": {
"POST /api/search": { "price": "$0.01", "body": "objective + search_queries, or query" },
"POST /api/extract": { "price": "$0.01/url", "body": { "urls": "string[]", "objective": "string?" } },
"POST /api/task": { "price": "$0.30 (ultra) / $0.10 (pro)", "body": "input + processor" }
},
"agent_integration": {
"mppx_setup": ["npx mppx account create"],
"mppx_usage": [
"npx mppx https://parallelmpp.dev/api/search -J '{\"query\":\"AI funding 2026\"}'",
"npx mppx https://parallelmpp.dev/api/extract -J '{\"urls\":[\"https://example.com\"]}'",
"npx mppx https://parallelmpp.dev/api/task -J '{\"input\":\"HVAC market\",\"processor\":\"ultra\"}'"
]
}
}
 
```

Pricing constants live in a single api-config.ts module that feeds the middleware, the route handlers, the discovery JSON, and the UI. When we change a price, the document an agent reads at runtime updates in lockstep with what the middleware will charge. There is no version of the truth that disagrees with another version of the truth.

## A Claude skill in the box

The launch ships with a Claude skill that drops a SKILL.md file into a project's .claude/skills/parallel-mpp/ directory and tells Claude Code to prefer the gateway's Search and Extract endpoints over its built-in web tools. Once the skill is in place, Claude reads GET /api to discover the schema, calls npx mppx to handle the 402 round-trip, and feeds the structured Parallel response back into its reasoning. We tested it against Claude's native search on the same prompts and saw the kind of difference you'd expect: more grounded citations, fewer dropped facts, and an audit trail that shows up in explore.tempo.xyz next to the Stripe Dashboard. Other agent runtimes (Codex, custom MCP servers, anything that can shell out) can use the same setup.

## What we'd build next

Two things on the list. First, **per-agent budget headers**: a way for a caller to advertise its remaining spend on the request, so an agent that hits a budget gate gets a structured 403 instead of a 200 it can't afford. Second, **streamed 402 challenges for long Task runs**: today, the gateway charges at submission and lets the run play out, but a more honest model is per-step billing for ultra-tier deep research. Both are protocol-level rather than gateway-level, and we're tracking them with the MPP working group.

If you want to see the gateway in action, the docs page at docs.parallel.ai/integrations/agentic-payments[docs.parallel.ai/integrations/agentic-payments](https://docs.parallel.ai/integrations/agentic-payments) has the full setup, the Claude skill, and ready-to-run mppx commands. The fastest first call is one line:

### Try it
1
npx mppx https://parallelmpp.dev/api/search -J '{"query":"agentic payments 2026"}'```
npx mppx https://parallelmpp.dev/api/search -J '{"query":"agentic payments 2026"}'
```

It will return a 402, sign the challenge, retry, and hand back a Parallel search result. That round-trip is the whole product.

Son Do avatar

By Son Do

May 5, 2026

## Related Posts66

Parallel Monitor API: New processor tiers, snapshots and event streams, and Basis on every event
Parallel avatar

- [Parallel Monitor API: New processor tiers, snapshots and event streams, and Basis on every event](https://parallel.ai/blog/monitor-api-ga)

Tags:Product Release
Reading time: 7 min
Actively + Parallel

- [How Actively's Per Account Agents use Parallel to turn the entire web into a proactive sales intelligence layer](https://parallel.ai/blog/case-study-actively)

Tags:Case Study
Reading time: 6 min
Parallel Raises at $2 Billion Valuation to Scale Web Infrastructure for Agents

- [Parallel Raises at $2 Billion Valuation to Scale Web Infrastructure for Agents](https://parallel.ai/blog/series-b)

Tags:Fundraise
Reading time: 2 min
Fully Free CLI with Pi, Ollama, Gemma 4, Parallel
Matt Harris avatar

- [Building a free CLI agent with Pi, Ollama, Gemma 4, and Parallel](https://parallel.ai/blog/free-CLI-agent)

Tags:Cookbook
Reading time: 4 min
Parallel Search is now free via MCP

- [Parallel Search is now free for agents via MCP](https://parallel.ai/blog/free-web-search-mcp)

Reading time: 2 min
Search & Extract Benchmarks

- [Upgrades to the Parallel Search & Extract APIs](https://parallel.ai/blog/parallel-search-extract-ga)

Tags:Benchmarks
Reading time: 5 min
How Finch is scaling plaintiff law with AI agents that research like associates

- [How Finch is scaling plaintiff law with AI agents that research like associates](https://parallel.ai/blog/case-study-finch)

Tags:Case Study
Reading time: 3 min
Genpact and Parallel Web Systems Partner to Drive Tangible Efficiency from AI Systems

- [Genpact and Parallel Web Systems Partner to Drive Tangible Efficiency from AI Systems](https://parallel.ai/blog/genpact-parallel-partnership)

Tags:Partnership
Reading time: 4 min
Genpact & Parallel

- [How Genpact helps top US insurers cut contents claims processing times in half with Parallel ](https://parallel.ai/blog/case-study-genpact)

Tags:Case Study
Reading time: 4 min
DeepSearchQA: Parallel Task API benchmarks deepresearch

- [A new deep research frontier on DeepSearchQA with the Task API Harness](https://parallel.ai/blog/deepsearchqa-taskapi-harness)

Tags:Benchmarks
Reading time: 7 min
How Modal saves tens of thousands annually by building in-house GTM pipelines with Parallel

- [How Modal saves tens of thousands annually by building in-house GTM pipelines with Parallel](https://parallel.ai/blog/case-study-modal)

Tags:Case Study
Reading time: 4 min
Opendoor and Parallel Case Study

- [How Opendoor uses Parallel as the enterprise grade web research layer powering its AI-native real estate operations](https://parallel.ai/blog/case-study-opendoor)

Tags:Case Study
Reading time: 6 min
Introducing stateful web research agents with multi-turn conversations

- [Introducing stateful web research agents with multi-turn conversations](https://parallel.ai/blog/task-api-interactions)

Tags:Product Release
Reading time: 3 min
Parallel is now live on Tempo via the Machine Payments Protocol (MPP)

- [Parallel is live on Tempo, now available natively to agents with the Machine Payments Protocol](https://parallel.ai/blog/tempo-stripe-mpp)

Tags:Partnership
Reading time: 4 min
Kepler | Parallel Case Study

- [How Parallel helped Kepler build AI that finance professionals can actually trust](https://parallel.ai/blog/case-study-kepler)

Tags:Case Study
Reading time: 5 min
Introducing the Parallel CLI

- [Introducing the Parallel CLI](https://parallel.ai/blog/parallel-cli)

Tags:Product Release
Reading time: 3 min
Profound + Parallel Web Systems

- [How Profound helps brands win AI Search with high-quality web research and content creation powered by Parallel](https://parallel.ai/blog/case-study-profound)

Tags:Case Study
Reading time: 4 min
How Harvey is expanding legal AI internationally with Parallel

- [How Harvey is expanding legal AI internationally with Parallel](https://parallel.ai/blog/case-study-harvey)

Tags:Case Study
Reading time: 3 min
Tabstack + Parallel Case Study

- [How Tabstack by Mozilla enables agents to navigate the web with Parallel’s best-in-class web search](https://parallel.ai/blog/case-study-tabstack)

Tags:Case Study
Reading time: 5 min
Parallel | Vercel

- [Parallel Web Tools and Agents now available across Vercel AI Gateway, AI SDK, and Marketplace](https://parallel.ai/blog/vercel)

Tags:Product Release
Reading time: 3 min
Product release: Authenticated page access for the Parallel Task API

- [Authenticated page access for the Parallel Task API](https://parallel.ai/blog/authenticated-page-access)

Tags:Product Release
Reading time: 3 min
Introducing structured outputs for the Monitor API

- [Introducing structured outputs for the Monitor API](https://parallel.ai/blog/structured-outputs-monitor)

Tags:Product Release
Reading time: 3 min
Product release: Research Models with Basis for the Parallel Chat API

- [Introducing research models with Basis for the Parallel Chat API](https://parallel.ai/blog/research-models-chat)

Tags:Product Release
Reading time: 2 min
Parallel + Cerebras

- [Build a real-time fact checker with Parallel and Cerebras](https://parallel.ai/blog/cerebras-fact-checker)

Tags:Cookbook
Reading time: 5 min
DeepSearch QA: Task API

- [Parallel Task API achieves state-of-the-art accuracy on DeepSearchQA](https://parallel.ai/blog/deepsearch-qa)

Tags:Benchmarks
Reading time: 3 min
Product release: Granular Basis

- [Introducing Granular Basis for the Task API](https://parallel.ai/blog/granular-basis-task-api)

Tags:Product Release
Reading time: 3 min
How Amp’s coding agents build better software with Parallel Search

- [How Amp’s coding agents build better software with Parallel Search](https://parallel.ai/blog/case-study-amp)

Tags:Case Study
Reading time: 3 min
Latency improvements on the Parallel Task API

- [Latency improvements on the Parallel Task API ](https://parallel.ai/blog/task-api-latency)

Tags:Product Release
Reading time: 3 min
Product release: Extract

- [Introducing Parallel Extract](https://parallel.ai/blog/introducing-parallel-extract)

Tags:Product Release
Reading time: 2 min
FindAll API - Product Release

- [Introducing Parallel FindAll](https://parallel.ai/blog/introducing-findall-api)

Tags:Product Release,Benchmarks
Reading time: 4 min
Product release: Monitor API

- [Introducing Parallel Monitor](https://parallel.ai/blog/monitor-api)

Tags:Product Release
Reading time: 3 min
Parallel raises $100M Series A to build web infrastructure for agents

- [Parallel raises $100M Series A to build web infrastructure for agents](https://parallel.ai/blog/series-a)

Tags:Fundraise
Reading time: 3 min
How Macroscope reduced code review false positives with Parallel

- [How Macroscope reduced code review false positives with Parallel](https://parallel.ai/blog/case-study-macroscope)

Reading time: 2 min
Product release - Parallel Search API

- [Introducing Parallel Search](https://parallel.ai/blog/introducing-parallel-search)

Tags:Benchmarks
Reading time: 7 min
Benchmarks: SealQA: Task API

- [Parallel processors set new price-performance standard on SealQA benchmark](https://parallel.ai/blog/benchmarks-task-api-sealqa)

Tags:Benchmarks
Reading time: 3 min
Introducing LLMTEXT, an open source toolkit for the llms.txt standard

- [Introducing LLMTEXT, an open source toolkit for the llms.txt standard](https://parallel.ai/blog/LLMTEXT-for-llmstxt)

Tags:Product Release
Reading time: 7 min
Starbridge + Parallel

- [How Starbridge powers public sector GTM with state-of-the-art web research](https://parallel.ai/blog/case-study-starbridge)

Tags:Case Study
Reading time: 4 min
Building a market research platform with Parallel Deep Research

- [Building a market research platform with Parallel Deep Research](https://parallel.ai/blog/cookbook-market-research-platform-with-parallel)

Tags:Cookbook
Reading time: 4 min
How Lindy brings state-of-the-art web research to automation flows

- [How Lindy brings state-of-the-art web research to automation flows](https://parallel.ai/blog/case-study-lindy)

Tags:Case Study
Reading time: 3 min
Introducing the Parallel Task MCP Server

- [Introducing the Parallel Task MCP Server](https://parallel.ai/blog/parallel-task-mcp-server)

Tags:Product Release
Reading time: 4 min
Introducing the Core2x Processor for improved compute control on the Task API

- [Introducing the Core2x Processor for improved compute control on the Task API](https://parallel.ai/blog/core2x-processor)

Tags:Product Release
Reading time: 2 min
How Day AI merges private and public data for business intelligence

- [How Day AI merges private and public data for business intelligence](https://parallel.ai/blog/case-study-day-ai)

Tags:Case Study
Reading time: 4 min
Full Basis framework for all Task API Processors

- [Full Basis framework for all Task API Processors](https://parallel.ai/blog/full-basis-framework-for-task-api)

Tags:Product Release
Reading time: 2 min
Building a real-time streaming task manager with Parallel

- [Building a real-time streaming task manager with Parallel](https://parallel.ai/blog/cookbook-sse-task-manager-with-parallel)

Tags:Cookbook
Reading time: 5 min
How Gumloop built a new AI automation framework with web intelligence as a core node

- [How Gumloop built a new AI automation framework with web intelligence as a core node](https://parallel.ai/blog/case-study-gumloop)

Tags:Case Study
Reading time: 3 min
Introducing the TypeScript SDK

- [Introducing the TypeScript SDK](https://parallel.ai/blog/typescript-sdk)

Tags:Product Release
Reading time: 1 min
Building a serverless competitive intelligence platform with MCP + Task API

- [Building a serverless competitive intelligence platform with MCP + Task API](https://parallel.ai/blog/cookbook-competitor-research-with-reddit-mcp)

Tags:Cookbook
Reading time: 6 min
Introducing Parallel Deep Research reports

- [Introducing Parallel Deep Research reports](https://parallel.ai/blog/deep-research-reports)

Tags:Product Release
Reading time: 2 min
BrowseComp / DeepResearch: Task API

- [A new pareto-frontier for Deep Research price-performance](https://parallel.ai/blog/deep-research-benchmarks)

Tags:Benchmarks
Reading time: 4 min
Building a Full-Stack Search Agent with Parallel and Cerebras

- [Building a Full-Stack Search Agent with Parallel and Cerebras](https://parallel.ai/blog/cookbook-search-agent)

Tags:Cookbook
Reading time: 5 min
Webhooks for the Parallel Task API

- [Webhooks for the Parallel Task API](https://parallel.ai/blog/webhooks)

Tags:Product Release
Reading time: 2 min
Introducing Parallel: Web Search Infrastructure for AIs

- [Introducing Parallel: Web Search Infrastructure for AIs ](https://parallel.ai/blog/introducing-parallel)

Tags:Benchmarks,Product Release
Reading time: 6 min
Introducing SSE for Task Runs

- [Introducing SSE for Task Runs](https://parallel.ai/blog/sse-for-tasks)

Tags:Product Release
Reading time: 2 min
A new line of advanced Processors: Ultra2x, Ultra4x, and Ultra8x

- [A new line of advanced Processors: Ultra2x, Ultra4x, and Ultra8x ](https://parallel.ai/blog/new-advanced-processors)

Tags:Product Release
Reading time: 2 min
Introducing Auto Mode for the Parallel Task API

- [Introducing Auto Mode for the Parallel Task API](https://parallel.ai/blog/task-api-auto-mode)

Tags:Product Release
Reading time: 1 min
A linear dithering of a search interface for agents

- [A state-of-the-art search API purpose-built for agents](https://parallel.ai/blog/search-api-benchmark)

Tags:Benchmarks
Reading time: 3 min
Parallel Search MCP Server in Devin

- [Parallel Search MCP Server in Devin](https://parallel.ai/blog/parallel-search-mcp-in-devin)

Tags:Product Release
Reading time: 2 min
Introducing Tool Calling via MCP Servers

- [Introducing Tool Calling via MCP Servers](https://parallel.ai/blog/mcp-tool-calling)

Tags:Product Release
Reading time: 2 min
Introducing the Parallel Search MCP Server

- [Introducing the Parallel Search MCP Server ](https://parallel.ai/blog/search-mcp-server)

Tags:Product Release
Reading time: 2 min
Starting today, Source Policy is available for both the Parallel Task API and Search API - giving you granular control over which sources your AI agents access and how results are prioritized.

- [Introducing Source Policy](https://parallel.ai/blog/source-policy)

Tags:Product Release
Reading time: 1 min
The Parallel Task Group API

- [The Parallel Task Group API](https://parallel.ai/blog/task-group-api)

Tags:Product Release
Reading time: 1 min
State of the Art Deep Research APIs

- [State of the Art Deep Research APIs](https://parallel.ai/blog/deep-research)

Tags:Benchmarks
Reading time: 3 min
Introducing the Parallel Search API

- [Parallel Search API is now available in alpha](https://parallel.ai/blog/parallel-search-api)

Tags:Product Release
Reading time: 2 min
Introducing the Parallel Chat API - a low latency web research API for web based LLM completions. The Parallel Chat API returns completions in text and structured JSON format, and is OpenAI Chat Completions compatible.

- [Introducing the Parallel Chat API ](https://parallel.ai/blog/chat-api)

Tags:Product Release
Reading time: 1 min
Parallel Web Systems introduces Basis with calibrated confidences - a new verification framework for AI web research and search API outputs that sets a new industry standard for transparent and reliable deep research.

- [Introducing Basis with Calibrated Confidences ](https://parallel.ai/blog/introducing-basis-with-calibrated-confidences)

Tags:Product Release
Reading time: 4 min
The Parallel Task API is a state-of-the-art system for automated web research that delivers the highest accuracy at every price point.

- [Introducing the Parallel Task API](https://parallel.ai/blog/parallel-task-api)

Tags:Product Release,Benchmarks
Reading time: 4 min
![Company Logo](https://parallel.ai/parallel-logo-540.png)

Contact

  • hello@parallel.ai[hello@parallel.ai](mailto:hello@parallel.ai)

Products

  • Search API[Search API](https://docs.parallel.ai/search/search-quickstart)
  • Extract API[Extract API](https://docs.parallel.ai/extract/extract-quickstart)
  • Task API[Task API](https://docs.parallel.ai/task-api/task-quickstart)
  • FindAll API[FindAll API](https://docs.parallel.ai/findall-api/findall-quickstart)
  • Chat API[Chat API](https://docs.parallel.ai/chat-api/chat-quickstart)
  • Monitor API[Monitor API](https://docs.parallel.ai/monitor-api/monitor-quickstart)

Resources

  • About[About](https://parallel.ai/about)
  • Pricing[Pricing](https://parallel.ai/pricing)
  • Docs[Docs](https://docs.parallel.ai)
  • Blog[Blog](https://parallel.ai/blog)
  • Changelog[Changelog](https://docs.parallel.ai/resources/changelog)
  • Careers[Careers](https://jobs.ashbyhq.com/parallel)

Info

  • Terms of Service[Terms of Service](https://parallel.ai/terms-of-service)
  • Customer Terms[Customer Terms](https://parallel.ai/customer-terms)
  • Privacy[Privacy](https://parallel.ai/privacy-policy)
  • Acceptable Use[Acceptable Use](https://parallel.ai/acceptable-use-policy)
  • Trust Center[Trust Center](https://trust.parallel.ai/)
  • Report Security Issue[Report Security Issue](mailto:security@parallel.ai)
LinkedIn[LinkedIn](https://www.linkedin.com/company/parallel-web/about/)Twitter[Twitter](https://x.com/p0)GitHub[GitHub](https://github.com/parallel-web)
All Systems Operational
![SOC 2 Compliant](https://parallel.ai/soc2.svg)

Parallel Web Systems Inc. 2026