US Equities Detailed Shares Outstanding
Event-level history of shares-outstanding figures for US exchange-listed equities, extending the Basic file with security name, the change versus the prior figure, a unique event id, listing date and security status. Supports capitalization, valuation and regulatory-reporting work needing event attribution.
How to use it
Rows are effective-dated. Answer point-in-time questions with the row in force on the as-of date, never the latest row. SecId and ASID are both durable AlgoSeek security keys but different values (the ASID lookup links them); tickers are reused across companies, so resolve a ticker to a key with a trade date.
Typical use
Point-in-time security identity, corporate-action adjustment, and universe construction for US equities.
Limitations
Vendor-curated reference data: rows can be restated when AlgoSeek learns of a late or corrected event, so land each delivery as a snapshot rather than overwriting history. Three dates, as-of semantics: EffectiveDate = effective date of the SO value change (the as-of date of the figure); CreatedDate = trading date on which algoseek created the SO event; ChangedDate = date (optionally with an _n version suffix) on which the event was last changed. In the samples CreatedDate is never earlier than EffectiveDate (gap 1-93 days), so CreatedDate (or ChangedDate if revised) is the date a figure could have been known - use it, not EffectiveDate, to avoid look-ahead (infer… Event/step data, not a daily series: a row is a new SO figure. SO on a date D is the SharesOutstanding of the latest row with EffectiveDate <= D (and CreatedDate <= D for point-in-time use); it persists until the next row (inferred from the 'event' wording). SharesOutstanding is 'the new shares outstanding figure' (a level, not a change) captured from stock exchanges and company websites as soon as the official source publishes it; official update frequency varies from daily to annual, so gaps of months or years between rows are normal. Values are as reported, not restated for later splits (inferred from samples): AAPL 861,874,894 effective 20070124 versus 16,687,631,000 effective 20210416 (guide Table 1), and ARCI drops from 8,472,651 (effective 20181229) to 1,694,530 (effective 20190422), about one fifth, consistent with a reverse split. Recent figures are often rounded to thousands (ending in 000). Combine with the Adjustment Factors datasets if a split-consistent share count is needed.
Coverage
US exchange-listed equity securities from 2007 to present (product page); official shares-outstanding figures from exchanges and company websites. Sample is AAPL only (76 events, 20070124-20220415).
Usage constraints
- Licensed vendor data: never export raw rows to a tenant-local destination or include them verbatim in a public artifact; serve only through entitlement-checked platform reads.
- Do not treat the vendor's `Ticker` as a stable identity across time; join on an AlgoSeek security key (SecId or ASID, which are distinct) or the platform symbol mapping.
Known issues (6)
- Documentation discrepancyGuide Table 2/3 documents CreatedDate as a 'trading date', but 12 of 76 Detailed sample rows (17 of 109 in Basic) have a Saturday CreatedDate (20071117, 20090124, 20171104, 20200104, ...); in 6 Detailed rows ChangedDate is the following Monday.
- Documentation discrepancyChangedDate is documented as yyyymmdd[_n] with a version suffix, but none of the 76 sample rows carries a suffix.
- Documentation discrepancyUpdate cadence: guide says 'a couple of times a day' (starting 04:00 AM EST); the Detailed page says the dataset is 'updated continuously throughout the trading day'.
- Documentation discrepancyFile names: guide mentions so_basic.csv / so_detailed.csv; published samples are eq_shares_outst_basic.csv / eq_shares_outst_detail.csv.
- Documentation discrepancyGuide gives no Missing/null column; the sample has no blank values (Name, ListDate and Status are constant for AAPL).
- Documentation discrepancyDetailed sample ends 20220415 for AAPL while the Basic sample for AAPL runs to 20230721 (82 rows vs 76); the 76 shared rows match exactly on EffectiveDate and SharesOutstanding.
11 columns in delivery order · file or table name eq_shares_outst_detail. Types are ODCS logical types; the format line shows how values are written.
| Column | Type | Key | Description |
|---|---|---|---|
| SecId | integeri64 | algoseek unique security identifier. Source: vendor guide and sample | |
| Ticker | string | Symbol name for the security. Source: vendor guide and sample | |
| CreatedDate | dateyyyymmdd | Trading date when the SO event was created (first captured by algoseek); can fall on a Saturday in the sample. Source: vendor guide and sample | |
| ChangedDate | stringyyyymmdd with optional _n version suffix (no suffix appears in the sample) | Date, plus version number when suffixed, on which the SO event was last changed; equals CreatedDate in 70 of 76 Detailed sample rows. Source: vendor guide and sample | |
| EffectiveDate | dateyyyymmdd | Effective date of the SO value change; the figure's as-of date. Source: vendor guide and sample | |
| Name | string | Security name. Source: vendor guide and sample | |
| SharesOutstanding | integeri64 | New shares outstanding figure effective from EffectiveDate (a level, not a delta). Unit: shares · Source: vendor guide and sample | |
| SharesOutstandingDiff | integeri64 | Change in shares outstanding versus the previous figure; negative for reductions such as buybacks. Unit: shares · Source: vendor guide and sample | |
| EventId | integeri64 | Key 1 · Required | Unique identifier of the shares-outstanding event. Source: vendor guide and sample |
| ListDate | dateyyyymmdd | Date the security was listed (AAPL sample shows 19801212, i.e. before the 2007 coverage start). Source: vendor guide and sample | |
| Status | string · enum (3)1-char code | Security status: A active, D in default, I inactive. Source: vendor guide and sample 3 allowed values
|
- errorrow_count_positivecompleteness
Every delivered partition (trade date, or snapshot) carries at least one row.
rowCount must be greater than 0
- errorprimary_key_uniqueuniqueness
The declared primary key is unique within each delivered partition (one file or table snapshot).
duplicateValues (properties: EventId) must be 0
Delivery
S3 flat files
AlgoSeek flat-file delivery (the layout the schema below describes).
- Layout:
- Plain-text CSV with fixed header row, one row per shares-outstanding (SO) change event. Two aggregation options with identical fields: 'all' (a single CSV for all symbols) and 'secid' (one CSV per SecId, e.g. 33449/AAPL holds all its data). Guide mentions files so_basic.csv, so_detailed.csv and a per-SecId file being refreshed; Basic and Detailed share one guide.
- Compression:
- gzip
- Access:
- Bucket access is granted per subscription; bucket names arrive with license provisioning.
REST API
AlgoSeek Datasets REST API (X-API-KEY header; JSON, CSV or gzipped CSV). Returns AlgoSeek's normalized API layout, which differs from the flat-file columns in this contract's schema.
https://api.algoseek.com/v1/data/us-equity-ref/shares-outst-detail
- Authentication:
- X-API-KEY header issued by AlgoSeek
- Response formats:
- json, csv, csv_gzip
- Pagination:
- offset + limit; tick endpoints take trade_date and identifier (Ticker or ASID) in the path
Service levels
- History starts
- 2007-01-01
- First trade date of the vendor history.
- Update frequency
- Daily
- Retention
- Bounded by the license term
- Retention of landed copies is bounded by the AlgoSeek license; purge on termination.
Service levels describe the vendor feed as documented. They are draft values, not a commitment by AlphaSwarm.
Data Contract Editor · read-only preview — edits are not saved
Open-source Data Contract Editor (MIT). Changes stay in this browser tab: Cancel restores the published contract, and Download copy saves your edited YAML to your device only.
Contracts follow the Open Data Contract Standard (Bitol, LF AI & Data).
Vendor names are trademarks of their owners.