SEC Blast API

Financials

Access parsed financial statements and XBRL data from SEC filings.

getBalanceSheet()

Get balance sheet financial data.

Parameters

NameTypeDescription
cikrequiredstringCompany CIK number
accession_numberstringSpecific filing. If omitted, returns latest.
format'default' | 'table'Response format. Use table for easy rendering.
Default Formattypescript
const bs = await client.getBalanceSheet({ cik: '320193' });

console.log(`CIK: ${bs.cik}`);
console.log(`Filing: ${bs.accession_number}`);
console.log(`Date: ${bs.filing_date}`);

for (const item of bs.line_items) {
  console.log(`${item.label}: ${item.values[0]?.value}`);
}
Table Formattypescript
const bs = await client.getBalanceSheet({
  cik: '320193',
  format: 'table'
});

// Columns are period dates
console.log('Periods:', bs.columns.join(', '));

// Rows are line items with values aligned to columns
for (const row of bs.rows) {
  const values = row.values.map(v => v?.toLocaleString() ?? 'N/A').join('\t');
  console.log(`${row.label}: ${values}`);
}

getIncomeStatement()

Get income statement financial data.

typescript
const income = await client.getIncomeStatement({ cik: '320193' });

const revenue = income.line_items.find(i => i.concept.includes('Revenue'));
const netIncome = income.line_items.find(i => i.concept === 'NetIncomeLoss');

console.log(`Revenue: ${revenue?.values[0]?.value}`);
console.log(`Net Income: ${netIncome?.values[0]?.value}`);

getCashFlow()

Get cash flow statement data.

typescript
const cashFlow = await client.getCashFlow({ cik: '320193' });

const operating = cashFlow.line_items.find(i =>
  i.concept.includes('OperatingActivities')
);

console.log(`Operating Cash Flow: ${operating?.values[0]?.value}`);

getFinancialHistory()

Get historical values for specific XBRL concepts across all filings.

Parameters

NameTypeDescription
cikrequiredstringCompany CIK number
conceptsrequiredstring[]XBRL concepts to retrieve

Common XBRL Concepts:

  • Assets - Total assets
  • Liabilities - Total liabilities
  • StockholdersEquity - Total stockholders' equity
  • RevenueFromContractWithCustomerExcludingAssessedTax - Revenue
  • NetIncomeLoss - Net income
  • EarningsPerShareBasic - Basic EPS
typescript
const history = await client.getFinancialHistory({
  cik: '320193',
  concepts: ['Assets', 'NetIncomeLoss']
});

for (const [concept, values] of Object.entries(history.concepts)) {
  console.log(`\n${concept}:`);
  for (const v of values.slice(0, 5)) {
    console.log(`  ${v.period_end}: ${v.value.toLocaleString()}`);
  }
}

exportFinancialsExcel()

Export all financial data to an Excel spreadsheet.

typescript
const excel = await client.exportFinancialsExcel({ cik: '320193' });

// Browser - download file
const url = URL.createObjectURL(excel);
const a = document.createElement('a');
a.href = url;
a.download = 'apple-financials.xlsx';
a.click();

// Node.js - save to file
import { writeFile } from 'fs/promises';
const buffer = Buffer.from(await excel.arrayBuffer());
await writeFile('apple-financials.xlsx', buffer);