# Request rate limitations of orders, positions and getting list of positions, list of orders and etc. in tradovate API

**URL:** https://community.tradovate.com/t/request-rate-limitations-of-orders-positions-and-getting-list-of-positions-list-of-orders-and-etc-in-tradovate-api/3255
**Category:** Community Support
**Created:** [October 26, 2021, 8:34pm UTC](https://community.tradovate.com/t/request-rate-limitations-of-orders-positions-and-getting-list-of-positions-list-of-orders-and-etc-in-tradovate-api/3255 "2021-10-26T20:34:49Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![ALI\_ESLAMI](https://avatars.discourse-cdn.com/v4/letter/a/7bcc69/32.png) [@ALI\_ESLAMI](https://community.tradovate.com/u/ALI_ESLAMI)
#### Post date: [October 26, 2021, 8:34pm UTC](https://community.tradovate.com/t/request-rate-limitations-of-orders-positions-and-getting-list-of-positions-list-of-orders-and-etc-in-tradovate-api/3255/1 "2021-10-26T20:34:49Z")

</div>

How many requests I can send to tradovate API for such kind of information. I want to implement an algorithm and I need to check them every one second. However, I get the 429 status code which shows the limitation penalty as mentioned in tradovate API guides. Does anybody know the exact rate of requests that tradovate API provides?

---

<div class="post-metadata">

### Author: ![Alexander](https://sea1.discourse-cdn.com/flex015/user_avatar/community.tradovate.com/alexander/32/988_2.png) [@Alexander](https://community.tradovate.com/u/Alexander)
#### Post date: [October 26, 2021, 8:48pm UTC](https://community.tradovate.com/t/request-rate-limitations-of-orders-positions-and-getting-list-of-positions-list-of-orders-and-etc-in-tradovate-api/3255/2 "2021-10-26T20:48:45Z")

</div>

You’ll need to use a websocket to check data that frequently. Check out our new FAQ repo for more details:

> **[GitHub - tradovate/example-api-faq](https://github.com/tradovate/example-api-faq)**
>
> Contribute to tradovate/example-api-faq development by creating an account on GitHub.

---

<div class="post-metadata">

### Author: ![ALI\_ESLAMI](https://avatars.discourse-cdn.com/v4/letter/a/7bcc69/32.png) [@ALI\_ESLAMI](https://community.tradovate.com/u/ALI_ESLAMI)
#### Post date: [October 28, 2021, 6:51pm UTC](https://community.tradovate.com/t/request-rate-limitations-of-orders-positions-and-getting-list-of-positions-list-of-orders-and-etc-in-tradovate-api/3255/3 "2021-10-28T18:51:57Z")

</div>

Do I need to use` websocket.send("position/list\n3")` at each second or I should subscribe to get the information (e.g, for positions’ information)? I know that it is possible to subscribe to chart data and the server automatically sends back real-time data without sending additional requests. However, for getting positions’ information it is possible to use the same strategy or I should send `websocket.send("position/list\n3")` at each second? If I need to send the request at each second, is the penalty applied again?

---

<div class="post-metadata">

### Author: ![Alexander](https://sea1.discourse-cdn.com/flex015/user_avatar/community.tradovate.com/alexander/32/988_2.png) [@Alexander](https://community.tradovate.com/u/Alexander)
#### Post date: [October 28, 2021, 9:45pm UTC](https://community.tradovate.com/t/request-rate-limitations-of-orders-positions-and-getting-list-of-positions-list-of-orders-and-etc-in-tradovate-api/3255/4 "2021-10-28T21:45:16Z")

</div>

Use the `user/syncrequest` endpoint. Then you’ll listen for objects with this schema:

```auto
{
    e: 'props',
    d: {
        entityType: 'position',
        event: 'Created' | 'Updated',
        entity: {
            id: number,
            accountId: number,
            contractId: number,
            timestamp: string,
            tradeDate: object,
            netPos: number,
            netPrice: number,
            bought: number,
            boughtValue: number,
            sold: number,
            soldValue: number,
            prevPos: number,
            prevPrice: number            
        }
    }
}

```

This way, anytime your position is changed, you’ll get an update. You shouldn’t need to make more requests because it will notify your websocket client on every change. If you do keep making requests at that rate you will hit the time penalty still.

---

<div class="post-metadata">

### Author: ![Alexander](https://sea1.discourse-cdn.com/flex015/user_avatar/community.tradovate.com/alexander/32/988_2.png) [@Alexander](https://community.tradovate.com/u/Alexander)
#### Post date: [October 29, 2021, 12:38pm UTC](https://community.tradovate.com/t/request-rate-limitations-of-orders-positions-and-getting-list-of-positions-list-of-orders-and-etc-in-tradovate-api/3255/5 "2021-10-29T12:38:27Z")

</div>

P.S. Here’s every type of entity that the user syncrequest can send you. Whenever any of these is created or updated you’ll receive a message about it via the real-time subscription started with the socket.

```auto
const EntityType = {
    Position: 'position',
    CashBalance: 'cashBalance',
    Account: 'account',
    MarginSnapshot: 'marginSnapshot',
    Currency: 'currency',
    FillPair: 'fillPair',
    Order: 'order',
    Contract: 'contract',
    ContractMaturity: 'contractMaturity',
    Product: 'product',
    Exchange: 'exchange',
    Command: 'command',
    CommandReport: 'commandReport',
    ExecutionReport: 'executionReport',
    OrderVersion: 'orderVersion',
    Fill: 'fill', 
    OrderStrategy: 'orderStrategy',
    OrderStrategyLink: 'orderStrategyLink',
    ContractGroup: 'contractGroup'
}

```

---

<div class="post-metadata">

### Author: ![Brady](https://avatars.discourse-cdn.com/v4/letter/b/dec6dc/32.png) [@Brady](https://community.tradovate.com/u/Brady)
#### Post date: [October 30, 2021, 7:31pm UTC](https://community.tradovate.com/t/request-rate-limitations-of-orders-positions-and-getting-list-of-positions-list-of-orders-and-etc-in-tradovate-api/3255/6 "2021-10-30T19:31:16Z")

</div>

Thanks for this! I’d also like to add “currencyRate”, “userDevice”, “OtherEnvAdminAlertSignal”, “marketDataSubscription”, “userSessionStats”, “productMargin”, and “contractMargin” to the possible entityTypes you’ve listed, from my own experiences with the event messages.

Is it safe to assume any API resource with the `.../item` type could be updated with an event message?
