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

  1. Sign in to your MiniValuator account
  2. Go to Settings → API Keys
  3. 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

ParameterTypeRequiredDescription
symbolstringYesStock 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

FieldTypeDescription
symbolstringUppercase ticker symbol
namestringCompany name
fcfPerSharenumberFree cash flow per share (TTM, USD)
currentPricenumberCurrent stock price (USD)
currentPFCFnumberPrice-to-FCF multiple (TTM)
epsnumberEarnings per share (TTM, USD)
currentPEnumberPrice-to-earnings ratio (TTM)
growthEstimateobject | nullRevenue-based 5-year growth estimate
earningsGrowthEstimateobject | nullEPS-based 5-year growth estimate
dataSourcestringData provider name

growthEstimate fields

FieldTypeDescription
ratesnumber[]Five YoY growth rates (decimals, e.g. 0.08 = 8%)
cagrnumberCompound annual growth rate across the full period
quality"ok" | "partial" | "insufficient"Data confidence level
flagsstring[]Notes on filled or clamped values

Error Responses

HTTP StatusMessageCause
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

ScenarioCredits charged
First query for a new ticker10 credits
Re-query within 7 daysFree (served from cache)
Re-query after 7 days10 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.43

JavaScript / 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