{
  "name": "seekingdata",
  "description": "Agent-native, provenance-carrying market- and reference-data API. 12 live categories — crypto (spot, options, futures, ETF flows, on-chain network), FX, sports, weather, stocks, commodities, macro, medical, and the source-abstracted absurd cosmos/civic/economy/earth families — all served off the same taxonomy (Category → Product → Metric). Every response ships the seekingdata envelope (data + meta + provenance) with computed confidence, staleness, and source-level lineage — never bare data. Market venues are named as standard attribution; every non-exchange upstream is abstracted to its source kind (government_agency, aggregate, provider, derived, exchange).",
  "homepage": "https://seekingdata.dev",
  "version": "v2",
  "sources": [
    "binance",
    "coinbase",
    "deribit",
    "aggregate",
    "crypto_network",
    "reference",
    "weather_ref",
    "sports_provider",
    "gov_geophysical",
    "public_aggregate",
    "gov_register",
    "gov_open_data",
    "gov_fiscal",
    "gov_environment",
    "market_ref",
    "gov_reserve"
  ],
  "categories": [
    {
      "id": "crypto",
      "status": "live"
    },
    {
      "id": "fx",
      "status": "live"
    },
    {
      "id": "weather",
      "status": "live"
    },
    {
      "id": "sports",
      "status": "live"
    },
    {
      "id": "absurd_cosmos",
      "status": "live"
    },
    {
      "id": "absurd_civic",
      "status": "live"
    },
    {
      "id": "absurd_economy",
      "status": "live"
    },
    {
      "id": "absurd_earth",
      "status": "live"
    },
    {
      "id": "stocks",
      "status": "live"
    },
    {
      "id": "commodities",
      "status": "live"
    },
    {
      "id": "macro",
      "status": "live"
    },
    {
      "id": "medical",
      "status": "live"
    }
  ],
  "api": {
    "base": "https://api.seekingdata.dev",
    "auth": "Self-serve signup via Google or GitHub (new accounts start on the free plan). Authorization: Bearer <key> or X-API-Key: <key> on /v1/data/** and legacy aliases; navigation endpoints (/v1/catalog, /v1/categories) are public."
  },
  "envelope": {
    "data": "the requested payload (shape depends on the metric: scalar, object, or series)",
    "meta": "as_of, venues[], staleness_ms, confidence (0-1); series responses add has_more, next_cursor, truncated, returned, hint",
    "provenance": "sources[] (abstracted to source kind for non-exchange upstreams; venue+symbol+ts for market data) and the derivation method"
  },
  "plans": [
    {
      "tier": "free",
      "rate_limit_per_min": 10,
      "unlocks": [
        "crypto/spot/reference_price",
        "crypto/spot/ohlcv"
      ]
    },
    {
      "tier": "basic",
      "rate_limit_per_min": 60,
      "unlocks": [
        "crypto/spot/trades",
        "sports/*/match_result"
      ]
    },
    {
      "tier": "pro",
      "rate_limit_per_min": 300,
      "unlocks": [
        "crypto/options/chain"
      ]
    },
    {
      "tier": "ultra",
      "rate_limit_per_min": 1200,
      "unlocks": [
        "crypto/futures/*",
        "all live metrics"
      ]
    }
  ],
  "endpoints": [
    {
      "method": "GET",
      "path": "/v1/data/{category}/{product}/{metric}",
      "description": "Generic data endpoint for every live metric. Query: entity, source, fields, format=table, series=true (+ from/to/limit for the chartable time series), cursor, max_response_tokens.",
      "auth": "keyed"
    },
    {
      "method": "GET",
      "path": "/v1/price/{symbol}",
      "description": "Legacy alias for crypto/spot/reference_price, same resolver, same wire shape.",
      "auth": "keyed"
    },
    {
      "method": "GET",
      "path": "/v1/ohlcv/{symbol}",
      "description": "Legacy alias for crypto/spot/ohlcv.",
      "query": {
        "interval": "1s | 1m"
      },
      "auth": "keyed"
    },
    {
      "method": "GET",
      "path": "/v1/trades/{symbol}",
      "description": "Legacy alias for crypto/spot/trades.",
      "auth": "keyed"
    },
    {
      "method": "GET",
      "path": "/v1/options/{underlying}",
      "description": "Legacy alias for crypto/options/chain (mark price, IV, greeks, open interest).",
      "auth": "keyed"
    },
    {
      "method": "GET",
      "path": "/v1/categories",
      "description": "The top-level live data categories seekingdata serves.",
      "auth": "public"
    },
    {
      "method": "GET",
      "path": "/v1/catalog",
      "description": "The full catalog of everything seekingdata serves: unit, cadence, sources, entities, min_tier, API path, MCP tool, and status per metric.",
      "auth": "public"
    },
    {
      "method": "POST",
      "path": "/auth/login",
      "description": "Email + password login. Sets an httpOnly session cookie and returns the same JWT in the body for CLI use.",
      "auth": "none"
    },
    {
      "method": "GET",
      "path": "/v1/account",
      "description": "Plan, rate limit, allowed products/metrics, and masked API key for the authenticated user.",
      "auth": "keyed"
    },
    {
      "method": "GET",
      "path": "/openapi.json",
      "description": "OpenAPI 3.1 machine contract for the REST API: the load-bearing discovery document."
    },
    {
      "method": "GET",
      "path": "/llms.txt",
      "description": "Plain-text orientation for LLMs landing on the API without an MCP connection."
    }
  ],
  "mcp": {
    "package": "@seekingdata/mcp",
    "install": "claude mcp add seekingdata --env SEEKINGDATA_API_KEY=<key> -- npx -y @seekingdata/mcp",
    "transport": "stdio",
    "env": {
      "SEEKINGDATA_API_KEY": "your API key, required for tools that call /v1/data",
      "SEEKINGDATA_API": "https://api.seekingdata.dev (default; override to self-host)"
    },
    "tools": [
      "browse_catalog",
      "get_metric",
      "reference_price",
      "ohlcv",
      "recent_trades",
      "option_chain",
      "sources",
      "provenance"
    ],
    "resources": [
      "seekingdata://catalog",
      "seekingdata://sources",
      "seekingdata://category/{category}"
    ]
  },
  "method_note": "The crypto spot reference price is an outlier-trimmed cross-venue median across Binance and Coinbase (USDT treated as approximately USD).",
  "contact": "matteo.assinnata@gmail.com"
}