Kresmion

AI एजेंटों के लिए केवल-पठनीय बाजार खुफिया: भविष्यवाणी बाजार, ऑन-चेन और ETF प्रवाह, SEC फाइलिंग, 13F, मैक्रो रेजिम।

होस्ट किया गया MCP सर्वर

npx add-mcp 'https://kresmion.com/api/mcp'

Claude Code, Codex, Cursor और अन्य में इंस्टॉल होता है

दस्तावेज़

Market intelligence for bots, apps and AI assistants. One HTTP API over SEC filings and reported financials, insider and congressional disclosures, macro, on-chain crypto flows, and Polymarket prediction markets, with the source and date on the records that carry them. Authenticate with a Bearer key, read the live OpenAPI spec, subscribe to webhooks, or connect an AI agent over MCP. It is information-only and does not provide investment advice.

Base URL: https://kresmion.com/api/v1 Auth: Authorization: Bearer krm_...Spec: openapi.json

Connect to Claude or ChatGPT

The fastest way in needs no key. Your assistant signs in with your Kresmion account over OAuth and gets read-only access to the data.

  1. In Claude, open Settings, then Connectors, then Add custom connector. Paste https://kresmion.com/api/mcp and leave the OAuth fields empty.
  2. In ChatGPT, where your plan offers custom connectors, add one with the same URL and choose OAuth.
  3. Sign in with Kresmion and approve read access. The connection appears as an OAuth key in /settings/api-keys. To disconnect, use Disconnect in /settings/connected-apps, which also ends the app's sign-in so it cannot mint a new key.

Then ask

Filings

What did NVIDIA report as revenue and net income in its last three quarterly filings, and which filings are those numbers from? Link each one.

Disclosures

Since last Monday, which companies had a multi-insider Form 4 cluster or showed up in a congressional disclosure? Show the filing dates and the lag between trade and disclosure.

Macro

Is anything in the Fed and rates backdrop unusual this week, and how do markets price the next FOMC? Cite the date and source of the figures you use.

Answers come from the tools with the as_of time and the source on the records that carry them, and from filings with the accession number and the sec.gov link. The server also offers three ready-made prompts:

  • filing_brief: a dated brief of a company's recent SEC filings and reported figures, each with its accession and sec.gov link.
  • what_changed_since: what was recorded since a date: insider clusters, congressional disclosures and other changed rows, with event and disclosure dates.
  • macro_backdrop: the macro and rates backdrop, with dates and sources.

Quickstart

Mint a key at /settings/api-keys, then list a company's latest SEC filings and its reported revenue, each value with the filing it comes from. Send the key as a Bearer token on every request.

# the five latest 10-Q and 10-K filings, each with its accession and sec.gov link
curl -s "https://kresmion.com/api/v1/companies/NVDA/filings?form=10-Q,10-K&limit=5" \
  -H "Authorization: Bearer krm_your_key_here"

# revenue from the three latest 10-Q filings, each value with the filing it comes from
# (quarter_value is the three months, value is year to date)
curl -s "https://kresmion.com/api/v1/companies/NVDA/financials?metric=revenue&period=quarterly&limit=3" \
  -H "Authorization: Bearer krm_your_key_here"

Products

6 product areas, each with representative endpoints. The full, authoritative list is in the live reference below. Every response is the same envelope: data, count for lists, as_of for freshness, and meta for filters, sources, caveats, and attribution.

Prediction Markets

Polymarket markets: probability history, order books and their history, execution cost, smart-money and algorithmic flow flags, movers, the resolution calendar, calibration, and resolutions.

  • GET /v1/prediction/markets
  • GET /v1/prediction/markets/{market_id}/history
  • GET /v1/prediction/markets/{market_id}/book
  • GET /v1/prediction/movers
  • GET /v1/prediction/calibration

Crypto

Labeled whale transfers, exchange wallet holdings, perpetual derivatives, funding and liquidations, token unlocks, and spot ETF AUM and fund counts. BTC and ETH ETF flows per trading session come back withheld (total_kind 'withheld', withheld_reason 'source_not_licensed'): the only per-fund session flows held for them carry no redistribution licence.

  • GET /v1/crypto/whales
  • GET /v1/crypto/exchanges/holdings
  • GET /v1/crypto/etf/flows
  • GET /v1/crypto/derivatives/{symbol}
  • GET /v1/crypto/funding
  • GET /v1/crypto/liquidations

