Install
openclaw skills install perplexity-researchConduct deep research using Perplexity Agent API with web search, reasoning, and multi-model analysis. Use when the user needs current information, market research, trend analysis, investment insights, or comprehensive research on any topic requiring web search and reasoning capabilities.
openclaw skills install perplexity-researchResearch assistant powered by Perplexity Agent API with web search and reasoning capabilities.
The Perplexity client is available at scripts/perplexity_client.py in this skill folder.
Default model: openai/gpt-5.2 (GPT latest)
Key capabilities:
Use for comprehensive analysis requiring web search and reasoning:
# Import from skill scripts folder
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent / "scripts"))
from perplexity_client import PerplexityClient
client = PerplexityClient()
result = client.research_query(
query="Your research question here",
model="openai/gpt-5.2",
reasoning_effort="high",
max_tokens=2000
)
if "error" not in result:
print(result["answer"])
print(f"Tokens: {result['tokens']}, Cost: ${result['cost']}")
Use for time-sensitive or current information:
result = client.search_query(
query="Your question about current events",
model="openai/gpt-5.2",
max_tokens=1000
)
Use when output quality is critical:
results = client.compare_models(
query="Your question",
models=["openai/gpt-5.2", "anthropic/claude-3-5-sonnet", "google/gemini-2.0-flash"],
max_tokens=300
)
for result in results:
if "error" not in result:
print(f"\n{result['model']}: {result['answer']}")
Use for better UX with lengthy analysis:
client.stream_query(
query="Your question",
model="openai/gpt-5.2",
use_search=True,
max_tokens=2000
)
When conducting research:
research_query() with web search enabledcompare_models()Default: openai/gpt-5.2 (Latest GPT model)
Alternative models:
anthropic/claude-3-5-sonnet - Strong reasoning, balanced performancegoogle/gemini-2.0-flash - Fast, cost-effectivemeta/llama-3.3-70b - Open source alternativeSwitch models based on:
Control analysis depth with reasoning_effort:
"low" - Quick answers, minimal reasoning"medium" - Balanced reasoning (default for most queries)"high" - Deep analysis, comprehensive research (recommended for research)Ensure PERPLEXITY_API_KEY is set:
export PERPLEXITY_API_KEY='your_api_key_here'
Or create .env file in the skill's scripts/ directory:
PERPLEXITY_API_KEY=your_api_key_here
All methods return error information:
result = client.research_query("Your question")
if "error" in result:
print(f"Error: {result['error']}")
# Handle error appropriately
else:
# Process successful result
print(result["answer"])
max_tokens to limit response lengthsearch_query() instead of research_query() for simpler questionsresult["cost"] fieldclient = PerplexityClient()
# Market analysis
result = client.research_query(
query="Analyze recent developments in AI chip market and key competitors",
reasoning_effort="high"
)
# Company deep dive
result = client.search_query(
query="Latest earnings report for NVIDIA Q4 2025"
)
# Multi-model validation
results = client.compare_models(
query="What are the biggest risks in the semiconductor industry?",
models=["openai/gpt-5.2", "anthropic/claude-3-5-sonnet"]
)
# Current trends with web search
result = client.research_query(
query="Emerging trends in sustainable investing and ESG adoption rates",
reasoning_effort="high",
max_tokens=2000
)
# Stream for real-time updates
client.stream_query(
query="Latest developments in quantum computing commercialization",
use_search=True
)
# Build context across multiple queries
messages = [
{"role": "user", "content": "What is the current state of fusion energy?"},
{"role": "assistant", "content": "...previous response..."},
{"role": "user", "content": "Which companies are leading in this space?"}
]
result = client.conversation(
messages=messages,
use_search=True
)
result["cost"] and result["tokens"]See reference.md for complete API documentation, or scripts/perplexity_client.py for:
Run from the skill directory:
# Research mode
python scripts/perplexity_client.py research "Your question"
# Web search
python scripts/perplexity_client.py search "Your question"
# Streaming
python scripts/perplexity_client.py stream "Your question"
# Compare models
python scripts/perplexity_client.py compare "Your question"