Run a deep, source-backed research query via DeepAPI (go to deepapi.co to get an API key) POST /v1/research/deep. Builds a rigorous one-paragraph research prompt (per research-prompt rules), fires it, and saves a cited markdown report. Use when the user asks for "deep research", "deepapi research", "perplexity deep research" (legacy trigger), or any deep source-backed research run. Differentiator vs the deepapi skill: this is the full research workflow (prompt + run + report file), not raw endpoint access.
80
100%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Advisory
Suggest reviewing before use
We use DeepAPI (deepapi.co) for all deep research. This fully replaced the retired perplexity-deep-research skill that called OpenRouter/Perplexity directly.
~/.zshrc as DEEPAPI_API_KEY.source ~/.zshrc — it breaks the shell (exit 126). Use the env var if set, else read just the key line:KEY=${DEEPAPI_API_KEY:-$(rg -o 'DEEPAPI_API_KEY=\S+' ~/.zshrc | head -1 | cut -d= -f2)}
BASE=${DEEPAPI_API_BASE_URL:-https://deepapi.co}Write ONE self-contained paragraph following the research-prompt skill:
Field limits: query ≤ 4000 chars (the paragraph goes here), optional context ≤ 8000, optional instructions ≤ 2000. Do NOT pass model or provider fields — the API rejects provider controls.
One call = one cited answer (~700 words max, finishes or fails within ~60s server-side).
IDK=$(uuidgen) # keep this; retries must reuse the SAME Idempotency-Key
jq -n --rawfile p /tmp/dr_prompt.txt '{query:$p, maxCostUsd:"0.10"}' > /tmp/dr_body.json
curl -s --max-time 120 "$BASE/v1/research/deep" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $IDK" \
-d @/tmp/dr_body.json > /tmp/dr_result.jsonDefault spend cap is maxCostUsd: "0.10" per call; raise it only if the user approves.
jq -r '.status' /tmp/dr_result.json # succeeded | failed
jq -r '.output.answer' /tmp/dr_result.json # the report
jq -r '.output.sources[]?.url' /tmp/dr_result.json # source URLsSave the report to a markdown file for the user and list citation URLs beneath it. Don't report research costs unless the user asks.
If output.sources comes back empty while the answer shows [n] citation markers, that's a DeepAPI regression (fixed 2026-07-05) — still deliver the report, but tell the user.
One call is capped at ~700 words. For a full deep-research report, fire one call per numbered sub-question (each with its own Idempotency-Key), then synthesize all answers + sources into a single markdown file.
insufficient_credits → stop; the user tops up at deepapi.co/credits; then retry with the SAME Idempotency-Key (safe — replays don't double-charge).rate_limit_exceeded → wait Retry-After seconds, retry once.status: failed / HTTP 502 → report requestId + error.message to the user. Do not retry in a loop.replayed: true and no new charge.deepapi skill.66860fb
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.