API reference

Valuation

View as Markdown

Our discounted cash flow (DCF) valuation, built only from the company's SEC filings: a 10-year free cash flow projection, the assumptions, and the fair value per share. When a free cash flow model does not fit the company (banks, insurers and real estate companies, or too little history) the response has meaningful: false and a reason. See the valuation methodology guide.

GET /api/v1/companies/{symbol}/valuation

Requires an API key in the X-Api-Key header.

Parameters

Name In Type Required Description
symbol path string yes Ticker symbol of a listed company, for example CSCO. Case-insensitive.

Request

curl

curl "https://studyingstocks.com/api/v1/companies/CSCO/valuation" \
  -H "X-Api-Key: $STUDYING_STOCKS_API_KEY"

Python

import os
import requests

response = requests.get("https://studyingstocks.com/api/v1/companies/CSCO/valuation", headers={"X-Api-Key": os.environ["STUDYING_STOCKS_API_KEY"]})
response.raise_for_status()
print(response.json())

JavaScript

const response = await fetch("https://studyingstocks.com/api/v1/companies/CSCO/valuation", {
  headers: { "X-Api-Key": process.env.STUDYING_STOCKS_API_KEY },
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());

Response

The valuation, or the reason there is none.

{
    "data": {
        "meaningful": true,
        "fair_value_per_share": 61.42,
        "fair_equity_value": 245000000000,
        "enterprise_value": 249000000000,
        "net_debt": 4000000000,
        "currency": "USD",
        "assumptions": {
            "required_return": 0.085,
            "perpetual_growth": 0.025,
            "projection_years": 10,
            "stage_one_years": 5,
            "stage_one_growth": 0.04
        },
        "inputs": {
            "as_of": "2026-07-25",
            "balance_sheet_as_of": "2026-07-25",
            "total_debt": 28000000000,
            "cash_and_equivalents": 24000000000,
            "shares": 4000000000
        },
        "free_cash_flow_history": [
            {
                "fiscal_year": 2025,
                "free_cash_flow": 11500000000
            },
            {
                "fiscal_year": 2026,
                "free_cash_flow": 12767000000
            }
        ],
        "free_cash_flow_projection": [
            {
                "fiscal_year": 2027,
                "free_cash_flow": 13300000000,
                "growth_rate": 0.04,
                "discount_factor": 1.085,
                "present_value": 12258064516.13
            }
        ],
        "terminal_value": {
            "value": 330000000000,
            "present_value": 145000000000
        },
        "reason": null,
        "methodology_version": "1"
    },
    "meta": {
        "symbol": "CSCO",
        "currency": "USD",
        "source": "SEC EDGAR",
        "api_version": "v1",
        "generated_at": "2026-10-16T02:00:00Z"
    }
}

Response fields

Field Type Description
data.meaningful boolean false when a free cash flow model does not fit this company; see reason.
data.reason object or null
data.methodology_version string
data.fair_value_per_share number Fair value per share, in the reporting currency.
data.fair_equity_value number
data.enterprise_value number Present value of the projected free cash flows and the terminal value.
data.net_debt number
data.currency string
data.assumptions.required_return number Discount rate as a fraction.
data.assumptions.perpetual_growth number Growth after the projection, as a fraction.
data.assumptions.projection_years integer
data.assumptions.stage_one_years integer
data.assumptions.stage_one_growth number Yearly growth in the first stage, as a fraction.
data.inputs.as_of string Period end of the latest period, where the share count is taken from.
data.inputs.balance_sheet_as_of string Oldest period end that debt and cash are taken from: the newest period that reports each.
data.inputs.total_debt number
data.inputs.cash_and_equivalents number
data.inputs.shares number
data.free_cash_flow_history[].fiscal_year integer
data.free_cash_flow_history[].free_cash_flow number
data.free_cash_flow_projection[].fiscal_year integer
data.free_cash_flow_projection[].free_cash_flow number
data.free_cash_flow_projection[].growth_rate number
data.free_cash_flow_projection[].discount_factor number or null
data.free_cash_flow_projection[].present_value number or null
data.terminal_value object or null
meta.source string Where the data comes from: always SEC EDGAR (calculated items are derived from it).
meta.api_version string
meta.generated_at string When this response was generated (responses are cached for a few hours).
meta.symbol string
meta.currency string

Errors

Status Code When
401 unauthenticated Missing or invalid API key.
403 subscription_inactive The Premium subscription behind the key is not active.
404 not_found The company is not covered.
422 invalid_parameter An unknown query parameter was sent.
429 rate_limited Rate limit reached.
500 server_error Something went wrong on our side.

All errors have the same shape.