SuperAPI AI Directory

perplexity-install-auth

Coding & development

View repository

Updated 10-15 23:28

About this skill

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

```bash
# 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

Model Use Case Input $/M tokens Output $/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

Error Cause Solution
401 Unauthorized Invalid or missing API key Verify key starts with pplx- and has credits
403 Forbidden Key lacks model access Check key permissions at perplexity.ai/settings
Module not found: openai SDK not installed Run npm install openai or pip install openai
Connection refused Wrong base URL Ensure 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

Examples

Configure a least-privilege local client

Create a short-lived development API key with only the models required by the sample, save it in an ignored environment file, and initialize the compatible client with the documented base URL. Verify access with a small synthetic request and inspect only the status and usage summary. Never hardcode the key in source, test fixtures, or logs; rotate or revoke it when development access is no longer needed.

Resources

Next Steps

After successful auth, proceed to perplexity-hello-world for your first search query.