Skip to content

Typescript Library

github.com/diffbot/diffbot-typescript

The official Diffbot Typescript/JS client is available as a CLI or client library for all your human and agentic needs.

Agentic usage

Go directly to diffbot-skills. Do not pass Go. Do not collect $200.

Installation

bash
pnpm add diffbot-typescript

Requires Node.js 18+ (native fetch).

Authentication

Set a DIFFBOT_API_TOKEN env variable or in ~/.diffbot/credentials. Import with resolveToken()

ts
import { DiffbotClient, extract, resolveToken } from "diffbot-typescript";

const db = new DiffbotClient({ token: resolveToken() });
const data = await extract(db, "https://www.example.com");
await db.close();

Usage

Extract structured content:

ts
import { DiffbotClient, extract } from "diffbot-typescript";

const db = new DiffbotClient({ token: "<DIFFBOT_TOKEN>" });
const data = await extract(db, "https://www.example.com");

Crawl a site for structured content:

ts
import { crawl } from "diffbot-typescript";

for await (const event of crawl(db, "https://www.example.com", { hops: 1 })) {
  console.log(event);
}

Query the Knowledge Graph with DQL (Don't know DQL? There's a skill for that):

ts
import { dql } from "diffbot-typescript";

const results = await dql(db, 'type:Organization name:"Diffbot"');

Search the web

ts
import { webSearch } from "diffbot-typescript";

const results = await webSearch(db, "diffbot knowledge graph");
for (const r of results.search_results as Array<Record<string, unknown>>) {
  console.log(r.score, r.title, r.pageUrl);
}

Resolve entities using NLP

ts
import { entities } from "diffbot-typescript";

const result = await entities(db, "Apple CEO Tim Cook announced record quarterly earnings.");