API Reference

The first-source SEC data layer, as REST — the same data your agent gets over MCP, returned as clean JSON for your app. One free key, 500 tool calls/day, shared with the MCP server.

What you can't get from a generic data API

Filing-intelligence signals, full filing text, XBRL-to-source provenance, and guidance-vs-actual. Raw fundamentals are a commodity — the intelligence layer is the moat. Facts with provenance, not scores or recommendations.

Base URL
https://api.metricduck.com/api/v1
Public no key — try instantly (guest per-request caps)Free key needs a free API keyPro needs the analyst tier differentiated

Companies & reference

(4)
GET
/public/companies/searchPublic

Search companies by name, ticker, or keyword.

↔ MCP search_companies

GET
/public/companies/by-ticker/{ticker}Public

Resolve a ticker to company identity (name, CIK, aliases).

GET
/companies/universePublic

List all 5,500+ covered companies with ticker, name, CIK, exchange, SIC.

GET
/taxonomyPublic

Sector & industry taxonomy (also /sectors, /industries).

Financials & metrics

(8)

Filings & full text

(5)
GET
/filings/textPublic

Read filing section text — chunks, full sections, or tables. The verify-to-source primitive.

↔ MCP get_filing_section

GET
/public/companies/{ticker}/filingsPublic

Recent SEC filings for a company (form type, date, source link).

↔ MCP list_filings

GET
/filings/sections/summaryPublic

Section-level inventory of a filing — the signal map of what's inside.

↔ MCP list_filings

GET
/filings/recentPublic

Recent 10-K/10-Q filings across the universe.

↔ MCP list_recent_filings

POST
/filings/keyword-searchPublic

Keyword search within up to 10 specified filings (section-level hits).

Filing intelligence & signals

(3)
POST
/filing-intelligence/screenPublic

Screen companies by qualitative signals — tone, material weakness, SBC, new risks. Typed facts, not scores.

↔ MCP screen_filing_signals

GET
/filing-intelligence/recentPublic

Recent filing-intelligence summaries across the universe.

GET
/companies/{ticker}/signal-summaryPublic

Per-company signal availability and counts.

↔ MCP get_filing_index

XBRL facts (provenance)

(3)
GET
/companies/{ticker}/raw-factsPublic

Raw dimensional XBRL facts (segment / geography / product). Every number, traceable.

↔ MCP get_xbrl_facts

GET
/public/companies/{ticker}/facts-by-periodPublic

XBRL facts keyed by fiscal period.

↔ MCP get_xbrl_facts

GET
/companies/{ticker}/fact-historyFree key

Historical values for a specific XBRL fact over time.

Transcripts, earnings & guidance

(4)
GET
/companies/{ticker}/guidance-vs-actualPublic

Did they hit guidance? Transcript guidance joined to filed actuals for the same period.

↔ MCP get_guidance_vs_actual

GET
/companies/{ticker}/transcript-signalsPublic

Latest earnings-call signals — guidance items, tone, Q&A aggregates.

GET
/companies/{ticker}/transcript-trajectoryPublic

Cross-quarter trajectory of earnings-call signals.

↔ MCP compare_earnings_calls

GET
/earnings/{identifier}/historyPublic

Per-company earnings history (8-K results over time).

Prices & valuation

(1)
GET
/market/daily/{ticker}Public

Daily end-of-day prices and period returns.

↔ MCP get_stock_price

Peers & screening

(3)
POST
/screener/screenPublic

Screen companies by metric thresholds with operators (gt/lt/between) and ranking.

↔ MCP screen_companies

GET
/peers/{cik_or_ticker}Public

Peer comparison group with comparables across metrics.

↔ MCP compare_companies

GET
/screener/roic/screenPublic

ROIC-ranked screen with sector benchmarks.

Same capabilities over MCP

The REST API and the MCP server share one data layer — different shapes for different callers. If you scaffolded with the MCP tools, here's the REST equivalent. Tool reference →

search_companiesGET /public/companies/search
get_financialsGET /companies/{ticker}/income-statement · balance-sheet · cash-flow
get_metric_historyGET /companies/{ticker}/metrics/history
screen_companiesPOST /screener/screen
get_filing_sectionGET /filings/text
list_filingsGET /public/companies/{ticker}/filings
get_xbrl_factsGET /companies/{ticker}/raw-facts
screen_filing_signalsPOST /filing-intelligence/screen
compare_earnings_callsGET /companies/{ticker}/transcript-trajectory
get_guidance_vs_actualGET /companies/{ticker}/guidance-vs-actual
get_stock_priceGET /market/daily/{ticker}
compare_companiesGET /peers/{cik_or_ticker}