MUSASHI

Polymarket API Reference

Musashi exposes a unified REST API for Polymarket and Kalshi market data. Base URL: musashi-api.vercel.app. No authentication required. All endpoints return JSON. 4 endpoints covering feed, markets, arbitrage, and movers.

Base URL

https://musashi-api.vercel.app

No API key or authentication headers required for read endpoints.

GET/api/feed

Sentiment signals matched to prediction markets

ParameterTypeDescription
sincenumberUnix ms timestamp — return signals after this time
urgencystringFilter: critical | high | medium | low
categorystringFilter: crypto | politics | economics | tech | sports | geopolitics | finance | breaking_news
sentimentstringFilter: bullish | bearish | neutral
GET/api/markets

Live market list with prices across Polymarket and Kalshi

ParameterTypeDescription
categorystringFilter by market category
limitnumberNumber of markets to return (default 50, max 200)
GET/api/markets/arbitrage

Cross-platform arbitrage opportunities (Polymarket vs Kalshi)

ParameterTypeDescription
minSpreadnumberMinimum spread as a decimal (default 0.03 = 3%)
minConfidencenumberMinimum match confidence (default 0.50)
limitnumberMaximum results to return (default 10)
categorystringFilter by market category
GET/api/markets/movers

Markets with significant recent price movement

ParameterTypeDescription
timeframestringTime window: 1h | 24h (default 1h)
minChangenumberMinimum price change as a decimal (default 0.05 = 5%)
limitnumberMaximum results to return (default 20)
platformstringOptional platform filter: polymarket | kalshi

Response Schema: /api/feed

{
  "signals": [
    {
      "id": "string",
      "createdAt": 1714000000000,
      "tweet": {
        "author": "@handle",
        "text": "...",
        "url": "https://x.com/..."
      },
      "sentiment": "bullish" | "bearish" | "neutral",
      "confidence": 0.84,
      "action": "YES" | "NO" | "HOLD",
      "edge": 0.07,
      "urgency": "critical" | "high" | "medium" | "low",
      "category": "crypto",
      "markets": [
        {
          "polymarketId": "0x...",
          "kalshiId": "BTCUSD-...",
          "title": "Bitcoin above $70k by end of May?",
          "matchScore": 0.91
        }
      ]
    }
  ]
}

Full API Reference

The complete interactive API docs with examples in Python, Node.js, and curl are at the link below.

Frequently Asked Questions

Does Musashi have a native Polymarket API?

Musashi is built on top of the Polymarket CLOB data layer and exposes a simplified REST API optimized for trading bots. It adds sentiment signals, cross-platform arbitrage detection, and pre-computed trading signals that the native Polymarket API does not provide.

How often does Polymarket data update?

Musashi polls Polymarket prices every 15–20 seconds and stores price history for computing 1-hour and 24-hour changes. The sentiment feed updates every 2 minutes as Twitter polling cycles complete.

Is there a rate limit on the API?

No rate limits during beta. Fair use guidelines recommend polling no faster than every 10 seconds per endpoint. Excessive polling may be throttled in future versions.

Can I get historical Polymarket data?

Musashi currently provides up to 48 hours of feed history via the since timestamp parameter on /api/feed. For longer historical data, the Polymarket CLOB API provides order book history directly.

Do I need authentication to use the API?

No. Musashi API endpoints for market data and sentiment require no API keys or authentication during beta. Only trade execution (via Polymarket or Kalshi directly) requires wallet credentials.