GENKA 原価 · Bombay, India
ITC412.50▲ 2.1% RELIANCE2,845.30▼ 0.5% TCS3,890.20▲ 1.2% HDFCBANK1,708.90▲ 0.8% INFY1,654.15▼ 0.3% ICICIBANK1,284.50▲ 1.5% HONASA312.80▲ 3.2% LT3,450.65▲ 0.4% BAJFINANCE6,890.20▼ 0.9% ASIANPAINT2,412.10▲ 0.2% MARUTI11,240.00▼ 1.1% HINDUNILVR2,385.50▲ 0.6% SBIN812.40▲ 1.8% JUBLFOOD612.30▼ 0.7% NYKAA195.65▲ 2.4% ADANIENT2,412.90▼ 0.8%
Indian markets API · for agent use

Your agent reads
the filing.
Not the headline.

First-party Indian-markets data wired to Claude Code as one MCP server — XBRL fundamentals from NSE back to FY17, 23,000 concall transcripts with cited Q&A, twenty years of AMFI mutual fund NAV, prices for delisted companies too. Every answer carries the source URL. 200ms per call.
Wire it to Claude Code in 30 seconds. Ask "what did TCS say about gen-AI capex on the last concall?" — get an answer your agent can defend.

$5 for 7 days, 500 credits. No card to start. $29/mo and $99/mo from there.

Quickstart · 60 seconds, no SDK

Three calls. Live data on the third one.

No SDK, no client lib. curl is enough — sign up returns a key inline, then every billable call returns data + how many credits it cost. Free routes (/health, /capabilities) never bill.

1. Mint a key · free, no card
curl -X POST https://genka.dev/v1/signup \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com"}'

# => { "data": { "api_key": "imk_live_...", "credits": 500 } }
export GENKA_API_KEY=imk_live_...
2. Discover what's queryable · 0 credits
curl https://genka.dev/latest/capabilities \
  -H "X-API-Key: $GENKA_API_KEY" | jq '.data | keys'

# => ["mf", "companies", "prices", "concalls", "sectors",
#     "endpoints", "expand", "pricing_tiers", "auth"]
3. Real data · 5 credits, ~200ms
curl "https://genka.dev/latest/mf/screener?period=3y&sort=-sharpe_absolute&limit=5" \
  -H "X-API-Key: $GENKA_API_KEY" | jq '.data.items[] | {slug, sharpe: .metrics.sharpe_absolute}'

# => { "slug": "ppfas-parag-parikh-flexi-cap", "sharpe": 1.40 }
#    { "slug": "hdfc-flexi-cap",                "sharpe": 1.38 }
#    { "slug": "whiteoak-capital-flexi-cap",    "sharpe": 1.18 }
# …
#
# Response carries: meta.usage = { tier: "search", credits_used: 5 }
#                   X-Genka-Credits-Remaining: 495

That's it. From here: research a stock, review a portfolio, discover ideas. Or wire the MCP server into Claude Code so the agent picks tools for you: claude mcp add --transport http genka https://genka.dev/mcp --header "x-api-key: $GENKA_API_KEY".

Try it now

One MCP tool call. Seven funds ranked by Sharpe.

Claude Code → genka.mf_screener (via MCP) · live data
# Plain English in Claude Code:
"Find flexi-cap funds with 3-year Sharpe over 0.9, sorted by Sharpe."

# Claude calls mf_screener via MCP:
POST https://genka.dev/mcp  { tools/call: mf_screener }

→ 7 funds, 200 ms:
{
  "data": {
    "object": "screener_result",
    "period": "3y",
    "applied_filters": { "sharpe_absolute_gte": 0.9, "sort": "-sharpe_absolute" },
    "items": [
      { "slug": "ppfas-parag-parikh-flexi-cap",    "metrics": { "sharpe_absolute": 1.40 } },
      { "slug": "hdfc-flexi-cap",                  "metrics": { "sharpe_absolute": 1.38 } },
      { "slug": "whiteoak-capital-flexi-cap",      "metrics": { "sharpe_absolute": 1.18 } },
      /* …4 more */
    ]
  },
  "meta": {
    "compute_version": "2026-04-25-caracal",
    "sources": [/* tickertape, derived */],
    "usage": { "tier": "search", "credits_used": 5 }
  }
}
Three more, one call each

