Extract trading signals from news articles, financial forums, and social media. Turn market conversations into actionable sentiment data.
Financial news, social media chatter, and forum discussions contain valuable signals that can precede market moves. The challenge is extracting actionable insights from this unstructured data at scale.
Traditional sentiment analysis tools miss context and nuance. You need AI that understands financial language and can extract meaningful signals.
Extract sentiment from across the financial web
Analyze news articles for sentiment, key events, and market-moving information.
Monitor discussions on Reddit, StockTwits, and other trading communities.
Track financial influencers and trending stock discussions.
Extract insights from research reports and analyst commentary.
Extract market sentiment with AI
curl -G "https://api.webscraping.ai/ai/fields" \
--data-urlencode "api_key=YOUR_API_KEY" \
--data-urlencode "url=https://financial-news.com/article/tech-earnings" \
--data-urlencode "fields[headline]=The article headline" \
--data-urlencode "fields[overall_sentiment]=bullish, bearish, or neutral" \
--data-urlencode "fields[sentiment_score]=Score from -1 (very bearish) to 1 (very bullish)" \
--data-urlencode "fields[key_points]=Main points that affect sentiment" \
--data-urlencode "fields[mentioned_tickers]=Stock symbols mentioned" \
--data-urlencode "fields[price_targets]=Any price targets mentioned" \
--data-urlencode "fields[catalysts]=Upcoming events or catalysts mentioned"
# Response:
# {
# "headline": "Tech Giant Beats Q4 Expectations",
# "overall_sentiment": "bullish",
# "sentiment_score": 0.75,
# "key_points": ["Revenue beat by 12%", "Strong guidance", "New product launch"],
# "mentioned_tickers": ["TECH", "AAPL", "MSFT"],
# "price_targets": "$185 (raised from $160)",
# "catalysts": ["Product launch in March", "Analyst day next week"]
# }
# pip install webscraping_ai
# https://pypi.org/project/webscraping-ai/
from webscraping_ai import Client
client = Client(api_key="YOUR_API_KEY")
result = client.fields(
"https://financial-news.com/article/tech-earnings",
fields={
"headline": "The article headline",
"overall_sentiment": "bullish, bearish, or neutral",
"sentiment_score": "Score from -1 (very bearish) to 1 (very bullish)",
"key_points": "Main points that affect sentiment",
"mentioned_tickers": "Stock symbols mentioned",
"price_targets": "Any price targets mentioned",
"catalysts": "Upcoming events or catalysts mentioned",
},
)
print(result)
# Response:
# {
# "headline": "Tech Giant Beats Q4 Expectations",
# "overall_sentiment": "bullish",
# "sentiment_score": 0.75,
# "key_points": ["Revenue beat by 12%", "Strong guidance", "New product launch"],
# "mentioned_tickers": ["TECH", "AAPL", "MSFT"],
# "price_targets": "$185 (raised from $160)",
# "catalysts": ["Product launch in March", "Analyst day next week"]
# }
// npm install webscraping-ai
// https://www.npmjs.com/package/webscraping-ai
import { WebScrapingAI } from 'webscraping-ai';
const client = new WebScrapingAI({ apiKey: 'YOUR_API_KEY' });
const result = await client.fields({
url: 'https://financial-news.com/article/tech-earnings',
fields: {
headline: 'The article headline',
overall_sentiment: 'bullish, bearish, or neutral',
sentiment_score: 'Score from -1 (very bearish) to 1 (very bullish)',
key_points: 'Main points that affect sentiment',
mentioned_tickers: 'Stock symbols mentioned',
price_targets: 'Any price targets mentioned',
catalysts: 'Upcoming events or catalysts mentioned',
},
});
console.log(result);
// Response:
// {
// "headline": "Tech Giant Beats Q4 Expectations",
// "overall_sentiment": "bullish",
// "sentiment_score": 0.75,
// "key_points": ["Revenue beat by 12%", "Strong guidance", "New product launch"],
// "mentioned_tickers": ["TECH", "AAPL", "MSFT"],
// "price_targets": "$185 (raised from $160)",
// "catalysts": ["Product launch in March", "Analyst day next week"]
// }
<?php
// composer require webscraping-ai/webscraping-ai-php
// https://packagist.org/packages/webscraping-ai/webscraping-ai-php
require 'vendor/autoload.php';
use WebScrapingAI\Client;
$client = new Client('YOUR_API_KEY');
$result = $client->fields('https://financial-news.com/article/tech-earnings', [
'headline' => 'The article headline',
'overall_sentiment' => 'bullish, bearish, or neutral',
'sentiment_score' => 'Score from -1 (very bearish) to 1 (very bullish)',
'key_points' => 'Main points that affect sentiment',
'mentioned_tickers' => 'Stock symbols mentioned',
'price_targets' => 'Any price targets mentioned',
'catalysts' => 'Upcoming events or catalysts mentioned',
]);
print_r($result);
// Response:
// {
// "headline": "Tech Giant Beats Q4 Expectations",
// "overall_sentiment": "bullish",
// "sentiment_score": 0.75,
// "key_points": ["Revenue beat by 12%", "Strong guidance", "New product launch"],
// "mentioned_tickers": ["TECH", "AAPL", "MSFT"],
// "price_targets": "$185 (raised from $160)",
// "catalysts": ["Product launch in March", "Analyst day next week"]
// }
# gem install webscraping_ai
# https://rubygems.org/gems/webscraping_ai
require 'webscraping_ai'
client = WebScrapingAI::Client.new(api_key: 'YOUR_API_KEY')
result = client.fields(
'https://financial-news.com/article/tech-earnings',
fields: {
headline: 'The article headline',
overall_sentiment: 'bullish, bearish, or neutral',
sentiment_score: 'Score from -1 (very bearish) to 1 (very bullish)',
key_points: 'Main points that affect sentiment',
mentioned_tickers: 'Stock symbols mentioned',
price_targets: 'Any price targets mentioned',
catalysts: 'Upcoming events or catalysts mentioned',
}
)
puts result.inspect
# Response:
# {
# "headline": "Tech Giant Beats Q4 Expectations",
# "overall_sentiment": "bullish",
# "sentiment_score": 0.75,
# "key_points": ["Revenue beat by 12%", "Strong guidance", "New product launch"],
# "mentioned_tickers": ["TECH", "AAPL", "MSFT"],
# "price_targets": "$185 (raised from $160)",
# "catalysts": ["Product launch in March", "Analyst day next week"]
# }
// go get github.com/webscraping-ai/webscraping-ai-go/v4
// https://pkg.go.dev/github.com/webscraping-ai/webscraping-ai-go/v4
package main
import (
"context"
"fmt"
webscrapingai "github.com/webscraping-ai/webscraping-ai-go/v4"
)
func main() {
client, _ := webscrapingai.NewClient(&webscrapingai.Config{APIKey: "YOUR_API_KEY"})
result, _ := client.Fields(context.Background(), &webscrapingai.FieldsOptions{
URL: "https://financial-news.com/article/tech-earnings",
Fields: map[string]string{
"headline": "The article headline",
"overall_sentiment": "bullish, bearish, or neutral",
"sentiment_score": "Score from -1 (very bearish) to 1 (very bullish)",
"key_points": "Main points that affect sentiment",
"mentioned_tickers": "Stock symbols mentioned",
"price_targets": "Any price targets mentioned",
"catalysts": "Upcoming events or catalysts mentioned",
},
})
fmt.Println(result.Result)
}
// Response:
// {
// "headline": "Tech Giant Beats Q4 Expectations",
// "overall_sentiment": "bullish",
// "sentiment_score": 0.75,
// "key_points": ["Revenue beat by 12%", "Strong guidance", "New product launch"],
// "mentioned_tickers": ["TECH", "AAPL", "MSFT"],
// "price_targets": "$185 (raised from $160)",
// "catalysts": ["Product launch in March", "Analyst day next week"]
// }
// Maven: ai.webscraping:webscraping-ai:4.0.0
// https://central.sonatype.com/artifact/ai.webscraping/webscraping-ai
import ai.webscraping.Client;
import ai.webscraping.Config;
import ai.webscraping.option.FieldsOptions;
import ai.webscraping.result.FieldsResult;
Client client = new Client(Config.builder().apiKey("YOUR_API_KEY").build());
FieldsResult result = client.fields(FieldsOptions.builder()
.url("https://financial-news.com/article/tech-earnings")
.addField("headline", "The article headline")
.addField("overall_sentiment", "bullish, bearish, or neutral")
.addField("sentiment_score", "Score from -1 (very bearish) to 1 (very bullish)")
.addField("key_points", "Main points that affect sentiment")
.addField("mentioned_tickers", "Stock symbols mentioned")
.addField("price_targets", "Any price targets mentioned")
.addField("catalysts", "Upcoming events or catalysts mentioned")
.build());
System.out.println(result.getResult());
// Response:
// {
// "headline": "Tech Giant Beats Q4 Expectations",
// "overall_sentiment": "bullish",
// "sentiment_score": 0.75,
// "key_points": ["Revenue beat by 12%", "Strong guidance", "New product launch"],
// "mentioned_tickers": ["TECH", "AAPL", "MSFT"],
// "price_targets": "$185 (raised from $160)",
// "catalysts": ["Product launch in March", "Analyst day next week"]
// }
// dotnet add package WebScrapingAI
// https://www.nuget.org/packages/WebScrapingAI
using WebScrapingAI;
var client = new WebScrapingAIClient(new WebScrapingAIClientOptions { ApiKey = "YOUR_API_KEY" });
var result = await client.FieldsAsync(new FieldsRequest {
Url = "https://financial-news.com/article/tech-earnings",
Fields = new Dictionary<string, string> {
["headline"] = "The article headline",
["overall_sentiment"] = "bullish, bearish, or neutral",
["sentiment_score"] = "Score from -1 (very bearish) to 1 (very bullish)",
["key_points"] = "Main points that affect sentiment",
["mentioned_tickers"] = "Stock symbols mentioned",
["price_targets"] = "Any price targets mentioned",
["catalysts"] = "Upcoming events or catalysts mentioned",
},
});
Console.WriteLine(result.Result);
// Response:
// {
// "headline": "Tech Giant Beats Q4 Expectations",
// "overall_sentiment": "bullish",
// "sentiment_score": 0.75,
// "key_points": ["Revenue beat by 12%", "Strong guidance", "New product launch"],
// "mentioned_tickers": ["TECH", "AAPL", "MSFT"],
// "price_targets": "$185 (raised from $160)",
// "catalysts": ["Product launch in March", "Analyst day next week"]
// }
curl -G "https://api.webscraping.ai/ai/question" \
--data-urlencode "api_key=YOUR_API_KEY" \
--data-urlencode "url=https://trading-forum.com/discussion/market-outlook" \
--data-urlencode "question=What is the overall sentiment in this discussion? What stocks are people most bullish/bearish on and why?"
# pip install webscraping_ai
# https://pypi.org/project/webscraping-ai/
from webscraping_ai import Client
client = Client(api_key="YOUR_API_KEY")
answer = client.question(
"https://trading-forum.com/discussion/market-outlook",
question="What is the overall sentiment in this discussion? What stocks are people most bullish/bearish on and why?",
)
print(answer)
// npm install webscraping-ai
// https://www.npmjs.com/package/webscraping-ai
import { WebScrapingAI } from 'webscraping-ai';
const client = new WebScrapingAI({ apiKey: 'YOUR_API_KEY' });
const answer = await client.question({
url: 'https://trading-forum.com/discussion/market-outlook',
question: 'What is the overall sentiment in this discussion? What stocks are people most bullish/bearish on and why?',
});
console.log(answer);
<?php
// composer require webscraping-ai/webscraping-ai-php
// https://packagist.org/packages/webscraping-ai/webscraping-ai-php
require 'vendor/autoload.php';
use WebScrapingAI\Client;
$client = new Client('YOUR_API_KEY');
$answer = $client->question(
'https://trading-forum.com/discussion/market-outlook',
'What is the overall sentiment in this discussion? What stocks are people most bullish/bearish on and why?',
);
echo $answer;
# gem install webscraping_ai
# https://rubygems.org/gems/webscraping_ai
require 'webscraping_ai'
client = WebScrapingAI::Client.new(api_key: 'YOUR_API_KEY')
answer = client.question(
'https://trading-forum.com/discussion/market-outlook',
question: 'What is the overall sentiment in this discussion? What stocks are people most bullish/bearish on and why?'
)
puts answer
// go get github.com/webscraping-ai/webscraping-ai-go/v4
// https://pkg.go.dev/github.com/webscraping-ai/webscraping-ai-go/v4
package main
import (
"context"
"fmt"
webscrapingai "github.com/webscraping-ai/webscraping-ai-go/v4"
)
func main() {
client, _ := webscrapingai.NewClient(&webscrapingai.Config{APIKey: "YOUR_API_KEY"})
answer, _ := client.Question(context.Background(), &webscrapingai.QuestionOptions{
URL: "https://trading-forum.com/discussion/market-outlook",
Question: "What is the overall sentiment in this discussion? What stocks are people most bullish/bearish on and why?",
})
fmt.Println(answer)
}
// Maven: ai.webscraping:webscraping-ai:4.0.0
// https://central.sonatype.com/artifact/ai.webscraping/webscraping-ai
import ai.webscraping.Client;
import ai.webscraping.Config;
import ai.webscraping.option.QuestionOptions;
Client client = new Client(Config.builder().apiKey("YOUR_API_KEY").build());
String answer = client.question(QuestionOptions.builder()
.url("https://trading-forum.com/discussion/market-outlook")
.question("What is the overall sentiment in this discussion? What stocks are people most bullish/bearish on and why?")
.build());
System.out.println(answer);
// dotnet add package WebScrapingAI
// https://www.nuget.org/packages/WebScrapingAI
using WebScrapingAI;
var client = new WebScrapingAIClient(new WebScrapingAIClientOptions { ApiKey = "YOUR_API_KEY" });
var answer = await client.QuestionAsync(new QuestionRequest {
Url = "https://trading-forum.com/discussion/market-outlook",
Question = "What is the overall sentiment in this discussion? What stocks are people most bullish/bearish on and why?",
});
Console.WriteLine(answer);
React to news sentiment in real-time
Monitor sentiment shifts for portfolio holdings
Build sentiment factors for quant models
Assess public perception before investments
More financial data solutions
Get started with 1,000 free API credits. No credit card required.