agentsclimarketplace

Exa install auth

Skill jeremylongshore/claude-code-plugins-plus-skills/plugins/saas-packs/exa-pack/skills/exa-install-auth

'Install the exa-js SDK and configure API key authentication.From its SKILL.md

Install
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill exa-install-auth

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.9 KB, 932 tokens by cl100k_base, as published. Nobody here has run it

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

ErrorHTTP CodeCauseSolution
INVALID_API_KEY401Missing or invalid API keyVerify key at dashboard.exa.ai
NO_MORE_CREDITS402Account balance exhaustedTop up credits in dashboard
MODULE_NOT_FOUNDN/ASDK not installedRun npm install exa-js
ENOTFOUNDN/ANetwork unreachableCheck internet connectivity
API_KEY_BUDGET_EXCEEDED402Spending limit reachedIncrease 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.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.