{
  "slug": "interactive-brokers-api",
  "name": "Interactive Brokers API",
  "aliases": [
    "IBKR API",
    "TWS API",
    "IB API",
    "Client Portal API",
    "IBKR Web API"
  ],
  "vendor": {
    "name": "Interactive Brokers LLC",
    "slug": "interactive-brokers",
    "website": "https://www.interactivebrokers.com"
  },
  "homepage_url": "https://www.interactivebrokers.com/campus/ibkr-api-page/",
  "docs_url": "https://www.interactivebrokers.com/campus/ibkr-api-page/trader-workstation-api/",
  "repo_url": "https://github.com/InteractiveBrokers",
  "pricing_url": "https://www.interactivebrokers.com/en/pricing/commissions-home.php",
  "product_type": "api-service",
  "product_status": "active",
  "summary": "Programmatic trading and market-data access to Interactive Brokers accounts through the TWS API, the REST-based Web API and FIX",
  "description": "The Interactive Brokers API is the family of programmatic interfaces that Interactive Brokers LLC offers to clients for trading and market data, placing it in the financial analysis and investing category. The longest-standing one is the TWS API: a socket protocol spoken by the Trader Workstation or the headless IB Gateway, with official client libraries in Python, Java, C++, C# and VB.NET. Through it an application can request real-time and historical bars, option chains, account and position data, and submit or modify orders across the broker's stock, option, futures, forex and bond markets.\n\nThe Web API (previously called Client Portal API) exposes similar functions over REST and WebSocket, either through a locally run gateway or OAuth for institutional clients, and FIX connectivity serves high-volume firms. Documentation, sample code and a Python testbed live on the IBKR Campus site, and third-party wrappers such as ib_insync-style libraries are widely used in the Python community.\n\nTypical users are systematic traders, small funds and researchers who want direct broker connectivity from their own code, as well as platforms like QuantConnect that route orders to IBKR accounts. Market data requires subscriptions attached to the account, and a paper-trading account is the usual test environment.\n\nConstraints include the need to keep TWS or IB Gateway running and authenticated, pacing limits on historical data requests, message-based asynchrony that complicates simple scripts, periodic gateway restarts, and the fact that there is no free market-data feed without an account and subscriptions.",
  "capabilities": [
    "Order placement, modification and cancellation across asset classes",
    "Real-time quotes, depth and historical bars via TWS API",
    "Account, position and P&L reporting",
    "REST and WebSocket access through the Web API",
    "FIX connectivity for institutional order flow",
    "Official client libraries in Python, Java, C++, C# and VB.NET",
    "Paper-trading accounts for testing"
  ],
  "workflows": [
    "Run IB Gateway on a server and drive it from a Python strategy",
    "Pull historical bars for research subject to pacing limits",
    "Connect QuantConnect or another platform to a live IBKR account"
  ],
  "advantages": [
    "Direct access to a global multi-asset broker",
    "Several interface styles (socket, REST, FIX)",
    "Long-established and well documented by the community"
  ],
  "limitations": [
    "TWS or IB Gateway must be running and periodically re-authenticated",
    "Historical data pacing limits",
    "Asynchronous message model has a learning curve",
    "Market data requires account subscriptions"
  ],
  "prerequisites": [
    "Interactive Brokers account (paper or live)",
    "TWS or IB Gateway for the TWS API",
    "Market data subscriptions as needed"
  ],
  "audiences": [
    "Systematic and algorithmic traders",
    "Quant developers integrating a broker",
    "Researchers needing broker-grade historical data"
  ],
  "alternatives": [
    "alpaca",
    "kraken-api",
    "quantconnect"
  ],
  "comparison_notes": "Alpaca exposes a cloud REST API with no local gateway and focuses on US equities, options and crypto; IBKR covers far more markets but requires a running gateway for the TWS API. Kraken's API is crypto-only. QuantConnect is a research platform that can route to IBKR rather than a competing broker API.",
  "categories": [
    {
      "slug": "financial-analysis-investing",
      "primary": true
    },
    {
      "slug": "market-data-apis",
      "label": "Broker-sourced real-time and historical data"
    }
  ],
  "tags": [
    "brokerage",
    "trading-api",
    "market-data",
    "api",
    "python",
    "fix"
  ],
  "use_cases": [
    "automate-trading",
    "access-market-data"
  ],
  "operating_systems": [
    "macos",
    "windows",
    "linux"
  ],
  "execution_modes": [
    "cloud",
    "local"
  ],
  "interfaces": [
    "api",
    "sdk"
  ],
  "deployment_models": [
    "saas",
    "hybrid"
  ],
  "integrations": [
    "Trader Workstation",
    "IB Gateway",
    "QuantConnect",
    "Excel (RTD/DDE)"
  ],
  "data_formats": [
    "Proprietary socket messages",
    "JSON (Web API)",
    "FIX"
  ],
  "languages": [
    "Python",
    "Java",
    "C++",
    "C#",
    "VB.NET"
  ],
  "source_model": "proprietary",
  "pricing_model": [
    "usage-based",
    "paid"
  ],
  "pricing_checked_at": "2026-11-02",
  "self_hostable": false,
  "sources": [
    {
      "url": "https://www.interactivebrokers.com/campus/ibkr-api-page/",
      "type": "official_site",
      "supports": [
        "name",
        "summary",
        "capabilities",
        "languages"
      ],
      "checked_at": "2026-11-02",
      "title": "IBKR Campus — API"
    },
    {
      "url": "https://www.interactivebrokers.com/campus/ibkr-api-page/trader-workstation-api/",
      "type": "official_docs",
      "supports": [
        "capabilities",
        "prerequisites"
      ],
      "checked_at": "2026-11-02",
      "title": "TWS API documentation"
    },
    {
      "url": "https://www.interactivebrokers.com/campus/ibkr-api-page/webapi-doc/",
      "type": "official_docs",
      "supports": [
        "interfaces"
      ],
      "checked_at": "2026-11-02",
      "title": "Web API documentation"
    },
    {
      "url": "https://www.interactivebrokers.com/en/pricing/commissions-home.php",
      "type": "pricing_page",
      "supports": [
        "pricing_model"
      ],
      "checked_at": "2026-11-02",
      "title": "IBKR commissions"
    },
    {
      "url": "https://github.com/InteractiveBrokers",
      "type": "repository",
      "supports": [
        "languages"
      ],
      "checked_at": "2026-11-02",
      "title": "InteractiveBrokers on GitHub"
    }
  ],
  "confidence": "high",
  "depth": "deep",
  "featured": false,
  "discovery_method": "editorial-research",
  "editorial_status": "reviewed",
  "visibility": "public",
  "author": "batch-F"
}
