GETPopular/v1/earnings-reactions

Earnings Reactions

Retrieve earnings results (EPS/revenue beat or miss) and post-earnings price/volume reactions for a symbol.

Request

GET https://api.earningsapi.com/v1/earnings-reactions?symbol=AAPL&apikey=YOUR_API_KEY
RequestPython
import requests

response = requests.get("https://api.earningsapi.com/v1/earnings-reactions?symbol=AAPL", params={"apikey": "YOUR_API_KEY"}, timeout=30)
response.raise_for_status()
print(response.json())

Query parameters

NameTypeRequiredDescription
symbolstringYesStock ticker symbol (e.g., "AAPL")

Response fields

FieldTypeDescription
datestringEarnings report date (YYYY-MM-DD)
symbolstringStock ticker symbol
epsobjectEPS metrics: surprisePercent, yoy (year-over-year %), beat (true/false)
revenueobjectRevenue metrics: surprisePercent, yoy (year-over-year %), beat (true/false)
reactionsarrayDaily price/volume data after the report: date, priceChange (%), volume, open, close, high, low

Response example

JSON response
[
  {
    "date": "2026-01-29",
    "symbol": "AAPL",
    "eps": {
      "surprisePercent": 7.16981132075472,
      "yoy": 18.3333333333333,
      "beat": true
    },
    "revenue": {
      "surprisePercent": 3.87669148773973,
      "yoy": 15.6524537409493,
      "beat": true
    },
    "reactions": [
      {
        "date": "2026-01-30",
        "priceChange": 0.464612048939153,
        "volume": 92443408,
        "open": 255.17,
        "close": 259.48,
        "high": 261.9,
        "low": 252.18
      },
      {
        "date": "2026-02-02",
        "priceChange": 4.05811623246492,
        "volume": 73913425,
        "open": 260.03,
        "close": 270.01,
        "high": 270.49,
        "low": 259.21
      }
    ]
  }
]

Quota and limits

Free tier includes 60 requests per minute, 100 requests per day, and 1,000 requests per month. Paid plans are built for production use with higher limits and a 300 requests per minute rate limit. Daily and monthly reset windows use New York time.

View usage