First Result
Make one request, get a real response, then build from there.
Copy & paste this
Fetch an earnings calendar for a date.
curl "https://api.earningsapi.com/v1/calendar/2025-07-02?apikey=YOUR_API_KEY"If you are not signed in, replace YOUR_API_KEY.
You should see JSON like this
{
"date": "2025-07-02",
"pre": [
{
"symbol": "JPM",
"name": "J P Morgan Chase & Co",
"epsEstimate": "$5.01",
"eps": "$4.81",
"revenue": 45798000000,
"revenueEstimate": 46166454906
}
],
"after": [
{
"symbol": "DAL",
"name": "Delta Air Lines, Inc.",
"epsEstimate": "$1.53",
"eps": "$1.85",
"revenue": 16003000000,
"revenueEstimate": 14682059858
}
],
"notSupplied": [
{
"symbol": "BK",
"name": "The Bank Of New York Mellon Corporation ",
"epsEstimate": "$1.97",
"eps": "$1.72",
"revenue": 8869000000,
"revenueEstimate": 5141942072
}
]
}Your API Key
If you’re signed in, you can copy your key and use it in requests immediately.
Sign in to copy your API key and generate ready-to-run requests.
Most Used (Copy & Paste)
These are the most common request patterns. Start here before diving into full reference.
Earnings for a date
Get companies reporting earnings before open, after close, and unspecified times.
GET https://api.earningsapi.com/v1/calendar/2025-07-02?apikey=YOUR_API_KEY{
"date": "2025-07-02",
"pre": [...],
"after": [...],
"notSupplied": [...]
}See full fields and examples in Calendar reference.
Latest summaries
Browse the latest earnings summaries with pagination.
GET https://api.earningsapi.com/v1/summaries?page=1&apikey=YOUR_API_KEY[
{
"id": "aapl-q2-2025-press",
"symbol": "AAPL",
"type": "press",
"title": "...",
"isoDate": "..."
}
]Need full text? Use “Get Summary by ID”.
Summaries for a symbol
Filter summaries for one stock symbol.
GET https://api.earningsapi.com/v1/summaries?symbol=AAPL&apikey=YOUR_API_KEYAuthentication
Authenticate by adding apikey as a query parameter.
If there are no existing query params:?apikey=YOUR_API_KEY
If there are already query params:&apikey=YOUR_API_KEY
...?page=1?apikey=...https://api.earningsapi.com/v1/summaries?page=1&apikey=YOUR_API_KEYCalendar
Retrieve earnings calendar for a specific date.
Get Earnings Calendar
/v1/calendar/{yyyy-mm-dd}Returns companies scheduled to report earnings before market open, after market close, and unspecified times.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
yyyy-mm-dd | string | Yes | Date in YYYY-MM-DD format (e.g., "2025-07-02") |
Example Request
GET https://api.earningsapi.com/v1/calendar/2025-07-02?apikey=YOUR_API_KEYResponse Example
{
"date": "2025-07-02",
"pre": [
{
"symbol": "JPM",
"name": "J P Morgan Chase & Co",
"epsEstimate": "$5.01",
"eps": "$4.81",
"revenue": 45798000000,
"revenueEstimate": 46166454906
}
],
"after": [
{
"symbol": "DAL",
"name": "Delta Air Lines, Inc.",
"epsEstimate": "$1.53",
"eps": "$1.85",
"revenue": 16003000000,
"revenueEstimate": 14682059858
}
],
"notSupplied": [
{
"symbol": "BK",
"name": "The Bank Of New York Mellon Corporation ",
"epsEstimate": "$1.97",
"eps": "$1.72",
"revenue": 8869000000,
"revenueEstimate": 5141942072
}
]
}Response Fields
| Field | Type | Description |
|---|---|---|
date | string | Date in YYYY-MM-DD format |
pre | array | Companies reporting before market open |
after | array | Companies reporting after market close |
notSupplied | array | Companies with unspecified reporting times |
Company Object Fields
| Field | Type | Description |
|---|---|---|
symbol | string | Stock ticker symbol (e.g., "JPM", "AAPL") |
name | string | Company name |
epsEstimate | string | Estimated earnings per share (e.g., "$5.01" or empty string) |
eps | string | Actual earnings per share (e.g., "$4.81" or empty string if not reported) |
revenue | number | Actual revenue in dollars (e.g., 45798000000) or null if not reported |
revenueEstimate | number | Estimated revenue in dollars (e.g., 46166454906) or null if not available |
📅 Calendar Deep Dive
Advanced examples and use cases for Calendar.
Summaries
Browse summaries and fetch full text for a specific summary ID.
List All Summaries
/v1/summariesRetrieve a list of summaries with optional filtering.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | No | Stock symbol filter: AAPL, MSFT. CSV for multiple. |
page | integer | No | Page number (default: 1, min: 1) |
Example Requests
Latest summaries:
GET https://api.earningsapi.com/v1/summaries?page=1&apikey=YOUR_API_KEYAAPL only:
GET https://api.earningsapi.com/v1/summaries?symbol=AAPL&apikey=YOUR_API_KEYResponse Example
[
{
"id": "aapl-q2-2025-press",
"symbol": "AAPL",
"type": "press",
"title": "Apple Reports Q2 2025 Results",
"content": "Apple announced revenue of $95B, up 7% YoY...",
"isoDate": "2025-05-17T21:00:00Z",
"symbols": [{ "exchange": "NASDAQ", "symbol": "AAPL" }]
}
]📄 Summaries Deep Dive
Advanced examples and use cases for Summaries.
Get Summary by ID
/v1/summaries/{id}Retrieve the full summary text and metadata for a specific ID.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique identifier (e.g., "aapl-q2-2025-press") |
Example Request
GET https://api.earningsapi.com/v1/summaries/aapl-q2-2025-press?apikey=YOUR_API_KEYResponse Example
{
"id": "aapl-q2-2025-press",
"symbol": "AAPL",
"type": "press",
"title": "Apple Reports Q2 2025 Results",
"content": "Apple (NASDAQ:AAPL) reported revenue of $95B, up 7% YoY. Net income ...",
"isoDate": "2025-05-17T21:00:00Z",
"symbols": [{ "exchange": "NASDAQ", "symbol": "AAPL" }]
}📄 Summaries Deep Dive
Advanced examples and use cases for Summaries.
SDKs & Code Examples
Integration examples in popular programming languages.
JavaScript / Node.js
Get Earnings Calendar
const response = await fetch('https://api.earningsapi.com/v1/calendar/2025-07-02?apikey=YOUR_API_KEY');
const calendar = await response.json();
console.log('Pre-market:', calendar.pre);
console.log('After-hours:', calendar.after);Get Summaries
const response = await fetch('https://api.earningsapi.com/v1/summaries?page=1&apikey=YOUR_API_KEY');
const data = await response.json();
console.log(data);Python
Get Earnings Calendar
import requests
response = requests.get('https://api.earningsapi.com/v1/calendar/2025-07-02?apikey=YOUR_API_KEY')
calendar = response.json()
print(calendar['pre'])
print(calendar['after'])Get Summaries
import requests
response = requests.get('https://api.earningsapi.com/v1/summaries?page=1&apikey=YOUR_API_KEY')
data = response.json()
print(data)cURL
Get Earnings Calendar
curl "https://api.earningsapi.com/v1/calendar/2025-07-02?apikey=YOUR_API_KEY"
Get Summaries
curl "https://api.earningsapi.com/v1/summaries?page=1&apikey=YOUR_API_KEY"
Quota & Limits
Understand how free tier quota resets and what happens when you hit your limit.
Free Tier Usage Quota
Free tier quota resets every 30 days based on your account creation date (Eastern Time). Your next reset date is shown in the dashboard.
- • Quota resets automatically every 30 days
- • Reset date is based on your account creation date (ET)
- • Check Dashboard for current usage and next reset date