Skip to Content

Metric Series

Return one metric across multiple periods with per-period cache and coverage status.

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

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/metric/series" \ -H "Authorization: Bearer $EDGAR_API_KEY" \ --data-urlencode "ticker=AAPL" \ --data-urlencode "metric_name=Revenue" \ --data-urlencode "end_year=2025" \ --data-urlencode "end_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", "metric_name": "Revenue", "end_year": 2025, "end_quarter": 4 } response = requests.get(f"{base_url}/api/metric/series", headers=headers, params=params, timeout=30) response.raise_for_status() data = response.json()

Key Response Fields

FieldTypeWhy It Matters
status"success" | "partial" | "error"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.
cache_missboolean | nullFinancial fact or concept field; inspect unit, period, and source context before using it.
date_typestring | nullFinancial fact or concept field; inspect unit, period, and source context before using it.
full_year_modebooleanFinancial fact or concept field; inspect unit, period, and source context before using it.
metric_namestringFinancial 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.

Metric, Search Metrics, Warm Metric Cache

Generated Reference

Contract

FieldValue
Toolget_metric_series
MethodGET
Path/api/metric/series
Contract version1.0.1
Schema fingerprintsha256:16b9c9047b669b208d5be12171180934c2983a8187a94ce2cba87ff6b7da94ba

Parameters

NameLocationRequiredTypeNotes
tickerqueryyesstring
metric_namequeryyesstring
end_yearqueryyesinteger
end_quarterqueryyesinteger
periodsquerynointeger
full_year_modequerynoboolean
sourcequerynostring
date_typequerynostring | null
include_equivalentsquerynoboolean
cached_onlyquerynoboolean
rolequerynostring | null
axis_keyquerynostring | null

Response Schema (200)

{ "additionalProperties": true, "properties": { "cache_miss": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "coverage_status": { "anyOf": [ { "enum": [ "complete", "partial", "narrow", "none" ], "type": "string" }, { "type": "null" } ] }, "coverage_warning": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "date_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "full_year_mode": { "type": "boolean" }, "metric_name": { "type": "string" }, "periods_cached": { "type": "integer" }, "periods_failed": { "type": "integer" }, "periods_fetched": { "type": "integer" }, "periods_missing": { "type": "integer" }, "periods_requested": { "type": "integer" }, "periods_returned": { "type": "integer" }, "periods_uncached": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "semantic_status": { "anyOf": [ { "enum": [ "ok", "partial", "empty", "error" ], "type": "string" }, { "type": "null" } ] }, "series": { "items": { "additionalProperties": true, "properties": { "axis_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "date_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "dimensions": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ] }, "equivalence_group_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "error_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "filing_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "metric_tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "period": { "type": "string" }, "presentation_roles": { "items": { "type": "string" }, "type": "array" }, "prior_value": { "anyOf": [ { "type": "number" }, { "type": "integer" }, { "type": "null" } ] }, "quarter": { "type": "integer" }, "scale": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "source": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "statement_position": { "default": "aggregate", "enum": [ "aggregate", "dimensional" ], "type": "string" }, "statement_role": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "statement_roles": { "items": { "type": "string" }, "type": "array" }, "status": { "enum": [ "ok", "missing", "locked", "error" ], "type": "string" }, "value": { "anyOf": [ { "type": "number" }, { "type": "integer" }, { "type": "null" } ] }, "year": { "type": "integer" }, "yoy_change_pct": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "period", "year", "quarter", "status" ], "type": "object" }, "type": "array" }, "status": { "enum": [ "success", "partial", "error" ], "type": "string" }, "ticker": { "type": "string" }, "warm_hint": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ] } }, "required": [ "status", "ticker", "metric_name", "full_year_mode", "periods_requested", "periods_returned", "periods_cached", "periods_fetched", "periods_failed", "periods_missing" ], "type": "object" }