
Product
Socket for Asana Is Now Available
Create and manage Asana tasks directly from Socket alerts, with manual task creation, automated ticketing rules, and two-way sync.
@anakin-io/sdk
Advanced tools
Official Node.js / TypeScript SDK for Anakin (anakin.io) — web scraping, crawling, search, and Wire actions.
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.
npm install @anakin-io/sdk
# or
pnpm add @anakin-io/sdk
# or
yarn add @anakin-io/sdk
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.
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
})
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'
| Method | Returns |
|---|---|
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) |
npm install
npm run typecheck
npm run lint
npm run test
npm run build
Apache 2.0. See LICENSE.
FAQs
Official Node.js / TypeScript SDK for Anakin (anakin.io) — web scraping, crawling, search, and Wire actions.
We found that @anakin-io/sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.

Product
Create and manage Asana tasks directly from Socket alerts, with manual task creation, automated ticketing rules, and two-way sync.

Security News
Open VSX has removed three extension IDs from its malicious-extension list as the legitimate publishers they impersonated move to claim the names for themselves.

Product
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.