FMPFMP
Datasets
Insights/Data in Action/Model Builds/Market Cap, Float, and Shares Outstanding APIs: How to Build Reliable Valuation Time Series

Market Cap, Float, and Shares Outstanding APIs: How to Build Reliable Valuation Time Series

·

·21 min read
Data in Action

Market capitalization shows up in almost every valuation workflow: screening, portfolio weighting, index analysis, factor research, and backtesting. A current value is usually easy to retrieve. A reliable historical series requires more care.

A market cap time series depends on more than price history. Share counts change after buybacks, issuances, conversions, splits, mergers, and other corporate actions. Float can move on a separate schedule. Filing dates rarely line up with market dates. Symbols change, share classes differ, and companies delist. If those timelines are not handled carefully, the series can look complete while using the wrong share count, a mismatched price basis, or data that was not actually available at the time.

Teams usually approach market cap in one of two ways. They either retrieve it directly from an API where historical market cap is available, or they reconstruct it from historical prices and shares outstanding when the workflow needs more control over methodology, timing, and validation. Float-adjusted market cap adds another layer because it requires float or free-float share data, not only total shares outstanding.

The practical requirement depends on the use case. A dashboard may only need current market cap. A valuation model may need a clean historical series. Index-style analysis may require float-adjusted figures. Backtests need market cap, share counts, prices, and fundamentals aligned to what was knowable at the time. This article explains how market cap, float-adjusted market cap, and shares outstanding time series are retrieved or built, where Financial Modeling Prep fits, and what teams should validate before these datasets enter a production model.

Key Takeaways

  • Market cap time series depend on more than historical prices. Share counts, float, corporate actions, symbols, filings, and delistings all affect whether the series is reliable.
  • Teams can retrieve historical market cap directly where available, or reconstruct it from price and shares outstanding when they need more control over methodology, timing, and validation.
  • Float-adjusted market cap requires float or free-float share data, not only total shares outstanding. Because float does not update like price, the source and calculation date should be documented.
  • Backtesting workflows need extra care. Market cap, share counts, fundamentals, and prices should be aligned to the dates when those values were actually available to avoid lookahead bias.
  • FMP can support market cap, share, float, price, fundamentals, identifier, symbol-change, and delisted-company workflows through APIs, but teams still need clear validation rules for sensitive research or production use.

Why Market Cap Time Series Are Harder Than They Look

Market cap starts with a simple formula:

market cap = share price × shares outstanding

Float-adjusted market cap uses a different share base:

float-adjusted market cap = share price × float shares

Those formulas work for a current snapshot. Historical analysis requires the price and share inputs to line up correctly over time.

Price changes every trading day. Shares outstanding usually change after buybacks, issuances, conversions, splits, mergers, and other corporate actions. Float can change on a different schedule because insider ownership, locked-up shares, strategic holdings, and public tradable supply do not always move with total shares outstanding.

A market cap series needs a share-count input that belongs to the date being calculated. A common mistake is to take today's shares outstanding and multiply it by historical prices. The output will look clean, but many of the past values may be wrong.

Price and share data also need compatible adjustment rules. If a price series is split-adjusted but the share-count series is not adjusted in the same way, reconstructed market cap can break around split dates. The formula is still correct, but the inputs are no longer using the same basis. The same issue can appear with dual-class companies, ADRs, symbol changes, mergers, spin-offs, and delistings. A ticker may change while the company continues. A company may have multiple listed share classes. A delisted company may disappear from an active-universe pull even though it belongs in a historical backtest.

Issue

Why It Breaks The Series

Current shares used for historical dates

Past market cap values use information that did not belong to that period.

Split-adjusted prices mixed with unadjusted shares

Market cap can jump around corporate action dates for methodological reasons.

Stale float data

Float-adjusted market cap may lag the real tradable share base.

Symbol changes ignored

Historical records may be split across old and new tickers.

Delisted companies excluded

Backtests can develop survivorship bias.

Filing dates ignored

Fundamentals or share-count updates may be used before they were available.

The main challenge is availability timing: which share count, float value, filing, or fundamental value could the model have used on a given date?

A fiscal quarter may end on March 31, but the company reports later. The filing may arrive after that. A provider may process the updated record after the filing becomes available. For a dashboard, that delay may be acceptable. For a backtest, using the updated value before it was available creates lookahead bias.

An API-accessible data layer like FMP can be useful because historical market cap, share float, historical price, company profile, financial statement, and identifier-related datasets can provide the inputs for a valuation time-series workflow. Reliability still depends on how those inputs are joined, dated, adjusted, and validated. No single endpoint removes the need to align prices, shares, filings, symbols, and corporate actions correctly.

