🏦 sec¶
Securities and Exchange Commission financial data including XBRL filings (10-K, 10-Q, 8-K), insider trading transactions, stock prices, and earnings transcripts. Enables financial analysis, regulatory compliance monitoring, and investment research across public companies. Uses document-based ETL to extract multiple tables from each SEC filing. Stock prices can be seeded from a bulk Stooq zip archive stored in S3, with fallback to the HTTP API for missing or newly-listed tickers.
16 datasets · 174 columns
filing_metadata · table¶
SEC filing metadata for all public company submissions. Forms include: 10-K (annual report with audited financials), 10-Q (quarterly report), 8-K (current report for material events like earnings, M&A, executive changes), DEF 14A (proxy statement for shareholder meetings), and Form 3/4/5 (insider trading). Use for: identifying available filings, filtering by company/date/type, joining to other SEC tables, and tracking filing history.
| Column | Type | Null | Description |
|---|---|---|---|
cik |
string | no | Central Index Key (unique SEC company identifier, 10 digits zero-padded) |
accession_ |
string | no | SEC accession number (unique filing identifier, format 0000000000-00-000000) |
filing_ |
string | no | Type of SEC filing (e.g., '10-K', '10-Q', '8-K', 'DEF 14A') |
filing_ |
string | no | Date the filing was submitted to SEC (ISO 8601 format) |
year |
int | no | Filing year for Iceberg partitioning |
primary_ |
string | yes | Primary document filename in the filing |
company_ |
string | yes | Legal name of the registrant company |
period_ |
string | yes | Reporting period end date (ISO 8601 format) |
acceptance_ |
string | yes | Date and time the filing was accepted by SEC |
file_ |
long | yes | Total size of filing in bytes |
fiscal_ |
int | yes | Fiscal year of the reporting period |
state_ |
string | yes | State or jurisdiction of incorporation |
fiscal_ |
string | yes | Fiscal year end date (MMDD format) |
business_ |
string | yes | Physical business address of the company |
mailing_ |
string | yes | Mailing address for correspondence |
phone |
string | yes | Company phone number |
sic_ |
string | yes | Standard Industrial Classification code |
irs_ |
string | yes | IRS Employer Identification Number (EIN) |
ticker |
string | yes | Stock ticker symbol (if available) |
financial_line_items · table¶
XBRL financial facts extracted from 10-K (annual) and 10-Q (quarterly) filings. Contains structured data for balance sheet, income statement, and cash flow items using standardized US-GAAP taxonomy (e.g., Assets, Revenue, NetIncome). Use for: financial ratio analysis, trend analysis across quarters/years, peer comparisons, screening for specific metrics, and building financial models.
| Column | Type | Null | Description |
|---|---|---|---|
cik |
string | no | Central Index Key (unique SEC company identifier, 10 digits zero-padded) |
accession_ |
string | no | SEC accession number (unique filing identifier, format 0000000000-00-000000) |
filing_ |
string | no | Date the filing was submitted to SEC (ISO 8601 format) |
year |
int | no | Filing year for Iceberg partitioning |
concept |
string | no | XBRL concept name (e.g., 'us-gaap:Assets', 'dei:EntityRegistrantName') |
context_ |
string | no | Reference to context element defining the reporting period and entity |
unit_ |
string | yes | Raw unit reference as reported in the source XBRL document |
unit_ |
string | yes | Canonical unit (e.g. USD, shares, pure, usdPerShare); equals unit_ref when no normalization rule matches |
value |
string | yes | Text value of the fact element |
full_ |
string | yes | Full text content for TextBlock elements (narrative disclosures) |
value_ |
double | yes | Best-effort numeric representation; not the original filing value |
value_ |
string | yes | Provenance of value_numeric — direct, heuristic, or null if no conversion possible |
period_ |
string | yes | Start date of the reporting period (ISO 8601 format) |
period_ |
string | yes | End date of the reporting period (ISO 8601 format) |
is_ |
boolean | no | Whether this is an instant-in-time fact (true) or duration fact (false) |
footnote_ |
string | yes | Comma-separated list of footnote references |
element_ |
string | no | Unique element identifier for linking to other elements |
decimals |
int | yes | Decimal precision of the numeric value |
scale |
int | yes | Scale factor applied to the value |
filing_contexts · table¶
XBRL context definitions from 10-K and 10-Q filings that specify the reporting period and entity for each financial fact. Contexts define whether a value is a point-in-time snapshot (instant) or covers a duration (e.g., fiscal quarter). Use for: understanding the time period of financial data, segment-level analysis, and resolving dimensional breakdowns (e.g., revenue by geography or product line).
| Column | Type | Null | Description |
|---|---|---|---|
cik |
string | no | Central Index Key (unique SEC company identifier, 10 digits zero-padded) |
accession_ |
string | no | SEC accession number (unique filing identifier, format 0000000000-00-000000) |
filing_ |
string | no | Date the filing was submitted to SEC (ISO 8601 format) |
year |
int | no | Filing year for Iceberg partitioning |
context_ |
string | no | Unique identifier for this context element |
entity_ |
string | no | Entity identifier (typically CIK number) |
entity_ |
string | yes | Entity identifier scheme (e.g., 'http://www.sec.gov/CIK') |
period_ |
string | yes | Start date of the reporting period (ISO 8601 format) |
period_ |
string | yes | End date of the reporting period (ISO 8601 format) |
period_ |
string | yes | Instant date for point-in-time facts (ISO 8601 format) |
segment |
string | yes | Segment dimension information (XML fragment) |
scenario |
string | yes | Scenario dimension information (XML fragment) |
mda_sections · table¶
Management Discussion & Analysis (MD&A) text from 10-K (Item 7) and 10-Q (Item 2) filings. MD&A is a required narrative section where management explains the company's financial condition, results of operations, and known risks/uncertainties. Use for: sentiment analysis, risk factor monitoring, NLP-based insights, comparing management tone across periods, and identifying forward-looking statements.
| Column | Type | Null | Description |
|---|---|---|---|
cik |
string | no | Central Index Key (unique SEC company identifier, 10 digits zero-padded) |
accession_ |
string | no | SEC accession number (unique filing identifier, format 0000000000-00-000000) |
filing_ |
string | no | Date the filing was submitted to SEC (ISO 8601 format) |
year |
int | no | Filing year for Iceberg partitioning |
section |
string | no | Item section identifier (e.g., 'Item 7', 'Item 7A') |
subsection |
string | yes | Immediate heading enclosing this chunk (null when no heading context) |
section_ |
string | yes | Full heading breadcrumb as ' > '-delimited string for cluster analysis |
paragraph_ |
boolean | yes | True when this chunk is a continuation of an oversized split element |
paragraph_ |
int | no | Sequential paragraph number within the subsection |
paragraph_ |
string | no | Full text content of the paragraph |
footnote_ |
string | yes | Comma-separated list of footnote references |
xbrl_relationships · table¶
XBRL linkbase relationships from 10-K and 10-Q filings showing how financial concepts connect (e.g., Assets = CurrentAssets + NoncurrentAssets). Includes calculation links (mathematical rollups) and presentation links (display order). Use for: validating financial statement math, reconstructing statement hierarchy, understanding concept relationships, and building automated financial models.
| Column | Type | Null | Description |
|---|---|---|---|
cik |
string | no | Central Index Key (unique SEC company identifier, 10 digits zero-padded) |
accession_ |
string | no | SEC accession number (unique filing identifier, format 0000000000-00-000000) |
filing_ |
string | no | Date the filing was submitted to SEC (ISO 8601 format) |
year |
int | no | Filing year for Iceberg partitioning |
linkbase_ |
string | no | Type of linkbase relationship (presentation, calculation, definition) |
arc_ |
string | no | Arc role defining relationship type (e.g., parent-child, summation-item) |
link_ |
string | yes | Role URI of the extended link element containing this arc (e.g., presentation role URL) |
from_ |
string | no | Source concept in the relationship |
to_ |
string | no | Target concept in the relationship |
weight |
double | yes | Calculation weight (+1 for addition, -1 for subtraction) |
order |
double | yes | Presentation order for display sequencing |
preferred_ |
string | yes | Preferred label role for presentation |
insider_transactions · table¶
Insider trading transactions from Form 3 (initial ownership), Form 4 (changes in ownership within 2 days), and Form 5 (annual summary). Required filings by company officers, directors, and 10%+ shareholders showing their buy/sell activity. Use for: tracking insider sentiment, identifying unusual trading patterns, corporate governance analysis, and generating buy/sell signals based on insider activity.
| Column | Type | Null | Description |
|---|---|---|---|
cik |
string | no | Central Index Key (unique SEC company identifier, 10 digits zero-padded) |
accession_ |
string | no | SEC accession number (unique filing identifier, format 0000000000-00-000000) |
filing_ |
string | no | Date the filing was submitted to SEC (ISO 8601 format) |
year |
int | no | Filing year for Iceberg partitioning |
filing_ |
string | no | Type of SEC filing (e.g., '10-K', '10-Q', '8-K', 'DEF 14A') |
reporting_ |
string | no | CIK of the reporting insider |
reporting_ |
string | no | Name of the reporting insider |
is_ |
boolean | no | Whether the insider is a director |
is_ |
boolean | no | Whether the insider is an officer |
is_ |
boolean | no | Whether the insider owns 10% or more of the company |
officer_ |
string | yes | Title of the officer (if applicable) |
transaction_ |
string | yes | Date of the transaction (ISO 8601 format) - null for holdings |
transaction_ |
string | yes | Transaction code (P=purchase, S=sale, A=award, H=holding, I=initial appointment with no securities) |
security_ |
string | yes | Title of the security transacted |
shares_ |
double | yes | Number of shares bought or sold (null for holdings) |
price_ |
double | yes | Price per share in the transaction |
shares_ |
double | yes | Shares beneficially owned after the transaction |
acquired_ |
string | yes | Whether shares were acquired (A) or disposed (D) - null for holdings |
ownership_ |
string | yes | Type of ownership (direct or indirect) |
footnotes |
string | yes | Additional footnotes and explanations |
institutional_holdings · table¶
Institutional investment manager holdings from Form 13F-HR. Filed quarterly by managers with $100M+ in qualifying assets. Contains per-security positions with share counts, market value, and voting authority. Known as "whale watching" data — tracks positions of Berkshire Hathaway, Bridgewater, Renaissance, etc. Use for: tracking institutional ownership changes, identifying crowded trades, monitoring activist accumulation, and building factor models.
| Column | Type | Null | Description |
|---|---|---|---|
cik |
string | no | Central Index Key (unique SEC company identifier, 10 digits zero-padded) |
accession_ |
string | no | SEC accession number (unique filing identifier, format 0000000000-00-000000) |
filing_ |
string | no | Date the filing was submitted to SEC (ISO 8601 format) |
year |
int | no | Filing year for Iceberg partitioning |
filing_ |
string | no | Type of SEC filing (e.g., '10-K', '10-Q', '8-K', 'DEF 14A') |
manager_ |
string | yes | Name of the filing investment manager |
manager_ |
string | yes | CIK of the filing investment manager |
report_ |
date | yes | Calendar quarter end date for the report (ISO 8601) |
issuer_ |
string | yes | Name of the security issuer (company name) |
title_ |
string | yes | Title/class of the security (e.g., COM, CL A, PFD) |
cusip |
string | yes | CUSIP identifier (9-character) |
value_ |
double | yes | Market value in thousands of USD |
shares_ |
double | yes | Number of shares or principal amount |
shares_ |
string | yes | SH for shares, PRN for principal amount |
investment_ |
string | yes | Investment discretion (SOLE, DFND, OTR) |
voting_ |
double | yes | Shares with sole voting authority |
voting_ |
double | yes | Shares with shared voting authority |
voting_ |
double | yes | Shares with no voting authority |
put_ |
string | yes | Put or Call indicator for options (null for common stock) |
beneficial_ownership · table¶
Beneficial ownership filings from Schedule 13D (activist >5% holders) and Schedule 13G (passive >5% holders). Discloses who owns large stakes, how many shares, percent of class, source of funds, and critically — the purpose of the transaction (Item 4). 13D filers may push for M&A, board changes, or restructuring. Use for: tracking activist campaigns, monitoring ownership concentration, detecting accumulation patterns, and governance risk analysis.
| Column | Type | Null | Description |
|---|---|---|---|
cik |
string | no | Central Index Key (unique SEC company identifier, 10 digits zero-padded) |
accession_ |
string | no | SEC accession number (unique filing identifier, format 0000000000-00-000000) |
filing_ |
string | no | Date the filing was submitted to SEC (ISO 8601 format) |
year |
int | no | Filing year for Iceberg partitioning |
filing_ |
string | no | Type of SEC filing (e.g., '10-K', '10-Q', '8-K', 'DEF 14A') |
subject_ |
string | yes | Name of the company whose shares are held |
subject_ |
string | yes | CIK of the subject company |
filer_ |
string | yes | Name of the beneficial owner filing the schedule |
filer_ |
string | yes | CIK of the beneficial owner |
date_ |
string | yes | Date of event requiring filing (ISO 8601) |
title_ |
string | yes | Title/class of securities (e.g., Common Stock) |
cusip |
string | yes | CUSIP identifier of the security |
percent_ |
double | yes | Percent of class beneficially owned |
shares_ |
double | yes | Number of shares beneficially owned |
sole_ |
double | yes | Shares with sole voting power |
shared_ |
double | yes | Shares with shared voting power |
sole_ |
double | yes | Shares with sole dispositive power |
shared_ |
double | yes | Shares with shared dispositive power |
type_ |
string | yes | Type code (IN=individual, CO=corporation, IA=investment adviser, etc.) |
source_ |
string | yes | Source of funds (WC=working capital, BK=bank, OO=other) |
purpose_ |
string | yes | Item 4 text describing intent (investment, activist, M&A, etc.) |
earnings_transcripts · table¶
Earnings-related content from 8-K filings (Item 2.02 - Results of Operations). 8-K forms are "current reports" filed within 4 days of material events; Item 2.02 covers earnings releases with quarterly results, guidance, and press release text. Use for: earnings surprise analysis, guidance tracking, management commentary on results, and correlating announcements with stock price movements.
| Column | Type | Null | Description |
|---|---|---|---|
cik |
string | no | Central Index Key (unique SEC company identifier, 10 digits zero-padded) |
accession_ |
string | no | SEC accession number (unique filing identifier, format 0000000000-00-000000) |
filing_ |
string | no | Date the filing was submitted to SEC (ISO 8601 format) |
year |
int | no | Filing year for Iceberg partitioning |
filing_ |
string | no | Type of SEC filing (e.g., '10-K', '10-Q', '8-K', 'DEF 14A') |
exhibit_ |
string | yes | Exhibit number within the filing |
section_ |
string | no | Section type (prepared_remarks, qa_session) |
paragraph_ |
int | no | Sequential paragraph number |
paragraph_ |
string | no | Full text content of the paragraph |
speaker_ |
string | yes | Name of the speaker (for Q&A sections) |
speaker_ |
string | yes | Role/title of the speaker |
stock_prices · table¶
Daily OHLCV stock price data for SEC-reporting companies. Stooq API source (bulk S3 cache checked first via StooqBulkProxy). Use for: event studies, volatility analysis, price correlation studies.
| Column | Type | Null | Description |
|---|---|---|---|
cik |
string | no | Central Index Key (unique SEC company identifier, 10 digits zero-padded) |
ticker |
string | no | Stock ticker symbol in Stooq format (e.g., 'AAPL.US', 'MSFT.US') |
date |
string | no | Trading date in ISO 8601 format (YYYY-MM-DD) |
open |
double | yes | Opening price for the trading day |
high |
double | yes | Highest price during the trading day |
low |
double | yes | Lowest price during the trading day |
close |
double | yes | Closing price for the trading day |
volume |
long | yes | Number of shares traded during the day |
adjusted_ |
double | yes | Closing price adjusted for splits and dividends |
year |
int | no | Trading year (Iceberg partition column; present in the data and the year=*/ path) |
vectorized_chunks · table¶
Semantic text chunks from 10-K and 10-Q filings with Jina embeddings. Text is chunked (SemanticTextChunker), enriched with context tags and cross-references (SecTextVectorizer), then normalized for temporal/monetary consistency (TextNormalizer). Embeddings computed via DuckDB quackformers. Use for: semantic similarity search, RAG Q&A, and topic clustering.
| Column | Type | Null | Description |
|---|---|---|---|
cik |
string | no | Central Index Key (unique SEC company identifier, 10 digits zero-padded) |
accession_ |
string | no | SEC accession number (unique filing identifier, format 0000000000-00-000000) |
year |
int | no | Filing year for Iceberg partitioning |
chunk_ |
string | no | Unique identifier for this chunk |
source_ |
string | no | Origin type (mda_paragraph, footnote, risk_factor, earnings) |
section |
string | yes | Parent section (e.g., 'Item 7', 'Note 1') |
subsection |
string | yes | Heading immediately enclosing this chunk (e.g., 'Results of Operations') |
section_ |
string | yes | Full heading breadcrumb as ' > '-delimited string for community/cluster analysis |
paragraph_ |
boolean | yes | True when this chunk is a continuation piece of an oversized prose or atomic element |
sequence |
int | no | Order within parent section |
filing_ |
string | no | Date the filing was submitted to SEC (ISO 8601 format) |
chunk_ |
string | no | Original text chunk before enrichment |
enriched_ |
string | no | Normalized text with context tags, cross-references, and standardized temporal/monetary expressions. This is what gets embedded. |
embedding |
array |
yes | 384-dim snowflake-arctic-embed-xs embedding via GPU bulk generation |
content_ |
string | yes | Content classification (paragraph, table, list, heading, mixed) |
financial_ |
string | yes | Comma-separated list of referenced financial concepts |
exhibit_ |
string | yes | Exhibit number within the filing (for earnings source_type) |
speaker_ |
string | yes | Name of speaker for Q&A earnings sections |
speaker_ |
string | yes | Role/title of speaker (CEO, CFO, Analyst, etc.) |
paragraph_ |
int | yes | Original paragraph number in earnings_transcripts for traceability |
latest_filings · view¶
Most recent filing of each type per company
View — columns are resolved by the query engine at runtime.
revenue_trends · view¶
Revenue line items across quarters for trend analysis
View — columns are resolved by the query engine at runtime.
insider_activity_summary · view¶
Aggregated insider trading activity by company
View — columns are resolved by the query engine at runtime.
financial_facts · view¶
Normalized financial line items with canonical metric names and scaled dollar values. Joins financial_line_items against an inline concept_aliases mapping to resolve XBRL concept variants (e.g. both us-gaap:Revenues and us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax map to canonical_name=revenue). value_dollars applies the scale factor so callers never need to handle value_numeric * POWER(10, scale) themselves.
View — columns are resolved by the query engine at runtime.
company_financial_profile · view¶
Denormalised company identity: SEC filing metadata joined to GLEIF CIK-LEI bridge and GLEIF entity registry. One row per company — enables CIK-to-LEI resolution and cross-border corporate entity analysis.
View — columns are resolved by the query engine at runtime.