Stocktwits Sentiment Scraper avatar

Stocktwits Sentiment Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Stocktwits Sentiment Scraper

Stocktwits Sentiment Scraper

Scrape real-time bullish/bearish sentiment from Stocktwits. Extract investor opinions, stock insights & market trends instantly. Perfect for traders & financial analysts seeking actionable trading data & sentiment-driven market analysis.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(2)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

1

Bookmarked

47

Total users

12

Monthly active users

10 days ago

Last modified

Share

What does Stocktwits Sentiment Scraper do?

Stocktwits Sentiment Scraper collects current market discussion from Stocktwits and adds simple sentiment labels to each message. Run it without entering a URL or ticker: the Actor can return trending Stocktwits symbols, recent messages from their symbol streams, or both in one dataset.

The output is useful for trading research, market-monitoring dashboards, narrative analysis, alerting, and historical datasets. Each record includes source timestamps, symbols, message text, author details when available, engagement counts, and the original source payload.

Why use Stocktwits Sentiment Scraper?

  • Track market attention - Rank symbols by their current Stocktwits trend position and available watchlist count.
  • Collect investor discussion - Gather recent messages associated with the current trending symbol set.
  • Filter by sentiment - Use positive, neutral, or negative labels for quick analysis and alert rules.
  • Build repeatable datasets - Run on demand or schedule recurring collections in Apify for time-series research.
  • Connect to workflows - Export results or send them to spreadsheets, webhooks, automation tools, and your own applications.

News collection is based on the symbols currently returned by Stocktwits trending data. The input does not accept a custom ticker list, so use maxNewsItems to control how many messages are saved from the automatically selected symbol streams.

What data can you extract from Stocktwits?

The dataset can contain trending-symbol records, market-message records, and error records when a source cannot be collected.

FieldTypeDescription
typeStringRecord type: trending_symbol, news_message, or error
fetchedAtStringISO timestamp for when the record was collected
rankIntegerPosition in the trending-symbol results
symbolStringStocktwits symbol associated with the record
titleStringDisplay name for a trending symbol
idIntegerStocktwits symbol ID for trending records
watchlist_countIntegerAvailable watchlist count for a trending symbol
messageIdIntegerStocktwits message ID
createdAtStringOriginal publication timestamp for a message
bodyStringMarket message text
userObjectAuthor object with id and username when available
likesIntegerMessage like count when available
sentimentScoreIntegerNumeric sentiment score when sentiment calculation is enabled
sentimentLabelStringpositive, neutral, or negative when a score is available
sourceUrlStringSource URL associated with the record
rawObjectOriginal source object for additional fields
endpointStringFailed collection source for an error record
errorStringError message for an error record

Fields that do not apply to a record type are not included in that record. For example, rank is used for trending symbols, while body and sentimentLabel are used for market messages.

How to use Stocktwits Sentiment Scraper

  1. Open the Actor in Apify Console.
  2. Select the data you want to collect: trending symbols, market messages, or both.
  3. Set maxSymbols and maxNewsItems for the size of the run.
  4. Keep computeSentiment enabled if you want sentiment scores and labels.
  5. Run the Actor and review the dataset preview.
  6. Download the data or connect the dataset to your monitoring or analysis workflow.

For scheduled monitoring, create an Apify schedule and choose an interval that matches your research needs. Frequent runs can help capture changes in symbol attention and market discussion over time.

Input Parameters

ParameterTypeRequiredDefaultDescription
includeTrendingSymbolsBooleanNotrueSave records for current Stocktwits trending symbols
maxSymbolsIntegerNo20Maximum number of trending symbols to save, from 1 to 200
includeNewsBooleanNotrueCollect market messages from the current trending symbol streams
maxNewsItemsIntegerNo20Maximum number of market messages to save, from 1 to 200
computeSentimentBooleanNotrueCalculate sentimentScore and sentimentLabel for messages
timeoutSecsIntegerNo30Maximum wait time for each source request, from 1 to 300 seconds
maxRetriesIntegerNo3Number of attempts for a source request, from 1 to 10
proxyConfigurationObjectNo-Optional Apify Proxy configuration for collection reliability

If both includeTrendingSymbols and includeNews are false, the Actor completes without collecting either dataset category. If includeNews is enabled, the Actor can still use current trending symbols to find market messages even when trending-symbol records are not saved.

Output Data

Trending records contain type, fetchedAt, rank, symbol, title, id, watchlist_count, sourceUrl, and raw.

Market message record

Message records contain type, fetchedAt, messageId, createdAt, symbol, body, user, likes, sentimentScore, sentimentLabel, sourceUrl, and raw.

When computeSentiment is false, sentimentScore and sentimentLabel are returned as null for message records. A message can also have a null sentiment value when its text is empty or unavailable.

Error record and run summary

If a collection source fails after its configured attempts, the dataset receives an error record with type, fetchedAt, endpoint, sourceUrl, and error. The run summary is saved in the Apify key-value store under the record name OUTPUT and includes ok, startedAt, the selected input modes, item counts, and an errors array.

