API Reference
Overview
MiniValuator provides a REST API that lets you fetch stock fundamentals programmatically. The same credit billing rules apply — 10 credits for a new ticker, free re-queries within 7 days.
Base URL: https://minivaluator.com
Authentication: API Key via Authorization: Bearer sk-... header
Getting an API Key
- Sign in to your MiniValuator account
- Go to Settings → API Keys
- Click Add API Key, give it a name, and copy the generated key (
sk-...)
Keep your API key secret. Anyone with the key can consume your credits.
Endpoint
GET /api/stock/fundamentals
Returns fundamental data for a given stock ticker.
Request
curl "https://minivaluator.com/api/stock/fundamentals?symbol=AAPL" \
-H "Authorization: Bearer sk-your-api-key-here"Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Stock ticker symbol (e.g. AAPL, MSFT, GOOGL) |
Response
{
"data": {
"symbol": "AAPL",
"name": "Apple Inc.",
"fcfPerShare": 7.43,
"currentPrice": 211.45,
"currentPFCF": 28,
"eps": 6.42,
"currentPE": 33,
"growthEstimate": {
"rates": [0.062, 0.091, 0.08, 0.08, 0.08],
"cagr": 0.082,
"quality": "ok",
"flags": []
},
"earningsGrowthEstimate": {
"rates": [0.11, 0.13, 0.12, 0.12, 0.12],
"cagr": 0.12,
"quality": "ok",
"flags": []
},
"dataSource": "Financial Modeling Prep"
}
}Response Fields
| Field | Type | Description |
|---|---|---|
symbol | string | Uppercase ticker symbol |
name | string | Company name |
fcfPerShare | number | Free cash flow per share (TTM, USD) |
currentPrice | number | Current stock price (USD) |
currentPFCF | number | Price-to-FCF multiple (TTM) |
eps | number | Earnings per share (TTM, USD) |
currentPE | number | Price-to-earnings ratio (TTM) |
growthEstimate | object | null | Revenue-based 5-year growth estimate |
earningsGrowthEstimate | object | null | EPS-based 5-year growth estimate |
dataSource | string | Data provider name |
growthEstimate fields
| Field | Type | Description |
|---|---|---|
rates | number[] | Five YoY growth rates (decimals, e.g. 0.08 = 8%) |
cagr | number | Compound annual growth rate across the full period |
quality | "ok" | "partial" | "insufficient" | Data confidence level |
flags | string[] | Notes on filled or clamped values |
Error Responses
| HTTP Status | Message | Cause |
|---|---|---|
400 | "Symbol required" | Missing symbol parameter |
400 | "Invalid symbol format" | Symbol contains invalid characters |
400 | "Insufficient credits" | Account has fewer than 10 credits |
400 | "Rate limit exceeded" | Too many requests from this IP |
400 | "Stock not found" | Ticker not recognized by data provider |
All errors follow the format:
{ "error": "Insufficient credits" }Credit Usage
| Scenario | Credits charged |
|---|---|
| First query for a new ticker | 10 credits |
| Re-query within 7 days | Free (served from cache) |
| Re-query after 7 days | 10 credits |
Code Examples
Python
import requests
API_KEY = "sk-your-api-key-here"
response = requests.get(
"https://minivaluator.com/api/stock/fundamentals",
params={"symbol": "AAPL"},
headers={"Authorization": f"Bearer {API_KEY}"},
)
data = response.json()
print(data["data"]["fcfPerShare"]) # 7.43JavaScript / Node.js
const API_KEY = "sk-your-api-key-here";
const res = await fetch(
"https://minivaluator.com/api/stock/fundamentals?symbol=AAPL",
{ headers: { Authorization: `Bearer ${API_KEY}` } }
);
const { data } = await res.json();
console.log(data.fcfPerShare); // 7.43