GET
Summaries Endpoints
Access earnings summaries and press releases through our comprehensive API endpoints. Browse all content or retrieve specific summaries by ID.
/v1/summariesList all summaries
/v1/summaries/{id}Get specific summary
Quick Examples
GET /v1/summaries?apikey=YOUR_API_KEYGET /v1/summaries/aapl-q2-2025-press?apikey=YOUR_API_KEYGET
/v1/summaries
Retrieve a list of summaries with flexible filtering by type and symbol. Perfect for browsing and discovery.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
apikey | string | ✅ Yes | Your API key for authentication |
symbol | string | No | Stock symbol filter: AAPL, MSFT. CSV for multiple. |
page | integer | No | Page number (default: 1, min: 1) |
Example Requests
Latest summaries (first page):
GET /v1/summaries?apikey=YOUR_API_KEYAAPL summaries only:
GET /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" }]
},
{
"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
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✅ Yes | Unique content identifier (e.g., "aapl-q2-2025-press") |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
apikey | string | ✅ Yes | Your API key for authentication |
Example Request
GET /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" }]
}Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the summary |
symbol | string | Primary stock symbol |
type | string | Content type (press, call, etc.) |
title | string | Title of the earnings content |
content | string | Full text content of the summary |
isoDate | string | Publication date in ISO 8601 format |
symbols | array | Array 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
⚠️ 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-Remainingheader