StockTwits Watchlists API

Watchlist management endpoints for creating and managing symbol watchlists.

Operations 7

GET /watchlists.json List Watchlists #
POST /watchlists/create.json Create Watchlist #
POST /watchlists/update/{watchlist_id}.json Update Watchlist #
POST /watchlists/destroy/{watchlist_id}.json Delete Watchlist #
POST /watchlists/{watchlist_id}/symbols/create.json Add Symbol to Watchlist #
POST /watchlists/{watchlist_id}/symbols/destroy.json Remove Symbol from Watchlist #
GET /watchlists/show/{watchlist_id}.json Show 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/stocktwits-watchlists-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

stocktwits-watchlists-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: StockTwits Account Watchlists API
  description: The StockTwits API provides access to the StockTwits social network for investors and traders. It allows developers to access streams of messages (twits), user profiles, trending symbols, and more. StockTwits is a social media platform designed for sharing ideas between investors, traders, and entrepreneurs.
  version: '2.0'
  contact:
    name: StockTwits
    url: https://stocktwits.com
  termsOfService: https://stocktwits.com/terms
  x-jentic-source-url: https://raw.githubusercontent.com/sophie-jentic/openapi-specs/refs/heads/import-jentic-pr-specs/stocktwits.com/stocktwits-api/2.0/openapi.json
servers:
- url: https://api.stocktwits.com/api/2
  description: StockTwits API v2 Production
security:
- {}
- oauth2: []
tags:
- name: Watchlists
  description: Watchlist management endpoints for creating and managing symbol watchlists.
paths:
  /watchlists.json:
    get:
      operationId: getWatchlists
      summary: List Watchlists
      description: Returns all watchlists for the authenticated user.
      tags:
      - Watchlists
      security:
      - oauth2:
        - watchlists
      responses:
        '200':
          description: Successful response with watchlists
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    $ref: '#/components/schemas/ResponseStatus'
                  watchlists:
                    type: array
                    items:
                      $ref: '#/components/schemas/Watchlist'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /watchlists/create.json:
    post:
      operationId: createWatchlist
      summary: Create Watchlist
      description: Creates a new watchlist for the authenticated user.
      tags:
      - Watchlists
      security:
      - oauth2:
        - watchlists
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
                  description: The name of the watchlist
      responses:
        '200':
          description: Watchlist created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    $ref: '#/components/schemas/ResponseStatus'
                  watchlist:
                    $ref: '#/components/schemas/Watchlist'
  /watchlists/update/{watchlist_id}.json:
    post:
      operationId: updateWatchlist
      summary: Update Watchlist
      description: Updates the name of an existing watchlist.
      tags:
      - Watchlists
      security:
      - oauth2:
        - watchlists
      parameters:
      - name: watchlist_id
        in: path
        required: true
        description: The watchlist ID
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
                  description: The new name of the watchlist
      responses:
        '200':
          description: Watchlist updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    $ref: '#/components/schemas/ResponseStatus'
                  watchlist:
                    $ref: '#/components/schemas/Watchlist'
  /watchlists/destroy/{watchlist_id}.json:
    post:
      operationId: deleteWatchlist
      summary: Delete Watchlist
      description: Deletes an existing watchlist.
      tags:
      - Watchlists
      security:
      - oauth2:
        - watchlists
      parameters:
      - name: watchlist_id
        in: path
        required: true
        description: The watchlist ID to delete
        schema:
          type: integer
      responses:
        '200':
          description: Watchlist deleted successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    $ref: '#/components/schemas/ResponseStatus'
                  watchlist:
                    $ref: '#/components/schemas/Watchlist'
  /watchlists/{watchlist_id}/symbols/create.json:
    post:
      operationId: addSymbolToWatchlist
      summary: Add Symbol to Watchlist
      description: Adds symbols to an existing watchlist.
      tags:
      - Watchlists
      security:
      - oauth2:
        - watchlists
      parameters:
      - name: watchlist_id
        in: path
        required: true
        description: The watchlist ID
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - symbols
              properties:
                symbols:
                  type: string
                  description: Comma-separated list of ticker symbols to add (e.g. AAPL,TSLA,GOOG)
      responses:
        '200':
          description: Symbols added successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    $ref: '#/components/schemas/ResponseStatus'
                  watchlist:
                    $ref: '#/components/schemas/Watchlist'
  /watchlists/{watchlist_id}/symbols/destroy.json:
    post:
      operationId: removeSymbolFromWatchlist
      summary: Remove Symbol from Watchlist
      description: Removes symbols from an existing watchlist.
      tags:
      - Watchlists
      security:
      - oauth2:
        - watchlists
      parameters:
      - name: watchlist_id
        in: path
        required: true
        description: The watchlist ID
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - symbols
              properties:
                symbols:
                  type: string
                  description: Comma-separated list of ticker symbols to remove
      responses:
        '200':
          description: Symbols removed successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    $ref: '#/components/schemas/ResponseStatus'
                  watchlist:
                    $ref: '#/components/schemas/Watchlist'
  /watchlists/show/{watchlist_id}.json:
    get:
      operationId: getWatchlist
      summary: Show Watchlist
      description: Returns the specified watchlist with its symbols.
      tags:
      - Watchlists
      security:
      - oauth2:
        - watchlists
      parameters:
      - name: watchlist_id
        in: path
        required: true
        description: The watchlist ID
        schema:
          type: integer
      responses:
        '200':
          description: Successful response with watchlist details
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    $ref: '#/components/schemas/ResponseStatus'
                  watchlist:
                    $ref: '#/components/schemas/Watchlist'
