# Using the Bloomberg Market Data Feed (MDF) Adapter with Server API (SAPI) in io.Connect Desktop

**URL:** <https://community.interop.io/t/using-the-bloomberg-market-data-feed-mdf-adapter-with-server-api-sapi-in-io-connect-desktop/524>\
**Category:** io.Connect Desktop\
**Created:** [March 17, 2026, 4:59pm UTC](https://community.interop.io/t/using-the-bloomberg-market-data-feed-mdf-adapter-with-server-api-sapi-in-io-connect-desktop/524 "2026-03-17T16:59:50Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![toni.petrov](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.interop.io/toni.petrov/32/17_2.png) [@toni.petrov](https://community.interop.io/u/toni.petrov)\
**Post date:** [March 17, 2026, 4:59pm UTC](https://community.interop.io/t/using-the-bloomberg-market-data-feed-mdf-adapter-with-server-api-sapi-in-io-connect-desktop/524/1 "2026-03-17T16:59:50Z")

</div>

The io.Connect Bloomberg Market Data Feed (MDF) Adapter uses the Bloomberg `blpapi` library under the hood, which means it can work with both the Desktop API (DAPI) and the Server API (SAPI). By default, the adapter connects via DAPI (localhost), but some firms, especially those running centralized data infrastructure need to connect via SAPI instead.

> The MDF Adapter as providing access to the Bloomberg Market Data Feed (B-PIPE) and the main difference between DAPI and SAPI is the actual source and authorization method. Apart from that the Desktop API and Server API have the same programming interface and behave almost identically.

* * *

## When Do You Need SAPI?

The Bloomberg Desktop API (DAPI) runs locally alongside a Bloomberg Terminal on the user’s desktop. The Server API (SAPI) runs on a dedicated server and serves data to multiple clients over the network.

You’ll typically need SAPI when:

- Your application needs Bloomberg data on machines that don’t have a Bloomberg Terminal installed.
- You’re building server-side or centralized data services.
- Your firm’s Bloomberg infrastructure is provisioned through B-PIPE on a shared server rather than individual desktops.

SAPI requires an additional **authorization** step via the `//blp/apiauth` service.

* * *

## Prerequisites

- Bloomberg Bridge
- `@glue42/bbg-market-data` (npm)
- Bloomberg SAPI entitlement

* * *

## Configure Session Settings for SAPI

When initializing the `@glue42/bbg-market-data` library, you can pass custom `sessionSettings` to switch from DAPI to SAPI mode. The critical properties are `serverHost`, `serverPort`, and `clientMode`:

```auto
"sessionSettings": {
      "options": {
        "serverHost": "BloombergAPICRD",
        "serverPort": 8194,
        "clientMode": "SAPI"
      }
 }

```

## Send the Authorization Request

The MDF Adapter exposes a special `IO_MDF_AuthorizationRequest` operation for this purpose.

A working example is available in the [bbg-market-data-example](https://github.com/InteropIO/bbg-market-data-example) repository on GitHub:

**[`examples/io-mdf-authorization-request/index.ts`](https://github.com/InteropIO/bbg-market-data-example/blob/master/examples/io-mdf-authorization-request/index.ts)**

The authorization must succeed before you open any data requests (subscriptions, reference data, historical data, etc.).

## Make Data Requests as Usual

Once authorized, you can use the `@glue42/bbg-market-data` API exactly as documented for DAPI — reference data requests, historical data requests, market data subscriptions, and so on all work the same way.

> **Tip:** Reuse a single `BBGMarketData()` instance in your app — initialize it once (e.g., at startup alongside your io.Connect instance) and use it for all subsequent requests and subscriptions. Note that completed requests are closed automatically by the library; you only need to call `request.close()` explicitly when a component unmounts.

* * *

## Troubleshooting

**Error** : `No operation found with name - IO_MDF_AuthorizationRequest`

**Fix:** You need Bloomberg Bridge v1.114 or later.

* * *

**Error** : `Authorization using UUID and display ip is not supported in this product` (code 110)

**Fix:** Ensure you’re using `@glue42/bbg-market-data` version **0.8.1 or later** and that you’re passing the `sessionSettings` with `clientMode: "SAPI"`.

###
