Skip to content
Eden Engine

Stock Competitor Comparison (Financials, Ratings, and Peer Rankings)

omnial/get-competitors

Given a stock ticker (and optionally its exchange), returns a set of head-to-head comparison tables against its closest publicly traded peers -- profitability (margins, ROE, ROA), valuation and earnings (revenue, net income, P/E), media sentiment, and analyst ratings -- plus a ranked list of named peer companies with share price, market cap, and analysts' price targets. When a ticker cannot be matched to real competitors, Eden Engine may return a general listing of large public companies instead of a peer comparison; see usage.md.

activeper callv2

Price

Up to $0.0137 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 $5.00.

Data source

MarketBeat

Data from MarketBeat.

Use it

Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.

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

For developers: the calls your assistant makes
agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

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

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

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/get-competitors", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/get-competitors", 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.0137
Updated
Oct 27, 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": {
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "Metric": {
                      "type": "string",
                      "description": "Row label on the broad 'vs. The Competition' metrics table, e.g. 'Market Cap', 'P/E Ratio'. This row type also carries one value column per entity being compared (the requested company, its industry, its sector, and its exchange), each keyed by that entity's own name (e.g. 'Apple', 'Technology Sector', 'NASDAQ Exchange') rather than a fixed field name -- those per-request columns are not included in this shape because a fixed shape cannot name them for a different ticker."
                    },
                    "Sector": {
                      "type": "string",
                      "description": "Sector name, on the fallback listing only; empty string for some ETF/fund rows."
                    },
                    "Company": {
                      "type": "string",
                      "description": "Company name for this row (e.g. 'Apple', 'Amazon.com'), on head-to-head comparison rows, the named competitors list, and the fallback listing."
                    },
                    "Neutral": {
                      "type": "string",
                      "description": "Media mention count, e.g. '35Neutral mention(s)'."
                    },
                    "Revenue": {
                      "type": "string",
                      "description": "Trailing revenue as an abbreviated dollar string."
                    },
                    "Negative": {
                      "type": "string",
                      "description": "Media mention count, e.g. '26Negative mention(s)'."
                    },
                    "Positive": {
                      "type": "string",
                      "description": "Media mention count, e.g. '70Positive mention(s)'."
                    },
                    "P/E Ratio": {
                      "type": "string",
                      "description": "P/E ratio as a plain numeric string, or 'N/A', on the named competitors list and the fallback listing."
                    },
                    "Market Cap": {
                      "type": "string",
                      "description": "Market capitalization as an abbreviated dollar string."
                    },
                    "MarketRank": {
                      "type": "string",
                      "description": "MarketBeat's own star-rating summary, e.g. '4.1301 of 5 stars'."
                    },
                    "Net Income": {
                      "type": "string",
                      "description": "Net income as an abbreviated dollar string."
                    },
                    "Buy Ratings": {
                      "type": "string",
                      "description": "Count of analyst Buy ratings."
                    },
                    "Net Margins": {
                      "type": "string",
                      "description": "Net profit margin as a percentage string, e.g. '27.62%'."
                    },
                    "Share Price": {
                      "type": "string",
                      "description": "Current share price and day change, e.g. '$336.13-0.3%'. A digit-heavy price string, not a phone number."
                    },
                    "Hold Ratings": {
                      "type": "string",
                      "description": "Count of analyst Hold ratings."
                    },
                    "Indicator(s)": {
                      "type": "string",
                      "description": "Concatenated tags MarketBeat attaches to the company, e.g. 'Trending NewsAnalyst Forecast'."
                    },
                    "Rating Score": {
                      "type": "string",
                      "description": "Aggregate analyst rating score as a numeric string, e.g. '2.62'."
                    },
                    "Sell Ratings": {
                      "type": "string",
                      "description": "Count of analyst Sell ratings, e.g. '2Sell rating(s)'."
                    },
                    "Current Price": {
                      "type": "string",
                      "description": "Current share price and day change, on the fallback listing only, same format as Share Price."
                    },
                    "Gross Revenue": {
                      "type": "string",
                      "description": "Trailing gross revenue as an abbreviated dollar string, e.g. '$466.82B'."
                    },
                    "Very Negative": {
                      "type": "string",
                      "description": "Media mention count, e.g. '9Very Negative mention(s)'."
                    },
                    "Very Positive": {
                      "type": "string",
                      "description": "Media mention count, e.g. '277Very Positive mention(s)'."
                    },
                    "Employee Count": {
                      "type": "string",
                      "description": "Reported employee count as a comma-grouped numeric string."
                    },
                    "Return on Assets": {
                      "type": "string",
                      "description": "ROA as a percentage string."
                    },
                    "Return on Equity": {
                      "type": "string",
                      "description": "ROE as a percentage string."
                    },
                    "Overall Sentiment": {
                      "type": "string",
                      "description": "Overall media sentiment label, e.g. 'Positive'."
                    },
                    "Price/Sales Ratio": {
                      "type": "string",
                      "description": "Price-to-sales ratio as a plain numeric string."
                    },
                    "Earnings Per Share": {
                      "type": "string",
                      "description": "Trailing EPS as a dollar string."
                    },
                    "Strong Buy Ratings": {
                      "type": "string",
                      "description": "Count of analyst Strong Buy ratings."
                    },
                    "1Y Price Performance": {
                      "type": "string",
                      "description": "One-year share price performance, e.g. '+41.0%'."
                    },
                    "Price/Earnings Ratio": {
                      "type": "string",
                      "description": "P/E ratio as a plain numeric string, on head-to-head valuation rows."
                    },
                    "Analysts' Price Target": {
                      "type": "string",
                      "description": "Consensus analyst price target and implied change, e.g. '$340.14+1.2%'."
                    },
                    "Consensus Price Target": {
                      "type": "string",
                      "description": "Consensus price target and upside/downside, on the fallback listing only, e.g. '$340.14(1.2% Upside)', or 'N/A'."
                    },
                    "Consensus Analyst Rating": {
                      "type": "string",
                      "description": "Consensus rating label and score, on the fallback listing only, e.g. 'Moderate Buy(Score: 2.62)', or 'N/A(Score: 0.00)'."
                    }
                  },
                  "additionalProperties": false
                },
                "description": "Rows for this comparison section; which fields are present depends on the section (see each field's own description)."
              },
              "category": {
                "type": "string",
                "description": "A natural-language question naming the two tickers being compared (e.g. 'Is AMZN or AAPL more profitable?'), or the label of a broader table (e.g. 'Apple Competitors List'). Empty string on the unrecognized-ticker fallback listing."
              }
            },
            "additionalProperties": false
          },
          "description": "Comparison sections. On a real successful lookup (AAPL/NASDAQ) this held 18 items: several head-to-head questions against different named peers (profitability, valuation/earnings, media sentiment, analyst ratings), a metrics-vs-averages table, and a named competitors list. On an unrecognized ticker, this endpoint has been observed returning a single item with an empty category and a large general listing of well-known public companies instead of an error or an empty result (see usage.md) -- this is a real, documented alternate shape, not a fallback this tool hides from the customer."
        }
      },
      "additionalProperties": false
    },
    "status": {
      "type": "string",
      "description": "'success' on both real calls observed, including the unrecognized-ticker case."
    }
  },
  "description": "The competitor-comparison record.",
  "additionalProperties": false
}