Analyze whether coverage is positive, negative, or neutral across multiple topics, filtered by language

Check whether coverage of multiple related topics is positive, negative, or neutral in specific languages, filtering by source quality

Input parameters

ParameterDescriptionTypeDefaultRequired
titleSearch for multiple topics (comma-separated).stringYes
sentiment.overall.polarityFilter by sentiment.stringYes
published_at.startStart date filter.stringYes
language.codeMultiple languages (comma-separated).stringYes
source.rank.opr.minMinimum source quality.stringYes
api_keyYour API keystringYes
per_pageMaximum number of articles to retrieveinteger30No

Workflow examples

See whether coverage is positive, negative, or neutral across multiple topics:
curl -X GET "https://api.apitube.io/v1/news/everything?title=climate%20change,renewable%20energy,carbon%20emissions&sentiment.overall.polarity=positive&published_at.start=2023-01-01&published_at.end=2023-01-31&api_key=YOUR_API_KEY"
Comparative topic analysis with language filtering:
curl -X GET "https://api.apitube.io/v1/news/everything?title=artificial%20intelligence,machine%20learning&language.code=en,de,ja&sort.by=published_at&sort.order=desc&api_key=YOUR_API_KEY"
Find where topics and named people, organizations, or places overlap:
curl -X GET "https://api.apitube.io/v1/news/everything?title=cryptocurrency&published_at.start=2023-01-01&published_at.end=2023-01-31&sort.by=published_at&sort.order=desc&api_key=YOUR_API_KEY"
Topic-based expert opinion tracking:
curl -X GET "https://api.apitube.io/v1/news/everything?title=quantum%20computing&published_at.start=2020-01-01&published_at.end=2020-01-31&sort.by=published_at&api_key=YOUR_API_KEY"

Related examples

Recipe for cURL

curl --location --globoff --request POST 'https://api.apitube.io/v1/news/everything?title=climate+change%2Crenewable+energy%2Ccarbon+emissions&sentiment.overall.polarity=positive&published_at.start=2023-01-01&language.code=en%2Cde%2Cfr&source.rank.opr.min=0.6&api_key=YOUR_API_KEY&per_page=30' \
--header 'Content-Type: application/json'

Recipe for Python

import requests

url = "https://api.apitube.io/v1/news/everything"

querystring = {
    "title": "climate change,renewable energy,carbon emissions",
    "sentiment.overall.polarity": "positive",
    "published_at.start": "2023-01-01",
    "language.code": "en,de,fr",
    "source.rank.opr.min": 0.6,
    "api_key": "YOUR_API_KEY",
    "per_page": 30
}
response = requests.request("GET", url, params=querystring)

print(response.text)

Recipe for Javascript

import axios from "axios"

const options = {
		method: 'GET',
		url: 'https://api.apitube.io/v1/news/everything',
		params: {
    "title": "climate change,renewable energy,carbon emissions",
    "sentiment.overall.polarity": "positive",
    "published_at.start": "2023-01-01",
    "language.code": "en,de,fr",
    "source.rank.opr.min": 0.6,
    "api_key": "YOUR_API_KEY",
    "per_page": 30
}};

axios.request(options).then(function (response) {
		console.log(response.data);
}).catch(function (error) {
		console.error(error);
});

Recipe for PHP

require 'vendor/autoload.php';

use GuzzleHttp\Client;

$client = new Client();
$response = $client->request('GET', 'https://api.apitube.io/v1/news/everything', [
	'query' => [
    'title' => 'climate change,renewable energy,carbon emissions',
    'sentiment.overall.polarity' => 'positive',
    'published_at.start' => '2023-01-01',
    'language.code' => 'en,de,fr',
    'source.rank.opr.min' => 0.6,
    'api_key' => 'YOUR_API_KEY',
    'per_page' => 30,
],
]);

echo $response->getBody();

Recipe for Java

OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
		.url("https://api.apitube.io/v1/news/everything?title=climate+change%2Crenewable+energy%2Ccarbon+emissions&sentiment.overall.polarity=positive&published_at.start=2023-01-01&language.code=en%2Cde%2Cfr&source.rank.opr.min=0.6&api_key=YOUR_API_KEY&per_page=30")
		.method("POST", body)
		.addHeader("Content-Type", "application/json")
		.build();
Response response = client.newCall(request).execute();
		
  • CNN
  • Techcrunch
  • Vox
  • Apple
  • Microsoft
  • IBM
  • Bloomberg
  • Spotify
We use cookies

By clicking "Accept", you agree to cookies on your device for the site to work and for analytics.