edgar_product_revenue

Pack: edgar · Endpoint: https://gateway.pipeworx.io/edgar/mcp

PRODUCT-LEVEL or segment-level revenue as STRUCTURED data — e.g. “how much revenue did Keytruda generate”, “AAPL revenue by product line”. Regular XBRL tools (edgar_company_concept, edgar_company_facts) only expose UNDIMENSIONED totals; a filer’s product/segment breakdown is tagged with an XBRL dimension (e.g. a “Keytruda [Member]”), which those APIs cannot see no matter which concept is requested. This tool reads SEC’s own standardized “Financial Report” rendering of that dimensional data straight out of the 10-K’s (or 10-Q’s) segment-reporting / revenue-disaggregation note — the same note human analysts read, but pre-parsed into rows. Pass product_filter (case-insensitive substring, matched against the dimension breadcrumb, e.g. “Keytruda”) to get just one product/segment instead of the whole table. Every result carries a citation (accession, filing date, exact report + URL it came from). Not every filer discloses product-level revenue in XBRL, and a small fraction use a non-standard table layout this parser can’t read — both are reported as an explicit status rather than a silent empty array, with a fallback to edgar_filing_text for the prose note.

Parameters

NameTypeRequiredDescription
ticker_or_cikstringyesTicker (e.g. “MRK”) or CIK (e.g. “310158”). Tickers are auto-resolved.
product_filterstringnoOptional case-insensitive substring to match against the product/segment dimension, e.g. “Keytruda”. Omit to get every disaggregated row in the table.
form_typestringnoFiling type to read the note from (default “10-K”). “10-Q” also works for filers that disaggregate revenue quarterly.
accessionstringnoOptional exact accession number (from edgar_company_filings) to read a specific past filing instead of the latest matching form_type.
limitnumbernoMax rows to return (1-200, default 100).

Example call

Arguments

{
  "ticker_or_cik": "MRK",
  "product_filter": "Keytruda"
}

curl

curl -X POST https://gateway.pipeworx.io/edgar/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"edgar_product_revenue","arguments":{"ticker_or_cik":"MRK","product_filter":"Keytruda"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('edgar_product_revenue', {
  "ticker_or_cik": "MRK",
  "product_filter": "Keytruda"
});

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "edgar": {
      "url": "https://gateway.pipeworx.io/edgar/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build August 30, 2026