Equities

Filing events, SEC Form 4 insider clusters, congressional trade disclosures, 13F institutional positioning, FINRA short interest, and FINRA daily short volume.

  • GET /v1/equities/signals
  • GET /v1/equities/insider-clusters
  • GET /v1/equities/congress
  • GET /v1/equities/institutional
  • GET /v1/equities/short-interest
  • GET /v1/equities/short-volume

Macro and Rates

The cross-asset regime score, central bank policy rates and their moves, US money markets and the Fed corridor, sovereign 10Y spreads (a Kresmion calculation, not a credit rating), official economic statistics by country from the World Bank and the OECD, the Fed path ladder (FOMC decision-outcome prices on Polymarket), the Treasury curve through history, curated FRED series, the economic surprise index, Fed liquidity, CFTC Commitments of Traders, Treasury TIC flows, and BIS policy rates.

  • GET /v1/macro/regime
  • GET /v1/macro/central-banks
  • GET /v1/macro/money-markets
  • GET /v1/macro/sovereign-spreads
  • GET /v1/macro/economics
  • GET /v1/macro/fed/path
  • GET /v1/macro/yield-curve/history
  • GET /v1/macro/fred/{series_id}/history
  • GET /v1/macro/surprise
  • GET /v1/macro/cot
  • GET /v1/macro/tic
  • GET /v1/macro/bis

Companies

Peer relative value from SEC fundamentals, a multi-filter screen, and IPOs and equity offerings from EDGAR with their prospectus terms.

  • GET /v1/rv/{ticker}
  • GET /v1/rv/{ticker}/matrix
  • POST /v1/screen
  • GET /v1/intel/offerings
  • GET /v1/intel/offerings/ipo-pipeline

Events and Intelligence

One feed of scored events across equities, crypto, macro, and prediction markets; the published track record (forward returns after every logged event, losses included); cross-family confluence composites with legs listed; per-ticker smart-money scores; a per-symbol brief; and a delta feed for polling agents.

  • GET /v1/signals
  • GET /v1/track-record
  • GET /v1/confluence
  • GET /v1/equities/smart-money
  • GET /v1/brief/{asset_class}/{symbol}
  • GET /v1/changes
  • GET /v1/status

API reference

Rendered live from the OpenAPI spec: every endpoint grouped by tag, with parameters and responses. Expand a row for details.

Loading the live API reference...

Errors

A 400, 404, 422 or 429 answers with {"detail": {"code", "message", "hint", "docs_url"}}. The code is stable and safe to branch on, the hint says what to change (for example which id forms a route accepts), a 422 adds the failing errors, and a 429 adds retry_after in seconds. 401 and 403 keep a plain message. Not sure which id to send? Ask GET /v1/search?q= first. Over MCP, every failure comes back as a tool error with the same fields.

Rate limits and tiers

Kresmion is in a free beta and billing is not switched on. Every registered account can self-serve an API key, and the API, the MCP server, the SDK and the Excel add-in all run on that key at no charge. Requests over the per-minute limit get a 429 with a Retry-After header telling you how long to wait; the monthly quota resets each calendar month.

TierMonthly callsRate limitOver limitAccess
Free beta (registered)10,000120 req / min429 + Retry-AfterSelf-serve key, today
Basic (planned)Not includedNot includedNot applicableNo API or MCP access
Developer (planned)100,000600 req / min429 + Retry-AfterWhen billing opens
BusinessBy agreementBy agreement429 + Retry-AfterContact us

When billing opens, the API and the MCP server come with the Developer plan on the pricing page, at EUR 80 a month excluding VAT, with 100,000 calls a month and 600 requests a minute. Basic does not include them. During the free beta, every account gets 10,000 API calls a month and 120 requests a minute, and nothing is charged. Need more today? Email inquiry@kresmion.com.

Securing a key

