Quick Start

Get up and running with the Earnings API in just a few steps.

1

Get Your API Key

Sign up for an account and generate your API key from the dashboard.

Get API Key →
2

Make Your First Request

Try the API with a simple GET request to fetch the latest content.

curl "https://api.earningsapi.com/v1/summaries?page=1"
3

Integrate the Response

Parse the JSON response and integrate the content into your application.

[
  {
    "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" }]
  },
  {
    "id": "nvda-q1-2026-call",
    "symbol": "NVDA",
    "type": "call",
    "title": "NVIDIA Q1 FY2026 Earnings Call Summary",
    "content": "CEO Jensen Huang highlighted record datacenter revenue...",
    "isoDate": "2025-05-15T22:00:00Z",
    "symbols": [{ "exchange": "NASDAQ", "symbol": "NVDA" }]
  }
]

API Endpoints

Two simple endpoints provide complete access to all earnings content with flexible filtering and pagination.

Base URL

https://api.earningsapi.com

Authentication

To authorize your requests, add ?apikey=YOUR_API_KEY at the end of every request.

Note: When adding the API key to your requests, ensure to use &apikey= if other query parameters already exist in the endpoint.

List All Summaries

GET/v1/summaries

Retrieve a list of summaries with flexible filtering by type and symbol. Perfect for browsing and discovery.

Query Parameters

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

Example Requests

Latest summaries (first page):

GET /v1/summaries

Second page of summaries:

GET /v1/summaries?page=2

AAPL summaries only:

GET /v1/summaries?symbol=AAPL

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" }]
  },
  {
    "id": "nvda-q1-2026-call",
    "symbol": "NVDA",
    "type": "call",
    "title": "NVIDIA Q1 FY2026 Earnings Call Summary",
    "content": "CEO Jensen Huang highlighted record datacenter revenue...",
    "isoDate": "2025-05-15T22:00:00Z",
    "symbols": [{ "exchange": "NASDAQ", "symbol": "NVDA" }]
  }
]

📄 Summaries API Deep Dive

Explore detailed documentation, advanced examples, and use cases for the Summaries endpoints.

View Details →

Get Summary by ID

GET/v1/summaries/{id}

Retrieve the full summary of a specific article including complete text and metadata.

Path Parameters

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

Example Request

GET /v1/summaries/aapl-q2-2025-press

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 API Deep Dive

Explore detailed documentation, advanced examples, and use cases for the Summaries endpoints.

View Details →

Get Earnings Calendar

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

Retrieve earnings calendar for a specific date, including companies scheduled to report earnings before market open, after market close, and during trading hours.

Path Parameters

ParameterTypeRequiredDescription
yyyy-mm-ddstringYesDate in YYYY-MM-DD format (e.g., "2025-07-02")

Example Request

GET /v1/calendar/2025-07-02

Response Example

{
  "date": "2025-07-02",
  "pre": [
    {
      "lastYearRptDt": "6/26/2024",
      "lastYearEPS": "$2.19",
      "time": "time-pre-market",
      "symbol": "UNF",
      "name": "Unifirst Corporation",
      "marketCap": 3494292442,
      "fiscalQuarterEnding": "May/2025",
      "epsForecast": "$2.12",
      "noOfEsts": "1"
    }
  ],
  "after": [
    {
      "lastYearRptDt": "6/26/2024",
      "lastYearEPS": "$0.43",
      "time": "time-after-hours",
      "symbol": "FC",
      "name": "Franklin Covey Company",
      "marketCap": 296379885,
      "fiscalQuarterEnding": "May/2025",
      "epsForecast": "($0.08)",
      "noOfEsts": "3"
    }
  ],
  "notSupplied": [
    {
      "lastYearRptDt": "5/01/2024",
      "lastYearEPS": "$0.12",
      "time": "time-not-supplied",
      "symbol": "HLN",
      "name": "Haleon plc",
      "marketCap": 46686825025,
      "fiscalQuarterEnding": "Mar/2025",
      "epsForecast": "",
      "noOfEsts": "N/A"
    }
  ]
}

Response Fields

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

📅 Calendar API Deep Dive

Explore detailed documentation, advanced examples, and use cases for the Calendar endpoint.

SDKs & Code Examples

Integration examples in popular programming languages.

JS

JavaScript / Node.js

Get Summaries

const response = await fetch('https://api.earningsapi.com/v1/summaries?apikey=YOUR_API_KEY');

const data = await response.json();
console.log(data);

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 earnings:', calendar.pre);
console.log('After-hours earnings:', calendar.after);
🐍

Python

Get Summaries

import requests

response = requests.get('https://api.earningsapi.com/v1/summaries?apikey=YOUR_API_KEY')
data = response.json()
print(data)

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(f"Pre-market earnings: {calendar['pre']}")
print(f"After-hours earnings: {calendar['after']}")
$

cURL

Get Summaries

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

Get Earnings Calendar

curl "https://api.earningsapi.com/v1/calendar/2025-07-02?apikey=YOUR_API_KEY"

Rate Limiting

The API enforces rate limits to ensure fair usage. When you exceed the limit, you'll receive a 429 status code.

  • • Default limit: 1000 requests per hour
  • • Implement exponential backoff when hitting limits
  • • Check the X-RateLimit-Remaining header