Claude-code-plugins-plus-skills perplexity-install-auth

install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/perplexity-pack/skills/perplexity-install-auth" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-perplexity-install-auth && rm -rf "$T"
manifest: plugins/saas-packs/perplexity-pack/skills/perplexity-install-auth/SKILL.md
source content

Perplexity Install & Auth

Overview

Set up Perplexity Sonar API access using the OpenAI-compatible chat completions endpoint at

https://api.perplexity.ai
. Perplexity does not have a custom SDK -- you use the standard OpenAI client library pointed at Perplexity's base URL.

Prerequisites

Instructions

Step 1: Install OpenAI Client Library

set -euo pipefail
# Node.js / TypeScript
npm install openai

# Python
pip install openai

There is no

@perplexity/sdk
package. Perplexity uses the OpenAI wire format, so you use the official
openai
package with a custom
baseURL
.

Step 2: Configure API Key

# Set environment variable
export PERPLEXITY_API_KEY="pplx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# Or create .env file (add .env to .gitignore)
echo 'PERPLEXITY_API_KEY=pplx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' >> .env

API keys start with

pplx-
and are generated at perplexity.ai/settings/api. You must add credits to your account before making API calls.

Step 3: Verify Connection (TypeScript)

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.PERPLEXITY_API_KEY,
  baseURL: "https://api.perplexity.ai",
});

async function verify() {
  const response = await client.chat.completions.create({
    model: "sonar",
    messages: [{ role: "user", content: "What is 2+2?" }],
    max_tokens: 50,
  });
  console.log("Connected:", response.choices[0].message.content);
  console.log("Model:", response.model);
  console.log("Tokens used:", response.usage?.total_tokens);
}

verify().catch(console.error);

Step 4: Verify Connection (Python)

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["PERPLEXITY_API_KEY"],
    base_url="https://api.perplexity.ai",
)

response = client.chat.completions.create(
    model="sonar",
    messages=[{"role": "user", "content": "What is 2+2?"}],
    max_tokens=50,
)
print("Connected:", response.choices[0].message.content)
print("Model:", response.model)
print("Tokens:", response.usage.total_tokens)

Available Models

ModelUse CaseInput $/M tokensOutput $/M tokens
sonar
Fast search, simple queries$1$1
sonar-pro
Deep research, more citations$3$15
sonar-reasoning-pro
Chain-of-thought with search$3$15
sonar-deep-research
Multi-step research synthesis$2$8

Error Handling

ErrorCauseSolution
401 Unauthorized
Invalid or missing API keyVerify key starts with
pplx-
and has credits
403 Forbidden
Key lacks model accessCheck key permissions at perplexity.ai/settings
Module not found: openai
SDK not installedRun
npm install openai
or
pip install openai
Connection refused
Wrong base URLEnsure
baseURL
is
https://api.perplexity.ai

Output

  • OpenAI client configured with Perplexity base URL
  • Successful API response confirming connection
  • Token usage confirming billing is active

Resources

Next Steps

After successful auth, proceed to

perplexity-hello-world
for your first search query.