Overview, peers, and cohorts — listed and private.

ITC · everything in one call
curl -sL -H "X-API-Key: imk_live_…" \
  "https://genka.dev/latest/entities/ITC"


{
  "data": {
    "entity_id": "ITC",
    "name": "ITC Ltd.",
    "leaf_code": "IN040107001",
    "taxonomy_path": [
      { "name": "Industries" },
      { "name": "Fast Moving Consumer Goods" },
      { "name": "Diversified FMCG" }
    ],
    "peers": [
      { "entity_id": "HINDUNILVR", "shared_tag_count": 4,
        "shared_tags": ["defensive", "fmcg", "nifty-50", "nifty-500"] }
    ],
    "tags": [{ "slug": "nifty-50", "kind": "index" }, /* … */]
  }
}
Purplle · private-co peers ranked by shared tags
curl -sL -H "X-API-Key: imk_live_…" \
  "https://genka.dev/latest/entities/purplle"


{
  "data": {
    "entity_id": "purplle",
    "name": "Purplle",
    "stage": "Series F",
    "leaf_code": "IN020603004",
    "peers": [
      { "entity_id": "NYKAA",       "shared_tag_count": 3,
        "shared_tags": ["beauty", "beauty-ecommerce", "d2c-born"] },
      { "entity_id": "tira-beauty", "shared_tag_count": 2,
        "shared_tags": ["beauty", "beauty-ecommerce"] }
    ],
    "funding_rounds": [{ "round_name": "Series F", "amount_inr_cr": 1000, /* … */ }],
    "private_financials": [{ "fy": "FY25", "revenue_cr": 1367 }]
  }
}
Specialty-coffee cohort · listed + private in one tag
curl -sL -H "X-API-Key: imk_live_…" \
  "https://genka.dev/latest/tags/specialty-coffee"


{
  "data": {
    "slug": "specialty-coffee",
    "name": "Specialty Coffee",
    "kind": "sub-leaf",
    "members": [
      { "entity_id": "blue-tokai",        "entity_type": "private" },
      { "entity_id": "tata-starbucks",    "entity_type": "private" },
      { "entity_id": "third-wave-coffee", "entity_type": "private" },
      { "entity_id": "TATACONSUM",        "entity_type": "ticker" }
    ]
  }
}
What the API does for you
i.

Every number has a URL

Statement endpoints return the NSE xbrl_url and filing_date per period. Audit any figure back to the original filing PDF in one click.

ii.

Missing data is visible, not silent

Every ratio series returns null for periods we don't have, plus a coverage: {total, present, missing} block. No guessing what's there.

iii.

Source disagreements surfaced

When primary XBRL and Screener.in differ on a balance sheet, we flag bs_source: both_disagree with per-column diff_pct. You see the conflict, we don't hide it.

Mutual funds

4,700 funds. Twenty years of NAV. Risk metrics, holdings, backtests.

PPFAS Flexi Cap · everything in one call
curl -sL -H "X-API-Key: imk_live_…" \
  "https://genka.dev/latest/mf/ppfas-parag-parikh-flexi-cap?expand=metrics,holdings,plans"


{
  "data": {
    "object": "fund",
    "name": "Parag Parikh Flexi Cap Fund - Direct Plan - Growth",
    "expense_ratio_pct": 0.62,
    "aum_cr": 134253.17,
    "exit_load_pct": 2,
    "benchmark_name": "NIFTY 500 - TRI",
    "facts_source": "tickertape",
    "metrics": [/* 6 periods × CAGR/Sharpe/Sortino/maxDD/alpha/beta/... */],
    "holdings": [{ "instrument": "HDFC Bank Ltd", "weight_pct": 7.96, "ticker": "HDFCBANK" }, /* … 190 more */],
    "plans": [/* Direct/Regular × Growth/IDCW with scheme codes + ISINs */]
  },
  "meta": { "sources": [/* tickertape, derived */] }
}

