---
title: "Bloomberg Data License Per Security"
slug: "bloomberg-data-license-per-security"
updated: 2026-04-22T16:22:44Z
published: 2026-04-22T16:22:44Z
canonical: "support.lusid.com/bloomberg-data-license-per-security"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.lusid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bloomberg Data License Per Security

FINBOURNE’s Bloomberg Data License Per Security (BBG DLPS) integration allows you to select the Bloomberg content you need to meet your business priorities, and schedule delivery into LUSID.

Bloomberg Data License Per Security is one of Bloomberg’s enterprise Data License products, allowing requests for individual securities on a pay-per-use model across:

- Reference
- ESG
- Pricing
- Risk
- Regulation
- Fundamentals
- Estimates
- Historical data

[More information on Bloomberg Data License.](https://www.bloomberg.com/professional/products/data/data-management/data-license/#overview)

> [!NOTE]
> Prerequisites
> 
> Before getting started, ensure you have:
> 
> - [x] An active DLPS contract with Bloomberg
> - [x] [Contacted your FINBOURNE representative](https://www.finbourne.com/contact) to: - Complete a Third Party Processing and Hosting Agreement (TPPHA) with Bloomberg and FINBOURNE - Enable the integration in your LUSID domain - Provide you with the IP addresses you’ll need to [whitelist for the application](/v1/docs/bloomberg-data-license-per-security#step-1-obtain-bloomberg-credentials-for-lusid) in your Bloomberg Enterprise Console

## Supported data types and methods

### **Instrument enrichment**

You can use the **Integrations** dashboard to enrich existing LUSID instruments with the data points you need, including [groups of data points such as shareholding disclosure](https://data.bloomberg.com/per-security/products/shareholdingDisclosure#Details). Keep reading this article to learn more.

### Entities and instrument creation

You can use our suite of Luminesce providers to build bespoke data import requests, which you can schedule or run on demand. [Read more.](/v1/docs/using-bloomberg-dlps-luminesce-providers-to-import-data)

## Setting up the integration

### Step 1: Obtain Bloomberg application credentials

First, you must create an application in the Bloomberg Enterprise Console to get your credentials for LUSID:

1. Sign in to your [Bloomberg Enterprise Console portal](https://console.bloomberg.com).
2. Navigate to **Connectivity > WEB API > Monitor and manage**.
3. Select **Create new application**.
4. Specify the following values for the application:
  - **Product**: `DATA LICENSE`
  - **Product ID**: Your Bloomberg account number
  - **Application Name**: `LUSID`
5. Create the application and securely store the generated credentials. Note the **client_id** and **client_secret** values - you’ll need to provide these in LUSID.
6. Add the **Allowed IPs** provided by your FINBOURNE representative.

### Step 2: Create an integration instance

An integration instance is a configuration of data points to import from Bloomberg.

1. Navigate to **Integrations > Dashboard**.
2. Select **Create instance**. ![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-8SL33EPE.png)
3. Specify the following **Integration details**:
  - **Name**: A friendly name for this integration instance
  - **Description**: A detailed description of the instance
  - Click **Edit imported properties** **> Add properties** and select which Bloomberg data fields to import.

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-XBZD5VGL.png)
4. Specify the following **Integrations settings**:

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-IZXT0D0N.png)
  - **Client Id** and **Client Secret:** Your Bloomberg credentials retrieved in [step 1](/v1/docs/bloomberg-data-license-per-security#step-1-obtain-bloomberg-application-credentials)
  - **Download Drive File Path**: Optional; a path starting with `LUSID-Horizon` to download data import troubleshooting files in
  - **Use AdHoc Mode:**
    - Leave the box unticked to have Bloomberg execute your request in One Shot mode (batch processing with a 15 minute delay). [This option can help to manage Bloomberg costs; read more](/v1/docs/bloomberg-data-license-per-security#appendix-usage-and-cost-management).
    - Tick the box to have Bloomberg execute your request in AdHoc mode (immediately when Bloomberg receives your request)
  - **Create Legal Entities:**
    - Tick the box if you want to create legal entities in LUSID using mappings from certain pairs of Bloomberg fields; [read more](/v1/docs/bloomberg-data-license-per-security#appendix-b-legal-entity-field-mapping).
  - **Scopes of Interest:** The instrument scopes LUSID should use to look for instruments with the `Instrument/LUSIDConfig-Bloomberg-DLPerSecurity/RefreshReferenceData` property; [read more](/v1/docs/bloomberg-data-license-per-security#step-3-select-the-instruments-to-import-data-for).
  - Optionally, Bloomberg Professional Services users can complete the following fields to link your Bloomberg Terminal personal defaults:
    - **User Number**: You can locate this (and the following fields) by running `IAM&lt;GO&gt;` in Bloomberg Terminal
    - **Serial Number**: The number to the left of `-` within the S/N. For example, `&lt;Serial Number&gt;-&lt;Work Station&gt;`
    - **Work Station**: The number to the right of `-` within the S/N
    - **Pricing Source**: Optionally, a price source to apply to all instruments in the request, for example `BGN`, `EXCH`, or `CMPN`
5. Choose whether to **Enable integration** on creation, then click **Save**. Note the **Instance ID**, which you need for the next step.

### Step 3: Select the instruments to import data for

LUSID selects instruments to import Bloomberg data for using the `Instrument/LUSIDConfig-Bloomberg-DLPerSecurity/RefreshReferenceData` property.

1. Ensure your instruments have at least one of the following [identifiers](/v1/docs/understanding-instrument-identifiers):

> [!NOTE]
> **Note:** All of the above identifier types have a three-stage key beginning with `Instrument/default/&lt;identifier-type&gt;`, for example `Instrument/default/BloombergUniqueId`.
  - `BloombergUniqueId` (recommended, ensures result is unambiguous)
  - `Figi`
  - `Cusip`
  - `Sedol`
  - `Isin`
  - `Ticker` (must include the Bloomberg yellow key suffix, for example `VOD LN Equity`)
2. [Follow these steps](/v1/docs/how-do-i-add-a-property-to-an-entity#using-the-lusid-web-app) to add the instrument property with **Scope** `LUSIDConfig-Bloomberg-DLPerSecurity` and **Code** `RefreshReferenceData` to one or more instruments you want to include in the Bloomberg integration instance import. ![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-2NZN80F1.png)
3. Set the property value to your integration **Instance ID** from [step 2](/v1/docs/bloomberg-data-license-per-security#step-2-create-an-integration-instance). You can enter more than one ID if you want to include the instrument in multiple integration instances. ![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-SNPBFM7Q.png)

## Running the integration

[See how to run an integration instance.](/v1/docs/setting-up-an-integration#running-an-integration)

## Monitoring and troubleshooting integration runs

[See how to monitor integrations and troubleshoot general issues.](/v1/docs/setting-up-an-integration#monitoring-integration-runs)

> [!NOTE]
> Note
> 
> If you have not [configured your integration instance](/v1/docs/bloomberg-data-license-per-security#step-2-create-an-integration-instance) to **Use Adhoc Mode**, the integration uses the Bloomberg One Shot trigger type. Such runs therefore take a minimum of 15 minutes to complete.

LUSID adds Bloomberg data to instruments as properties in the `LUSID-Bloomberg-DLPerSecurity` scope. The `Instrument/LUSID-Bloomberg-DLPerSecurity/BBG_Retrieval_Date` property tells you when data was last extracted for each instrument. ![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-1758797977857.png)

### Monitoring run details

The **Log ID** data in the below screen-shot has the following usage for monitoring purposes.

- `1`: You can enter the **Source Primary ID Value** within **Insights > Request Logs** to view the request made to LUSID to locate instruments to include for the run, and LUSID’s response.
- `2` or `3`: Details the LUSID instruments included in this integration run and the identifier used to locate the data in BBG DLPS.
- `4`: You can use the **Source Primary ID Value** to view the request within the Bloomberg Data Portal at `https://data.bloomberg.com/per-security/&lt;Bloomberg Account ID&gt;/requests/&lt;Source Primary ID Value&gt;`. You can expand the row to view details of the response file from Bloomberg; LUSID saves this file to your [specified **Download Drive File Path**](/v1/docs/bloomberg-data-license-per-security#step-3-create-an-integration-instance).
- `5`or `6`: Details the data mapping between each instrument identifier in the Bloomberg response and the updated LUSID instrument.

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-DWCPP587.png)

---

### Troubleshooting

#### Error: `Unauthorized`

```json
UnexpectedException
Failed when calling Bloomberg HAPI   
Uri          : https://api.bloomberg.com/eap/catalogs/
Errored with : Unauthorized
Details : {"errors":[{...
                      "errorCode":"unauthorized-client",
                      "status":401,
                      "detail":"Invalid IP, IP 123.12.123.12 not whitelisted"}],
                      "error":"unauthorized_client"}
```

If you experience this error, check that the IP listed in the detail has been added to the authorised set in [step 1](/v1/docs/bloomberg-data-license-per-security#step-1-obtain-bloomberg-application-credentials).

#### Error: `Forbidden`

```json
UnexpectedException
Failed when calling Bloomberg HAPI   
Uri          : https://api.bloomberg.com/eap/catalogs/
Errored with : Forbidden
Details      : {"error_description":"Error verifying JWT signature.",
                "error":"access_denied",
                "errors":[{"title":"access_denied",
                           "detail":"Error verifying JWT signature.",
                           "meta":{"server-time":1757436416},
                           "errorCode":"forbidden",
                           "id":"2c9da3aa-390e-87b3-63a6-b261313587f3",
                           "status":403}]}
```

If you experience this error, check the values you’ve entered for your Bloomberg credentials in [step 2](/v1/docs/bloomberg-data-license-per-security#step-2-create-an-integration-instance).

#### Final Status: `ResourceFailed` Description: `Unable to process row`

Bloomberg provides a Return Code (RC) to LUSID in each response:

- A value of `0` represents a success
- A non-zero value sets the **Final Status** column to `ResourceFailed`

For such errors, view the logs **Description** column to see the RC code and a description, if known, of the related error.

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-G3RODUBR.png)

#### Final Status: `PayloadExtracted` Description: `Extracted 0 record(s) from LUSID.`

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-WHTZZG4M.png)

If you experience this error, check the following:

- [x] Instruments have at least one [valid identifier](/v1/docs/bloomberg-data-license-per-security#step-3-select-the-instruments-to-import-data-for)
- [x] The `Instrument/LUSIDConfig-Bloomberg-DLPerSecurity/RefreshReferenceData` property [value is set to the correct instance ID](/v1/docs/bloomberg-data-license-per-security#step-4-select-the-instruments-to-import-data-for)

#### No Bloomberg data imported for instruments

Check the following:

- [x] Your connection to Bloomberg is working
- [x] Instruments are configured correctly. See troubleshooting, “PayloadExtracted : Extracted 0 record(s) from LUSID”.
- [x] The integration instance is [configured to import the relevant fields](/v1/docs/bloomberg-data-license-per-security#step-3-create-an-integration-instance)
- [x] A minimum of 15 mins have elapsed since the integration instance was triggered

## Appendix A: Usage and cost management

Usage costs incurred from Bloomberg can depend on a variety of factors. LUSID’s BBG DLPS integration can help you to manage your usage costs by:

- Processing your requests in cost-effective batches
- Allowing you to:
  - Create different integration instances for different update frequencies, such as static reference data versus intraday pricing
  - Choose which instruments or [commercial categories](https://data.bloomberg.com/fields/) you want to receive data for
  - Select and import only the data fields you want

Contact your Bloomberg account representative for more details on your usage.

## Appendix B: Legal entity field mapping

LUSID uses the following Bloomberg field mappings to create [legal entities](/v1/docs/representing-institutions-in-lusid-using-legal-entities):

| Legal entity type | Legal entity name | Unique identifier |
| --- | --- | --- |
| Issuer | `LONG_COMP_NAME` | `ID_BB_COMPANY` |
| Parent company | `LONG_PARENT_COMP_NAME` | `ID_BB_PARENT_CO` |
| Ultimate parent company | `ID_BB_ULTIMATE_PARENT_CO_NAME` | `ID_BB_ULTIMATE_PARENT_CO` |
| Guarantor company | `GUARANTOR_NAME` | `ID_BB_GUARANTOR` |
| Ultimate CAST (capital structure) parent | `CAST_PARENT_NAME` | `CAST_PARENT_ID` |
| Obligor | `OBLIGOR_NAME` | `OBLIGOR_BBID` |
| Parent obligor | `PARENT_OBLIGOR_NAME` | `PARENT_OBLIGOR_ID` |
| Ultimate obliger | `ULTIMATE_OBLIGOR_NAME` | `ULTIMATE_OBLIGOR_ID` |

> [!NOTE]
> Note
> 
> - You must specifically request the relevant pair of Bloomberg fields for LUSID to successfully create a legal entity.
> 
> For example, if you want to ensure LUSID creates a legal entity for an instrument issuer, you must include `LONG_COMP_NAME` and `ID_BB_COMPANY` in your **Imported properties**. Note that `ID_BB_COMPANY` is a mandatory property that LUSID includes in imports by default. ![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-94PDPT3W.png)
> - To add a property to a legal entity, you must also select the equivalent property in the `instrument` domain. For example, to add `BICS_LEVEL_1_SECTOR_CODE` to a legal entity, you must select both of the following properties:
>   - `Instrument/LUSID-Bloomberg-DLPerSecurity/BICS_LEVEL_1_SECTOR_CODE`
>   - `LegalEntity/LUSID-Bloomberg-DLPerSecurity/BICS_LEVEL_1_SECTOR_CODE`
