Company Data Endpoints
API Reference: These endpoints provide core company information, market data, and technical analysis signals.
Overview
Company data endpoints give you access to:
- Company Profile — Fundamentals (sector, industry, market cap, employees)
- OHLC — Historical open/high/low/close price data
- Technical Signals — Trading system signals (momentum, mean reversion)
- Company Actions — SEC 8-K filings with AI-generated summaries
All endpoints require authentication. Symbol access depends on your subscription tier.
Company Profile
Get fundamental company information including sector, industry, exchange, and market metrics.
Request
GET /v1/company-profile
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | No | AAPL | Stock ticker symbol |
Response Format
CSV (pipe-delimited)
cik|ticker|company_name|sector|industry|exchange|market_cap|employees|website|description
Example
Request:
curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://apollo.profitelligence.com/v1/company-profile?symbol=MSFT"
Response:
cik|ticker|company_name|sector|industry|exchange|market_cap|employees|website|description
789019|MSFT|Microsoft Corporation|Technology|Software - Infrastructure|NASDAQ|2780000000000|221000|https://www.microsoft.com|Microsoft Corporation develops and supports software, services, devices, and solutions worldwide.
Response Fields
| Field | Type | Description |
|---|---|---|
cik | string | SEC Central Index Key |
ticker | string | Stock ticker symbol |
company_name | string | Full company name |
sector | string | Business sector (Technology, Healthcare, etc.) |
industry | string | Specific industry within sector |
exchange | string | Stock exchange (NASDAQ, NYSE, etc.) |
market_cap | number | Market capitalization in USD |
employees | number | Full-time employee count |
website | string | Company website URL |
description | string | Brief company description |
OHLC Price Data
Get historical open, high, low, close prices and volume data.
Request
GET /v1/ohlc
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | No | AAPL | Stock ticker symbol |
Response Format
CSV (pipe-delimited)
Returns approximately 3 years (1096 trading days) of historical data, sorted by date descending.
symbol|date|open|high|low|close|volume
Example
Request:
curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://apollo.profitelligence.com/v1/ohlc?symbol=AAPL"
Response:
symbol|date|open|high|low|close|volume
AAPL|2024-01-16|186.09|187.05|185.30|186.86|42891234
AAPL|2024-01-15|185.50|186.74|184.92|186.19|45234567
AAPL|2024-01-12|185.80|186.52|184.70|185.59|38764521
...
Response Fields
| Field | Type | Description |
|---|---|---|
symbol | string | Stock ticker |
date | string | Trading date (YYYY-MM-DD) |
open | number | Opening price |
high | number | Highest price during session |
low | number | Lowest price during session |
close | number | Closing price |
volume | number | Trading volume (shares) |
Notes
- Data is adjusted for splits and dividends
- Returns ~1096 days of history (3 years)
- Most recent date first
Technical Signals
Get trading system signals including momentum crossovers and mean reversion signals.
Request
GET /v1/technical-signals
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | No | — | Filter by ticker (comma-separated for multiple) |
day_interval | string | No | 365 | Lookback period in days |
signal_type | string | No | — | Filter: BULLISH or BEARISH |
trading_system | string | No | — | Filter by system name |
cursor | string | No | — | Pagination cursor |
limit | number | No | 500 | Max results to return |
Response Format
CSV (pipe-delimited)
symbol|signal_date|signal_type|trading_system|entry_price|current_price|pct_change
Example
Request:
curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://apollo.profitelligence.com/v1/technical-signals?signal_type=BULLISH&limit=10"
Response:
symbol|signal_date|signal_type|trading_system|entry_price|current_price|pct_change
NVDA|2024-01-15|BULLISH|momentum_crossover|547.23|552.89|1.03
AMD|2024-01-14|BULLISH|mean_reversion|142.56|148.32|4.04
TSLA|2024-01-12|BULLISH|momentum_crossover|218.89|225.67|3.10
...
Response Fields
| Field | Type | Description |
|---|---|---|
symbol | string | Stock ticker |
signal_date | string | Date signal was generated |
signal_type | string | BULLISH or BEARISH |
trading_system | string | System that generated signal |
entry_price | number | Price at signal generation |
current_price | number | Most recent closing price |
pct_change | number | Percent change since signal |
Trading Systems
| System | Description |
|---|---|
momentum_crossover | Moving average crossover signals |
mean_reversion | Overbought/oversold reversal signals |
volume_breakout | Volume-confirmed breakout signals |
Company Actions (8-K Filings)
Get SEC 8-K filings for a company with AI-generated summaries and impact analysis.
Request
GET /v1/company-actions
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | No | AAPL | Stock ticker symbol |
Response Format
CSV (pipe-delimited)
accession_number|symbol|filing_date|headline|event_description|impact_tag|event_tags|sec_url
Example
Request:
curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://apollo.profitelligence.com/v1/company-actions?symbol=TSLA"
Response:
accession_number|symbol|filing_date|headline|event_description|impact_tag|event_tags|sec_url
0001193125-24-012345|TSLA|2024-01-15|Tesla Announces Q4 Delivery Numbers|Quarterly vehicle delivery and production statistics...|MEDIUM|["Earnings","Guidance"]|https://www.sec.gov/...
0001193125-24-011234|TSLA|2024-01-08|Executive Appointment|Tesla appoints new Chief Financial Officer...|HIGH|["Leadership","C-Suite"]|https://www.sec.gov/...
Response Fields
| Field | Type | Description |
|---|---|---|
accession_number | string | SEC filing identifier |
symbol | string | Stock ticker |
filing_date | string | Date filed with SEC |
headline | string | AI-generated headline |
event_description | string | AI-generated summary |
impact_tag | string | HIGH, MEDIUM, or LOW |
event_tags | array | Categorization tags |
sec_url | string | Link to SEC filing |
Impact Tags
| Tag | Meaning |
|---|---|
HIGH | Material event likely to move stock price |
MEDIUM | Notable event with moderate market relevance |
LOW | Routine filing with minimal expected impact |
Multi-Company 8-K Summary
Get 8-K filings across multiple companies with filtering options.
Request
GET /v1/multi-company-8k-llm-summary
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
day_interval | string | No | 30 | Days of history to retrieve |
symbol | string | No | — | Filter by ticker |
impact | string | No | — | Filter: HIGH, MEDIUM, LOW |
sector | string | No | — | Filter by sector |
industry | string | No | — | Filter by industry |
cursor | string | No | — | Pagination cursor |
Example
Request:
curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://apollo.profitelligence.com/v1/multi-company-8k-llm-summary?impact=HIGH&day_interval=7"
Response:
Returns high-impact 8-K filings from the past 7 days across all companies.
Company Info Page (Aggregated)
Get comprehensive company data in a single request. This endpoint aggregates multiple data sources for efficient page rendering.
Request
GET /v1/company-info-page
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | No | AAPL | Stock ticker symbol |
Response Format
JSON (this endpoint returns JSON, not CSV)
{
"company_profile": "cik|ticker|company_name|...",
"ohlc": "symbol|date|open|high|low|close|volume\n...",
"spy": "symbol|date|open|high|low|close|volume\n...",
"trading_signals": "symbol|signal_date|...",
"company_actions": "accession_number|symbol|..."
}
Example
Request:
curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://apollo.profitelligence.com/v1/company-info-page?symbol=NVDA"
Notes
- Returns all data needed to render a company detail page
- Includes SPY data for benchmark comparison
- More efficient than making 5 separate API calls
- Counts as 1 request against your rate limit
Error Responses
Symbol Not Found
{
"error": "Symbol not found",
"code": "SYMBOL_NOT_FOUND",
"details": "The symbol 'INVALID' does not exist in our database"
}
Symbol Access Denied
{
"error": "Symbol access denied",
"code": "SYMBOL_TIER_RESTRICTED",
"details": "SMALLCAP is not available on the Free tier",
"upgrade_url": "https://profitelligence.com/subscribe"
}
Code Examples
Python: Fetch Company Profile
import requests
import io
import pandas as pd
def get_company_profile(token: str, symbol: str) -> pd.DataFrame:
response = requests.get(
"https://apollo.profitelligence.com/v1/company-profile",
params={"symbol": symbol},
headers={"Authorization": f"Bearer {token}"}
)
response.raise_for_status()
# Parse pipe-delimited CSV
return pd.read_csv(io.StringIO(response.text), sep='|')
# Usage
df = get_company_profile(jwt_token, "AAPL")
print(df['market_cap'].iloc[0]) # 2850000000000
Python: Fetch OHLC and Calculate Returns
def get_ohlc(token: str, symbol: str) -> pd.DataFrame:
response = requests.get(
"https://apollo.profitelligence.com/v1/ohlc",
params={"symbol": symbol},
headers={"Authorization": f"Bearer {token}"}
)
response.raise_for_status()
df = pd.read_csv(io.StringIO(response.text), sep='|')
df['date'] = pd.to_datetime(df['date'])
df = df.sort_values('date')
# Calculate daily returns
df['return'] = df['close'].pct_change()
return df
# Usage
ohlc = get_ohlc(jwt_token, "MSFT")
print(f"YTD return: {ohlc['return'].sum():.2%}")
JavaScript: Fetch Technical Signals
async function getTechnicalSignals(token, options = {}) {
const params = new URLSearchParams({
signal_type: options.signalType || '',
limit: options.limit || 100,
...options
});
const response = await fetch(
`https://apollo.profitelligence.com/v1/technical-signals?${params}`,
{ headers: { 'Authorization': `Bearer ${token}` } }
);
const csv = await response.text();
// Parse CSV to array of objects
const lines = csv.trim().split('\n');
const headers = lines[0].split('|');
return lines.slice(1).map(line => {
const values = line.split('|');
return headers.reduce((obj, header, i) => {
obj[header] = values[i];
return obj;
}, {});
});
}
// Usage
const signals = await getTechnicalSignals(token, {
signalType: 'BULLISH',
limit: 20
});
console.log(signals);
Next Steps
- Form 4 Insider Endpoints — Insider trading data
- FRED Economic Endpoints — Macro indicators
- Analytics Endpoints — Advanced quantitative analysis