Market Cap Vs. Float-Adjusted Market Cap Vs. Shares Outstanding

Market cap, float-adjusted market cap, and shares outstanding are connected measures with different uses.

Term

What It Means

Typical Use

Market capitalization

Share price multiplied by total shares outstanding

Valuation, screening, portfolio sizing, and company size classification

Shares outstanding

Total issued shares of a company at a point in time

Market cap calculation, ownership analysis, and per-share metrics

Float shares

Shares available for public trading after excluding restricted or closely held shares

Liquidity analysis, tradable supply, and float-adjusted calculations

Free float

The portion of shares considered freely tradable under a provider or index methodology

Index weighting, investability screens, and float-based analysis

Float-adjusted market cap

Share price multiplied by float shares or free-float shares

Index-style analysis, liquidity-aware weighting, and investable market size

The distinction matters because each workflow uses a different share base. Valuation analysis often starts with total market cap because it reflects the company's full equity value. Index construction often uses float-adjusted market cap because not every issued share is freely tradable. Liquidity analysis needs float context because two companies with similar total market caps can have very different tradable supply. Backtests need historically accurate shares outstanding and float values because using today's share count for older dates can distort the historical series.

These differences become data quality issues in historical work. Teams can get into trouble by using current shares outstanding for historical periods, mixing split-adjusted prices with unadjusted share counts, using total shares outstanding when the workflow requires float-adjusted value, ignoring share-class or symbol changes, or treating float as if it updates on the same schedule as price. Catching those issues at the data layer is cheaper than debugging them after they have already moved through a model, screen, or backtest.

How Do I Retrieve Market Capitalization Time Series For Valuation Analysis?

You can retrieve market capitalization time series in two ways: use a historical market cap API directly, or reconstruct market cap from historical prices and shares outstanding. Direct retrieval is faster for dashboards, valuation snapshots, and broad screening. Reconstruction is better when the workflow needs methodology control, fiscal-period alignment, backtest discipline, or validation against source data.

The direct path is straightforward. The workflow requests current or historical market cap values from the provider and stores them by symbol and date. This works well when the use case needs a clean market cap series for charts, comparison tables, valuation screens, or portfolio-level monitoring. FMP's historical market cap API can support direct historical retrieval when the workflow needs a dated market value series. For multi-symbol workflows, batch market cap can help teams retrieve market cap data across a broader list of companies without treating each ticker as a separate manual lookup.

The reconstruction path gives the data team more control:

market cap = historical share price × shares outstanding for that date

This approach is useful when market cap needs to line up with a specific reporting period, filing date, or backtest timestamp. It also gives the team a way to check whether a precomputed market cap series is consistent with the underlying price and share-count inputs.

A valuation workflow usually needs more than the final market cap value. It needs current market cap for snapshots and dashboards, historical market cap for trend analysis, shares outstanding history for reconstruction and validation, historical prices with clear adjustment logic, fiscal-period alignment with financial statements, and corporate action awareness around splits, mergers, and share changes. It may also need links to fundamentals such as revenue, EBITDA, net income, equity, debt, and cash.

In an FMP-based workflow, teams can retrieve market cap and historical market cap where available, use batch market cap for multi-symbol workflows, and combine historical price data with company, share, and fundamental datasets when reconstruction or validation is needed. The retrieval method matters less than consistency. A reliable workflow applies the same market cap methodology across the full universe and keeps that method aligned with the valuation use case.

Where Can I Get Historical Float And Shares Outstanding Data?

Historical float and shares outstanding data can come from regulatory filings, investor relations disclosures, financial data APIs, and institutional financial data platforms. FMP APIs can support programmatic retrieval, while platforms such as Bloomberg or LSEG may offer deeper historical coverage and reference-data workflows.

Source Type

Best Fit

SEC filings and company reports

Verifying reported share counts, share classes, and capital structure changes

Investor relations disclosures

Checking company-reported share data, float context, and ownership-related updates

Financial data APIs

Pulling shares outstanding, float, market cap, and company data into repeatable workflows

Institutional platforms

Deeper historical coverage, reference data, and point-in-time research workflows

Market portals

Basic lookup, manual checks, and quick validation

For a production valuation workflow, the latest share count is only one part of the required dataset. Teams usually need shares outstanding, float shares, free float where available, share class, ticker or security identifier, filing date or report date, effective date where available, and exchange or currency context.

