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
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_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
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_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
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-Remaining
header