SDKs & Libraries

Official SDKs for the SEC Daily API. Use the Node.js SDK for the fastest integration, or call the REST API directly from any language.

Node.js / TypeScript SDK

The official JavaScript and TypeScript SDK. Fully typed, works in Node.js 20+ and edge runtimes. Available on npm as sec-daily-api.

npm install sec-daily-api

Quick start

import { SecDailyAPI } from "sec-daily-api";

const client = new SecDailyAPI({
  apiKey: process.env.SEC_DAILY_API_KEY,
});

// Get recent 10-K filings for Apple
const { filings } = await client.getFilings({
  ticker: "AAPL",
  formTypes: ["10-K"],
  limit: 5,
});

for (const filing of filings) {
  console.log(`${filing.filingDateInEst} ${filing.formType} - ${filing.entity?.name}`);
}

// Get latest SEC press releases
const { news } = await client.getNews({ limit: 5 });
for (const item of news) {
  console.log(item.title);
}

Authentication

Set the SEC_DAILY_API_KEY environment variable, or pass apiKey directly to the constructor. The env var is used automatically if no apiKey option is provided.

# .env
SEC_DAILY_API_KEY=your_api_key_here

Error handling

import { SecDailyAPI } from "sec-daily-api";

const client = new SecDailyAPI({ apiKey: process.env.SEC_DAILY_API_KEY });

try {
  const { filings } = await client.getFilings({ ticker: "AAPL" });
} catch (err) {
  if (err instanceof Error) {
    console.error(err.message); // e.g. "SecDaily API error 429: Rate limit exceeded"
  }
}

TypeScript types

import type { Filing, NewsItem } from "sec-daily-api";

const { filings } = await client.getFilings({ ticker: "AAPL" });

filings.forEach((filing: Filing) => {
  console.log(filing.formType, filing.filingDateInEst);
});

Python

No official Python SDK yet. Use the requests library directly — it takes under a minute to set up.

import os
import requests

API_KEY = os.environ["SEC_DAILY_API_KEY"]

response = requests.get(
    "https://api.secdailyapi.com/filings",
    headers={"x-api-key": API_KEY},
    params={"ticker": "AAPL", "formTypes": "10-K", "limit": 5},
)
data = response.json()

for filing in data["filings"]:
    print(f"{filing['filingDateInEst']} {filing['formType']} - {filing['entity']['name']}")

See the Python examples page for more.

cURL

curl "https://api.secdailyapi.com/filings?ticker=AAPL&formTypes=10-K&limit=5" \
  -H "x-api-key: YOUR_API_KEY"

See the cURL examples page for more.

Other languages

The API uses standard REST with a single x-api-keyheader — any HTTP client will work. If you'd like an official SDK for your language, email support@secdaily.io.