Historical float is often less complete than historical price data. Prices are observed every trading day, while float and shares outstanding are usually updated around filings, company disclosures, provider processing cycles, and corporate actions. Availability can vary by company, region, time period, share class, and provider methodology.

FMP can support this work through share float data, market cap data, company profile data, and historical market data. Coverage can differ by company, region, and historical period, so the retrieval layer still needs validation. An API may provide the share or float field directly, but the workflow still needs to check whether the value is available for the required historical period, whether it maps to the right share class, and whether it is suitable for the valuation or backtesting use case.

How Do I Access Float-Adjusted Market Cap Time Series?

Float-adjusted market cap time series can be accessed directly from some specialized datasets or calculated by combining historical price data with historical float share data. If a provider does not offer a precomputed series, the calculation is:

float-adjusted market cap = share price × float shares

This differs from standard market cap because the share base excludes locked-up, restricted, or otherwise non-tradable shares depending on the provider or index methodology. That makes it useful for index weighting and liquidity-aware analysis, where investable market size matters more than total equity value.

Source

Best For

Financial data APIs with float fields

Combining price history, float data, and company metadata in one workflow

Index providers

Index-specific free-float treatment, investability screens, or official weighting methodology

Institutional platforms

Deeper history, reference-data controls, or point-in-time research infrastructure

Filings and manual reconstruction

Verification or checking float assumptions against company disclosures

Where a precomputed float-adjusted market cap series is not available, FMP data can support reconstruction by combining historical price data with float or share data where available. That makes the workflow more transparent, while also requiring the team to document the price basis, float source, and calculation date.

The main risk is assuming float behaves like price. It does not update every trading day, and different providers apply different free-float methodologies. Dual-class structures, delayed float updates after filings, stale float values, and inconsistent historical availability can all change the result. A float-adjusted market cap workflow should store the float source, price basis, calculation date, and methodology assumption. Without those fields, the output may look like a clean time series but still be hard to audit or compare across providers.

Which Services Provide Time-Aligned Fundamentals And Prices For Backtests?

Time-aligned fundamentals and prices for backtests usually come from institutional point-in-time platforms, but some financial data APIs can support time-aligned research workflows when prices, filing dates, report dates, as-reported fundamentals, historical share data, symbol changes, and delisted securities are handled carefully. The core requirement is simple: a backtest should only use data that would have been available on the historical decision date.

This is where many valuation backtests go wrong. A fiscal period tells you what the data describes. It does not always tell you when the market could have known it.

Date Field

What It Means

Why It Matters

Fiscal period end date

The period the company is reporting on

Useful for matching fundamentals to quarters or fiscal years, but not enough for backtesting

Report date

The date the company announces results

Helps approximate when new information entered the market

Filing date

The date the official filing becomes available

Important for workflows based on reported or as-reported fundamentals

Market date

The trading date used for price, market cap, or returns

Keeps fundamentals aligned with the price series used in the test

Data availability date

The date the value was actually available in the dataset

The safest field for point-in-time backtesting when provided

The provider choice depends on how strict the backtest needs to be. Institutional point-in-time platforms are usually the best fit when the workflow requires audited historical snapshots, survivorship-bias controls, corporate action history, reference-data management, and explicit data availability dates. Financial data APIs can support time-aligned research workflows when the team builds the alignment logic itself.

In an FMP-based workflow, historical prices, fundamentals, as-reported fundamentals, market cap, share data, delisted companies, and symbol change datasets can be combined to build a more careful research dataset. This supports time-aligned research when the team applies clear filing-date, report-date, symbol-change, and survivorship controls. It should not be described as full institutional point-in-time coverage unless the workflow has those controls in place.

As-reported fundamentals and filing-based workflows are useful when the model needs to stay close to what the company originally filed, rather than relying only on standardized fields. Market data APIs provide the price side of the join, including historical prices, adjusted or unadjusted closes, volume, and market-date context.

Before using the dataset in a backtest, validate the alignment rules. The team should be able to answer whether the fundamental value was known on the decision date, whether prices are adjusted or unadjusted, whether shares outstanding and market cap are historically accurate for the date, whether delisted companies are included, whether symbol changes are handled, whether revised filings or restatements leak backward into earlier test dates, and whether the workflow uses filing or report dates rather than only fiscal period dates.

For simple research, an approximate filing-date workflow may be enough. For strict production backtesting, the workflow needs stronger point-in-time controls.

How To Build A Reliable Valuation Time Series

