get_earnings_surprises
Pack: finnhub · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/get_earnings_surprises for the schema, then POST the same URL with its arguments for the data.
EPS actual vs analyst (consensus) estimate, beat or miss, for a company’s recent quarters — the “earnings surprise” history. Returns per quarter: fiscal period, EPS actual, EPS estimate, surprise amount and percent. Revenue is NOT included (Finnhub’s earnings-surprise data is EPS-only); for revenue estimates on upcoming quarters, see get_earnings_calendar. Example: get_earnings_surprises({ symbol: “MSFT”, limit: 4, _apiKey: “your-key” })
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
symbol | string | yes | Stock ticker symbol, e.g. “AAPL”, “MSFT”, “TSLA” |
limit | number | no | Number of most-recent quarters to return (default 4, max 20) |
_apiKey | string | yes | Finnhub API key (get one free at finnhub.io) |
Example call
Arguments
{
"symbol": "MSFT",
"limit": 4
}
curl
curl -X POST https://gateway.pipeworx.io/finnhub/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_earnings_surprises","arguments":{"symbol":"MSFT","limit":4}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('get_earnings_surprises', {
"symbol": "MSFT",
"limit": 4
});
More examples
{
"symbol": "AAPL"
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the finnhub pack
{
"mcpServers": {
"finnhub": {
"url": "https://gateway.pipeworx.io/finnhub/mcp"
}
}
}
See Getting Started for client-specific install steps.