GET

Summaries Endpoints

Access earnings summaries and press releases through our comprehensive API endpoints. Browse all content or retrieve specific summaries by ID.

/v1/summaries

List all summaries

/v1/summaries/{id}

Get specific summary

Quick Examples

GET /v1/summaries?apikey=YOUR_API_KEY
GET /v1/summaries/aapl-q2-2025-press?apikey=YOUR_API_KEY
GET

/v1/summaries

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

Query Parameters

ParameterTypeRequiredDescription
apikeystring✅ YesYour API key for authentication
symbolstringNoStock symbol filter: AAPL, MSFT. CSV for multiple.
pageintegerNoPage number (default: 1, min: 1)

Example Requests

Latest summaries (first page):

GET /v1/summaries?apikey=YOUR_API_KEY

AAPL summaries only:

GET /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" }]
  },
  {
    "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
idstring✅ YesUnique content identifier (e.g., "aapl-q2-2025-press")

Query Parameters

ParameterTypeRequiredDescription
apikeystring✅ YesYour API key for authentication

Example Request

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

Response Fields

FieldTypeDescription
idstringUnique identifier for the summary
symbolstringPrimary stock symbol
typestringContent type (press, call, etc.)
titlestringTitle of the earnings content
contentstringFull text content of the summary
isoDatestringPublication date in ISO 8601 format
symbolsarrayArray of related stock symbols with exchange info

Code Examples

JS

JavaScript / Node.js

List Summaries

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

console.log(`Found ${summaries.length} summaries`);

// Filter by symbol
const appleSummaries = summaries.filter(s => s.symbol === 'AAPL');
console.log('Apple summaries:', appleSummaries);

Get Specific Summary

// Get specific summary by ID
const response = await fetch('https://api.earningsapi.com/v1/summaries/aapl-q2-2025-press?apikey=YOUR_API_KEY');
const summary = await response.json();

console.log(`Title: ${summary.title}`);
console.log(`Content length: ${summary.content.length} characters`);
console.log(`Published: ${new Date(summary.isoDate).toLocaleDateString()}`);
🐍

Python

List Summaries

import requests
from datetime import datetime

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

print(f"Found {len(summaries)} summaries")

# Group by symbol
from collections import defaultdict
by_symbol = defaultdict(list)
for summary in summaries:
    by_symbol[summary['symbol']].append(summary)

for symbol, items in by_symbol.items():
    print(f"{symbol}: {len(items)} summaries")

Get Specific Summary

import requests
from datetime import datetime

# Get specific summary
response = requests.get('https://api.earningsapi.com/v1/summaries/aapl-q2-2025-press?apikey=YOUR_API_KEY')
summary = response.json()

print(f"Title: {summary['title']}")
print(f"Type: {summary['type']}")
print(f"Published: {datetime.fromisoformat(summary['isoDate'].replace('Z', '+00:00'))}")
print(f"Content preview: {summary['content'][:100]}...")
$

cURL

List Summaries

# Get all summaries
curl "https://api.earningsapi.com/v1/summaries?apikey=YOUR_API_KEY"

# Filter by symbol
curl "https://api.earningsapi.com/v1/summaries?symbol=AAPL&apikey=YOUR_API_KEY"

# Get specific page
curl "https://api.earningsapi.com/v1/summaries?page=2&apikey=YOUR_API_KEY"

Get Specific Summary

# Get specific summary
curl "https://api.earningsapi.com/v1/summaries/aapl-q2-2025-press?apikey=YOUR_API_KEY"

# With pretty printing
curl "https://api.earningsapi.com/v1/summaries/aapl-q2-2025-press?apikey=YOUR_API_KEY" | jq '.'

Related Endpoints

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

Get earnings calendar for specific dates

View Docs →

⚠️ Rate Limiting

The Summaries API endpoints are subject to rate limiting to ensure fair usage across all users.

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