A reliable valuation time series is a dated join between market data, share data, float data, fundamentals, identifiers, and methodology assumptions. Each row should answer a practical question: for this company, on this market date, using the right share base and the fundamentals available under the chosen date rule, what valuation value should the model see?

Step

What The Workflow Does

Relevant Data Inputs

Define the universe

Start with the securities that belong in the analysis, including delisted names where relevant

Tickers, exchange, company profile, delisted companies

Retrieve historical prices

Pull the price series used for market cap and valuation calculations

Historical prices, adjusted or unadjusted close, market dates

Retrieve or reconstruct market cap

Use historical market cap directly where available, or calculate it from price and shares outstanding

Historical market cap, price, shares outstanding

Retrieve shares and float

Add the share base needed for total market cap and float-adjusted market cap

Shares outstanding, float shares, free float where available

Connect identifiers

Map each record to the correct company and security

Ticker, CIK, CUSIP, ISIN, exchange

Handle symbol changes and delistings

Keep historical records connected when tickers change or companies leave the active universe

Symbol changes, delisted company data

Align fundamentals

Match fundamentals to the right reporting period and availability date

Financial statements, report dates, filing dates

Validate price adjustments

Check whether the price basis matches the share-count basis

Adjusted prices, split context, corporate action context

Calculate valuation fields

Compute ratios after the market, share, and fundamental inputs are aligned

P/E, EV/EBITDA, price-to-sales, market-cap-to-revenue

Store methodology

Preserve how each derived value was created

Price basis, share basis, float source, filing-date rule, market cap method

In an FMP-based workflow, these inputs can come from the same API environment. Historical market data can supply prices, market cap datasets can support direct retrieval, share float and shares outstanding data can support reconstruction, company profile and identifier fields can support mapping, and financial statements can supply valuation denominators.

Corporate actions also need to be handled carefully. Splits, dividends, repurchases, and share-count changes can affect whether a price series and share series remain comparable. When those events matter to the time series, analysts should preserve the relevant corporate action context rather than assuming the adjusted price series explains everything.

Conceptual Workflow Logic

The workflow below is conceptual pseudocode. It shows sequencing, joins, date rules, and validation checks. It is intended to show the logic of the workflow rather than exact endpoint syntax, SDK code, or a copy-paste implementation. Before implementation, teams should confirm endpoint names, parameters, field definitions, plan access, and date availability rules against the provider documentation.

universe = load_security_universe(include_delisted=True)


prices = get_historical_prices(universe)

market_cap = get_historical_market_cap(universe)

shares = get_shares_outstanding_and_float(universe)

fundamentals = get_financial_statements(universe)

identifiers = get_company_identifiers(universe)


mapped_prices = map_to_security_id(prices, identifiers)

mapped_shares = map_to_security_id(shares, identifiers)

mapped_fundamentals = map_to_security_id(fundamentals, identifiers)


valuation_base = join_by_security_and_date(

prices=mapped_prices,

shares=mapped_shares,

fundamentals=mapped_fundamentals,

date_rule="use_filing_date_for_fundamentals"

)


valuation_base["market_cap_reconstructed"] = (

valuation_base["price"] * valuation_base["shares_outstanding"]

)


valuation_base["float_adjusted_market_cap"] = (

valuation_base["price"] * valuation_base["float_shares"]

)


valuation_base["market_cap_final"] = choose_available_value(

preferred=market_cap,

fallback=valuation_base["market_cap_reconstructed"]

)


valuation_base["price_to_sales"] = (

valuation_base["market_cap_final"] / valuation_base["revenue"]

)


validation_flags = validate_series(

valuation_base,

checks=[

"missing_price",

"missing_share_count",

"missing_float",

"symbol_mapping_gap",

"fundamental_used_before_filing_date",

"price_share_adjustment_mismatch"

]

)


model_ready_table = store_output(

valuation_base,

keys=["security_id", "symbol", "market_date", "fiscal_period"],

fields=[

"market_cap_final",

"float_adjusted_market_cap",

"shares_outstanding",

"float_shares",

"price_to_sales",

"filing_date",

"market_cap_method",

"validation_flags"

]

)

The final output should carry enough context to be used in a model, reviewed by an analyst, and audited later. The table below is an illustrative output structure, not a live valuation dataset.

Symbol

Market Date

Fiscal Period

Filing Date

Price Basis

Shares Basis

Market Cap Method

Market Cap

Float-Adjusted Market Cap

Validation Status

AAPL

2026-06-17

2026 Q2

2026-05-02

adjusted close

