---
summary: "Perplexity web search provider setup (API key, search modes, filtering)"
title: "Perplexity"
read_when:
- You want to configure Perplexity as a web search provider
- You need the Perplexity API key or OpenRouter proxy setup
---
The Perplexity plugin provides web search capabilities through the Perplexity
Search API or Perplexity Sonar via OpenRouter.
This page is the Perplexity **provider** setup. For the Perplexity **tool** (how the agent uses it), see [Perplexity tool](/tools/perplexity-search).
| Property | Value |
| ----------- | ---------------------------------------------------------------------- |
| Type | Web search provider (not a model provider) |
| Auth | `PERPLEXITY_API_KEY` (direct) or `OPENROUTER_API_KEY` (via OpenRouter) |
| Config path | `plugins.entries.perplexity.config.webSearch.apiKey` |
## Getting started
Run the interactive web-search configuration flow:
```bash
openclaw configure --section web
```
Or set the key directly:
```bash
openclaw config set plugins.entries.perplexity.config.webSearch.apiKey "pplx-xxxxxxxxxxxx"
```
The agent will automatically use Perplexity for web searches once the key is
configured. No additional steps are required.
## Search modes
The plugin auto-selects the transport based on API key prefix:
When your key starts with `pplx-`, OpenClaw uses the native Perplexity Search
API. This transport returns structured results and supports domain, language,
and date filters (see filtering options below).
When your key starts with `sk-or-`, OpenClaw routes through OpenRouter using
the Perplexity Sonar model. This transport returns AI-synthesized answers with
citations.
| Key prefix | Transport | Features |
| ---------- | ---------------------------- | ------------------------------------------------ |
| `pplx-` | Native Perplexity Search API | Structured results, domain/language/date filters |
| `sk-or-` | OpenRouter (Sonar) | AI-synthesized answers with citations |
## Native API filtering
Filtering options are only available when using the native Perplexity API
(`pplx-` key). OpenRouter/Sonar searches do not support these parameters.
When using the native Perplexity API, searches support the following filters:
| Filter | Description | Example |
| -------------- | -------------------------------------- | ----------------------------------- |
| Country | 2-letter country code | `us`, `de`, `jp` |
| Language | ISO 639-1 language code | `en`, `fr`, `zh` |
| Date range | Recency window | `day`, `week`, `month`, `year` |
| Domain filters | Allowlist or denylist (max 20 domains) | `example.com` |
| Content budget | Token limits per response / per page | `max_tokens`, `max_tokens_per_page` |
## Advanced configuration
If the OpenClaw Gateway runs as a daemon (launchd/systemd), make sure
`PERPLEXITY_API_KEY` is available to that process.
A key set only in `~/.profile` will not be visible to a launchd/systemd
daemon unless that environment is explicitly imported. Set the key in
`~/.openclaw/.env` or via `env.shellEnv` to ensure the gateway process can
read it.
If you prefer to route Perplexity searches through OpenRouter, set an
`OPENROUTER_API_KEY` (prefix `sk-or-`) instead of a native Perplexity key.
OpenClaw will detect the prefix and switch to the Sonar transport
automatically.
The OpenRouter transport is useful if you already have an OpenRouter account
and want consolidated billing across multiple providers.
## Related
How the agent invokes Perplexity searches and interprets results.
Full configuration reference including plugin entries.