Skills Development Install and Configure Exa SDK Authentication

Install and Configure Exa SDK Authentication

v20260423
exa-install-auth
This guide provides comprehensive instructions for developers to install and set up the Exa SDK (exa-js for Node.js, exa-py for Python). It covers setting up API key authentication using environment variables and demonstrates client initialization for both major languages, enabling developers to utilize Exa's neural search API for web content retrieval.
Get Skill
401 downloads
Overview

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.

Info
Category Development
Name exa-install-auth
Version v20260423
Size 3.83KB
Updated At 2026-04-26
Language