Stocktwits Scraper avatar

Stocktwits Scraper

Pricing

from $0.90 / 1,000 saved message or symbols

Go to Apify Store
Stocktwits Scraper

Stocktwits Scraper

Scrape public Stocktwits ticker messages, user posts, trending messages, and trending symbols. Export sentiment, cashtags, mentions, media, author metrics, source URLs, and timestamps for market research.

Pricing

from $0.90 / 1,000 saved message or symbols

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

4 days ago

Last modified

Categories

Share

📈 Stocktwits API scraper for sentiment data

Stocktwits Scraper exports public Stocktwits ticker messages, user posts, trending messages, and trending symbols into a clean Apify dataset. Use it to collect sentiment, cashtags, author metrics, media links, conversation data, price targets, and ranked trending tickers for market research or monitoring.

📦 Data you can export

Message rows can include:

Data groupExample fields
Message identitymessageId, messageUrl, matchedInput
Message contentbody, createdAt, sourceSentiment, computedSentiment
Market contextcashtags, mentions, priceTarget
Author dataauthor.username, author.name, author.followers, author.ideas, author.official
Conversation and mediamedia, conversation.parentMessageId, conversation.replies

Trending-symbol rows include rank, symbol, title, exchange, region, instrumentClass, logoUrl, watchlistCount, sentimentChange, and volumeChange.

Stocktwits does not expose every field on every message. Optional fields such as media, price targets, source sentiment, conversation data, and symbol metrics can be null or empty when the source does not provide them.

🚀 How to run

  1. Open the Input tab.
  2. Choose Stocktwits source:
    • Symbol messages for ticker streams.
    • User posts for public usernames.
    • Trending messages for the market-wide message feed.
    • Trending symbols for the ranked symbol list.
  3. Add Ticker symbols such as AAPL, TSLA, NVDA, BTC.X, or ETH.X when using symbol mode.
  4. Add Stocktwits usernames without @ when using user mode.
  5. Keep Messages per target or Trending symbol limit small for your first run.
  6. Optional: enable Price targets only to save only messages with a Stocktwits price-target object.
  7. Start the Actor and open the dataset.

For a useful first run, keep Symbol messages, leave the prefilled ticker watchlist in Ticker symbols, and keep Messages per target at 180.

⚙️ Input example

{
"mode": "symbol",
"symbols": ["AAPL", "TSLA", "NVDA", "SPY", "MSTR"],
"maxMessagesPerTarget": 180,
"onlyPriceTargets": false
}

Use user mode with usernames, trending mode without a target list, or trending-symbols mode with maxTrendingSymbols.

🧾 Output example

{
"messageId": 655441915,
"messageUrl": "https://stocktwits.com/example_user/message/655441915",
"matchedInput": "AAPL",
"body": "$AAPL watching the next move after market open",
"createdAt": "2026-06-04T17:40:56Z",
"sourceSentiment": "Bullish",
"computedSentiment": "neutral",
"cashtags": [
{
"symbol": "AAPL",
"title": "Apple Inc",
"exchange": "NASDAQ",
"watchlistCount": 980580,
"currentPrice": 311.76
}
],
"mentions": ["marketwatch"],
"author": {
"username": "example_user",
"name": "Example User",
"avatarUrl": "https://avatars.stocktwits.com/production/example_user/thumb.jpg",
"official": false,
"followers": 550,
"ideas": 49511
},
"media": [],
"conversation": {
"parentMessageId": null,
"inReplyToMessageId": null,
"replies": 4,
"isParent": true
},
"priceTarget": null
}

💳 Pricing

This Actor uses pay-per-event pricing. You are charged for each public Stocktwits message or trending symbol saved to the dataset. Invalid inputs, empty targets, source failures, and zero-result targets do not create paid dataset rows.

🔌 Integrations

  • Call the Actor with the Apify API from Python, JavaScript, Make, Zapier, or your own backend.
  • Schedule repeat runs to monitor ticker discussion, user posts, or trending symbols over time.
  • Export finished datasets as JSON, CSV, Excel, XML, RSS, or HTML.
  • Send completed runs to webhooks, BI tools, databases, dashboards, or sentiment-analysis pipelines.

❓ FAQ

Do I need a Stocktwits API key?

No. The Actor collects public Stocktwits data and does not ask for a Stocktwits API key, login, cookies, or private account credentials.

Can I use this as a Stocktwits sentiment API?

Yes. Each message row keeps Stocktwits' own Bullish or Bearish label when present and adds computedSentiment for a simple positive, neutral, or negative text label.

Can I build a Stocktwits dataset for analysis?

Yes. The Actor saves structured rows with message text, message URLs, cashtags, timestamps, author metrics, media links, conversation data, and price-target fields when Stocktwits exposes them.

Can I scrape crypto sentiment from Stocktwits?

Yes. Use Stocktwits crypto symbols such as BTC.X, ETH.X, or other .X tickers when they are available on Stocktwits.

Can I collect only messages with price targets?

Yes. Enable Price targets only to save messages that include a Stocktwits price-target object.

Does this return historical Stocktwits data?

The Actor collects currently accessible public data from the selected Stocktwits source. It is not a full historical archive. Schedule the Actor if you want to build your own time series.

Why not use the Stocktwits API?

Use this Actor when you want an Apify-ready workflow with input forms, scheduled runs, exports, webhooks, and pay-per-result pricing instead of wiring your own Stocktwits data collector.

What are Stocktwits alternatives?

For adjacent market or social listening data, you can use X/Twitter scrapers, Reddit comment search, Etherscan, GMGN wallet activity, Bitget tickers, or other public market-data actors depending on the source you need.

📝 Changelog

  • 1.0: Updated the public dataset to cleaner message and trending-symbol rows with sentiment, cashtags, author metrics, media, conversations, price targets, ranked symbol metrics, and a larger validated first-run watchlist.
  • 0.0: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré