Normalized US-GAAP financial statements from SEC EDGAR — auditable, point-in-time, and trivial to integrate.
as_of to get figures as originally reported on that date — no look-ahead bias in backtests.include_provenance.include_ratios — derived only from the statements in the same response.Authenticate with an X-API-Key header on every request. Errors use a standard
{ "status": "error", "error": { "code", "message" } } envelope, and every response
carries X-RateLimit-Limit / Remaining / Reset.
sandbox_demo_key as your X-API-Key. It returns a fixed sample dataset
(a fictional company's FY2023 filing) without consuming quota or hitting SEC, so you can wire up
integration before subscribing. All parameters — as_of, include_provenance,
include_ratios — work against it.
curl -H "X-API-Key: sandbox_demo_key" \ "https://financial-ledgers.api.deaddroparchives.com/v1/extract-ledger?ticker=AAPL&year=2023&include_ratios=true"
import requests
BASE = "https://financial-ledgers.api.deaddroparchives.com"
headers = {"X-API-Key": "sandbox_demo_key"} # swap for your key
r = requests.get(
f"{BASE}/v1/extract-ledger",
params={"ticker": "AAPL", "year": 2023, "include_ratios": True},
headers=headers, timeout=30,
)
r.raise_for_status()
data = r.json()["data"]
print(data["income_statement"]["total_revenue"], data["ratios"]["net_margin"])
const BASE = "https://financial-ledgers.api.deaddroparchives.com";
const url = new URL(BASE + "/v1/extract-ledger");
url.search = new URLSearchParams({ ticker: "AAPL", year: "2023", include_provenance: "true" });
const res = await fetch(url, { headers: { "X-API-Key": "sandbox_demo_key" } });
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const { data } = await res.json();
console.log(data.income_statement.total_revenue, data.provenance.income_statement.total_revenue.source_url);
req, _ := http.NewRequest("GET",
"https://financial-ledgers.api.deaddroparchives.com/v1/extract-ledger?ticker=AAPL&year=2023", nil)
req.Header.Set("X-API-Key", "sandbox_demo_key")
resp, err := http.DefaultClient.Do(req)
// ... check err, resp.StatusCode, then json.Decode(resp.Body)
GET /v1/extract-ledger normalized three-statement financials for a fiscal year.
GET /v1/submissions trimmed SEC submissions index (recent filings).
GET /v1/usage your current quota — free, doesn't consume a request.
Full schemas in the API reference.
source_url) and for any decisions or
automated/algorithmic use, which are entirely at your own risk. Sample/sandbox
data is fictional and for integration testing only.