Skip to main content
Skip to main content

US Analyst Activity — Ratings, Price Targets & Monthly Consensus (Top 3K, 5y)

DatasetCSV.GZOpenFinanceAnalystRatingsPrice TargetsEventsSentimentFree

Five years of sell-side analyst activity for the top 3,000 US-listed issuers, delivered as three complementary files: 85,777 individual upgrade/downgrade events, 73,147 individual price target changes, and 144,410 monthly aggregate strong-buy / buy / hold / sell / strong-sell counts. Each event row carries the analyst firm, previous and new grade or target, the stock price at the time of the call, and a link back to the originating news item. Read with pandas.read_csv(path, compression='gzip', parse_dates=['publishedDate']). Useful for: analyst-momentum factors, upgrade/downgrade event studies, calibrating analyst accuracy by firm, building target-change feature stacks, and reconstructing consensus drift around earnings.

Use Cases

  • Analyst-momentum and upgrade/downgrade event studies
  • Per-firm analyst accuracy backtests (compare priceWhenPosted to forward returns)
  • Price-target drift signals around earnings windows
  • Consensus-evolution time series (monthly file)
  • Building feature stacks for ML models trained on analyst signals

Methodology

Universe: top 3,000 US-listed issuers by market cap (NASDAQ/NYSE/AMEX). Three FMP endpoints per ticker: /stable/grades-news (event-level upgrades/downgrades with news linkage), /stable/price-target-news (individual price target changes, paginated to exhaustion), /stable/grades-historical (monthly aggregate buy/hold/sell counts). All rows filtered to publishedDate (or date) >= 2021-05-17.

Update Schedule

Static snapshot as of build date. Re-run weekly or monthly for continued coverage.

Attribution

Source: aggregated sell-side analyst events via Financial Modeling Prep.

Schema

nametype
symbolstring
publishedDatedatetime
gradingCompanystring
previousGradestring
newGradestring
actionstring
priceWhenPostedstring
newsTitlestring
newsPublisherstring
newsBaseURLstring
newsURLstring

Sample Data

actionsymbolnewsURLnewGradenewsTitlenewsBaseURLnewsPublisherpreviousGradepublishedDategradingCompanypriceWhenPosted
holdBIDUhttps://pulse2.com/baidu-nasdaq-bidu-stock-370-target-by-benchmark/BuyBaidu (BIDU) Stock: $370 Target By Benchmarkpulse2.comPulse 2.0Buy2021-05-20T00:00:00.000ZBenchmark193.31
holdPLUGhttps://pulse2.com/plug-power-nasdaq-plug-stock-42-target-by-piper-sandler/NeutralPlug Power (PLUG) Stock: $42 Target By Piper Sandlerpulse2.comPulse 2.0Neutral2021-05-20T00:00:00.000ZPiper Sandler27.47
holdDQhttps://pulse2.com/daqo-new-energy-nyse-dq-stock-70-target-by-roth-capital/NeutralDaqo New Energy (DQ) Stock: $70 Target By Roth Capitalpulse2.comPulse 2.0Neutral2021-05-20T00:00:00.000ZRoth Capital78.41

Get this via API

# 1. Add dAgentBase once, in any MCP client. No install, no vendor keys.
#    Claude.ai / Claude Desktop: Settings -> Connectors -> Add custom connector
#    Cursor / Claude Code / others: mcp.json
{
  "mcpServers": {
    "dagentbase": {
      "url": "https://dagentbase.com/api/mcp",
      "headers": { "Authorization": "Bearer dm_live_YOUR_KEY" }
    }
  }
}

# 2. Then ask your agent, in plain language:
#    "Preview 'US Analyst Activity — Ratings, Price Targets & Monthly Consensus (Top 3K, 5y)' and, if it fits, claim it and download the files."
#    Tools it will use: search_listings -> preview_listing -> purchase_listing -> get_download_urls

# 1. Add dAgentBase once, in any MCP client. No install, no vendor keys.
#    Claude.ai / Claude Desktop: Settings -> Connectors -> Add custom connector
#    Cursor / Claude Code / others: mcp.json
{
  "mcpServers": {
    "dagentbase": {
      "url": "https://dagentbase.com/api/mcp",
      "headers": { "Authorization": "Bearer dm_live_YOUR_KEY" }
    }
  }
}

# 2. Then ask your agent, in plain language:
#    "Preview 'US Analyst Activity — Ratings, Price Targets & Monthly Consensus (Top 3K, 5y)' and, if it fits, claim it and download the files."
#    Tools it will use: search_listings -> preview_listing -> purchase_listing -> get_download_urls
Free

one time · open license

Details

Date Range2021-05-172026-09-05
Rows303,334
Size8.3 MB
Files3
FormatCSV.GZ

Available formats

CSV.GZ3 files · 8.3 MB
Freeopen