Essence
SDKs

TypeScript SDK

Official TypeScript/JavaScript client for the Essence API

The Essence TypeScript SDK provides a typed client with zero dependencies (uses native fetch).

Installation

npm install essence-sdk

Or install from source:

cd sdks/typescript
npm install && npm run build

Quick Start

import { EssenceClient } from "essence-sdk";

const client = new EssenceClient("http://localhost:8080");

const result = await client.scrape("https://example.com");
console.log(result.data.markdown);

Client Reference

new EssenceClient(baseUrl?)

ParameterTypeDefaultDescription
baseUrlstring"http://localhost:8080"Essence server URL

client.scrape(url, options?)

const result = await client.scrape("https://example.com", {
  formats: ["markdown", "links"],
  engine: "auto",
  onlyMainContent: true,
  timeout: 30000,
});

client.crawl(url, options?)

const result = await client.crawl("https://docs.example.com", {
  maxDepth: 3,
  limit: 50,
  includePaths: ["/docs/*"],
});

client.map(url, options?)

const result = await client.map("https://example.com", {
  limit: 1000,
});

client.search(query, options?)

const result = await client.search("rust web scraping", {
  limit: 5,
  scrapeResults: true,
});

client.extract(urls, options?)

// CSS extraction
const result = await client.extract(
  ["https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html"],
  {
    mode: "css",
    selectors: { title: "h1", price: "p.price_color" },
    schema: {
      properties: {
        title: { type: "string" },
        price: { type: "number" },
      },
    },
  }
);

// LLM extraction
const result = await client.extract(["https://example.com/about"], {
  mode: "llm",
  prompt: "Extract company info",
  llmBaseUrl: "https://api.openai.com",
  llmModel: "gpt-4o-mini",
  llmApiKey: "sk-...",
});

client.llmstxt(url, options?)

const result = await client.llmstxt("https://docs.example.com", {
  maxUrls: 50,
});

Type Definitions

The SDK exports TypeScript interfaces for all option types:

  • ScrapeOptions
  • CrawlOptions
  • MapOptions
  • SearchOptions
  • ExtractOptions
  • LlmsTxtOptions

On this page