Alpaca
Commission-free stock and crypto trading with orders, positions, portfolio, and market data.
Places an order, reviews open positions, and pulls price history for a symbol.
Use Alpaca with Snow
Snow is a personal AI assistant that builds real apps for you, and they can put Alpaca to work.
What Snow can do with Alpaca
These are the Alpaca operations Snow and the apps you build with it can run. Sign in to choose which ones Snow may run without asking.
Reads84
Look at your data without changing it.
- Get Account
Retrieves account information for the authenticated Alpaca account. Use this action when you need to check account status, available buying power, cash balance, equity, margin information, day trade count, or other account details. This is a read-only operation that returns the current state of the authenticated account. The response includes important account flags such as trading_blocked, account_blocked, pattern_day_trader, and shorting_enabled which indicate any restrictions on the account's trading capabilities.
- Get Account Activities
Retrieves account activities for the authenticated Alpaca account. Use this action when you need to retrieve transaction history, dividend payments, interest payments, fees, transfers, or other account-related activities. Supports filtering by date range, account ID, and sorting direction. Results are paginated using page_token for efficient retrieval of large datasets.
- Get Account Activities By Activity Type
Retrieves account activities of a specific type for the authenticated Alpaca account. Use when you need to filter account activities by a specific type such as trade fills, dividends, interest payments, fees, or transfers. Supports date range filtering, pagination, and sorting. This endpoint is useful for retrieving a specific category of account transactions rather than all activities. Note: date parameter cannot be used with 'after' parameter. Use 'date' for a single day or 'until'/'after' for date ranges.
- Get Account Activities V2
Retrieves account activities of one type for the authenticated Alpaca account using the v2 API. Use this action when you need to retrieve transaction history, dividend payments, interest payments, fees, transfers, or order fill activities. Supports filtering by date range, activity types, and sorting direction. Results are paginated using page_token for efficient retrieval of large datasets. This action is read-only and does not modify any data.
- Get Account Configurations
Retrieves the current trading account configuration settings for the authenticated Alpaca account. Use this action when you need to check the current trading account settings such as day-trading margin call (DTMC) checks, fractional trading status, shorting permissions, trade suspension status, and trade confirmation email preferences. This is a read-only operation that returns the current configuration without any modifications. The account is determined from the authentication credentials.
- Get Account Portfolio History
Retrieves the portfolio history statistics for an Alpaca trading account. Portfolio history provides a time series of equity values, profit/loss metrics, and other performance data over a specified time period. Use when you need to analyze account performance over time, track equity curves, or review historical P&L. Note: The timeframe parameter auto-selects based on the period: 1Min for <7 days, 15Min for <30 days, or 1D otherwise.
- Get Account Portfolio History
Retrieves the portfolio history statistics for a trading account. Portfolio history provides a time series of equity values, profit/loss metrics, and optionally cashflow data over a specified time period. Use when you need to analyze account performance over time, track equity curves, or review historical P&L. Note: The timeframe parameter auto-selects based on the period: 1Min for <7 days, 15Min for <30 days, or 1D otherwise.
- Get All Account Positions
Bulk fetches all open positions for the authenticated account. Use when you need to retrieve all current positions, monitor overall portfolio holdings, or check unrealized P&L across the entire account. This action does not require an account_id parameter as it automatically uses the account associated with the API credentials. Note: This action returns positions for the account associated with the authenticated API key. Use this read-only action to get a complete view of the account's open positions.
- Get All Open Positions
Retrieves all open positions for the authenticated Alpaca trading account. Use this action when you need to retrieve all current positions, monitor portfolio holdings, or check unrealized P&L across the entire account. This action does not require an account_id parameter as it automatically uses the account associated with the API credentials. Note: This action returns positions for the account associated with the authenticated API key. Use this read-only action to get a complete view of the account's open positions. The response is updated live as price information changes.
- Get All Orders
Retrieves all orders for an account based on specified filter criteria. Returns a list of orders with their current status, filled quantity, prices, and any nested legs for complex orders. Use when you need to query historical or current orders for a trading account, such as checking open positions or reviewing trade history. By default, only open orders are returned. Use status='all' to include closed orders, or status='closed' for only closed/canceled orders.
Creates5
Add something new to your account.
- Add Asset to Watchlist
Adds a symbol to an existing watchlist in the authenticated account. Use when you need to track a new security in an existing watchlist. This action appends the specified symbol to the end of the watchlist's asset list. The watchlist_id can be obtained from the ALPACA_GET_WATCHLISTS action.
- Add Asset to Watchlist by Name
Add an asset to a watchlist by name. Use when you need to add a symbol to a specific watchlist identified by its name. If a watchlist with the specified name does not exist, it will be created automatically and the symbol will be added to it. The asset will be appended to the end of the watchlist's asset list.
- Create Watchlist
Creates a new watchlist for the authenticated account. Use this action when you need to: - Create a new watchlist to track specific securities - Set up initial symbols for a watchlist at creation time - Organize tracked symbols under a named watchlist Note: This action creates a watchlist at the account level (using v2 API). The name must be unique within the account and contain only alphanumeric characters, spaces, hyphens, and underscores (up to 64 characters).
- Create Watchlist
Create a new watchlist for the authenticated account. Use when you need to create a watchlist to track specific securities. The name must contain only alphanumeric characters (no spaces or special characters).
- Upload Account CIP Information
Upload CIP (Customer Identification Program) information for an account to complete identity verification. Use when you need to submit identity information for a new Alpaca trading account as part of the account onboarding process. This action is typically called after account creation to provide the required identity verification data including citizenship, tax ID, and name.
Updates5
Change something that is already there.
- Update Account Configurations
Update the trading account configuration settings for the authenticated account. Use when you need to modify account-level trading settings such as day-trading buying power checks, fractional trading permissions, margin multiplier limits, shorting restrictions, or trade confirmation email preferences. Supports partial updates - only specify the settings you want to change. Settings not included in the request remain unchanged. This action operates on the currently authenticated account and does not require an account_id parameter.
- Update Trading Configurations
Updates trading account configurations for an Alpaca trading account. Use when you need to modify account-level trading settings such as day-trading buying power checks, trade confirmation email preferences, or trading restrictions. Supports partial updates - only specify the settings you want to change. Settings not included in the request remain unchanged. This action requires the 'account:write' scope.
- Update Watchlist By ID
Updates an existing watchlist by its unique identifier. Use when you need to modify the name or symbols in a watchlist using its ID rather than name. This action allows partial updates - you can update just the name, just the symbols, or both at once. The watchlist_id identifies which watchlist to update and is provided in the request. Note: The symbols field, if provided, will replace all existing symbols in the watchlist.
- Update Watchlist By Name
Updates an existing watchlist by its name. Use when you need to modify the symbols in a watchlist or rename it. The action allows partial updates - you can provide only symbols to update the watchlist contents, only a new_name to rename it, or both to update both. At least one of new_name or symbols must be provided. Note: The `name` parameter identifies which watchlist to update (case-insensitive).
- Update Watchlist By Name (v2)
Updates an existing watchlist by its name. Use when you need to modify the symbols in a watchlist or rename it. The action allows partial updates - you can provide only symbols to update the watchlist contents, only a new_name to rename it, or both to update both. At least one of new_name or symbols must be provided. Note: The `name` parameter identifies which watchlist to update (case-insensitive).
Deletes6
Remove something. This often cannot be undone.
- Delete All Open Positions
Liquidates all open positions by closing them at market price. This action is irreversible and will permanently close all positions in the account. Use when you need to quickly exit all positions, such as before closing an account or in emergency situations. Optionally cancels all open orders before liquidating positions.
- Delete All Orders for Account
Attempts to cancel all open orders for a specified trading account. A response will be provided for each order that is attempted to be cancelled. This action is irreversible for individual orders that are successfully cancelled.
- Delete Unsubscribe Account
Delete a rebalancing subscription to unsubscribe an account. This action permanently removes the specified subscription. Use when you need to unsubscribe an account from rebalancing services. This action is irreversible once executed. Note: If the subscription_id is invalid, a 400 error is returned. If the subscription does not exist, a 404 error is returned.
- Delete Watchlist By ID
Delete a watchlist by its unique identifier. Use when you need to remove an entire watchlist that is no longer needed. This action is irreversible once executed — the watchlist and all its contents cannot be recovered. Note: If the watchlist_id is invalid or does not exist, a 404 error is returned.
- Remove Asset From Watchlist
Removes a symbol from an existing watchlist in Alpaca. Use this action when you need to delete a ticker symbol from a watchlist that is no longer being tracked. The action returns the updated watchlist after the symbol has been removed. This action is irreversible - once a symbol is removed from a watchlist, it cannot be recovered through this API. You would need to re-add it using a separate add-to-watchlist action if available.
- Remove Symbol From Watchlist
Tool to remove a symbol from an existing watchlist in Alpaca. Use when you need to delete a ticker symbol from a watchlist that is no longer being tracked. This action is irreversible - once a symbol is removed from a watchlist, it cannot be recovered through this API. You would need to re-add it using ALPACA_ADD_ASSET_TO_WATCHLIST.
Related integrations
Ready to put Alpaca to work?
Sign up free, build an app by chatting, and connect Alpaca in minutes. No credit card required.