Quick Start
Get up and running with the Earnings API in just a few steps.
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"
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.
/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 |
---|---|---|---|
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
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" }] } ]
/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") |
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.
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