---
title: "Query financial observations"
method: GET
path: "/v1/financials/"
tags: ["financials"]
---

# Query financial observations

`GET /v1/financials/`

## Request

- Base URL: `https://mcp.wisesheets.io`
- URL: `https://mcp.wisesheets.io/v1/financials/`
- Auth: HTTP bearer

Canonical observation endpoint. Returns one or more (company, metric, period) tuples
in the requested layout (long, wide, grouped) with optional provenance and quality
metadata. Numeric values are returned as decimal strings — see "Numeric precision"
in the docs. The result is bounded by tickers × metrics × period (no cursor
pagination); GET caps resolved tickers at 100, POST lifts that to
1000 for batch use cases.

asReported=true caveat: facts_canonical has no fiscal_year column, so
period=FY{YYYY} on the asReported path matches by CALENDAR year of period_end.
For issuers whose fiscal year ends in January (e.g., Walmart FY2024 ends
2024-01-31) the calendar-year approximation will miss the row. Use the default
path (asReported=false) for accurate fiscal-period selection on those issuers.

asof:{YYYY-MM-DD} returns a snapshot: one row per (company, metric) at the most
recent period_end on or before the date. On the asReported path the date filters
filings.filing_date (point-in-time view).

## Query parameters

- `tickers` string
- `ciks` string
- `sic` string
- `metrics` string
- `status` 'listed' | 'delisted' | 'unknown' | 'any'
- `period` string
- `frequency` 'annual' | 'quarterly'
- `layout` 'long' | 'wide' | 'grouped'
- `include` string
- `format` 'json' | 'csv'
- `asReported` 'true' | 'false'

## Response `200`

Default Response

- object
  - `data` union, required
    - object[]
      - `cik` string, required
      - `ticker` string, nullable, required
      - `companyName` string, required
      - `metric` string, required
      - `periodEnd` string, required
      - `fiscalYear` integer, nullable, required
      - `fiscalPeriod` string, nullable, required
      - `value` string, required
      - `unit` string, required
      - `source` object
        - `kind` 'reported' | 'calculated', required
        - `tag` string
        - `taxonomy` string
        - `accession` string
        - `filingUrl` string, uri: Absolute https://www.sec.gov/... link to the SEC filing this value was extracted from. For inline-XBRL filings (most filings since 2019) this opens the SEC interactive viewer (/ix?doc=...), which has a fact search box: search for source.tag to jump to the number. Older filings link to the primary document in the EDGAR archive, or to the filing index page when the primary document is unknown. For amended/superseded facts it points to the filing that supplied the value (e.g. the /A). Present only when kind=reported and an accession is known; absent for calculated metrics.
        - `conceptUrl` string, uri: Absolute https://data.sec.gov/api/xbrl/companyconcept/... link to the SEC's machine-readable record of source.tag for this company. This is the feed the value was ingested from; the accession and value appear in it verbatim. Present only when kind=reported and a taxonomy/tag are known.
        - `filingDate` string
        - `isAmendment` boolean
        - `isSuperseded` boolean
    - object[]
      - `cik` string, required
      - `ticker` string, nullable, required
      - `companyName` string, required
      - `periodEnd` string, required
      - `fiscalYear` integer, nullable, required
      - `fiscalPeriod` string, nullable, required
      - `reportingCurrency` string, nullable
    - object
  - `meta` object, required
    - `requested` object, required
      - `tickers` string[]
      - `ciks` string[]
      - `sic` string[]
      - `metrics` string[], required
      - `period` string, required
      - `layout` 'long' | 'wide' | 'grouped', required
      - `frequency` 'annual' | 'quarterly', required
      - `asReported` boolean, required
    - `returned` integer, required
    - `missing` string[], required: Requested identifiers that did not resolve to a company.
    - `noData` string[], required: Identifiers that resolved to a covered company but produced no rows for this request. Not the same as `missing`: the company exists, it just has nothing to report here.
    - `unavailableAsReported` string[]: Requested metrics that have no as-reported XBRL fact and were omitted from this response. Only present under asReported=true when some (not all) requested metrics were dropped.
    - `layout` 'long' | 'wide' | 'grouped', required
    - `period` object, required
      - `selector` string, required
      - `frequency` 'annual' | 'quarterly', required
    - `quality` object

---

[API](https://skmtc.dev/wisesheets/apis/sec-edgar-financial-data-api.md) · [All operations](https://skmtc.dev/wisesheets/apis/sec-edgar-financial-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/wisesheets/apis/sec-edgar-financial-data-api/revisions/101907077f28?raw)