Usage Examples

Basic collection

Collect both current trending symbols and market messages with sentiment enabled:

{
"includeTrendingSymbols": true,
"maxSymbols": 20,
"includeNews": true,
"maxNewsItems": 20,
"computeSentiment": true
}

Save a larger ranked list of trending symbols without collecting messages:

{
"includeTrendingSymbols": true,
"maxSymbols": 50,
"includeNews": false
}

Message collection without sentiment

Collect up to 100 messages while leaving sentiment fields unset:

{
"includeTrendingSymbols": false,
"includeNews": true,
"maxNewsItems": 100,
"computeSentiment": false
}

Collection with proxy settings

Use an Apify Proxy configuration when your runs need additional network reliability:

{
"includeTrendingSymbols": true,
"maxSymbols": 50,
"includeNews": true,
"maxNewsItems": 100,
"timeoutSecs": 60,
"maxRetries": 5,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Sample Output

The following is one example of a market-message dataset item:

{
"type": "news_message",
"fetchedAt": "2026-08-02T08:30:00.000Z",
"messageId": 123456789,
"createdAt": "2026-08-02T08:28:41Z",
"symbol": "NVDA",
"body": "Investors are watching the next earnings update for guidance on data-center demand.",
"user": {
"id": 987654,
"username": "marketwatcher"
},
"likes": 12,
"sentimentScore": 2,
"sentimentLabel": "positive",
"sourceUrl": "https://api.stocktwits.com/api/2/streams/symbol/NVDA.json",
"raw": {
"id": 123456789,
"body": "Investors are watching the next earnings update for guidance on data-center demand."
}
}

Tips for Best Results

  • Start with the default limits to confirm that the dataset contains the records you need.
  • Increase maxSymbols and maxNewsItems gradually when building larger research datasets.
  • Keep computeSentiment enabled for quick filtering, or disable it when you only need message text and metadata.
  • Use createdAt to sort messages by publication time and fetchedAt to compare collection runs.
  • Treat sentiment as a simple text-based indicator and combine it with message timing, likes, symbol rank, and your own analysis.
  • If a run includes error records, review the error text and retry with a smaller limit or a proxy configuration.
  • Source pages and published fields can change. Report persistent issues through the Actor's Issues tab.

Integrations and Export Formats

  • JSON - Use structured records in applications, scripts, and data pipelines.
  • CSV - Analyze symbols and messages in spreadsheet or business-intelligence tools.
  • Excel - Share filtered sentiment datasets with research and operations teams.
  • Google Sheets - Maintain a collaborative market-monitoring workbook.
  • Webhooks - Notify downstream services after a run finishes.
  • Make and Zapier - Trigger alerts, notifications, or follow-up actions from new runs.
  • Apify API - Retrieve datasets and the OUTPUT run summary programmatically.

Frequently Asked Questions

Do I need Stocktwits credentials?

No. The Actor is designed to collect publicly available Stocktwits data without user-supplied credentials.

Can I provide my own ticker list?

No. The current input does not include a custom-symbol parameter. Message collection uses the current Stocktwits trending symbols as its source set.

Can I run only one collection mode?

Yes. Set includeTrendingSymbols or includeNews to false to exclude that record type.

What happens when sentiment is disabled?

The Actor still collects market messages, but sentimentScore and sentimentLabel are set to null.

Can I export Stocktwits data to CSV or Excel?

Yes. Download the Apify dataset as CSV, Excel, JSON, XML, or another supported format after the run.

Can I run this Actor on a schedule?

Yes. Apify schedules can run the Actor hourly, daily, weekly, or at another interval you select.

Why are some fields empty?

Fields can be null when Stocktwits does not publish that value for a symbol or message. Error records can also appear when a source cannot be collected after the configured retries.

You are responsible for following Stocktwits terms, applicable laws, privacy requirements, and any restrictions that apply to your intended use of the data. Collect and use public data responsibly.

You can also find related data-collection Actors from Shahid Irfan's Apify profile:

Real Estate Actors

  • iProperty Scraper - Collect Malaysian property listings with prices, locations, bedrooms, bathrooms, agent details, and listing links.
  • Propertyfinder Scraper - Collect PropertyFinder UAE sale and rental listings with property details, pricing, location data, and broker information.

Jobs Actors

  • Talent Job Scraper - Collect Talent.com job listings with titles, companies, locations, salary fields, descriptions, and source links.
  • Jobsdb Scraper - Collect Jobsdb listings with structured job details such as titles, companies, and locations.

Support

For bugs, field changes, or feature requests, use the Issues tab on the Actor's Apify Store page. Include the run ID, input settings, and a short description of the unexpected result when requesting help.

This Actor is intended for legitimate collection and analysis of publicly available Stocktwits data. Users are responsible for complying with Stocktwits terms, applicable laws, privacy rules, and any limitations on storing or redistributing collected content.