perplexity

Perplexity API for AI search. Use when user mentions "Perplexity", "AI search", or asks to search with citations.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "perplexity" with this command: npx skills add vm0-ai/vm0-skills/vm0-ai-vm0-skills-perplexity

Perplexity AI

AI search engine that provides real-time web-grounded answers with source citations. Unlike traditional search, Perplexity synthesizes information from multiple sources into coherent responses.

Official docs: https://docs.perplexity.ai/


When to Use

Use this skill when you need to:

  • Get real-time information with source citations
  • Research topics that require up-to-date web data
  • Answer complex questions that need multi-source synthesis
  • Perform academic or SEC filings research
  • Get AI-generated summaries grounded in current web content

Prerequisites

  1. Create an account at https://perplexity.ai/
  2. Navigate to API settings: https://perplexity.ai/account/api
  3. Generate an API key

Set environment variable:

export PERPLEXITY_API_KEY="pplx-your-api-key"

How to Use

1. Chat Completions (Recommended)

AI-powered Q&A with web search and citations. OpenAI SDK compatible.

Basic query with sonar model:

Write to /tmp/perplexity_request.json:

{
  "model": "sonar",
  "messages": [
    {"role": "user", "content": "What is the current price of Bitcoin?"}
  ]
}

Then run:

curl -s -X POST "https://api.perplexity.ai/chat/completions" --header "Authorization: Bearer $(printenv PERPLEXITY_API_KEY)" --header "Content-Type: application/json" -d @/tmp/perplexity_request.json

With system prompt:

Write to /tmp/perplexity_request.json:

{
  "model": "sonar",
  "messages": [
    {"role": "system", "content": "Be precise and concise. Answer in bullet points."},
    {"role": "user", "content": "What are the latest developments in AI?"}
  ]
}

Then run:

curl -s -X POST "https://api.perplexity.ai/chat/completions" --header "Authorization: Bearer $(printenv PERPLEXITY_API_KEY)" --header "Content-Type: application/json" -d @/tmp/perplexity_request.json

Advanced query with sonar-pro:

Write to /tmp/perplexity_request.json:

{
  "model": "sonar-pro",
  "messages": [
    {"role": "user", "content": "Compare the latest iPhone and Samsung Galaxy flagship phones"}
  ],
  "temperature": 0.2,
  "web_search_options": {
    "search_context_size": "high"
  }
}

Then run:

curl -s -X POST "https://api.perplexity.ai/chat/completions" --header "Authorization: Bearer $(printenv PERPLEXITY_API_KEY)" --header "Content-Type: application/json" -d @/tmp/perplexity_request.json

2. Search with Domain Filter

Limit search to specific domains.

Write to /tmp/perplexity_request.json:

{
  "model": "sonar",
  "messages": [
    {"role": "user", "content": "Latest research on transformer architectures"}
  ],
  "search_domain_filter": ["arxiv.org", "openai.com", "anthropic.com"]
}

Then run:

curl -s -X POST "https://api.perplexity.ai/chat/completions" --header "Authorization: Bearer $(printenv PERPLEXITY_API_KEY)" --header "Content-Type: application/json" -d @/tmp/perplexity_request.json

Exclude domains (add - prefix):

Write to /tmp/perplexity_request.json:

{
  "model": "sonar",
  "messages": [
    {"role": "user", "content": "Best programming practices"}
  ],
  "search_domain_filter": ["-reddit.com", "-quora.com"]
}

Then run:

curl -s -X POST "https://api.perplexity.ai/chat/completions" --header "Authorization: Bearer $(printenv PERPLEXITY_API_KEY)" --header "Content-Type: application/json" -d @/tmp/perplexity_request.json

3. Search with Time Filter

Filter by recency.

Write to /tmp/perplexity_request.json:

{
  "model": "sonar",
  "messages": [
    {"role": "user", "content": "Major tech news"}
  ],
  "search_recency_filter": "week"
}

Then run:

curl -s -X POST "https://api.perplexity.ai/chat/completions" --header "Authorization: Bearer $(printenv PERPLEXITY_API_KEY)" --header "Content-Type: application/json" -d @/tmp/perplexity_request.json

Filter by date range:

Write to /tmp/perplexity_request.json:

{
  "model": "sonar",
  "messages": [
    {"role": "user", "content": "AI announcements"}
  ],
  "search_after_date_filter": "12/01/2024",
  "search_before_date_filter": "12/31/2024"
}

Then run:

curl -s -X POST "https://api.perplexity.ai/chat/completions" --header "Authorization: Bearer $(printenv PERPLEXITY_API_KEY)" --header "Content-Type: application/json" -d @/tmp/perplexity_request.json

4. Academic Search

Search academic sources.

Write to /tmp/perplexity_request.json:

{
  "model": "sonar",
  "messages": [
    {"role": "user", "content": "Recent papers on large language model alignment"}
  ],
  "search_mode": "academic"
}

Then run:

curl -s -X POST "https://api.perplexity.ai/chat/completions" --header "Authorization: Bearer $(printenv PERPLEXITY_API_KEY)" --header "Content-Type: application/json" -d @/tmp/perplexity_request.json

5. Raw Search API

Get raw search results without AI synthesis.

Write to /tmp/perplexity_request.json:

{
  "query": "Claude AI Anthropic",
  "max_results": 5
}

Then run:

curl -s -X POST "https://api.perplexity.ai/search" --header "Authorization: Bearer $(printenv PERPLEXITY_API_KEY)" --header "Content-Type: application/json" -d @/tmp/perplexity_request.json

With domain and time filters:

Write to /tmp/perplexity_request.json:

{
  "query": "machine learning tutorials",
  "max_results": 10,
  "search_domain_filter": ["github.com", "medium.com"],
  "search_recency_filter": "month",
  "country": "US"
}

Then run:

curl -s -X POST "https://api.perplexity.ai/search" --header "Authorization: Bearer $(printenv PERPLEXITY_API_KEY)" --header "Content-Type: application/json" -d @/tmp/perplexity_request.json

6. Deep Research (Long-form)

For comprehensive research reports.

Write to /tmp/perplexity_request.json:

{
  "model": "sonar-deep-research",
  "messages": [
    {"role": "user", "content": "Write a comprehensive analysis of the electric vehicle market in 2024"}
  ],
  "reasoning_effort": "high"
}

Then run:

curl -s -X POST "https://api.perplexity.ai/chat/completions" --header "Authorization: Bearer $(printenv PERPLEXITY_API_KEY)" --header "Content-Type: application/json" -d @/tmp/perplexity_request.json

7. Reasoning Model

For complex problem-solving.

Write to /tmp/perplexity_request.json:

{
  "model": "sonar-reasoning-pro",
  "messages": [
    {"role": "user", "content": "Analyze the pros and cons of microservices vs monolithic architecture for a startup"}
  ]
}

Then run:

curl -s -X POST "https://api.perplexity.ai/chat/completions" --header "Authorization: Bearer $(printenv PERPLEXITY_API_KEY)" --header "Content-Type: application/json" -d @/tmp/perplexity_request.json

Models

ModelDescriptionBest For
sonarLightweight, cost-effectiveQuick facts, news, simple Q&A
sonar-proAdvanced search, deeper understandingComplex queries, detailed research
sonar-reasoning-proMulti-step reasoning with searchProblem-solving, analysis
sonar-deep-researchExhaustive research, reportsAcademic research, market analysis

Response Format

Chat completions return:

{
  "id": "uuid",
  "model": "sonar",
  "choices": [
  {
  "message": {
  "role": "assistant",
  "content": "The answer with [1] citations..."
  }
  }
  ],
  "citations": ["https://source1.com", "https://source2.com"],
  "search_results": [
  {
  "title": "Source Title",
  "url": "https://source.com",
  "snippet": "Relevant excerpt..."
  }
  ],
  "usage": {
  "prompt_tokens": 10,
  "completion_tokens": 150,
  "total_tokens": 160
  }
}

Guidelines

  1. Model Selection: Use sonar for simple queries, sonar-pro for complex ones
  2. Cost Optimization: Lower search_context_size reduces costs (low/medium/high)
  3. Domain Filters: Limit to 20 domains max; use - prefix to exclude
  4. Recency Filters: Options are day, week, month, year
  5. Temperature: Lower (0.1-0.3) for factual queries, higher for creative
  6. Rate Limits: Vary by tier; check https://docs.perplexity.ai/guides/rate-limits-usage-tiers
  7. Citations: Response includes numbered citations [1] that map to citations array

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

google-sheets

No summary provided by upstream source.

Repository SourceNeeds Review
-246
vm0-ai
General

apify

No summary provided by upstream source.

Repository SourceNeeds Review
-214
vm0-ai
General

hackernews

No summary provided by upstream source.

Repository SourceNeeds Review
-169
vm0-ai