A key is for reading data. A request made with a key using a write method (POST, PUT, DELETE) is refused with a 403, except the two POST routes that carry a query body and write nothing (the screen and the sheet evaluator); account data such as portfolios and messages needs a signed-in session. You can lock a key to specific source addresses from /settings/api-keys. An allowlisted key is rejected with a 401 when it is presented from any other address. The allowlist takes exact IPv4 and IPv6 addresses; leave it empty to accept any address. Keys are shown in full only once at creation, can be revoked at any time, and you can hold up to five active keys per account.

Attribution and caveats

Some data owners require a credit line wherever their data is shown. When they do, the response carries it in meta.attribution, and you must keep that text with the figures when you display, store, or pass them on. Two families carry it today:

  • Short volume: "Source: FINRA. Reg SHO Daily Short Sale Volume data owned by FINRA."
  • Sovereign spreads: the ECB source line and its free-of-charge notice, the statement that the spreads are computed by Kresmion from the published yields, the OECD and Federal Reserve H.15 citations, and the FRED notice. A spread is a calculation from published yields, not a credit rating.

meta.caveats lists the known limits of a dataset (a lag, a single venue, a withheld value) and meta.source names the upstream. MCP tools return the envelope unchanged, and the Python SDK exposes it as .meta on every result. Read the methodology for how each figure is built.

Per record, company filings and financials carry accession_number, filing_date and sec_url on every row, and rows from disclosures (insider clusters, congressional trades, 13F holdings, and events with an originating filing) carry a citation object: source, url, accession, filed and observed_at. Quote the url next to the number. Not sure which id a route takes? GET /v1/search?q=NVIDIA resolves a company name, ticker, CIK, prediction market or FRED series to the id the other routes accept (the MCP tool is resolve).

Webhooks

Subscribe to push events instead of polling. Manage up to five webhooks per account at /settings/webhooks, optionally filtered to event types and symbols. Each delivery is signed with HMAC-SHA256 over the raw body, sent as X-Kresmion-Signature: sha256=<hex>, so you can verify it came from Kresmion.

EventFires when
signal.createdA new cross-asset event fired at the top severity tier.
whale.transferA single on-chain transfer of $1,000,000 or more (self-transfer artifacts excluded).
prediction.repricingA Polymarket market moved 10 percentage points or more in 24 hours.
prediction.resolution_imminentA liquid Polymarket market is scheduled to close within 48 hours.
prediction.algo_flowA high-confidence algorithmic-flow flag on a Polymarket market.
etf.flowA new daily crypto ETF print. BTC and ETH session flow values are withheld; AUM and fund count are sent.
regime.changeThe daily macro regime crossed into a new bucket.
confluence.firedSeveral independent data families aligned on one symbol.
{
  "event": "whale.transfer",
  "fired_at": "2026-07-16T14:05:00+00:00",
  "data": {
    "blockchain": "ETH",
    "from_label": null,
    "to_label": "Binance",
    "direction": "exchange_inflow",
    "amount_usd": 4200000.0,
    "tx_hash": "0xabc...",
    "tx_timestamp": "2026-07-16T14:04:12+00:00"
  }
}
import hashlib
import hmac

def verify(secret: str, raw_body: bytes, signature: str) -> bool:
    expected = "sha256=" + hmac.new(secret.encode(), raw_body, hashlib.sha256).hexdigest()
    return hmac.compare_digest(expected, signature)

# In your handler, read the raw request body and the signature header:
#   sig = request.headers["X-Kresmion-Signature"]   # "sha256=<hex>"
#   if not verify(WEBHOOK_SECRET, raw_body, sig):
#       return 401  # reject a forged payload

MCP for AI agents

AI agents connect to Kresmion over the Model Context Protocol. The hosted server exposes 47 tools: 47 read data, and none writes, pays or changes state. Every tool response carries the same envelope and freshness stamp as the HTTP API, and the same key, quota, and rate limits apply. Start with kresmion_status to see how fresh each family is.

Start here

kresmion_status, kresmion_brief, changes_since, field_search, resolve

SEC filings

company_filings, filing_excerpts, company_financials

Prediction markets (Polymarket)

