All Earnings
GET/v1/earnings
Retrieve earnings calendar rows across every ticker in Vantafin: report date, actual vs estimated EPS and revenue. Results are ordered by report date descending (most recent first), then ticker. Paginate with page and limit (default 50, max 250). Use this for market-wide earnings calendars, surprise screens and event feeds without requesting each ticker individually.
Use cases
- Market-wide earnings calendar dashboards
- Cross-ticker earnings surprise screens
- Event feeds and alerting on upcoming reports
- Bulk ingestion of earnings data into research systems
Input parameters
Required
| Parameter | Type | Description |
|---|---|---|
| page | integer | Zero-based page (default 0). |
| limit | integer | Page size, 1-250 (default 50). |
Output parameters
| Field | Type | Description |
|---|---|---|
| results | array | Earnings reports across tickers, most recent first. |
| results[].ticker | string | Ticker. |
| results[].report_date | string | Report date (YYYY-MM-DD). |
| results[].eps_actual | float | Reported EPS. |
| results[].eps_estimated | float | Consensus EPS estimate. |
| results[].revenue_actual | float | Reported revenue. |
| results[].revenue_estimated | float | Consensus revenue estimate. |
| results[].last_updated | string | Last update date (YYYY-MM-DD). |
| count | integer | Number of rows on this page. |
| total | integer | Total matching earnings rows. |
| page | integer | Zero-based page index. |
from vantafin import RESTClient
client = RESTClient("vf-live-your_api_key")
result = client.list_earnings(limit=50)
print(result){
"results": [
{
"ticker": "AAPL",
"report_date": "2026-07-30",
"eps_actual": null,
"eps_estimated": 1.86,
"revenue_actual": null,
"revenue_estimated": 108393400000,
"last_updated": "2026-06-06"
},
{
"ticker": "MSFT",
"report_date": "2026-07-28",
"eps_actual": null,
"eps_estimated": 3.21,
"revenue_actual": null,
"revenue_estimated": 74200000000,
"last_updated": "2026-06-06"
}
],
"count": 2,
"total": 98412,
"page": 0
}