Executing Orders

@suraj Standard accounts are limited to 200 calls/minute. Orders must be placed individually so it would take a minimum of 1000 calls to place 1000 orders.

The simple way to ensure one doesn’t exceed the rate limit is to wait 1/200 minutes (or .3 seconds) between calls. A more sophisticated method to maximize throughput is to look at the header information of the last API call. All Trading API responses include 3 rate related pieces of data in their header

X-Ratelimit-Limit: 200
X-Ratelimit-Remaining: 195
X-Ratelimit-Reset: 1679411617

The X-Ratelimit-Limit is static and simply tells you the account’s rate limit. The X-Ratelimit-Remaining tells you how many calls you can make until the account’s rate counter is reset. The X-Ratelimit-Reset is the next time (in seconds epoch time) when the rate counter will reset. One way to use this information is to send orders as fast as you wish. If one gets a "429 rate limit exceeded" error, simply look at the header X-Ratelimit-Reset time. Pause until that time and then continue.

There is also a new program called Alpaca Plus which, for a fee, one can get increased rates (up to 1000/minute) along with some other perks. You may want to check that out.