QVeris
Company Fundamentals API Guide

How to Choose a Free Company Fundamentals API

Evaluate statements, ratios, reporting history, update schedules, rate limits, licensing, and data quality before a free tier becomes a dependency.

Hand-drawn workflow for evaluating company search, financial statements, ratios, history, coverage, freshness, and free-plan limits

Free company fundamentals API

A company fundamentals API is most useful as a compact, current company snapshot: verified identity, business classification, latest reporting period, headline financials, capital structure, and a small set of clearly defined metrics. It can power company profile pages, symbol search enrichment, watchlists, and the first step of an AI research workflow. It should not be mistaken for a complete historical statement warehouse or a point-in-time backtesting database.

Free rarely means complete

Expect limits on requests, reporting history, exchanges, company universes, endpoints, or commercial usage.

Match fields to the job

A screener, valuation model, research notebook, and backtest need different statements, periods, and point-in-time guarantees.

Prefer a coherent snapshot

Identity, classification, latest fiscal period, market context, and headline metrics should refer to the same company and effective date.

Expose freshness and provenance

A compact profile still needs source filing dates, market-data timestamps, and clear labels for reported, derived, or estimated fields.

What can a free company fundamentals API cover?

“Company fundamentals” can describe everything from a profile endpoint to a full financial database. For this use case, define the minimum snapshot that lets a user identify a company, understand what it does, see its latest financial scale and profitability, and decide whether deeper research is warranted. Keep optional statement history and filings linked, but do not overload the first response with every available fact.

Identity and business description

Require a stable company ID, legal name, exchange-qualified ticker, share class, domicile, website, reporting jurisdiction, status, and a sourced business description. Company name and ticker aliases should not create duplicate profiles.

Classification and operating context

Sector, industry, country, exchange, employee count, fiscal-year end, and reporting currency help users interpret the numbers. Store the taxonomy name and effective date because classifications can differ across providers and change over time.

Latest reported financial scale

Revenue, operating income, net income, assets, debt, cash, operating cash flow, free cash flow, and share count should identify the latest annual or quarterly period. Do not mix a new income statement with an older balance sheet without labeling the mismatch.

Market and valuation context

Market capitalization, enterprise value, price, dividend yield, and selected multiples require a market-data timestamp and documented denominator period. A live price combined with stale shares or debt can make enterprise value misleading.

Links to deeper evidence

The snapshot should link to statements, filings, earnings events, and methodology notes. Users and agents need a path from a headline metric to the reported fact or calculation behind it.

Keep the five dates in a company snapshot separate

Date or timeMeaningCommon mistake
Fiscal period endThe annual, quarterly, or year-to-date period represented by the factCalling the latest period the publication date
Filed or accepted atWhen the filing became available through the primary regulator or venueAllowing a backtest to use a quarter before it was public
Provider ingested atWhen the API parsed and exposed the filingIgnoring hours or days of delivery delay
Market data as ofThe price and market-cap observation used by valuation fieldsCombining a current price with an unexplained old share count
Retrieved atWhen the application fetched this snapshotTreating retrieval time as evidence that every field is fresh

Period labels need the same precision. A quarterly income-statement value covers one quarter; a year-to-date value covers the fiscal year through that quarter; a trailing-twelve-month value usually combines the latest four compatible quarters. Annual, quarterly, YTD, and TTM figures must not share one unlabeled revenue field. Balance-sheet facts such as cash and debt are point-in-time values, while revenue and cash flow cover a duration.

The criteria that separate sample fundamentals from dependable data

CriterionWhat to verifyCommon free-tier trade-offTest
CoverageCompanies, exchanges, regions, statements, fields, and history.Narrow universe or only a few periods.Query large, small, foreign, and delisted companies.
Identity qualityStable IDs, exchange-qualified tickers, share classes, aliases, and company status.Duplicate or stale company profiles.Resolve dual listings, renamed firms, and inactive issuers.
FreshnessFiling timestamps, ingestion delay, update schedule, and revisions.New reports may arrive hours or days late.Compare new filings and later amendments with a primary source.
Snapshot consistencyEffective dates for profile, statement, market, and calculated fields.Mixed periods presented as one current record.Print every component date in one sampled profile.
DefinitionsReported, standardized, derived, estimated, and sector-specific labels.Convenient metrics with no methodology.Trace market cap and one ratio to their inputs.
LimitsPer-minute, daily, concurrent, and endpoint quotas.Low burst capacity or hard daily caps.Exercise 429 responses and retry headers.
RightsCommercial use, storage, attribution, and redistribution.Personal or non-commercial use only.Read both API terms and upstream data rights.

