The Perplexity plugin provides web search capabilities through the Perplexity Search API or Perplexity Sonar via OpenRouter.
| 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
```bash
openclaw configure --section web
```
Or set the key directly:
```bash
openclaw config set plugins.entries.perplexity.config.webSearch.apiKey "pplx-xxxxxxxxxxxx"
```
Search modes
The plugin auto-selects the transport based on API key prefix:
| 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
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
<Warning>
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.
</Warning>
<Tip>
The OpenRouter transport is useful if you already have an OpenRouter account
and want consolidated billing across multiple providers.
</Tip>