First Result

Make one request, get a real response, then build from there.

1

Get your API key

Your API key is automatically created when you sign up.

Sign in →
2

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.

3

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.

Sign in →

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_KEY

Authentication

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

Common mistake (incorrect):...?page=1?apikey=...
https://api.earningsapi.com/v1/summaries?page=1&apikey=YOUR_API_KEY

Calendar

Retrieve earnings calendar for a specific date.

Get Earnings Calendar

GET/v1/calendar/{yyyy-mm-dd}

Returns companies scheduled to report earnings before market open, after market close, and unspecified times.

Path Parameters

ParameterTypeRequiredDescription
yyyy-mm-ddstringYesDate 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_KEY

Response 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

FieldTypeDescription
datestringDate in YYYY-MM-DD format
prearrayCompanies reporting before market open
afterarrayCompanies reporting after market close
notSuppliedarrayCompanies with unspecified reporting times

Company Object Fields

FieldTypeDescription
symbolstringStock ticker symbol (e.g., "JPM", "AAPL")
namestringCompany name
epsEstimatestringEstimated earnings per share (e.g., "$5.01" or empty string)
epsstringActual earnings per share (e.g., "$4.81" or empty string if not reported)
revenuenumberActual revenue in dollars (e.g., 45798000000) or null if not reported
revenueEstimatenumberEstimated revenue in dollars (e.g., 46166454906) or null if not available

📅 Calendar Deep Dive

Advanced examples and use cases for Calendar.

View Details →

Summaries

Browse summaries and fetch full text for a specific summary ID.

List All Summaries

GET/v1/summaries

Retrieve a list of summaries with optional filtering.

Query Parameters

ParameterTypeRequiredDescription
symbolstringNoStock symbol filter: AAPL, MSFT. CSV for multiple.
pageintegerNoPage number (default: 1, min: 1)

Example Requests

Latest summaries:

GET https://api.earningsapi.com/v1/summaries?page=1&apikey=YOUR_API_KEY

AAPL only:

GET https://api.earningsapi.com/v1/summaries?symbol=AAPL&apikey=YOUR_API_KEY

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

View Details →

Get Summary by ID

GET/v1/summaries/{id}

Retrieve the full summary text and metadata for a specific ID.

Path Parameters

ParameterTypeRequiredDescription
idstringYesUnique identifier (e.g., "aapl-q2-2025-press")

Example Request

GET https://api.earningsapi.com/v1/summaries/aapl-q2-2025-press?apikey=YOUR_API_KEY

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

View Details →

SDKs & Code Examples

Integration examples in popular programming languages.

JS

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