Skip to Content

Financials

Return the full structured XBRL financial fact payload for one filing period.

Tier: public | Cache: cache-only | Playground: anonymous playground | Contract: 1.0.0

When To Use It

Use these tools when the model needs normalized financial facts, concept-level series, or statement-shaped outputs grounded in XBRL.

Request Examples

BASE_URL="${EDGAR_API_URL:-https://www.edgarparser.com}" curl -sS -G "$BASE_URL/api/financials" \ -H "Authorization: Bearer $EDGAR_API_KEY" \ --data-urlencode "ticker=AAPL" \ --data-urlencode "year=2025" \ --data-urlencode "quarter=4"
import os import requests base_url = os.getenv("EDGAR_API_URL", "https://www.edgarparser.com") headers = {"Authorization": f"Bearer {os.environ['EDGAR_API_KEY']}"} params = { "ticker": "AAPL", "year": 2025, "quarter": 4 } response = requests.get(f"{base_url}/api/financials", headers=headers, params=params, timeout=30) response.raise_for_status() data = response.json()

Key Response Fields

FieldTypeWhy It Matters
statusconst "success"Transport-level success indicator inside the JSON response.
semantic_status"ok" | "partial" | "empty" | "error" | nullWhether the response is semantically usable, partial, empty, or errored.
coverage_status"complete" | "partial" | "narrow" | "none" | nullCompleteness signal; do not present partial or narrow coverage as complete.
coverage_warningstring | nullHuman-readable explanation of missing or ambiguous coverage.
factsarray<object>Financial fact or concept field; inspect unit, period, and source context before using it.

Response Fields To Inspect

  • status / semantic_status for whether the tool produced a usable fact set.
  • coverage_status and coverage_warning before treating the value as complete.
  • source_ref, concept names, units, and period metadata for citation and auditability.

Errors And Coverage

  • 401 or 403: the API key is missing, expired, or not allowed to use this tier.
  • 429: retry after the rate-limit window, and prefer broader batch or series tools over repeated single-period calls.
  • Playground traffic is cache-only and scope-limited; a structured 403 cache miss means the requested filing or period is not warm for anonymous use.
  • Treat partial coverage, empty arrays, and warning fields as answer-quality signals even when HTTP status is 200.

List Metrics, Metric, Statement

Generated Reference

Contract

FieldValue
Toolget_financials
MethodGET
Path/api/financials
Contract version1.0.0
Schema fingerprintsha256:8c2b5486165eb2628dfb324c558c1148a48a46453f4102f0491e16503316b1c5

Parameters

NameLocationRequiredTypeNotes
tickerqueryyesstring
yearqueryyesinteger
quarterqueryyesinteger
full_year_modequerynoboolean
sourcequerynostring

Response Schema (200)

{ "additionalProperties": true, "properties": { "coverage_status": { "anyOf": [ { "enum": [ "complete", "partial", "narrow", "none" ], "type": "string" }, { "type": "null" } ] }, "coverage_warning": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "facts": { "items": { "additionalProperties": true, "properties": {}, "type": "object" }, "type": "array" }, "semantic_status": { "anyOf": [ { "enum": [ "ok", "partial", "empty", "error" ], "type": "string" }, { "type": "null" } ] }, "status": { "const": "success", "type": "string" } }, "required": [ "status" ], "type": "object" }