API Reference
Overview
MiniValuator provides a REST API that lets you fetch stock fundamentals programmatically. These are the same fundamentals that power the verdict on the Evaluate page, exposed so you can pull them into your own tools. 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