AbsoluteJS

@absolutejs/dataset-sec-edgar

@absolutejs/dataset-sec-edgarv0.0.2betaCommerce & Growth

SEC EDGAR DatasetSource adapter for @absolutejs/discover — resolve a US public company (CIK) and its insiders (officers/directors via Form 3/4/5) from public-domain U.S. government filings.

#Installation

BASH
bun add @absolutejs/dataset-sec-edgar

#Capabilities

Overview

A @absolutejs/discover DatasetSource over SEC EDGAR — public-domain U.S. government filings. Unlike most open company data, this one carries people: it implements both findCompany (CIK) and findPeople (insiders).

It hands discoverContacts real names+titles to seed from before the LLM/web call:

What it does — and doesn't

findPeople reads a company's recent Form 3/4/5 ownership filings and returns the insiders (officers + directors) with their titles, names de-inverted from SEC's LAST FIRST format. findCompany resolves a name to its CIK.

Scope (be honest): U.S. public companies only, and insiders are C-suite / board — not necessarily the partnership contact, and nothing for the private startups that make up the long tail. Authoritative for what it covers; pair it with @absolutejs/discover's LLM/web path for everything else.

SEC fair access: set userAgent to your own app + contact (SEC requires a descriptive User-Agent and asks for <10 req/s). The adapter reads only a small, bounded number of filings per lookup and caches the ticker index in memory.

Show 1 more

Apache-2.0. Pure importer of public-domain data — see THIRD_PARTY_NOTICES.md.

Outcomes

What you can build

Build on the supported package contract

Use @absolutejs/dataset-sec-edgar through its supported public entry points.

Hardening checklist

Production guidance

Make every external boundary explicitPin the deployed @absolutejs/dataset-sec-edgar version, replace example or memory-backed dependencies with durable implementations, bound external calls, protect credentials, and emit enough evidence to retry or recover safely.

Follow in order

Troubleshooting path

1
Trace from the first failed boundary
Reproduce the smallest canonical @absolutejs/dataset-sec-edgar example, confirm the supported entry point and version in the API explorer, then inspect the first boundary that did not produce its documented result.

#@absolutejs/dataset-sec-edgar quick start

Partial snippet

# @absolutejs/dataset-sec-edgar

TS
import { secEdgarSource } from "@absolutejs/dataset-sec-edgar";

const sec = secEdgarSource({ userAgent: "MyApp (me@example.com)" });

await sec.findCompany({ name: "Shopify" });
// → { name: "SHOPIFY INC.", registryId: "CIK0001594805", source: "sec-edgar" }

await sec.findPeople({ company: "Apple", limit: 5 });
// → [ { fullName: "Kevan Parekh", title: "Senior Vice President, CFO", … },
//     { fullName: "Sabih Khan", title: "COO", … }, … ]

#@absolutejs/dataset-sec-edgar quick start 2

Partial snippet

# @absolutejs/dataset-sec-edgar

TS
discoverContacts({ company: "Apple" }, { sources: [sec], extract });

#Package commands

Scripts declared by this package manifest.

bun run buildrm -rf dist && bun build src/index.ts --outdir dist --target=bun --external @absolutejs/discover && tsc --emitDeclarationOnly --project tsconfig.json
bun run typechecktsc --noEmit