For AI agents: the complete documentation index is available at https://docs.snaptrade.com/llms.txt, and the full documentation text is available at https://docs.snaptrade.com/llms-full.txt. Markdown versions of documentation pages are available by appending .md to the URL path.
View as Markdown
Options

List account option positions

get
https://api.snaptrade.com/accounts/{accountId}/options

Deprecated. Use the newer unified positions endpoint instead. This will allow you to get both equity and option positions in a single call, as well as additional asset classes such as futures.

Returns a list of option positions in the specified account. For stock/ETF/crypto/mutual fund positions, please use the positions endpoint.

Check your API key on the Customer Dashboard billing page to see if you have real-time data access:

  • If you do, this endpoint returns real-time data.
  • If you don't, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the manual refresh endpoint.

Execute an API Request

Authentication Method

Use commercial authentication when acting on behalf of your application and passing end-user credentials with requests that require them.

Credentials
Path
accountIdstring (format: uuid)required

Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.

Request
Installation
$
npm install snaptrade-typescript-sdk
1
import {
2
Snaptrade,
3
SnaptradeAuth,
4
} from "snaptrade-typescript-sdk";
5
6
const snaptrade = new Snaptrade({
7
auth: SnaptradeAuth.commercialApiKey({
8
consumerKey: "CONSUMER_KEY",
9
clientId: "CLIENT_ID",
10
}),
11
});
12
13
const response =
14
await snaptrade.options.listOptionHoldings({
15
accountId:
16
"917c8734-8470-4a3e-a18f-57c3f2ee6631",
17
userId: "USER_ID",
18
userSecret: "USER_SECRET",
19
});
20
console.log(response.data);

Response fields

array of objects
object

Describes a single option position in an account.

1
[
2
{
3
"symbol": {
4
"option_symbol": {
5
"id": "2bcd7cc3-e922-4976-bce1-9858296801c3",
6
"ticker": "AAPL 261218C00240000",
7
"option_type": "CALL",
8
"strike_price": 240,
9
"expiration_date": "2026-12-18T00:00:00.000Z",
10
"is_mini_option": false,
11
"underlying_symbol": {
12
"id": "2bcd7cc3-e922-4976-bce1-9858296801c3",
13
"symbol": "SPY",
14
"raw_symbol": "VAB",
15
"description": "SPDR S&P 500 ETF Trust",
16
"currency": {
17
"id": "87b24961-b51e-4db8-9226-f198f6518a89",
18
"code": "USD",
19
"name": "US Dollar"
20
},
21
"exchange": {
22
"id": "2bcd7cc3-e922-4976-bce1-9858296801c3",
23
"code": "ARCX",
24
"mic_code": "ARCA",
25
"name": "NYSE ARCA",
26
"timezone": "America/New_York",
27
"start_time": "09:30:00",
28
"close_time": "16:00:00",
29
"suffix": "None",
30
"allows_cryptocurrency_symbols": false
31
},
32
"type": {
33
"id": "2bcd7cc3-e922-4976-bce1-9858296801c3",
34
"code": "cs",
35
"description": "Common Stock",
36
"is_supported": true
37
},
38
"figi_code": "BBG000B9XRY4",
39
"figi_instrument": {
40
"figi_code": "BBG000B9Y5X2",
41
"figi_share_class": "BBG001S5N8V8"
42
},
43
"currencies": [
44
{
45
"id": "87b24961-b51e-4db8-9226-f198f6518a89",
46
"code": "USD",
47
"name": "US Dollar"
48
}
49
]
50
}
51
},
52
"id": "2bcd7cc3-e922-4976-bce1-9858296801c3",
53
"description": "SPY CALL 7/17 200"
54
},
55
"price": 38.4,
56
"units": -50,
57
"average_purchase_price": 4126,
58
"currency": {
59
"id": "87b24961-b51e-4db8-9226-f198f6518a89",
60
"code": "USD",
61
"name": "US Dollar"
62
}
63
}
64
]