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

ReadWriteEditBash(npm:*)Bash(pip:*)Bash(pnpm:*)Grep

Provided by Plugin

exa-pack

Claude Code skill pack for Exa (30 skills)

saas packs v1.11.0
View Plugin

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-js or exa-py installed in project dependencies
  • EXA_API_KEY environment variable configured
  • .env added to .gitignore
  • Successful search result confirming connectivity

Error Handling

Error HTTP Code Cause Solution
INVALID_API_KEY 401 Missing or invalid API key Verify key at dashboard.exa.ai
NO_MORE_CREDITS 402 Account balance exhausted Top up credits in dashboard
MODULE_NOT_FOUND N/A SDK not installed Run npm install exa-js
ENOTFOUND N/A Network unreachable Check internet connectivity
API_KEY_BUDGET_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.

Ready to use exa-pack?