---
title: "Lusid.Instrument.Property"
slug: "lusidinstrumentproperty"
updated: 2025-09-01T14:57:16Z
published: 2025-09-01T14:57:16Z
canonical: "support.lusid.com/lusidinstrumentproperty"
---

> ## 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.

# Lusid.Instrument.Property

| **Type** | **Read/write** | **Author** | **Availability** |
| --- | --- | --- | --- |
| [Data provider](/v1/docs/what-are-a-data-provider-and-a-direct-provider) | Read | Finbourne | Provided with LUSID |

The `Lusid.Instrument.Property` provider enables you to write a [Luminesce SQL query](/v1/docs/understanding-the-luminesce-sql-query-syntax) that retrieves [custom properties](/v1/docs/properties) for [instruments](/v1/docs/instruments) mastered in LUSID.

> **Note:** The LUSID user running the query must have sufficient [access control permissions](/v1/docs/creating-policies-to-control-access-to-providers-for-different-luminesce-end-users) to both use the provider *and* read instrument and property data stored in LUSID. This should automatically be the case if you are the domain owner.

Note that, by default, the `Lusid.Instrument` entity provider [does not retrieve properties](/v1/docs/how-do-i-configure-luminesce-entity-providers-to-readwrite-properties). You can use `Lusid.Instrument.Property` to do so in conjunction with other providers (including `Lusid.Instrument`) to analyse all the data associated with instruments.

## Basic usage

```sql
select * from Lusid.Instrument.Property where <instrument-or-property>;
```

You must specify either:

- The `InstrumentIdType` and `InstrumentId` fields to identify an instrument whose properties to return. The `InstrumentIdType` field refers to a [unique instrument identifier](/v1/docs/what-are-unique-and-non-unique-identifiers), and the `InstrumentId` field to a valid value for that identifier.
- The `PropertyScope` and `PropertyCode` fields to identify the scope and code of a property whose instruments to return.

Specify the `InstrumentScope` field as well if instruments are mastered in a [custom instrument scope](/v1/docs/understanding-instrument-scopes) (otherwise only the built-in `default` scope is searched).

## Query parameters

`Lusid.Instrument.Property` has parameters that enable you to filter or refine a query.

To list available parameters, their data types, default values, and an explanation for each, run the following query using a [suitable tool](/v1/docs/what-tools-are-available-to-write-luminesce-queries):

```sql
select FieldName, DataType, ParamDefaultValue, Description from Sys.Field where TableName = 'Lusid.Instrument.Property' and FieldType = 'Parameter';
```

## Data fields

By default, `Lusid.Instrument.Property` returns a table of data populated with particular fields (columns). You can return just a subset of these fields if you wish.

To list fields available to return, their data types, whether fields are considered 'main', and an explanation for each, run the following query using a [suitable tool](/v1/docs/what-tools-are-available-to-write-luminesce-queries):

```sql
select FieldName, DataType, IsMain, IsPrimaryKey, SampleValues, Description from Sys.Field where TableName = 'Lusid.Instrument.Property' and FieldType = 'Column';
```

> **Note:** Fields marked 'main' are returned by queries that use a caret character, for example `select ^ from Lusid.Instrument.Property`.

## Examples

> **Note:** For more example Luminesce SQL queries, visit our [Github repo](https://github.com/finbourne/luminesce-examples/tree/master/examples).

### Example 1: Retrieve all the properties for a particular instrument

In this example, the instrument is identified by [LUID](/v1/docs/what-is-a-lusid-instrument-id-or-luid).

```sql
select * from Lusid.Instrument.Property where InstrumentIdType = 'LusidInstrumentId' and InstrumentId = 'LUID_6OHFNCI7';
```

In this example, the instrument is identified by FIGI and mastered in a custom instrument scope.

```sql
select * from Lusid.Instrument.Property where InstrumentScope = 'my-custom-instrument-scope'
and InstrumentIdType = 'Figi' and InstrumentId = 'BBG000BDZGH6';
```

### Example 2: Retrieve all the instruments that have a particular property

```sql
select * from Lusid.Instrument.Property where PropertyScope = 'Ibor' and PropertyCode = 'GICSSector';
```

### Example 3: Retrieve all the multi-value properties for a particular instrument

You can join `Lusid.Instrument.Property` to [Lusid.Property.Definition](/v1/docs/lusidpropertydefinition) to retrieve information about [underlying property types](/v1/docs/how-do-i-create-a-property-type):

```sql
select * from Lusid.Instrument.Property prop
inner join Lusid.Property.Definition def
    on def.PropertyScope = prop.PropertyScope
    and def.PropertyCode = prop.PropertyCode
    where prop.InstrumentIdType = 'LusidInstrumentId' and prop.InstrumentId = 'LUID_6OHFNCI7'
    and def.ConstraintStyle = 'Collection';
```

### Example 4: Retrieve a time-variant property as a time-series for a particular instrument

Specify the `GetHistorical` query parameter to retrieve a [time-variant property](/v1/docs/how-do-i-retrieve-a-time-variant-property-as-a-time-series).

```sql
select * from Lusid.Instrument.Property where
EntityIdType = 'LusidInstrumentId' and EntityId = 'LUID_G67H99J6'
and PropertyScope = 'Ibor' and PropertyCode = 'AnalystRating' and GetHistorical = True;
```

### Example 5: Retrieve all the properties for all the equity instruments

```sql
select * from Lusid.Instrument.Property where InstrumentIdType = 'LusidInstrumentId' 
and InstrumentId in (select LusidInstrumentId from Lusid.Instrument.Equity);
```

### Example 6: Decorate particular instrument properties onto holdings

You can join `Lusid.Instrument.Property` to an entity provider such as [Lusid.Portfolio.Holding](/v1/docs/lusidportfolioholding) to decorate holdings with particular instrument properties:

```sql
select
   h.*,
   pC.Value as Coupon,
   pI.Value as Industry
from
   lusid.portfolio.holding h
   left outer join Lusid.Instrument.Property pC
      on pC.InstrumentIdType = 'LusidInstrumentId'
      and pC.InstrumentId = h.LusidInstrumentId
      and pC.PropertyCode = 'Coupon'
   left outer join Lusid.Instrument.Property pI
      on pI.InstrumentIdType = 'LusidInstrumentId'
      and pI.InstrumentId = h.LusidInstrumentId
      and pI.PropertyCode = 'Industry'
where
   h.PortfolioScope = 'Finbourne-Examples'
```