Time-travel via ?as_of=YYYY-MM-DD. Backtest with rebalance + survivorship transparency. Holdings overlap between two funds. Saved queries with signed-webhook alerts.

The MCP wedge

Wire it to Claude Code in 30 seconds.

No JSON to edit. Just paste this prompt into Claude Code or Claude Desktop after sign-in — Claude wires up the MCP server itself.

copy → paste into Claude Code (or Claude Desktop)
Add an MCP server called "genka" using HTTP transport at https://genka.dev/mcp with the request header "X-API-Key: imk_live_YOUR_KEY".

Once connected, use the mf_screener tool to find flexi-cap mutual funds with 3-year Sharpe over 0.9, sorted by Sharpe, limit 7. Then summarise the top fund and ask if I want to backtest it.

Don't have a key yet? Start the $5 trial →  ·  CLI alternative: claude mcp add genka --transport http https://genka.dev/mcp -H "X-API-Key: $GENKA_API_KEY"

Claude calls mf_screener via MCP and returns:

POST /mcp · tools/call · live response
→ 7 funds, 200 ms, 5 credits:
{
  "data": {
    "object": "screener_result",
    "items": [
      { "name": "Parag Parikh Flexi Cap", "sharpe": 1.40 },
      { "name": "HDFC Flexi Cap",        "sharpe": 1.38 },
      { "name": "WhiteOak Flexi Cap",    "sharpe": 1.18 },
      /* …4 more */
    ]
  },
  "meta": { "compute_version": "2026-04-25-caracal", "sources": [/* tickertape, derived */] }
}

Bloomberg costs ₹20L/yr and still doesn't speak MCP. Brokers ship MCPs for placing orders — not for reading the filing first. Genka is the research desk your agent can wire up itself: XBRL fundamentals, cited concall Q&A, SEBI-taxonomy MF screener. Three minutes to a working portfolio agent. See where Genka fits in the Indian markets ecosystem →

Full MCP docs →  ·  /llms.txt for agents →

Pricing

$5 for 7 days.
Two paid plans after.

Cadence Credits Roughly Price
Trial One-time, 7 days 500 500 reads / 100 searches / 20 backtests $5
Solo Monthly 2,900 ~580 searches or ~116 backtests $29 / mo
Pro Monthly 9,900 ~1,980 searches or ~396 backtests · email support $99 / mo

1 credit = 1 cent. Tier costs: read 1 · search 5 · compute 25 · export 50. Free routes (health, capabilities, pricing) are always free. /v1/pricing →

Source manifest

The primary sources cited in every response.

nse_xbrl

NSE corporate filings · XBRL

Pre-April-2025 quarterly results. Every listed company on NSE files here under SEBI LODR.

nseindia.com/companies-listing/…results
sebi_iff

SEBI Integrated Filing Financial

Post-April-2025 unified format under the in-capmkt 2025-01-31 taxonomy. Served via NSE.

nseindia.com/…corporate-filings-integrated-filing
nse_bhavcopy

NSE bhavcopy — daily EOD

Official end-of-day equity cash-market archive. Closes, volumes, ISINs back to 2014.

nsearchives.nseindia.com/content/cm/
nse_shp

Shareholding-pattern XBRL

Quarterly SHP filings. Total issued shares, promoter / public split, pledging details.

nseindia.com/…shareholding-pattern
screener.in

Screener.in — pre-FY22 backfill

Historical balance-sheet totals cross-validated against XBRL where both exist. With thanks.

screener.in
nse_universe

Top 500 NSE-listed companies

India's 500 largest listed equities. Reconstituted semi-annually from NSE Indices.

niftyindices.com
Ready

$5. 7 days. Ship today.

One email, one key. 500 credits. Wire to Claude Code via MCP, run a backtest, screen funds in plain English. If you don't ship something useful, don't pay again.

Get your key