REST API v1.0
Build with Marlowe Keynes Data
Access institutional-grade stock analysis, DCF valuations, comparable company analysis, and earnings data through our simple REST API.
Fast & Reliable
Sub-second response times with 99.9% uptime
Secure
API key authentication with rate limiting
Comprehensive
Stock data, DCF, comps, and earnings
Well Documented
Clear examples in multiple languages
Authentication
All API requests require an API key passed in the X-API-Key header
X-API-Key: mk_live_your_api_key_hereDon't have an API key? Generate one here
Endpoints
GET
/api/v1/stock/:tickerGet basic stock information including company profile, current price, and key metrics.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| ticker | string | Required | Stock ticker symbol (e.g., AAPL, MSFT) |
Code Examples
curl -X GET "https://your-domain.com/api/v1/stock/AAPL" \
-H "X-API-Key: mk_live_your_api_key"Response
{
"success": true,
"data": {
"ticker": "AAPL",
"companyName": "Apple Inc.",
"exchange": "NASDAQ",
"sector": "Technology",
"industry": "Consumer Electronics",
"marketCap": 3000000000000,
"price": 185.50,
"beta": 1.28,
"description": "Apple Inc. designs, manufactures...",
"website": "https://www.apple.com",
"ceo": "Tim Cook",
"employees": 164000
}
}GET
/api/v1/stock/:ticker/reportGet a comprehensive stock report including financials, historical prices, and analyst estimates.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| ticker | string | Required | Stock ticker symbol |
Code Examples
curl -X GET "https://your-domain.com/api/v1/stock/AAPL/report" \
-H "X-API-Key: mk_live_your_api_key"Response
{
"success": true,
"data": {
"ticker": "AAPL",
"generatedAt": "2026-01-10T12:00:00Z",
"profile": { ... },
"quote": { ... },
"keyMetrics": { ... },
"incomeStatement": [ ... ],
"balanceSheet": [ ... ],
"cashFlow": [ ... ],
"historicalPrices": [ ... ],
"analystEstimates": { ... }
}
}GET
/api/v1/stock/:ticker/dcfGet a DCF (Discounted Cash Flow) valuation model with sensitivity analysis.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| ticker | string | Required | Stock ticker symbol |
| ebitdaMargin | number | Optional | EBITDA margin assumption (default: 25%) |
| terminalGrowth | number | Optional | Terminal growth rate (default: 2.5%) |
| riskFreeRate | number | Optional | Risk-free rate (default: 4.5%) |
Code Examples
curl -X GET "https://your-domain.com/api/v1/stock/AAPL/dcf?terminalGrowth=3" \
-H "X-API-Key: mk_live_your_api_key"Response
{
"success": true,
"data": {
"ticker": "AAPL",
"companyName": "Apple Inc.",
"currentPrice": 185.50,
"impliedPrice": 210.25,
"upside": 13.3,
"enterpriseValue": 3200000000000,
"equityValue": 3100000000000,
"wacc": 9.5,
"projections": [ ... ],
"sensitivityTable": [ ... ]
}
}GET
/api/v1/stock/:ticker/compsGet comparable company analysis with peer metrics and statistics.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| ticker | string | Required | Stock ticker symbol |
| peers | string | Optional | Comma-separated list of peer tickers |
Code Examples
curl -X GET "https://your-domain.com/api/v1/stock/AAPL/comps?peers=MSFT,GOOGL,META" \
-H "X-API-Key: mk_live_your_api_key"Response
{
"success": true,
"data": {
"ticker": "AAPL",
"targetCompany": { ... },
"peers": [ ... ],
"statistics": [ ... ],
"metrics": [
{
"symbol": "AAPL",
"companyName": "Apple Inc.",
"marketCap": 3000000000000,
"peRatio": 28.5,
"evEbitda": 22.3,
"priceToSales": 7.8,
"grossMargin": 43.2,
"netMargin": 25.1
}
]
}
}GET
/api/v1/screenerScreen stocks with custom filters for market cap, P/E ratio, sector, dividend yield, and more.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| marketCapMin | number | Optional | Minimum market cap in billions (e.g., 10 for $10B+) |
| marketCapMax | number | Optional | Maximum market cap in billions |
| peMin | number | Optional | Minimum P/E ratio |
| peMax | number | Optional | Maximum P/E ratio |
| sector | string | Optional | Filter by sector (e.g., Technology, Healthcare) |
| dividendYieldMin | number | Optional | Minimum dividend yield percentage |
| sortBy | string | Optional | Sort field (marketCap, price, pe, etc.) |
| sortOrder | string | Optional | Sort order (asc or desc) |
| limit | number | Optional | Results per page (default: 50, max: 100) |
| offset | number | Optional | Pagination offset |
Code Examples
curl -X GET "https://your-domain.com/api/v1/screener?sector=Technology&marketCapMin=100&peMax=30" \
-H "X-API-Key: mk_live_your_api_key"Response
{
"success": true,
"data": {
"results": [
{
"symbol": "AAPL",
"companyName": "Apple Inc.",
"marketCap": 3000000000000,
"price": 185.50,
"pe": 28.5,
"sector": "Technology",
"dividendYield": 0.55
}
],
"total": 150,
"limit": 50,
"offset": 0
}
}GET
/api/v1/stock/:ticker/earningsGet earnings estimates, surprise history, and revision momentum.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| ticker | string | Required | Stock ticker symbol |
Code Examples
curl -X GET "https://your-domain.com/api/v1/stock/AAPL/earnings" \
-H "X-API-Key: mk_live_your_api_key"Response
{
"success": true,
"data": {
"ticker": "AAPL",
"companyName": "Apple Inc.",
"currentQuarter": {
"fiscalPeriod": "Q1 2026",
"epsEstimate": 2.15,
"revenueEstimate": 125000000000,
"reportDate": "2026-01-30"
},
"estimates": [ ... ],
"surpriseHistory": [ ... ],
"beatRate": {
"total": 20,
"beats": 18,
"beatPercent": 90
},
"revisionMomentum": [ ... ]
}
}API Key Scopes
Control access to specific API endpoints with granular permissions
| Scope | Endpoints | Description |
|---|---|---|
| read | /stock/:ticker, /stock/:ticker/report | Basic read access to stock data |
| screener | /screener, /screener/presets | Access to stock screener with filters |
| dcf | /stock/:ticker/dcf | Access to DCF valuation models |
| comps | /stock/:ticker/comps | Access to comparable company analysis |
| earnings | /stock/:ticker/earnings | Access to earnings estimates and history |
| full | All endpoints | Complete access to all API features |
When creating an API key, select the scopes you need. Keys with insufficient permissions will receive a 403 Forbidden response.
Rate Limits
API usage limits to ensure fair access for all users
1,000
Requests per day (default)
10
Requests per second (burst)
429
Status code when exceeded
Error Codes
Common error responses and their meanings
| Code | Description |
|---|---|
| 401 | Missing or invalid API key |
| 404 | Stock not found or data unavailable |
| 403 | Insufficient permissions (missing required scope) |
| 429 | Rate limit exceeded |
| 500 | Internal server error |