exa-install-auth
Install the exa-js SDK and configure API key authentication. Use when setting up a new Exa integration, configuring API keys, or initializing Exa in a Node.js/Python project. Trigger with phrases like "install exa", "setup exa", "exa auth", "configure exa API key", "exa-js".
Allowed Tools
Provided by Plugin
exa-pack
Claude Code skill pack for Exa (30 skills)
Installation
This skill is included in the exa-pack plugin:
/plugin install exa-pack@claude-code-plugins-plus
Click to copy
Instructions
Exa Install & Auth
Overview
Install the official Exa SDK and configure API key authentication. Exa is a neural search API at api.exa.ai that retrieves web content using semantic similarity. Authentication uses the x-api-key header. The SDK is exa-js on npm or exa-py on PyPI.
Prerequisites
- Node.js 18+ or Python 3.10+
- Package manager (npm, pnpm, yarn, or pip)
- Exa account at dashboard.exa.ai
- API key from the Exa dashboard
Instructions
Step 1: Install the SDK
Node.js (exa-js)
set -euo pipefail
npm install exa-js
# or
pnpm add exa-js
Python (exa-py)
pip install exa-py
Step 2: Configure the API Key
# Set environment variable
export EXA_API_KEY="your-api-key-here"
# Or create .env file (add .env to .gitignore first)
echo 'EXA_API_KEY=your-api-key-here' >> .env
Add to .gitignore:
.env
.env.local
.env.*.local
Step 3: Initialize the Client
TypeScript
import Exa from "exa-js";
const exa = new Exa(process.env.EXA_API_KEY);
Python
from exa_py import Exa
import os
exa = Exa(api_key=os.environ["EXA_API_KEY"])
Step 4: Verify Connection
import Exa from "exa-js";
const exa = new Exa(process.env.EXA_API_KEY);
async function verifyConnection() {
try {
const result = await exa.search("test connectivity", { numResults: 1 });
console.log("Connected. Results:", result.results.length);
console.log("First result:", result.results[0]?.title);
} catch (err: any) {
if (err.status === 401) {
console.error("Invalid API key. Check EXA_API_KEY.");
} else if (err.status === 402) {
console.error("No credits remaining. Top up at dashboard.exa.ai.");
} else {
console.error("Connection failed:", err.message);
}
}
}
verifyConnection();
Output
exa-jsorexa-pyinstalled in project dependenciesEXAAPIKEYenvironment variable configured.envadded to.gitignore- Successful search result confirming connectivity
Error Handling
| Error | HTTP Code | Cause | Solution |
|---|---|---|---|
INVALIDAPIKEY |
401 | Missing or invalid API key | Verify key at dashboard.exa.ai |
NOMORECREDITS |
402 | Account balance exhausted | Top up credits in dashboard |
MODULENOTFOUND |
N/A | SDK not installed | Run npm install exa-js |
ENOTFOUND |
N/A | Network unreachable | Check internet connectivity |
APIKEYBUDGET_EXCEEDED |
402 | Spending limit reached | Increase budget in dashboard |
Examples
With dotenv (Node.js)
import "dotenv/config";
import Exa from "exa-js";
const exa = new Exa(process.env.EXA_API_KEY);
With Validation
function createExaClient(): Exa {
const apiKey = process.env.EXA_API_KEY;
if (!apiKey) {
throw new Error(
"EXA_API_KEY not set. Get one at https://dashboard.exa.ai"
);
}
return new Exa(apiKey);
}
Resources
Next Steps
After successful auth, proceed to exa-hello-world for your first search.