Typical fields include:
eps_actualeps_forecasteps_surpriserevenue_actualrevenue_forecastBecause the API exposes both actual and forecast EPS, you can easily determine the result category programmatically.
Example logic:
eps_actual > eps_forecasteps_actual < eps_forecasteps_actual == eps_forecastThis structure works well when adding a "earnings result" column to a signal list or trading dashboard.
The Bigdata API provides a dedicated endpoint focused on earnings surprises. It returns fields such as:
eps_actualeps_estimatedeps_surprise_pctreporting_dateThis endpoint is useful for post‑earnings analysis or verifying whether a company beat expectations after results are released.
For trading strategies that depend on session timing—like distinguishing before‑market open vs. after‑market close announcements—some APIs include explicit reporting‑time fields.
Examples:
This is useful if your signal table needs output such as:
05‑12 pre‑market05‑12 after‑hoursWhen integrating earnings data into a trading signal list, a typical table structure might look like this:
ticker | signal_time | earnings_status | earnings_date | earnings_session | eps_actual | eps_estimate | resultWhere:
reported, upcoming, unknownpre-market, after-hours, unknownbeatmissinlinependingExample classification logic:
if eps_actual is None:
result = "pending"
elif eps_actual > eps_estimate:
result = "beat"
elif eps_actual < eps_estimate:
result = "miss"
else:
result = "inline"A robust setup often combines two sources:
Example workflow:
If you want a practical stack for automated trading tools: