IG Streaming PRICE:{account identifier}:{epic}
Live prices for one market, by account identifier and epic: the bid and ask ladder up to five tiers deep, the sizes at each tier, the day's high and low and the dealing state. IG's page says price availability depends on the account's permissions.
Risk warning: CFDs and spread bets are complex instruments and come with a high risk of losing money rapidly due to leverage. You can lose money on these products, and each provider publishes its own loss figure under FCA rules. You should consider whether you understand how they work and whether you can afford to take the high risk of losing your money. Automated and API trading can amplify losses through bugs, connectivity failures and runaway orders.
This is a subscription of the IG Streaming API, not an HTTP endpoint. It has no method and no path: it travels over a Lightstreamer connection that stays open, which a Lightstreamer client library manages.
The same page marks the older MARKET:{epic} subscription, and its alias L1, as deprecated in favour of this one: it gives 1 May 2026 as its end of life and 8 May 2026 as the date it is decommissioned. This site does not record MARKET for that reason.
The message
- Name
- PRICE:{account identifier}:{epic}
- Direction
- Subscription, opened by the client and then fed by the server
- Subscribed to as
- PRICE:{account identifier}:{epic}, in the mode MERGE
- Carried by
- Lightstreamer, data adapter Pricing. IG's Streaming API Guide (labs.ig.com/streaming-api-guide.html), opened the same day, says the server address is the Lightstreamer address returned by the REST /session call and should not be hard coded, that the user is the active account identifier, and that the password is built from the CST and X-SECURITY-TOKEN tokens of the REST session. It gives 40 as the default number of simultaneous subscriptions on one connection.
Fields
| Name | Type | Description |
|---|---|---|
| MID_OPEN | Not stated | The opening mid price. |
| HIGH | Not stated | The high of the day. |
| LOW | Not stated | The low of the day. |
| BIDQUOTEID | Not stated | The id of the bid quote, to refer to when trading. |
| ASKQUOTEID | Not stated | The id of the ask quote, to refer to when trading. |
| BIDPRICE1 | Not stated | The bid price of the top tier of the ladder. |
| BIDPRICE2 | Not stated | The bid price of tier 2 of the ladder. |
| BIDPRICE3 | Not stated | The bid price of tier 3 of the ladder. |
| BIDPRICE4 | Not stated | The bid price of tier 4 of the ladder. |
| BIDPRICE5 | Not stated | The bid price of tier 5 of the ladder. |
| ASKPRICE1 | Not stated | The ask price of the top tier of the ladder. |
| ASKPRICE2 | Not stated | The ask price of tier 2 of the ladder. |
| ASKPRICE3 | Not stated | The ask price of tier 3 of the ladder. |
| ASKPRICE4 | Not stated | The ask price of tier 4 of the ladder. |
| ASKPRICE5 | Not stated | The ask price of tier 5 of the ladder. |
| BIDSIZE1 | Not stated | The size available at the first tier bid. Where it is absent, no ladder is configured for the instrument. |
| BIDSIZE2 | Not stated | The size available at tier 2 of the bid ladder. |
| BIDSIZE3 | Not stated | The size available at tier 3 of the bid ladder. |
| BIDSIZE4 | Not stated | The size available at tier 4 of the bid ladder. |
| BIDSIZE5 | Not stated | The size available at tier 5 of the bid ladder. |
| ASKSIZE1 | Not stated | The size available at the first tier ask. Where it is absent, no ladder is configured for the instrument. |
| ASKSIZE2 | Not stated | The size available at tier 2 of the ask ladder. |
| ASKSIZE3 | Not stated | The size available at tier 3 of the ask ladder. |
| ASKSIZE4 | Not stated | The size available at tier 4 of the ask ladder. |
| ASKSIZE5 | Not stated | The size available at tier 5 of the ask ladder. |
| CURRENCY0 | Not stated | The currency of the default ladder. The page says it is only sure to be filled where there is a ladder. |
| CURRENCY1 | Not stated | The currency of the ladder fields that start C1. |
| C1BIDSIZE{1-5} | Not stated | Five fields, C1BIDSIZE1 to C1BIDSIZE5: the bid trading size threshold in that currency. |
| C1ASKSIZE{1-5} | Not stated | Five fields, C1ASKSIZE1 to C1ASKSIZE5: the ask trading size threshold in that currency. |
| CURRENCY2 | Not stated | The currency of the ladder fields that start C2. |
| C2BIDSIZE{1-5} | Not stated | Five fields, C2BIDSIZE1 to C2BIDSIZE5: the bid trading size threshold in that currency. |
| C2ASKSIZE{1-5} | Not stated | Five fields, C2ASKSIZE1 to C2ASKSIZE5: the ask trading size threshold in that currency. |
| CURRENCY3 | Not stated | The currency of the ladder fields that start C3. |
| C3BIDSIZE{1-5} | Not stated | Five fields, C3BIDSIZE1 to C3BIDSIZE5: the bid trading size threshold in that currency. |
| C3ASKSIZE{1-5} | Not stated | Five fields, C3ASKSIZE1 to C3ASKSIZE5: the ask trading size threshold in that currency. |
| CURRENCY4 | Not stated | The currency of the ladder fields that start C4. |
| C4BIDSIZE{1-5} | Not stated | Five fields, C4BIDSIZE1 to C4BIDSIZE5: the bid trading size threshold in that currency. |
| C4ASKSIZE{1-5} | Not stated | Five fields, C4ASKSIZE1 to C4ASKSIZE5: the ask trading size threshold in that currency. |
| CURRENCY5 | Not stated | The currency of the ladder fields that start C5. |
| C5BIDSIZE{1-5} | Not stated | Five fields, C5BIDSIZE1 to C5BIDSIZE5: the bid trading size threshold in that currency. |
| C5ASKSIZE{1-5} | Not stated | Five fields, C5ASKSIZE1 to C5ASKSIZE5: the ask trading size threshold in that currency. |
| TIMESTAMP | Not stated | The time of the update, in UTC milliseconds. |
| DLG_FLAG | Not stated | The dealing state of the market. One of CLOSED, CALL, DEAL, EDIT, CLOSINGSONLY, DEALNOEDIT, AUCTION, AUCTIONNOEDIT and SUSPEND. |
| NET_CHG | Not stated | The change in price against the open. |
| NET_CHG_PCT | Not stated | The change against the open, as a percentage. |
| DELAY | Not stated | Whether the price is delayed: 0 for no, 1 for yes. |
Limits that apply at IG
| Limit | Value | Scope | Source |
|---|---|---|---|
| Historical price data points a week | 10,000 | Per account, price history endpoints only | labs.ig.comchecked |
| Non trading requests a minute | 30 | Per account, non trading calls only | labs.ig.comchecked |
| Non trading requests a minute | 60 | Per application, that is per API key, non trading calls only | labs.ig.comchecked |
| Concurrent streaming subscriptions | 40 | Per streaming connection | labs.ig.comchecked corroborated by labs.ig.com/streaming-api-guide.html |
| Trading requests a minute | 100Sources conflict ig.com states around 40, checked . IG's own pages disagree. The conflict is labelled, not resolved. Pace against 40. | Per account, trading calls only | labs.ig.comchecked |