prediction_markets, prediction_market_detail, prediction_market_history, prediction_order_book, prediction_movers, prediction_calibration, prediction_execution_cost, prediction_calendar

Crypto

crypto_whale_transfers, crypto_etf_flows, crypto_derivatives, crypto_funding, crypto_liquidations

Equities and companies

equity_signals, insider_clusters, congress_trades, institutional_holdings, equity_short_interest, short_volume, equity_gamma, smart_money, equity_offerings, relative_value

Macro and rates

macro_regime, central_banks, bis_policy_rates, money_markets, sovereign_spreads, economic_statistics, fed_path, yield_curve_history, fred_history, economic_surprise, macro_liquidity, cot_positioning, treasury_tic

Supply chain

semiconductor_corridors

Event record

signal_track_record, confluence

Web clients that connect by OAuth need no pasted key. Add a custom connector with the URL https://kresmion.com/api/mcp and leave the OAuth fields empty. The client discovers the Kresmion authorization server, opens the Kresmion consent page, and after you approve it while signed in, it receives a managed key with the kresmion:read scope, limited to the data API. That key appears in /settings/api-keys as an OAuth key and shares your account's quota. To disconnect, use Disconnect in /settings/connected-apps, which also ends the app's sign-in. ChatGPT connects the same way where your plan offers custom connectors.

Hosted endpoint over streamable HTTP, with your key in the header:

{
  "mcpServers": {
    "kresmion": {
      "type": "http",
      "url": "https://kresmion.com/api/mcp",
      "headers": { "Authorization": "Bearer krm_your_key_here" }
    }
  }
}

One line in Claude Code:

claude mcp add --transport http kresmion https://kresmion.com/api/mcp \
  --header "Authorization: Bearer krm_your_key_here"

Local stdio server

Prefer to run it yourself? The standalone stdio server carries the same 47 tools, generated from the hosted server, and calls the same HTTP API with your key from the environment. Download /sdk/kresmion_mcp.py:

# download the standalone server, then register it over stdio
curl -sO https://kresmion.com/sdk/kresmion_mcp.py

{
  "mcpServers": {
    "kresmion": {
      "command": "uv",
      "args": ["run", "--with", "mcp", "--with", "httpx", "/absolute/path/to/kresmion_mcp.py"],
      "env": { "KRESMION_API_KEY": "krm_your_key_here" }
    }
  }
}

# without uv: pip install "mcp>=1.28" "httpx>=0.27", then run python kresmion_mcp.py

Python SDK

The kresmion package wraps the /v1 API in namespaced methods (k.prediction, k.crypto, k.equities, k.macro and more) and honours Retry-After. SDK version 0.6.1 is the single-file build served here; it needs Python 3.9 or newer and requests. pip install kresmion installs the same version, 0.6.1, or download the file:

curl -O https://kresmion.com/sdk/kresmion.py
pip install "requests>=2.28"

Every result carries .as_of and .meta, which holds the caveats, source, and any attribution line you must reproduce:

from kresmion import Kresmion

k = Kresmion()  # reads KRESMION_API_KEY
spreads = k.macro.sovereign_spreads(country="IT")
print(spreads.as_of, spreads.meta.get("attribution"))

Version 0.4.0 removed six methods together with their routes, because the data behind them carries no redistribution licence: prediction.consensus, prediction.divergence, prediction.options_divergence, prediction.options_divergence_history, crypto.options, and crypto.stablecoins. Later versions only add methods and parameters.

Excel add-in

The Excel add-in ships 25 worksheet functions, from =KRESMION.REGIME() and =KRESMION.CBRATE("US") to =KRESMION.YIELD("10Y"), backed by the same live data API as the on-site sheet. It works in Excel for Windows and Mac and in Excel for the web. To install it, open Insert, then Get Add-ins, then Upload My Add-in, and select the manifest at kresmion.com/excel-addin/manifest.xml. Open the Kresmion taskpane, paste your API key, and click Connect; the taskpane lists every function with an example.

The API is free during beta. There is no uptime SLA yet, and figures can lag their upstream sources or be revised. Read the methodology and data caveats before you build on a number. Information-only, not investment advice.