historical shares

retrieved

example value

example value

passed

MSFT

2026-06-17

2026 Q3

2026-04-25

adjusted close

historical shares

reconstructed

example value

example value

passed

NVDA

2026-06-17

2026 Q1

2026-05-28

adjusted close

historical shares

reconstructed

example value

example value

flagged: float stale

The exact columns will vary by system, but the principle should not. Every row needs enough context to explain the company, security, market date, reporting period, price basis, share basis, calculation method, and validation status.

This consistency matters more as the universe grows. If one company uses adjusted prices and another uses unadjusted prices, or one symbol uses current shares while another uses historical shares, the valuation series becomes internally inconsistent. The error may not show up as a failed API call. It shows up later as distorted groupings, unstable factor values, or backtest results that cannot be reproduced.

Bulk workflows need stable schemas and repeatable joins for the same reason. The pipeline should apply the same identifier mapping, date-alignment rule, price-adjustment rule, share-count rule, and validation logic across the full universe, then store those assumptions with the output.

Common Data Quality Issues In Market Cap And Share Count Workflows

Market cap and share count workflows usually break when the inputs are misaligned. A small mismatch in price basis, share count, float source, or reporting date is enough to distort a valuation screen, shift a factor grouping, or introduce lookahead bias into a backtest without any obvious error in the output.

Issue

What To Check

Current shares used for historical periods

Share counts should match the date being analyzed, not the latest available value.

Split-adjusted prices paired with unadjusted shares

Price and share data should follow compatible corporate action treatment.

Stale or missing float data

Float-adjusted market cap should be flagged when float history is incomplete or outdated.

Inconsistent share classes, ADRs, or dual listings

Each record should map to the correct security and issuer.

Symbol changes or delisted companies excluded

Historical universes should not silently drop companies that changed ticker or left the exchange.

Fiscal period, report date, and filing date confusion

Fundamentals should be aligned by the date they became usable, not only the period they describe.

Different market cap methodologies

Direct provider values and reconstructed values should be compared before mixing them in one series.

Most of these issues are silent. A bad share count does not throw an error; it just gives the model a wrong price-to-sales ratio. A missing delisted company does not break the pipeline; it biases the backtest. Validating assumptions against filings and provider documentation before the series enters a model is cheaper than finding the problem after the output is already in use.

Provider Categories For Market Cap, Float, And Shares Outstanding Data

Providers for market cap, float, and shares outstanding data fall into four broad categories. The right source depends on whether the workflow needs API accessibility, historical depth, float methodology, point-in-time accuracy, or broad universe coverage.

Provider Type

Best Fit

Typical Strength

Limitation

Financial data APIs

Dashboards, valuation tools, screening, and API integration

Market cap, price history, share data, float fields, and fundamentals in developer-friendly formats

Historical depth, float methodology, and point-in-time handling vary by provider

Institutional platforms

Enterprise research, backtesting, and reference data workflows

Broad coverage, deeper historical data, point-in-time datasets, and reference-data controls

Higher cost and more complex integration

Filing and regulatory sources

Source verification and manual reconstruction

Primary disclosures for shares outstanding, float context, and corporate changes

Less standardized and harder to automate

Index and reference-data providers

Float-adjusted market cap and index-style analysis

Detailed float methodologies and index-specific treatment

Often specialized, licensed, and not developer-first

Financial data APIs such as FMP, Alpha Vantage, Polygon, EOD Historical Data, Intrinio, and Nasdaq Data Link are accessible starting points for many teams. FMP can support workflows that use market cap, historical market cap, share float, as-reported fundamentals, and symbol reference data, making it useful for both direct retrieval and reconstruction.

Institutional platforms such as Bloomberg, LSEG, FactSet, and S&P Capital IQ offer deeper point-in-time coverage and reference-data controls, but at higher cost and integration complexity than API-first providers. Filing sources such as SEC EDGAR are the primary reference for validating share counts and float assumptions against company disclosures. Index providers such as MSCI and S&P Dow Jones Indices define the float methodologies used in major indices, though their data is typically licensed rather than API-accessible.

For most API-driven workflows, the practical starting point is a financial data API for retrieval, filing sources for validation, and institutional platforms when the workflow requires stricter point-in-time controls.

What To Look For In A Market Cap Or Share Count API

A market cap or share count API should be evaluated against the workflow it needs to support. A dashboard, a valuation screen, a backtest, and an enterprise ingestion pipeline do not need the same level of history, adjustment logic, or point-in-time control.

API Requirement

