New:Socket for Asana Is Now Available.Learn more
Sign In

@anakin-io/sdk

Package Overview
Dependencies
Maintainers
2
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@anakin-io/sdk

Official Node.js / TypeScript SDK for Anakin (anakin.io) — web scraping, crawling, search, and Wire actions.

latest
Source
npmnpm
Version
0.1.0
Version published
Maintainers
2
Created
Source

@anakin-io/sdk

Node TypeScript License Status

Official Node.js / TypeScript SDK for Anakin — web scraping, crawling, search, and Wire actions.

Status: alpha (v0.1.x). Public API may change between minor versions until v1.0.

Install

npm install @anakin-io/sdk
# or
pnpm add @anakin-io/sdk
# or
yarn add @anakin-io/sdk

Quickstart

import { Anakin } from '@anakin-io/sdk'

const client = new Anakin({ apiKey: 'ak-...' })  // or set ANAKIN_API_KEY env var

// Scrape a single URL
const doc = await client.scrape('https://example.com', { formats: ['markdown'] })
console.log(doc.markdown)

// Discover URLs on a site
const sitemap = await client.map('https://example.com', { limit: 200 })
console.log(sitemap.links)

// Crawl pages and get content
const crawl = await client.crawl('https://example.com', { maxPages: 20 })
for (const page of crawl.pages) {
  console.log(page.url, page.markdown?.length ?? 0)
}

The SDK polls long-running jobs internally — you get the final result back from a single await. No job IDs to manage.

Configuration

const client = new Anakin({
  apiKey: 'ak-...',          // or ANAKIN_API_KEY env var
  timeoutMs: 60_000,         // per-request HTTP timeout
  maxRetries: 4,             // retries on 429/5xx
  pollIntervalMs: 1_000,     // initial polling delay
  pollMaxIntervalMs: 10_000, // max polling delay
  pollTimeoutMs: 300_000,    // total wait before JobTimeoutError
})

Errors

import {
  AnakinError,                // base for everything below
  AuthenticationError,        // bad/missing API key
  InsufficientCreditsError,   // 402 (exposes .balance, .required)
  InvalidRequestError,        // 400
  JobFailedError,             // job came back with status="failed"
  JobTimeoutError,            // pollTimeoutMs exceeded
  RateLimitError,             // 429 (exposes .retryAfter)
  ServerError,                // 5xx after retries
  NetworkError,               // DNS/connection/timeout
  WireAuthRequiredError,      // wire action needs account connection (.connectUrl)
} from '@anakin-io/sdk'

Methods

MethodReturns
client.scrape(url, opts)Promise<Document>
client.map(url, opts)Promise<MapResult>
client.crawl(url, opts)Promise<CrawlResult>
client.search(prompt, opts)Promise<SearchResult> (sync API)
client.agenticSearch(prompt, opts)Promise<AgenticSearchResult>
client.wire(actionId, params, opts)Promise<WireResult>
client.sessions.list(opts)Promise<BrowserSession[]>
client.sessions.create(opts)Promise<BrowserSessionHandle>
client.sessions.save(instanceId)Promise<BrowserSession>
client.sessions.update(id, { name })Promise<BrowserSession>
client.sessions.delete(id)Promise<void>
client.countries()Country[] (static, no network call)

Development

npm install
npm run typecheck
npm run lint
npm run test
npm run build

License

Apache 2.0. See LICENSE.

Keywords

anakin

FAQs

Package last updated on 28 Apr 2026

Related posts