MARKED
Products:
  [Financials](https://marked.run/llms.txt)
  [Filings & disclosures](https://marked.run/llms.txt)
  [Ownership & shareholding](https://marked.run/llms.txt)
  [Corporate actions](https://marked.run/llms.txt)
  [Insider activity](https://marked.run/llms.txt)
  [Market prices](https://marked.run/llms.txt)
Developers:
  [agents.md](https://marked.run/agents.md)
  [OpenAPI spec](https://marked.run/openapi.json)
  [llms.txt](https://marked.run/llms.txt)
  [MCP server](https://marked.run/agents.md)
  [Support](mailto:access@marked.run)
Resources:
  [Pricing](https://marked.run/pricing.md)
  [Console](https://app.marked.run/dashboard)
[SIGN IN](https://app.marked.run/login)

# Give your AI agent access to Indian markets

Structured financial data, filings, ownership and market intelligence, built
for agents. 9,400+ listed Indian companies, 1.3M+ financial facts and 29K+
filings and disclosures, served as structured JSON from one REST API and one
MCP server.

[GET EARLY ACCESS](https://app.marked.run/login?mode=signup)
[READ THE AGENT GUIDE](https://marked.run/agents.md)

## What this is

Marked is a financial data layer for Indian capital markets. Base URL:
https://app.marked.run. Every endpoint returns JSON and authenticates with an
`X-API-Key` header (`Authorization: Bearer` also works).

There is no self-serve signup. Keys are issued per workspace by the Marked
team: ask at access@marked.run. A key looks like `mk_live_...`, is shown once
at issue, and only its hash is stored.

## Coverage

- 9,400+ listed Indian companies across NSE and BSE.
- 1.3M+ financial facts: income statement, balance sheet and cash flow, on both
  consolidated and standalone basis.
- 29K+ filings and disclosures, with the source document retained.
- Corporate actions from official typed dates: dividends, splits, bonuses,
  buybacks. An amount or ratio that cannot be parsed with confidence is left
  missing rather than guessed.
- Ownership and shareholding patterns, insider activity, corporate events,
  daily and intraday prices.
- Not covered: markets outside India, options, currencies, and private
  companies.

## Where the data comes from

Facts are parsed from exchange XBRL — NSE and BSE filings — without
intermediaries. Documents and disclosures come from the exchanges directly.
Prices come from the exchange feed. Company identity is resolved against the
exchange instrument masters rather than by name matching alone.

## How Marked resolves conflicting data

This is the part that separates Marked from a scraper. Two sources can report
the same company, concept, period and basis differently. Marked returns one
canonical answer, chosen deterministically:

1. Structured XBRL outranks a value read off a rendered PDF.
2. An exchange filing outranks an investor-relations document.
3. Most recently known breaks a remaining tie, so a restatement wins.

Insertion order never decides. A value that cannot be attributed to a
reporting period is withheld from answers rather than returned with a guess.
Nothing is discarded: every observation stays queryable through the
provenance endpoint, so any number can be traced back to the filing it came
from.

## API endpoints

- Index: `GET /v1/` — every endpoint, plus the row count and freshness of each dataset.
- Financials: `GET /v1/financials` — income statement, balance sheet, cash flow. `ticker` required; `period`, `basis`, `concept`, `as_of`, `limit`.
- Financial metrics: `GET /v1/financial-metrics` — ratios and growth rates derived from the canonical facts.
- Companies: `GET /v1/companies` — company master. `q`, `sector`, `listing_status`, `limit`, `offset`.
- Filings: `GET /v1/filings` — filings and disclosures. `ticker`, `type`, `fiscal_year`, `start`, `end`.
- Shareholding: `GET /v1/shareholding` — ownership patterns. `ticker` required.
- Corporate actions: `GET /v1/corporate-actions` — dividends, splits, bonuses, buybacks.
- Events: `GET /v1/events` — corporate events. `ticker`, `type`, `types`, `start`, `end`.
- Prices: `GET /v1/prices` — quotes and history. `ticker` required; `interval`, `start`, `end`, `latest`.
- Instruments: `GET /v1/instruments` — tradable instruments by exchange, segment, ISIN.
- Search: `POST /v1/search` — body `query` required; `kinds`, `ticker`, `limit`.
- Query: `POST /v1/query` — structured query. Body `query` required; `plan`, `limit`.
- Ask: `POST /v1/ask` — a research question in plain language. Body `query` and `session` required.
- Provenance: `GET /api/v1/companies/{reference}/financials/{concept_id}/provenance` — every observation ever published for one number.

Complete API map: [llms.txt](https://marked.run/llms.txt). Machine-readable
spec: [openapi.json](https://marked.run/openapi.json).

## Conventions

- Tickers are uppercase exchange symbols (RELIANCE, TCS, INFY).
- Company references resolve however a person writes them: `reliance`,
  `RELIANCE`, `Reliance Industries Ltd` and the ticker all reach the same
  company. Matching is case-insensitive throughout.
- Dates are ISO 8601 (`YYYY-MM-DD`). `as_of` asks what was knowable on a date,
  without look-ahead bias.
- `basis` is `consolidated` or `standalone`, and is never mixed in one answer.
- `period` is `annual` or `quarterly`. A quarter ending 31 March is distinct
  from the year ending the same day.
- Amounts are in INR. Each value carries its own `scale`.

## Quick start

```bash
curl "https://app.marked.run/v1/financials?ticker=RELIANCE&limit=4" \
  -H "X-API-Key: YOUR_API_KEY"
```

Latest price:

```bash
curl "https://app.marked.run/v1/prices?ticker=RELIANCE&latest=true" \
  -H "X-API-Key: YOUR_API_KEY"
```

## MCP server

Server: `https://app.marked.run/mcp/` (streamable HTTP, trailing slash
required). Auth is the same `X-API-Key` header; Marked does not use OAuth.

```bash
claude mcp add --transport http marked https://app.marked.run/mcp/ \
  --header "X-API-Key: YOUR_API_KEY"
```

Nineteen tools are exposed: `search`, `get_company`, `get_quote`,
`get_historical_prices`, `get_financials`, `get_financial_history`,
`screen_companies`, `list_screen_metrics`, `get_shareholding`,
`get_corporate_actions`, `get_events`, `list_event_types`,
`get_insider_activity`, `search_filings`, `get_filing`, `get_earnings`,
`query`, `get_fact_provenance`, `list_datasets`.

API requests and MCP tool calls draw on the same monthly allowance.
Setup for every client: [agents.md](https://marked.run/agents.md).

## Pricing

- **Developer** — $5/month, 2,000 requests.
- **Builder** — $25/month, 25,000 requests.
- **Scale** — $249/month, 500,000 requests.
- **Enterprise** — custom volumes, dedicated infrastructure, SLAs.

Full detail: [pricing.md](https://marked.run/pricing.md).

## Machine-readable resources

- [llms.txt](https://marked.run/llms.txt) — the API map
- [llms-full.txt](https://marked.run/llms-full.txt) — fuller context in one file
- [agents.md](https://marked.run/agents.md) — connect a client and run a first query
- [skill.md](https://marked.run/skill.md) — the same as an agent skill
- [openapi.json](https://marked.run/openapi.json) — machine-readable spec
- [index.md](https://marked.run/index.md) — this page as markdown

Marked · India's financial data layer · access@marked.run
