get_consensus — see Connect via MCP.
Plan: Free and above · Credits: 1 per call
What you can use analyst consensus for
Read the bar a company reports against before its next print. Build a beat-and-miss history from each report’s actual and estimate. See where the price-target range sits and how ratings are split. Watch how the consensus moves day by day from 2026-10-08 withas_of.
The five views
Pick a view withview. summary is the default.
summary is a single page, so cursor is refused there. The other four views page with cursor.
estimates defaults to the last year of fiscal periods and everything ahead. Pass date_gte for older periods.
The surprise is (actual − estimate) / |estimate| × 100, in percent. It is null when either side is missing or the estimate is zero.
One listing by default
A company is often known by several symbols: its home listing, a US ADR, Frankfurt and OTC lines. Each listing carries its numbers in its own units. TSMC’s EPS is about 28 on2330.TW (TWD per share), about 4.4 on TSM (USD per ADR) and about 0.88 on TSMWF.
So the endpoint returns one listing by default: the company’s primary listing. For a foreign issuer with a US ADR, that is the ADR (TM, TSM). symbols names the listing you got, and other_listings names the rest, each with its count of reports and rows.
- Pass
symbolfor one named listing, such as7203.Trather thanTM. A symbol that is not a listing of this company returns400. - Pass
symbol=allfor every listing at once.
Point in time with as_of
Passas_of to get every value as it stood at the end of that day. The consensus has been saved daily since 2026-10-08. An as_of before that day returns 400, because consensus from before then was never stored and cannot be rebuilt. A future date is also refused.
To see what was expected before an older report, use view=earnings. Each report carries the estimate that was recorded against it in eps_estimate and revenue_estimate.
Reports with more than one version
A report can carryother_versions. This happens when the source holds more than one row for the same report date, for example a restated revenue or a later update. The main row is the most recently updated one. The others are kept in other_versions, with the same fields, rather than dropped.
Coverage is uneven by market
- EPS actual and estimate: about 17,000 listings across the US, Europe and Asia.
- Forward estimates: about 21,000 listings.
- Price targets: about 4,000 listings. Ratings: about 6,000 listings. Almost all are US and European.
An empty block means the listing is not covered. It never means no analyst follows the company.
How this differs from other expectation datasets
This dataset is analyst expectation. Other pages answer different questions:- What the company itself expects: Management Guidance.
- What analysts and specialist publications wrote: Research.
- The EPS line a prediction market set for a quarter, which is fixed when the contract is listed: Earnings Consensus from Prediction Markets.
- Everything a release printed beyond EPS and revenue: Reported Earnings Figures.
Key analyst consensus fields
view,as_of,symbolsandother_listingsappear on every response.summaryreturnslistings, one entry per listing, each withn_reports,next_report,recent_reports,estimates.annual,estimates.quarter,price_targetandratings.- A report row has
report_date,eps_actual,eps_estimate,eps_surprise_pct,revenue_actual,revenue_estimate,revenue_surprise_pct,source_updated_on,other_versionsandfirst_seen_on. - An estimate row has
period(annualorquarter),fiscal_period_end,avg/high/lowbands foreps,revenue,ebitda,ebit,net_incomeandsga_expense, plusnum_analysts_epsandnum_analysts_revenue. view=price_targetsreturnslistings[].consensusand, indata, each target change:date,published_at,firm,analyst,price_target,adj_price_targetandprice_when_posted.view=ratingsreturnslistings[].consensus,listings[].monthlyand, indata, each action:date,firm,previous_grade,new_gradeandaction.first_seen_onis the first day FocusAlpha saw that row.
GET /v1/companies/{company}/consensus
string
required
A
company_id, ticker, CIK, ISIN or local symbol (2330.TW, 7203.T, 005930.KS). Not a company name.string
default:"summary"
summary, earnings, estimates, price_targets or ratings.string
view=estimates only: annual or quarter. Omit for both.string
One listing of the company, such as
7203.T, or all for every listing. Default is the primary listing.string
Values as they stood at the end of this day,
YYYY-MM-DD. From 2026-10-08.string
Earliest report date, fiscal period end or action date,
YYYY-MM-DD. date_lte sets the ceiling.integer
Rows per page for the list views, between 1 and 500. Defaults: 40 for
earnings, 200 for estimates, 50 for price_targets and ratings actions. Page through with cursor, passing back next_cursor unchanged.503 rather than an empty result.