components:
  schemas:
    Symbol:
      type: object
      properties:
        id:
          type: integer
          description: Unique symbol ID
        symbol:
          type: string
          description: The ticker symbol (e.g. AAPL)
        title:
          type: string
          description: The full company/asset name
        aliases:
          type: array
          items:
            type: string
          description: Alternative names or aliases
        is_following:
          type: boolean
          description: Whether the authenticated user is following this symbol
        has_pricing:
          type: boolean
          description: Whether pricing data is available for this symbol
        watchlist_count:
          type: integer
          description: Number of users who have this symbol in their watchlist
    ErrorResponse:
      type: object
      properties:
        response:
          type: object
          properties:
            status:
              type: integer
        errors:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
                description: Error message description
    Watchlist:
      type: object
      properties:
        id:
          type: integer
          description: Unique watchlist ID
        name:
          type: string
          description: The watchlist name
        static:
          type: boolean
          description: Whether the watchlist is a default/static list
        updated_at:
          type: string
          format: date-time
        created_at:
          type: string
          format: date-time
        symbols:
          type: array
          items:
            $ref: '#/components/schemas/Symbol'
    ResponseStatus:
      type: object
      properties:
        status:
          type: integer
          description: HTTP status code (200 for success)
  securitySchemes:
    oauth2:
      type: oauth2
      description: StockTwits uses OAuth 2.0 for authentication. Some endpoints are available without authentication using just an access_token query parameter.
      flows:
        authorizationCode:
          authorizationUrl: https://api.stocktwits.com/api/2/oauth/authorize
          tokenUrl: https://api.stocktwits.com/api/2/oauth/token
          scopes:
            read: Read access to public data
            publish_messages: Create and interact with messages
            publish_watch_lists: Create and manage watchlists
            follow_users: Follow and unfollow users
            follow_stocks: Follow and unfollow stocks
    accessToken:
      type: apiKey
      in: query
      name: access_token
      description: Access token passed as a query parameter. Can be an application-level token for public endpoints or a user-level OAuth token for authenticated endpoints.
externalDocs:
  description: StockTwits API Documentation
  url: https://api.stocktwits.com/developers/docs/api