Search Financials
curl --request GET \
--url https://api.example.com/v1/financialsimport requests
url = "https://api.example.com/v1/financials"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v1/financials', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/financials",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/financials"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/v1/financials")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/financials")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyFinancials
Search Financials
Query quarterly financial statements (income, balance sheet, cash flow)
GET
/
v1
/
financials
Search Financials
curl --request GET \
--url https://api.example.com/v1/financialsimport requests
url = "https://api.example.com/v1/financials"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v1/financials', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/financials",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/financials"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/v1/financials")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/financials")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyOverview
Retrieve quarterly financial statements from 10-Q and 10-K filings. Supports TTM (Trailing Twelve Months) calculations for accurate leverage ratios. Credits: 1 per requestParameters
string
Company ticker symbol (e.g.,
AAPL, CHTR)string
Period type:
TTM for trailing twelve months, or specific quarterinteger
Filter by fiscal year (e.g.,
2025)integer
Filter by fiscal quarter (1-4)
string
Response format:
json (default) or csvstring
Comma-separated list of fields to return
Examples
Get TTM Financials
curl -H "X-API-Key: $DEBTSTACK_API_KEY" \
"https://api.debtstack.ai/v1/financials?ticker=AAPL&period=TTM"
Get Specific Quarter
curl -H "X-API-Key: $DEBTSTACK_API_KEY" \
"https://api.debtstack.ai/v1/financials?ticker=CHTR&fiscal_year=2025&fiscal_quarter=3"
Compare Companies (CSV)
curl -H "X-API-Key: $DEBTSTACK_API_KEY" \
"https://api.debtstack.ai/v1/financials?fiscal_year=2025&fiscal_quarter=3&format=csv"
Response
{
"data": [
{
"ticker": "AAPL",
"fiscal_year": 2025,
"fiscal_quarter": 3,
"filing_type": "10-Q",
"period_end_date": "2025-06-30",
"revenue": 85500000000,
"operating_income": 23100000000,
"net_income": 19870000000,
"ebitda": 28500000000,
"total_assets": 352000000000,
"total_liabilities": 290000000000,
"total_debt": 106500000000,
"cash_and_equivalents": 28500000000,
"operating_cash_flow": 24300000000,
"capex": 2800000000,
"free_cash_flow": 21500000000
}
],
"meta": {
"total": 1,
"period": "TTM"
}
}
TTM Calculation Rules
- 10-K filing: Uses annual figures directly (already represents full year)
- 10-Q filing: Sums trailing 4 quarters
- Fewer than 4 quarters available: Annualized (flagged as
is_annualized: true) - No D&A data: Uses operating income as proxy (flagged as
ebitda_estimated: true)
Data Quality Metadata
Request withinclude_metadata=true to get data quality indicators:
{
"ticker": "AAPL",
"leverage_ratio": 0.63,
"_metadata": {
"leverage_data_quality": {
"ebitda_source": "annual_10k",
"ebitda_quarters": 4,
"is_annualized": false,
"ebitda_estimated": false,
"ttm_quarters": ["2025FY"]
}
}
}

