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.

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" }]
  }
]
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" }]
}

SDKs & Code Examples

Integration examples in popular programming languages.

JS

JavaScript / Node.js

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

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

Python

import requests

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

cURL

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

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