A safer integration pattern for company fundamentals

Define the minimum company card

Separate required identity and current-context fields from optional history. This keeps the initial response fast and understandable while preserving links to statements, filings, and deeper research.

Resolve identifiers before enrichment

Map provider-specific company IDs, listings, share classes, and aliases into an internal entity model. Return an ambiguity state when several companies match instead of silently selecting the first ticker result.

Assemble the snapshot by effective date

Fetch identity, classification, latest financials, capital structure, and market context separately, then label the date and source of each component. Do not imply that asynchronous datasets were updated together.

Preserve definitions and raw values

Store whether each field is reported, standardized, derived, estimated, or provider-specific. Keep source values and documents so a compact profile can still support audit and correction.

Refresh by event, not only by timer

Schedule routine updates, but also react to new filings, earnings releases, corporate actions, ticker changes, and status changes. Invalidate only the affected parts of the company card when possible.

Recalculate market capitalization and enterprise value

Assume the security has 100 million eligible shares, a $30.00 price at 16:00, $500 million of debt, and $200 million of cash. Market capitalization is 100m × $30 = $3.0bn. Under a simple definition, enterprise value is $3.0bn + $0.5bn − $0.2bn = $3.3bn. The displayed result should link each input to its date, currency, unit, share class, and source.

Mismatch test: if the 100 million shares predate a 2-for-1 split, or debt and cash come from an older fiscal period than the labeled snapshot, the arithmetic can be correct while the metric is wrong. Reject the calculation or expose the mixed-date state. Also document whether enterprise value includes preferred stock, minority interest, leases, investments, or other provider-specific adjustments.

Field classWhat to retainDisplay rule
ReportedIssuer value, label, unit, period, filing, and source locationPresent as filed; do not silently normalize
StandardizedMapped concept, transformation rule, original fact, and taxonomy versionLabel the standardized definition and preserve the original
DerivedFormula, input IDs, input dates, units, and calculation timeShow methodology and unavailable reasons
EstimatedEstimate source, contributing period, contributor count, update time, and basisNever present as an issuer-reported result

Use QVeris to discover company fundamentals capabilities

Provider lists go stale and every API describes company fundamentals differently. QVeris helps developers and agents discover profile, filing, market, and financial capabilities, inspect their contracts, and call the appropriate tool for each part of a company snapshot. It simplifies routing, while the application remains responsible for entity resolution, effective dates, field definitions, caching, and the evidence shown to users.

  • Search by the capability you need—statements, ratios, company profiles, earnings, segments, or filings—not only by a vendor name.
  • Inspect inputs, outputs, authentication, and constraints before wiring a capability into an automated workflow.

FAQ

Is there a free company fundamentals API?

Yes. Several providers expose profiles, statements, ratios, or filings on a free tier, but most limit requests, history, company coverage, endpoints, or commercial use.

Which fundamentals should I test first?

Test income statements, balance sheets, cash flow, annual and quarterly periods, currencies, restatements, missing values, errors, and actual rate-limit behavior.

What belongs in a company fundamentals snapshot?

Start with verified identity, exchange and status, business description, sector, latest fiscal period, headline financials, capital structure, selected metrics, and dates for every component.

Is a fundamentals snapshot enough for valuation?

It can support an initial screen, but a defensible valuation usually needs full statement history, calculation definitions, estimates, adjustments, and source documents beyond the compact profile.

How should stale fields be handled?

Expose the effective date and freshness state per field group. Keep the last valid value only when the product labels it clearly; otherwise return unavailable rather than imply that old data is current.

Should company profiles include AI-generated descriptions?

Only with clear labeling and source links. Preserve the issuer or regulatory description separately, and do not let generated text silently replace factual identity or business-classification fields.

External references

How to Choose a Free Company Fundamentals API | QVeris Guides