# 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

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `page` | integer | No | Zero-based page (default 0). |
| `limit` | integer | No | Page size, 1-250 (default 50). |

## Output parameters

| Name | 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. |

## Example response

```json
{
  "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
}
```

## Examples

### cURL

```bash
curl "https://api.vantafin.com/v1/earnings?limit=50&apiKey=$VANTAFIN_API_KEY"
```

### Python

```python
from vantafin import RESTClient

client = RESTClient("vf-live-your_api_key")

result = client.list_earnings(limit=50)

print(result)
```

### JavaScript

```javascript
import { RestClient } from "vantafin";

const client = new RestClient("vf-live-your_api_key");

const result = await client.listEarnings({ limit: 50 });

console.log(result);
```

### Go

```go
package main

import (
	"fmt"
	"log"

	"github.com/vantafin/vantafin-go"
)

func main() {
	client := vantafin.NewClient("vf-live-your_api_key")

	result, err := client.ListEarnings(vantafin.Params{"limit": 50})
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println(result)
}
```

### Java

```java
import com.vantafin.RestClient;
import com.vantafin.Params;

public class Example {
    public static void main(String[] args) throws Exception {
        RestClient client = new RestClient("vf-live-your_api_key");

        Object result = client.listEarnings(Params.of().set("limit", 50));

        System.out.println(result);
    }
}
```

### Ruby

```ruby
require "vantafin"

client = Vantafin::RestClient.new("vf-live-your_api_key")

result = client.list_earnings(limit: 50)

pp result
```
