# Social & Stock News Sentiment (`lofomachines/social-stock-news-sentiment`) Actor

🔥 \[Only $0.08 for 1000 News] 🔥 Track market-moving sentiment across hundreds of stock news sources, Telegram channels, X (Twitter) and Reddit. AI-scored bullish/bearish signals for pre-market and intraday trading research.

- **URL**: https://apify.com/lofomachines/social-stock-news-sentiment.md
- **Developed by:** [Lofomachines](https://apify.com/lofomachines) (community)
- **Categories:** AI, News, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.05 / 1,000 signals

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Social & Stock News Sentiment Signals

**Stock market sentiment analysis from hundreds of financial news sources, Telegram channels, X (Twitter) and Reddit — scored by AI as bullish, bearish or neutral, ready in seconds.**

Markets move on information long before they move on fundamentals. This Actor watches the flow of market-moving news and social chatter, filters out the noise and the duplicates, and hands you a clean, timestamped stream of signals with a finance-tuned sentiment read on every single one.

No account. No login. No API keys to manage. Press **Start** and get a structured dataset.

***

### What you get

Every record arrives clean, deduplicated and consistently structured:

| Field | Description |
|---|---|
| `id` | Stable identifier for the record |
| `content` | The signal text, cleaned and ready to read |
| `content_length` | Character count |
| `word_count` | Word count |
| `published_at` | Publication time, UTC ISO-8601 |
| `published_date` | Publication date, `YYYY-MM-DD` |
| `sentiment` | `bullish`, `bearish` or `neutral` |
| `sentiment_score` | Directional score from `-1.0` to `+1.0` |
| `market_impact` | `high`, `medium` or `low` |

#### Example output

```json
{
  "id": "8f2c41a90b7d5e63",
  "content": "Earnings call transcript: ATS shares sink 21% after Q1 2026 results",
  "content_length": 66,
  "word_count": 11,
  "published_at": "2026-08-06T13:42:11Z",
  "published_date": "2026-08-06",
  "sentiment": "bearish",
  "sentiment_score": -0.9,
  "market_impact": "high"
}
```

#### Example input

```json
{
  "timeRange": "last_24h",
  "maxItems": 1000,
  "sentiment": true
}
```

***

### Who it's for

- **Day traders and swing traders** building a watchlist before the open
- **Quant and algo developers** who need a sentiment feature for a model
- **Hedge fund and research analysts** tracking narrative shifts
- **Fintech and trading app builders** adding a market-sentiment panel
- **Newsletter writers and finance creators** sourcing the day's story
- **Risk teams** watching for negative narrative building around a position

***

### Use cases

#### 1. Pre-market trading plan

Run with **Last 24 hours** before the open, sort by `market_impact: high`, and read the bullish and bearish clusters. You start the session knowing what the tape has already priced in.

#### 2. Intraday sentiment monitoring

Run **Last hour** on a schedule through the day. A sudden cluster of `bearish` records with high `market_impact` is an early warning long before it shows up on a chart.

#### 3. Sentiment features for trading models

Aggregate `sentiment_score` over rolling windows to build a daily or hourly market-mood index for a backtest.

#### 4. Narrative and hype detection

Compare bullish/bearish ratios across days to spot narratives forming, peaking or dying — useful for both momentum entries and fade setups.

#### 5. Earnings season tracking

During earnings, the `high` impact records surface reactions, guidance changes and surprises as they land.

#### 6. Risk and exposure monitoring

Watch for negative narrative building around sectors or themes you are exposed to, and get an early read on sentiment turning against a position.

#### 7. Content and research automation

Feed the dataset to an LLM to generate a daily market brief, a newsletter section or an internal research digest.

***

### Use it with AI (MCP)

Connect this Actor to your AI assistant through **Apify's MCP integration** and let the model pull live sentiment on demand.

> *"Run the sentiment signals Actor for the last 24 hours, group the high-impact bearish records by theme, and draft me a pre-market trading plan for the open."*

This is the fastest way to turn raw market chatter into an actionable morning routine — the assistant collects, clusters and reasons over the signals for you before the bell.

***

### Integrations

Works out of the box with the Apify platform's integrations:

- **n8n** — trigger a workflow on every run and route high-impact signals to your desk
- **Make (Integromat)** — push bullish/bearish clusters into Google Sheets, Notion or Airtable
- **Zapier** — send high-impact alerts to Slack, Discord, Telegram or email
- **Webhooks & API** — pull the dataset straight into your own trading stack
- **MCP** — expose the Actor as a live tool to Claude, ChatGPT or any MCP-capable agent

Schedule it before market open and let the results land wherever you already work.

***

### AI sentiment scoring — paid Apify plans only

The **AI sentiment scoring** toggle is available on **paid Apify plans**.

- **Paid plan:** every record is scored — `sentiment`, `sentiment_score` and `market_impact` are all populated.
- **Free plan:** the toggle stays inactive. The three sentiment fields are returned as `null` and no content is submitted for scoring. Every other field in the dataset is unaffected, and the run completes normally.

You can always turn scoring off yourself to run leaner.

***

### Speed and cost

Built to be fast and cheap enough to run on a schedule all day:

- Collection of a full 1000-record sweep completes in **under 10 seconds**
- First scored records land in the dataset within **seconds** of the run starting
- A full 1000-record run with AI sentiment scoring completes in about **90 seconds**
- Runs at the default memory setting, which is tuned for this workload
- No third-party subscriptions and no credentials to buy or rotate

#### Results arrive as they are produced

Records are written to the dataset **progressively during the run**, not all at
the end. You can open the dataset — or start consuming it through the API, a
webhook or an integration — while the run is still going, and the log reports
delivery progress as it advances.

#### You only pay for what you use

Pricing is per delivered record, and the two service levels are billed
separately:

| Delivered record | Billed as |
|---|---|
| Without AI sentiment scoring | Standard record |
| With AI sentiment scoring | Enriched record |

Turning the sentiment toggle off drops you to the lower rate for the whole
run. Runs also respect the spending limit you set: once it is reached the run
stops delivering and closes cleanly, so it can never overshoot your cap.

***

### FAQ

**Do I need to log in to anything?**
No. There is nothing to authenticate, no cookies to supply and no API keys to buy.

**How fresh are the signals?**
`Last hour` returns what landed in the past 60 minutes. `published_at` gives you the exact publication time in UTC.

**Why do some runs return fewer records than the maximum?**
The maximum is a ceiling, not a quota. Outside market hours — nights, weekends, holidays — there is simply less being published.

**Can I run it on a schedule?**
Yes. Schedule it before the open for a pre-market sweep, or hourly during the session for a rolling view.

**Is this financial advice?**
No. This is a research and data product. It surfaces what is being said, not what you should do about it. Signals are unverified third-party content and should be validated before you act on them.

***

### More Actors by lofomachines

- [X (Twitter) Search Scraper — Posts & AI Sentiment](https://apify.com/lofomachines/x-twitter-search-scraper)
- [Google News Scraper](https://apify.com/lofomachines/google-news-scraper)
- [Reddit Scraper & AI Insights — Posts, Comments & Sentiment](https://apify.com/lofomachines/reddit-ai-insights)
- [CoinMarketCap API — Crypto Prices & Market Data](https://apify.com/lofomachines/coinmarketcap-crypto-data-scraper)
- [AI Media Monitor — Brand, News & Sentiment Tracker](https://apify.com/lofomachines/ai-media-monitor)

Browse all: [apify.com/lofomachines](https://apify.com/lofomachines)

***

*Keywords: stock market sentiment analysis, financial news API, market sentiment data, stock news scraper, trading signals API, bullish bearish sentiment, pre-market news feed, Reddit stock sentiment, Telegram trading signals, X Twitter finance sentiment, AI sentiment analysis for trading, market mover alerts, financial NLP dataset.*

# Actor input Schema

## `timeRange` (type: `string`):

How far back to look. Use <b>Last hour</b> for a fast intraday refresh, or <b>Last 24 hours</b> for the full pre-market sweep before the daily open.

## `maxItems` (type: `integer`):

Upper limit on how many records to return. Coverage is spread evenly so no single high-volume source dominates the feed. Minimum 1000.

## `sentiment` (type: `boolean`):

Adds a finance-tuned sentiment read to every record: bullish / bearish / neutral, a directional score, a confidence value and an estimated market impact.<br><br><b>Available on paid Apify plans only.</b> On a free account this stays inactive: the sentiment fields are returned as <code>null</code> and no content is sent for scoring. Every other field is unaffected.

## Actor input object example

```json
{
  "timeRange": "last_24h",
  "maxItems": 1000,
  "sentiment": true
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("lofomachines/social-stock-news-sentiment").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("lofomachines/social-stock-news-sentiment").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call lofomachines/social-stock-news-sentiment --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,lofomachines/social-stock-news-sentiment"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/DBORzVPYz6j5dyzfe/builds/C74WKn0kMdJ0WVYIZ/openapi.json
