Choose a Free Analyst Ratings API
with Confidence
Evaluate consensus ratings, target prices, revision history, coverage, timestamps, quotas, and usage rights before you build an analyst-data workflow.

TL;DR
An analyst ratings API should preserve each research action as an event: who issued it, which security it covered, what the prior and new recommendation were, whether the action was an initiation, reiteration, upgrade, downgrade, or withdrawal, and how any target price changed. Consensus summaries are useful only when the underlying scale, contributor set, freshness window, and observation time remain visible.
Buy, outperform, overweight, and positive are not identical. Preserve the source label, then map it to a documented normalized scale.
A current consensus cannot explain when an analyst upgraded, downgraded, initiated, reiterated, or withdrew coverage.
Keep the announcement time, effective date, ingestion time, and target-price currency so users can judge what was known when.
Understand the analyst ratings data model
An analyst ratings API may return individual actions, aggregated consensus, or both. Event records need the security, firm, action, old and new rating, old and new target, currency, publication time, and source. Consensus responses need contributor count, rating distribution, calculation method, observation window, and last update.
A target-price average is not timeless: an old outlier can distort the mean, while a median can hide widening disagreement. Store the range, mean, median, contributor count, and observation age. Distinguish company research from a share class, ADR, or regional listing, and use stable identifiers because tickers change.
Use stable IDs for the covered security, research firm, and analyst where licensing permits. Preserve exchange, share class, ADR relationship, firm aliases, analyst moves between employers, and effective dates rather than matching by ticker or surname alone.
Keep the source label exactly as published, then map it to a documented ordinal scale. Do not assume that outperform, overweight, sector perform, market perform, and neutral have identical meaning across firms.
Separate initiation, reiteration, upgrade, downgrade, resumption, suspension, and withdrawal. An unchanged positive rating with a lower target is different from a downgrade, even if both may signal reduced conviction.
Store old and new target, currency, horizon, publication time, split-adjustment status, and security. Convert currencies only in a separate derived field with an exchange-rate timestamp.
Record recommendation counts by source bucket, contributor count, normalized score, target mean and median, range, age distribution, calculation method, and as-of time. Keep the event stream that produced the snapshot.
A worked snapshot shows why one consensus number is not enough. Assume the application observes four hypothetical research firms at a 2026-07-31 cutoff. The mapping below is illustrative; a real workflow must version its own firm-specific rules and retain every original label.
| Observed event | Normalized treatment | Consensus eligibility | Reason |
|---|---|---|---|
| Firm A initiates “Outperform” at $64 | Positive bucket; initiation event; original label retained. | Include | Current, independent contributor with complete security, currency, and publication fields. |
| Firm B reiterates “Buy” and raises target from $60 to $66 | Positive bucket; recommendation unchanged; target-change event stored separately. | Include once | A syndicated copy of the same note must not create a second contributor. |
| Firm C downgrades from “Overweight” to “Equal Weight” at $52 | Neutral bucket; downgrade event supersedes the prior positive state. | Include latest state | Counting both old and new labels would double-weight one firm. |
| Firm D withdraws coverage after an analyst departure | Withdrawal event; previous rating remains historical evidence. | Exclude after withdrawal | A withdrawn opinion is not a current negative recommendation. |
Resulting snapshot: two positive contributors and one neutral contributor are eligible; the withdrawn firm is not. Report the distribution positive 2 / neutral 1 / negative 0, contributor count 3, cutoff time, oldest included opinion, mapping version, and target-price range $52–$66. The mean target is $60.67 and the median is $64, but both statistics need the original observations and age distribution. If Firm B's event was duplicated by a news syndication feed, the consensus must remain unchanged.
Corporate actions require another versioned layer. After a 2-for-1 split, a pre-split $100 target may be comparable with a post-split $50 target only when the provider or application records the split factor, effective date, original target, adjusted target, and adjustment source. Never overwrite the published target; keep the adjustment as a derived value and exclude records whose adjustment status is unknown.
Evaluate a free analyst ratings API
| Check | Question | Why it matters |
|---|---|---|
| Coverage | Which markets, firms, and security types are included? | Sparse input can make consensus misleading. |
| Freshness | Are actions live, delayed, daily, or irregular? | A timestamp does not guarantee prompt delivery. |
| History | Can you replay revisions without survivorship gaps? | Backtests need point-in-time event history. |
| Scale mapping | Are original labels, firm scales, normalized values, and mapping versions retained? | A rough universal mapping can create false upgrades or downgrades. |
| Target prices | Are currency, horizon, security, split adjustment, prior target, and publication time available? | Unlabelled targets cannot be compared or aggregated safely. |
| Contributors | Can firms, analysts, duplicates, employment changes, and stale coverage be resolved? | Contributor count and independence affect consensus quality. |
| License | May data be cached, displayed, or redistributed? | Free access may exclude commercial products. |
Check per-minute bursts, daily resets, endpoint weights, symbols per call, pagination, and separate historical allowances. Test missing values, duplicates, split-adjusted targets, withdrawn coverage, and corrections. A useful free plan should report failures with status codes and quota headers, not silently return partial data.
Build a reliable ratings integration
- Define a normalized scale: version firm-specific mappings before ingesting history, and retain every original recommendation label beside the mapped value.
- Resolve identities separately: map the security, research firm, and analyst to stable IDs, with effective dates for ticker changes, firm aliases, and employment moves.
- Preserve raw events: store the source payload, URL, publication time, prior and new labels, target prices, currency, and action type before normalization.
- Use event IDs: deduplicate with a provider ID or a composite security, firm, analyst, time, action, and content key.
- Model corrections and withdrawals: append versions, and distinguish a corrected record from a genuinely new research action.
- Separate events from snapshots: calculate consensus from point-in-time eligible events and record the method, cutoff, contributor count, age distribution, and mapping version.
- Monitor quality: alert on delivery delays, contributor loss, stale targets, currency gaps, impossible target changes, duplicates, and schema drift.
Use QVeris to find analyst-data capabilities
QVeris helps AI agents compare recommendation-event, target-price, and consensus-rating capabilities by identifiers, fields, timing, access requirements, and documented limits before routing a request. It can simplify capability access; the application still owns scale mapping, contributor identity, target-price normalization, point-in-time consensus, corrections, licensing, and how third-party opinions are presented.
FAQ
No. They are third-party opinions. Present source, date, method, and risk context.
Only with point-in-time history preserving publication timing, revisions, and delisted securities.
It can be if coverage, uptime, quota, licensing, and corrections fit the workload. Keep a fallback.
No scale is universal. Document the mapping and retain the original label.
No. An upgrade changes the recommendation category; a target-price increase changes the valuation objective. Store and analyze them as separate fields and actions.
Apply a documented age or supersession rule, exclude withdrawn coverage, and expose the age distribution instead of hiding old views inside one score.
Only after mapping each target to the correct security and converting it in a separate derived field with a timestamped FX rate. Preserve the original value and currency.
It repeats the existing recommendation, sometimes with a new target or rationale. It is a new event, but not automatically an upgrade or downgrade.
