# 2s.io XBRL Financial Metrics by Ticker

> 2s.io XBRL Financial Metrics by Ticker is a paid API for AI agents from 2s.io, paid per call via x402, $0.0048/call, status unknown (last checked 2026-09-13).

Fetches curated XBRL financial metrics (revenue, EPS, assets, cash, etc.) for a US public company from SEC EDGAR, returning recent annual and quarterly values per metric.

## Facts

- Endpoint: GET https://2s.io/api/finance/company-facts
- Price: $0.0048/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-io-384fb1a8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_zvubtOxJ2LpoxgswDLIsI

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 2s-io-384fb1a8
```

Example prompt: Pull Tesla's revenue, net income, operating cash flow, and total assets from SEC EDGAR — give me the last 4 annual values and the last 4 quarterly values for each.

## When to prefer this

Use this endpoint when you need structured, ready-to-use financial fundamentals for US public companies sourced directly from SEC EDGAR XBRL filings, without having to parse raw SEC JSON yourself. Prefer it over general web search or financial data APIs when you need authoritative, government-sourced figures with filing provenance (form type, filed date, fiscal period). Especially useful for automated financial analysis, screening, or comparison tasks where per-metric annual+quarterly series are needed in a consistent format.

## Known failure modes

- Unknown or invalid ticker returns an error or empty result — ensure the ticker is a valid US-listed symbol
- Metrics param with unrecognized keys may return partial results or errors for those keys
- Some metrics may have no data for certain companies (e.g. rdExpense for financial firms) — those keys will be absent or empty
- SEC EDGAR may have incomplete or delayed XBRL data for very recent filings
- annualLimit or quarterlyLimit out of allowed range (1-20) will return a validation error

## How this service works

Curated XBRL financial metrics for a US public company by stock ticker. Pulls SEC EDGAR's companyfacts JSON (per-CIK XBRL filings) and extracts a top-line set of ~15 financial metrics with their most recent annual + quarterly values. Each metric returns: end date, start date (or null for balance-sheet snapshots), value, fiscal year/period, originating form (10-K/10-Q), and filed date. Available metric keys (pass any comma-separated subset via the metrics param, or omit to get all): revenue, grossProfit, operatingIncome, netIncome, eps, epsDiluted, rdExpense, totalAssets, totalLiabilities, stockholdersEquity, cash, longTermDebt, operatingCashFlow, capex, sharesOutstanding. Backed by SEC.gov; underlying data is public-domain US government records.

## Output

A JSON object keyed by metric name (e.g. revenue, netIncome), each containing an array of annual values and an array of quarterly values. Each value entry includes: end date, start date (null for balance-sheet snapshots), numeric value, fiscal year, fiscal period (e.g. FY, Q1-Q4), originating form (10-K or 10-Q), and filed date.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "ticker": "AAPL",
   "metrics": "revenue,netIncome,eps,totalAssets,cash",
   "annualLimit": 4,
   "quarterlyLimit": 4
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "required": [
      "ticker"
     ],
     "properties": {
      "ticker": {
       "type": "string",
       "description": "US stock ticker (case-insensitive), e.g. AAPL, GOOGL, BRK.B."
      },
      "metrics": {
       "type": "string",
       "description": "Comma-separated subset of metric keys. Available: revenue, grossProfit, operatingIncome, netIncome, eps, epsDiluted, rdExpense, totalAssets, totalLiabilities, stockholdersEquity, cash, longTermDebt, operatingCashFlow, capex, sharesOutstanding. Omit for all ~15."
      },
      "annualLimit": {
       "type": "integer",
       "default": 4,
       "maximum": 20,
       "minimum": 1,
       "description": "Max annual (FY) values per metric, most recent first."
      },
      "quarterlyLimit": {
       "type": "integer",
       "default": 4,
       "maximum": 20,
       "minimum": 0,
       "description": "Max quarterly values per metric. 0 to skip quarterly."
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-io-384fb1a8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
