StockTwits Watchlists API
Watchlist management endpoints for creating and managing symbol watchlists.
Watchlist management endpoints for creating and managing symbol watchlists.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/stocktwits-watchlists-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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