Why It Matters

Current and historical market cap

Supports both snapshots and valuation time series.

Batch market cap support

Makes portfolio, sector, and universe-level workflows easier to run.

Shares outstanding history

Allows market cap reconstruction and historical validation.

Float and free-float data

Supports float-adjusted market cap and liquidity-aware analysis.

Historical prices

Provides the price side of market cap reconstruction.

Adjusted and unadjusted price fields

Helps teams match price basis with share-count methodology.

Corporate action context

Reduces errors around splits, mergers, and share-count changes.

Filing date and report date fields

Helps align fundamentals to the date the data became usable.

Identifier coverage

Supports joins across ticker, CIK, CUSIP, ISIN, exchange, and company records.

Symbol changes and delisted companies

Helps reduce survivorship bias and broken historical joins.

Bulk access and stable schemas

Supports repeatable ingestion across larger universes.

Documentation and update cadence

Makes the workflow easier to monitor, validate, and maintain.

FMP is a strong fit when the workflow needs API-accessible market cap, shares, float, historical prices, company data, and fundamentals connected in one environment. That matters for teams building valuation screens, portfolio dashboards, or data pipelines where the same symbols, dates, and identifiers need to flow across multiple datasets.

The caveat is scope. If the workflow requires full institutional point-in-time controls, audited historical reference data, or proprietary float methodology, a specialized or institutional source may still be needed. Plan and tier access should also be checked against provider documentation before assuming that every endpoint is available for every account.

Building Reliable Market Cap And Float Time Series

Most market cap errors come from alignment problems: the wrong share count for the date, a stale float value, a price series that does not account for a split, or a delisted company quietly missing from the universe.

Getting this right means treating market cap, float, and shares outstanding as a connected time-series workflow. Each input needs a date, a source, and a methodology that holds up when someone asks why the number looks different from another provider's output.

FMP supports the retrieval and reconstruction side of this through API-accessible market cap, share and float data, historical prices, fundamentals, and reference datasets. For strict point-in-time backtesting or proprietary float methodology, specialist platforms may still be needed. But the validation discipline belongs to the team regardless of which provider is used.

Market cap, float, and shares outstanding data works best as a connected valuation time-series workflow, with each value tied to the right company, security, date, share base, and validation rule.

FAQs

How Do I Get Historical Market Cap Data?

You can get historical market cap data from financial data APIs, institutional platforms, or by reconstructing it from historical prices and shares outstanding. FMP can support API-based workflows with market cap, historical market cap, historical price, share, and company data that teams can use for retrieval or validation.

What Is The Difference Between Retrieved Market Cap And Reconstructed Market Cap?

Retrieved market cap comes directly from the provider as a value for a company and date. Reconstructed market cap is calculated from price and shares outstanding. Retrieved market cap is faster to use, while reconstruction gives the team more control over methodology, date alignment, and validation.

How Do You Calculate Market Cap From Price And Shares Outstanding?

Market cap is calculated by multiplying share price by shares outstanding. For historical analysis, the price and share count should match the same date and adjustment basis. Using the latest shares outstanding with older prices can create an inaccurate historical market cap series.

What Is Float-Adjusted Market Cap?

Float-adjusted market cap is calculated by multiplying share price by float shares or free-float shares, where available. It focuses on the tradable share base rather than total shares outstanding and is commonly used in index-style analysis, liquidity-aware weighting, and investable market size calculations.

Where Can I Find Historical Shares Outstanding And Float Data?

Historical shares outstanding and float data can come from filings, investor relations disclosures, financial data APIs, institutional platforms, and market portals. FMP can be used as an API-accessible source for share float, shares outstanding, market cap, and related company data, but historical coverage should still be validated by company, region, period, and use case.

How Do I Avoid Lookahead Bias When Using Market Cap In Backtests?

To avoid lookahead bias, align market cap, shares outstanding, float, prices, and fundamentals to the date when each value was actually available. Filing dates, report dates, symbol changes, delistings, and data availability dates matter more than fiscal period dates alone.

About the Author

Amy Lyons
Amy Lyons

Editorial strategy for financial data platforms and APIs

Amy Lyons leads content strategy at FMP, focusing on how financial data is structured, communicated, and translated into clear, usable insights. She builds editorial frameworks that connect product capabilities to real-world workflows. Her work focuses on supporting consistent, high-quality analysis across developer and analyst use cases.

Related

Financial data for every need

Real-time quotes and 30+ years of historical data, including prices, fundamentals, and insider transactions — all accessible via API.