Skip to content
Eden Engine

Analyst Ratings History (Monthly Buy/Hold/Sell Counts)

omnial/get-analyst-ratings

Given a stock ticker (and optionally its exchange), returns a monthly time series of Wall Street analyst rating counts -- Strong Buy, Buy, Hold, Sell, and a monthly total -- typically covering about three years of history for a recognized ticker.

activeper callv3

Price

Up to $0.0273 per call; you pay what the call used

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

MarketBeat

Data from MarketBeat.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/get-analyst-ratings" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/get-analyst-ratings" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/get-analyst-ratings", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/get-analyst-ratings", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0273
Updated
Oct 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "ticker"
  ],
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock ticker symbol (e.g. 'AAPL')."
    },
    "exchange": {
      "type": "string",
      "description": "Stock exchange (e.g. 'NYSE', 'NASDAQ')."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "Buy": {
                "type": "string",
                "description": "Count of Buy ratings that month, as a numeric string."
              },
              "Date": {
                "type": "string",
                "description": "First day of the covered month, e.g. '09/01/2023' (MM/DD/YYYY)."
              },
              "Hold": {
                "type": "string",
                "description": "Count of Hold ratings that month, as a numeric string."
              },
              "Sell": {
                "type": "string",
                "description": "Count of Sell ratings that month, as a numeric string."
              },
              "StrongBuy": {
                "type": "string",
                "description": "Count of Strong Buy ratings that month, as a numeric string."
              },
              "TotalRatings": {
                "type": "string",
                "description": "Total analyst ratings that month, as a numeric string; equal to Sell+Hold+Buy+StrongBuy for that month in every row observed."
              }
            },
            "additionalProperties": false
          },
          "description": "Monthly analyst rating counts, oldest first, on a real successful lookup (AAPL: 38 months, roughly 3 years of history). An unrecognized ticker returns an empty list with status 'success' rather than an error -- an empty list means the ticker was not recognized (see usage.md)."
        }
      },
      "additionalProperties": false
    },
    "status": {
      "type": "string",
      "description": "'success' on both real calls observed, including the unrecognized-ticker case."
    }
  },
  "description": "The analyst-ratings record.",
  "additionalProperties": false
}