Integrations/Node.js SDK
TypeScript • ESM + CJS • Async/await

Web scraping for Node & TypeScript

Official TypeScript SDK with full type safety. Anti-bot bypass, batch scraping, and clean markdown output in your Node.js projects.

npm install @alterlab/sdk

TypeScript

Full IntelliSense and type checking included.

import { AlterLabClient } from '@alterlab/sdk';

const client = new AlterLabClient({
  apiKey: process.env.ALTERLAB_API_KEY!,
});

async function scrapeProduct(url: string): Promise<string> {
  const result = await client.scrape(url, {
    formats: ['markdown'],
    // tier: 4  // uncomment for bot-protected sites
  });

  console.log(`Credits used: ${result.creditsUsed}`);
  return result.markdown ?? '';
}

const markdown = await scrapeProduct('https://example.com/product');

CommonJS / require

Works in existing Node.js projects without ESM migration.

const { AlterLabClient } = require('@alterlab/sdk');

const client = new AlterLabClient({
  apiKey: process.env.ALTERLAB_API_KEY,
});

async function main() {
  const result = await client.scrape('https://example.com');
  console.log(result.markdown);
}

main();

Batch scraping

Scrape up to 50 URLs in parallel with one call.

const urls = [
  'https://example.com/page-1',
  'https://example.com/page-2',
  'https://example.com/page-3',
];

const results = await client.batchScrape(urls, {
  formats: ['markdown'],
});

results.forEach((result, i) => {
  console.log(`Page ${i + 1}: ${result.markdown?.slice(0, 100)}`);
});

What's included

Full TypeScript types — works with tsc, ts-node, Bun
ESM and CommonJS — import or require
Async/await native — no callbacks
Automatic retry with backoff on rate limits
Anti-bot bypass — all 5 tiers accessible
Batch scraping — up to 50 URLs in parallel

Start scraping in Node.js

Free credits on signup. No subscription. Balance never expires.