Skip to content
cccskills
FreePublished on GitHub

api-perplexity

Search the live web via Perplexity Search API. Use when you need current documentation, release notes, vendor pages, news, domain-constrained web search, or date/recency filtering. Not for local codebase search or stable docs already in context.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md6.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Perplexity Search API

Thin retrieval tool for live web search. The agent plans queries and interprets results; this skill handles raw retrieval only.

Endpoint: POST https://api.perplexity.ai/search Auth: Authorization: Bearer $PERPLEXITY_API_KEY Pricing: $5.00 per 1K requests. No token-based charges.

When to Use

  • Current docs, changelogs, release notes
  • Vendor/library documentation lookup
  • News and time-sensitive information
  • Domain-constrained retrieval (e.g. only official docs sites)
  • Date-filtered search (published/updated before or after a date)

When Not to Use

  • Local codebase search (use Grep/finder)
  • Stable docs already in context
  • Page interaction or scraping (use browser tools)
  • LLM-generated summaries (use Sonar API instead)

Request Schema

All fields except query are optional.

FieldTypeDefaultNotes
querystring | string[]—Required. Up to 5 queries for batch.
max_resultsinteger10Range: 1–20
max_tokensinteger10000Total content budget across all results
max_tokens_per_pageinteger4096Per-page content extraction limit
countrystring—ISO 3166-1 alpha-2 (e.g. "US", "DE")
search_language_filterstring[]—ISO 639-1 codes, max 20 (e.g. ["en"])
search_domain_filterstring[]—Max 20. Prefix "-" to deny (see below)
search_recency_filterstring—"hour" "day" "week" "month" "year"
search_after_date_filterstring—MM/DD/YYYY — results published after
search_before_date_filterstring—MM/DD/YYYY — results published before
last_updated_after_filterstring—MM/DD/YYYY — results updated after
last_updated_before_filterstring—MM/DD/YYYY — results updated before

Domain Filter Rules

One array, two modes. Cannot mix allow and deny in the same request.

// Allowlist — only these domains
"search_domain_filter": ["docs.stripe.com", "stripe.com"]

// Denylist — exclude these domains (prefix with "-")
"search_domain_filter": ["-pinterest.com", "-reddit.com", "-quora.com"]

Response Schema

{
  id: string
  server_time: string | null
  results: Array<{
    title: string       // page title
    url: string         // page URL
    snippet: string     // extracted content
    date: string | null // publication date
    last_updated: string | null
  }>
}

There is no score field. Results are ranked by relevance — use list order as rank. For single queries, results is a flat list. For multi-query batch, results are grouped per query in submission order.

Query Strategy

  1. Start narrow. One precise query beats a broad one.
  2. Use domain filters before broadening query text. Constrain sources first.
  3. Apply recency only when freshness matters. Suppresses good evergreen content.
  4. Use low token budgets for quick lookups. max_tokens_per_page: 512 for headlines.
  5. Batch only for parallel angles. Not for rephrasing the same question.
  6. Prefer 3–5 results unless broad recall is needed.

Examples

Basic search

curl -X POST https://api.perplexity.ai/search \
  -H "Authorization: Bearer $PERPLEXITY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "drizzle orm sqlite migration guide",
    "max_results": 5
  }'

Domain-constrained with recency

curl -X POST https://api.perplexity.ai/search \
  -H "Authorization: Bearer $PERPLEXITY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "breaking changes v5",
    "max_results": 5,
    "search_domain_filter": ["docs.stripe.com"],
    "search_recency_filter": "month"
  }'

Date-filtered search

curl -X POST https://api.perplexity.ai/search \
  -H "Authorization: Bearer $PERPLEXITY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "vite 7 release",
    "max_results": 5,
    "search_after_date_filter": "01/01/2026"
  }'

Lightweight extraction

curl -X POST https://api.perplexity.ai/search \
  -H "Authorization: Bearer $PERPLEXITY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "latest AI developments",
    "max_results": 3,
    "max_tokens": 3000,
    "max_tokens_per_page": 512
  }'

Multi-query batch

curl -X POST https://api.perplexity.ai/search \
  -H "Authorization: Bearer $PERPLEXITY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": [
      "temporal workflow determinism typescript",
      "temporal activity heartbeat pattern"
    ],
    "max_results": 5,
    "search_domain_filter": ["docs.temporal.io"]
  }'

Denylist with language filter

curl -X POST https://api.perplexity.ai/search \
  -H "Authorization: Bearer $PERPLEXITY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "react server components best practices",
    "max_results": 5,
    "search_domain_filter": ["-pinterest.com", "-w3schools.com"],
    "search_language_filter": ["en"]
  }'

Guardrails

  • Date format is MM/DD/YYYY — not ISO 8601.
  • Domain filter is one array — allow or deny, not both simultaneously.
  • No score field — trust result order; do not threshold on numeric scores.
  • max_tokens is content budget, not pricing — controls how much text is extracted, not cost.
  • Batch limit is 5 queries per request.
  • Deduplicate by URL when combining results from multiple searches.
  • Cite sources — include URLs in any answer derived from search results.

Suggested Workflow

  1. Decide if the task needs live web retrieval (current info, external docs).
  2. Formulate 1–3 focused queries. Prefer domain filters over broad text.
  3. Run search with appropriate max_results and token budgets.
  4. Inspect top results — check URL relevance and snippet quality.
  5. If results are thin, refine: adjust query, broaden domains, relax recency.
  6. Synthesize answer from retained evidence. Cite URLs. Flag uncertainty when only one source supports a claim.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Build AI chat interfaces using ai-elements components — conversations, messages, tool displays, prompt inputs, and more. Use when the user wants to build a chatbot, AI assistant UI, or any AI-powered chat interface.

The English summary is being prepared. Showing the original description.

hashintel/brunch8Updated Oct 17, 2026

Chrome DevTools CLI for browser automation via shell commands. Use when interacting with web pages from the command line — navigating, clicking, filling forms, inspecting console/network, taking screenshots, or extracting page content. Triggers on: browse a page, automate Chrome, inspect console, check network requests, take a screenshot, fill a form, click a button.

The English summary is being prepared. Showing the original description.

hashintel/brunch8Updated Oct 17, 2026

Uses the chrome-devtools-axi CLI for browser automation, accessibility-tree snapshots, console and network inspection, screenshots, Lighthouse audits, and performance traces. Use when interacting with Chrome from the shell, especially when the user mentions chrome-devtools-axi, AX snapshots, browser debugging, or DevTools automation from the command line.

The English summary is being prepared. Showing the original description.

hashintel/brunch8Updated Oct 17, 2026

Deep expertise in cmux — the terminal multiplexer with native browser views. Use when managing panes, reading terminal output, sending keystrokes, opening browser views, or manually testing web UIs and TUIs inside cmux. Triggers on: cmux, open a browser pane, split terminal, read screen, send keys, test this UI in cmux, preview in cmux.

The English summary is being prepared. Showing the original description.

hashintel/brunch8Updated Oct 17, 2026

Uses the gh-axi CLI for GitHub shell operations: issue, pull request, workflow run, release, repo, search, and API tasks. Prefer this over regular `gh` for GitHub reads and simple mutations when an agent needs compact, structured, suggestion-rich output. Triggers on: gh, GitHub CLI, github issue, github pr, pull request, workflow run, github release, gh api, repo inspection, list PRs, view issue, check workflow runs, inspect repo, GitHub shell operations.

The English summary is being prepared. Showing the original description.

hashintel/brunch8Updated Oct 17, 2026

Work with Graphite (gt) for stacked PRs. Use when creating, navigating, submitting, or managing PR stacks, or when the user mentions gt, Graphite, or stacked diffs.

The English summary is being prepared. Showing the original description.

hashintel/brunch8Updated Oct 17, 2026

See all skills by hashintel

Report a problem with this skill