News Sentiment Analyzer avatar

News Sentiment Analyzer

Pricing

$6.50 / 1,000 article analyzeds

Go to Apify Store
News Sentiment Analyzer

News Sentiment Analyzer

Analyze news articles for sentiment using NLP. Extract positive, negative, and neutral signals from any news URL or keyword-based news feed.

Pricing

$6.50 / 1,000 article analyzeds

Rating

0.0

(0)

Developer

junipr

junipr

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Introduction

News Sentiment Analyzer is an Apify actor that scrapes news articles for any topic, company, or keyword and performs natural language processing (NLP) to determine sentiment — all in a single, zero-config run. Enter a query like "Apple earnings" or "climate change" and receive per-article sentiment scores (positive/negative/neutral), aggregate trends, named entity extraction, and source-by-source breakdowns. No external API keys required: all NLP runs locally using the battle-tested AFINN lexicon.

Primary use cases:

  • Brand monitoring — Track how media covers your company over time
  • Market sentiment — Gauge news sentiment on tickers before earnings calls
  • PR campaign tracking — Measure reception after launches or announcements
  • Competitive intelligence — Compare media sentiment across competitors
  • Research & journalism — Analyze coverage trends across sources and dates

Key differentiators: Combined news scraping + NLP in one actor. Aggregate summary with time-series trends, entity breakdown, and source analysis. Zero setup — no cloud accounts, no API keys.


Why Use This Actor

Most sentiment solutions require you to build a pipeline: a scraper to collect articles, an NLP service to analyze them, and aggregation code to summarize results. This actor replaces that entire stack.

FeatureThis ActorAWS ComprehendGoogle Cloud NLPMonkeyLearn
Price per 1K articles$6.50 (all-in)$1.00 NLP + scraping cost$1.00 NLP + scraping cost$5.00 NLP only
Includes news scrapingYesNoNoNo
Zero-configYesAWS account + IAMGCP project + SAAccount + API key
Aggregate sentiment summaryYesPer-document onlyPer-document onlyNo
Trending topic extractionYesEntity detectionEntity detectionNo
Source & time-series breakdownYesNoNoNo
No external API dependenciesYesAWS requiredGCP requiredAPI key required

The actor uses Google News RSS and Bing News as primary sources, covering thousands of publications worldwide. All sentiment analysis runs in-memory — your data never leaves Apify infrastructure.


How to Use

Zero-config example — just provide a search query:

{
"query": "Tesla earnings Q1 2026"
}

Multi-query example — track multiple companies in one run:

{
"queries": ["Apple stock", "Microsoft Azure", "Nvidia AI chips"],
"maxArticlesPerQuery": 30,
"dateRange": "7d"
}

Deep analysis example — full entity and topic extraction:

{
"query": "Federal Reserve interest rates",
"sources": ["google_news", "bing_news", "reuters"],
"maxArticlesPerQuery": 100,
"extractEntities": true,
"extractTopics": true,
"groupByDate": true,
"dateRange": "30d"
}

API call example (Node.js with Apify SDK):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('junipr/news-sentiment-analyzer').call({
query: 'OpenAI GPT',
maxArticlesPerQuery: 50,
extractEntities: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0].sentiment); // { score: 0.42, label: 'positive', ... }

Input Configuration

ParameterTypeDefaultDescription
querystring"technology news"Primary search query — company name, topic, or keyword
queriesarray[]Multiple queries in one run; each gets its own summary
sourcesarray["google_news", "bing_news"]News sources: google_news, bing_news, yahoo_news, reuters, associated_press
maxArticlesPerQueryinteger50Articles to analyze per query (1–500)
languagestring"en"Language filter (ISO 639-1 code)
countrystring"US"Country filter (ISO 3166-1 alpha-2)
dateRangestring"7d"Lookback period: 1d, 3d, 7d, 14d, 30d, 90d
sentimentModelstring"afinn"NLP model: afinn (fast) or pattern (sentence-aware)
extractEntitiesbooleantrueExtract named entities (people, orgs, locations)
extractTopicsbooleantrueExtract key topics and themes
includeArticleTextbooleanfalseInclude full article text in output (increases dataset size)
minArticleLengthinteger100Skip articles shorter than this many characters
groupBySourcebooleantruePer-source sentiment breakdown in run summary
groupByDatebooleantrueDaily sentiment time-series in run summary
proxyConfigurationobjectApify proxyProxy settings for scraping

Common configurations:

  • Quick brand check: { "query": "YourCompany", "maxArticlesPerQuery": 20 }
  • Deep market analysis: { "queries": ["TSLA", "AAPL", "MSFT"], "maxArticlesPerQuery": 100, "dateRange": "30d" }
  • Daily monitoring: Schedule with { "query": "your topic", "dateRange": "1d" } running daily

Output Format

Per-article result (pushed to dataset):

{
"query": "Apple earnings",
"title": "Apple Posts Record Revenue Driven by iPhone and Services",
"url": "https://www.reuters.com/technology/apple-record-revenue-2026/",
"source": "Reuters",
"sourceDomain": "reuters.com",
"publishedAt": "2026-03-10T18:45:00.000Z",
"scrapedAt": "2026-03-11T12:00:00.000Z",
"sentiment": {
"score": 0.58,
"magnitude": 0.74,
"label": "positive",
"confidence": 0.61
},
"entities": [
{ "text": "Apple", "type": "organization", "count": 12, "sentimentScore": 0.58 },
{ "text": "Tim Cook", "type": "person", "count": 4, "sentimentScore": 0.41 }
],
"topics": ["revenue", "iphone", "services", "earnings", "growth"],
"articleLength": 1842,
"articleText": null,
"articleSnippet": "Apple reported record quarterly revenue of $124.3 billion...",
"imageUrl": "https://static.reuters.com/...",
"errors": []
}

Sentiment score interpretation:

Score RangeLabelMeaning
0.25 to 1.0positiveFavorable, optimistic coverage
-0.25 to 0.25neutralFactual, balanced reporting
-1.0 to -0.25negativeCritical, pessimistic coverage

Run summary is saved to the Key-Value Store under the OUTPUT key and includes aggregate sentiment per query, source breakdown, daily time-series, trending topics, and top entities across all articles.


Tips and Advanced Usage

Optimizing queries for better results:

  • Use full company names for better coverage ("Apple Inc" over "AAPL")
  • Add context to narrow results ("Apple iPhone sales" not just "Apple")
  • For financial sentiment, include the word "stock" or "earnings" to surface financial coverage
  • Multi-word phrases in quotes work: "interest rate decision"

Interpreting sentiment scores:

  • A score of 0.0 does not mean no coverage — it means balanced coverage
  • High magnitude with neutral score = emotional but balanced article (common in financial news)
  • Low confidence scores indicate short articles with few sentiment-bearing words — treat with caution

Scheduling for continuous monitoring:

  • Set up a scheduled run with dateRange: "1d" to run daily
  • Export results to Google Sheets via Apify integrations for trending charts
  • Combine with Apify webhooks to trigger Slack alerts when sentiment drops below a threshold

Exporting data:

  • Use the Apify dataset API to export as JSON, CSV, or Excel
  • Connect to Google Sheets, Airtable, or BI tools via Zapier/Make integrations
  • Use groupByDate: true for time-series data ready for charting

Pricing

This actor uses Pay-Per-Event pricing at $6.50 per 1,000 articles analyzed. You are charged only for articles that are successfully scraped, meet the minimum length requirement, and receive a sentiment score. Failed fetches, paywalled articles with no text, and skipped short articles are never billed.

Pricing includes all platform compute costs — no hidden fees.

ScenarioArticlesEstimated Cost
Single topic check50~$0.33
Weekly brand monitoring200~$1.30
Daily monitoring, 30 days1,500~$9.75
Multi-brand analysis (5 brands)500~$3.25
Enterprise monitoring (10 brands/day)15,000/mo~$97.50/mo

Why this pricing wins: AWS Comprehend charges $1.00/1K for NLP alone — you still need to build and pay for the scraping layer. Our actor includes scraping, NLP, entity extraction, topic clustering, and aggregate analysis at $6.50/1K total.


FAQ

Does it detect sarcasm or irony?

The AFINN lexicon uses word-level scoring and does not reliably detect sarcasm or irony. Sarcastic articles may score incorrectly. The confidence field is lower for articles with mixed sentiment signals, which can help identify ambiguous cases. For high-stakes analysis, we recommend manual review of low-confidence results.

Can I analyze non-English news?

The actor fetches news filtered by language code (language parameter). However, the AFINN sentiment model is English-optimized. Non-English articles will receive a sentiment score, but accuracy will be lower. For accurate non-English sentiment, filter to language: "en" or use a language-specific model.

How does it handle paywalled articles?

When a paywall is detected, the actor analyzes the available text (headline + snippet visible before the paywall) with a lower confidence score. The result includes "PAYWALL_DETECTED" in the errors array so you can filter these out if needed.

What news sources does it scrape?

By default: Google News RSS and Bing News RSS. Additionally supported: Yahoo News, Reuters Top News, and Associated Press Top News. Google News and Bing News aggregate from thousands of publications worldwide. Reuters and AP provide authoritative wire service coverage.

Can I use it for stock market sentiment analysis?

Yes — this is one of the most popular use cases. Search for ticker symbols ("TSLA", "NVDA") or company names plus financial terms ("Tesla earnings", "Nvidia AI chips"). The aggregate sentiment score and time-series output are useful inputs for quantitative models. Note: this actor does not access financial data feeds or price data — it analyzes news coverage only.

How often should I schedule runs for monitoring?

For active monitoring: daily runs with dateRange: "1d" give fresh daily sentiment. For trends: weekly runs with dateRange: "7d". For archival analysis: monthly runs with dateRange: "30d".

Does it store or share the articles it scrapes?

No. Article text is processed in-memory and only stored in your Apify dataset if you enable includeArticleText: true. All NLP runs locally — article text is never sent to external services.

Can I add custom news sources?

The sources parameter accepts the predefined source list. Custom RSS feed URLs are not currently supported. If you need a specific publication, use Google News or Bing News which aggregate from thousands of sources — most major publications are included automatically.


Related actors: Google News Scraper · Hacker News Scraper · Reddit Scraper