Alpaca Watchlist API

The Watchlist API from Alpaca — 2 operation(s) for watchlist.

Operations 5

GET /v1/trading/accounts/{account_id}/watchlists Retrieve all watchlists #
POST /v1/trading/accounts/{account_id}/watchlists Create a new watchlist #
GET /v1/accounts/{account_id}/watchlists/{watchlist_id} Manage watchlists #
PUT /v1/accounts/{account_id}/watchlists/{watchlist_id} Update an existing watchlist #
DELETE /v1/accounts/{account_id}/watchlists/{watchlist_id} Remove a watchlist #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/alpaca-watchlist-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

alpaca-watchlist-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Broker Watchlist API
  description: Open brokerage accounts, enable crypto and stock trading, and manage the ongoing user experience with Alpaca Broker API
  version: 1.0.0
  contact:
    name: Alpaca Support
    email: support@alpaca.markets
    url: https://alpaca.markets/support
  termsOfService: https://s3.amazonaws.com/files.alpaca.markets/disclosures/library/TermsAndConditions.pdf
servers:
- url: https://broker-api.sandbox.alpaca.markets
  description: Sandbox endpoint
- url: https://broker-api.alpaca.markets
  description: Production endpoint
security:
- BasicAuth: []
tags:
- name: Watchlist
paths:
  /v1/trading/accounts/{account_id}/watchlists:
    parameters:
    - schema:
        type: string
        format: uuid
      name: account_id
      in: path
      required: true
      description: Unique identifier of an account.
    get:
      summary: Retrieve all watchlists
      tags:
      - Watchlist
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Watchlist'
      operationId: getAllWatchlistsForAccount
      description: Fetch a list of all watchlists currently in an account.
    post:
      summary: Create a new watchlist
      tags:
      - Watchlist
      operationId: createWatchlistForAccount
      description: Returns the watchlist object
      responses:
        '200':
          description: Newly created watchlist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Watchlist'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWatchlistRequest'
  /v1/accounts/{account_id}/watchlists/{watchlist_id}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: account_id
      in: path
      required: true
      description: Unique identifier of an account
    - schema:
        type: string
        format: uuid
      name: watchlist_id
      in: path
      required: true
      description: Unique identifier of a watchlist
    get:
      summary: Manage watchlists
      tags:
      - Watchlist
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Watchlist'
      operationId: getWatchlistForAccountById
      description: Fetch a single watchlist by identifier.
    put:
      summary: Update an existing watchlist
      tags:
      - Watchlist
      operationId: replaceWatchlistForAccountById
      responses:
        '200':
          description: Updated watchlist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Watchlist'
      description: Replace entirely the set of securities contained in the watchlist while optionally renaming it. Destructive operation.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWatchlistRequest'
    delete:
      summary: Remove a watchlist
      tags:
      - Watchlist
      operationId: deleteWatchlistFromAccountById
      responses:
        '200':
          description: Watchlist deleted.
      description: Irrevocably delete a watchlist.
components:
  schemas:
    CreateWatchlistRequest:
      title: CreateWatchlistRequest
      type: object
      description: This model represents the fields you can specify when Creating or Updating/Replacing a Watchlist
      properties:
        name:
          type: string
          description: The watchlist name
        symbols:
          type: array
          description: The new list of symbol names to watch
          items:
            type: string
            example: '["AAPL", "TSLA"]'
      required:
      - name
      - symbols
    AssetClass:
      type: string
      enum:
      - us_equity
      - crypto
    Watchlist:
      title: Watchlist
      type: object
      description: Represents a set of securities observed by a user.
      properties:
        id:
          type: string
          format: uuid
          description: 'Unique identifier of the watchlist itself.

            '
        account_id:
          type: string
          format: uuid
          description: 'Unique identifier of the account that owns this watchlist.

            '
        created_at:
          type: string
          format: date-time
          description: When watchlist was created
        updated_at:
          type: string
          format: date-time
          description: When watchlist was last updated
        name:
          type: string
          pattern: ^[a-zA-Z0-9]+$
          description: User friendly Name of watchlist
        assets:
          type: array
          description: The contents of the watchlist, in the order as registered
          items:
            $ref: '#/components/schemas/Asset'
      required:
      - id
      - name
    Exchange:
      type: string
      title: Exchange
      example: NASDAQ
      description: 'Represents the exchange where an asset is traded.


        For Stocks:

        - AMEX

        - ARCA

        - BATS

        - NYSE

        - NASDAQ

        - NYSEARCA

        - OTC


        For Crypto:

        - ERSX

        - FTXU'
      enum:
      - AMEX
      - ARCA
      - BATS
      - NYSE
      - NASDAQ
      - NYSEARCA
      - OTC
      - ERSX
      - FTXU
    Asset:
      title: Asset
      type: object
      description: Assets are sorted by asset class, exchange and symbol. Some assets are not tradable with Alpaca. These assets will be marked with the flag tradable=false
      properties:
        id:
          type: string
          example: 904837e3-3b76-47ec-b432-046db621571b
          format: uuid
          description: Asset ID
        class:
          $ref: '#/components/schemas/AssetClass'
        exchange:
          $ref: '#/components/schemas/Exchange'
        symbol:
          type: string
          example: AAPL
          description: The symbol of the asset
        name:
          type: string
          example: Apple Inc. Common Stock
          description: The official name of the asset
        status:
          type: string
          enum:
          - active
          - inactive
          description: active or inactive
          example: active
        tradable:
          type: boolean
          example: true
          description: Asset is tradable on Alpaca or not
        marginable:
          type: boolean
          example: true
          description: Asset is marginable or not
        shortable:
          type: boolean
          example: true
          description: Asset is shortable or not
        easy_to_borrow:
          type: boolean
          example: true
          description: Asset is easy-to-borrow or not (filtering for easy_to_borrow = True is the best way to check whether the name is currently available to short at Alpaca).
        fractionable:
          type: boolean
          example: true
          description: Asset is fractionable or not
        last_close_pct_change:
          type: string
          format: decimal
          description: 'Percent change for the trading day as of last market closure. NOTE: This field is currently in this spec however it may not be present in the production environment at time of publishing. It will be coming in a future update at which point this spec should be updated.'
        last_price:
          type: string
          format: decimal
          description: 'Most recent available price for this asset on the market. NOTE: This field is currently in this spec however it may not be present in the production environment at time of publishing. It will be coming in a future update at which point this spec should be updated.'
        last_close:
          type: string
          description: 'Last price of the asset upon market closure on the most recent trading day. NOTE: This field is currently in this spec however it may not be present in the production environment at time of publishing. It will be coming in a future update at which point this spec should be updated.'
          format: decimal
      required:
      - id
      - class
      - symbol
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic