Competitive intelligence analysis with sentiment tracking
Track multiple competitors with sentiment analysis, source quality filtering, and time-series data
Input parameters
| Parameter | Description | Type | Default | Required |
|---|---|---|---|---|
| organization.name | Multiple competitors (comma-separated). | string | Yes | |
| category.id | Category filter. | string | Yes | |
| published_at.start | Start date for analysis period. | string | Yes | |
| sort.by | Sort by sentiment score. | string | Yes | |
| sort.order | Descending order. | string | Yes | |
| source.rank.opr.min | Minimum source quality. | string | Yes | |
| is_duplicate | Exclude duplicates. | integer | 0 | Yes |
| api_key | Your API key. | string | Yes | |
| per_page | Maximum number of articles to retrieve. | integer | 30 | No |
Workflow examples
Request for competitive intelligence analysis:
curl -X GET "https://api.apitube.io/v1/news/everything?organization.name=Tesla,Ford,Toyota&category.id=medtop:13000000&published_at.start=2023-01-01&sort.by=sentiment.overall.score&sort.order=desc&source.rank.opr.min=0.7&is_duplicate=0&api_key=YOUR_API_KEY"
Request for cross-industry innovation analysis:
curl -X GET "https://api.apitube.io/v1/news/everything?industry.id=246771,246772&title=innovation&sentiment.overall.polarity=positive&published_at.start=2023-01-01&api_key=YOUR_API_KEY"
Request for organization sentiment tracking during financial events:
curl -X GET "https://api.apitube.io/v1/news/everything?organization.name=JP%20Morgan&published_at.start=2023-04-01&published_at.end=2023-04-30&sort.by=published_at&sort.order=asc&category.id=medtop:04000000&api_key=YOUR_API_KEY"
Recipe for cURL
curl --location --globoff --request POST 'https://api.apitube.io/v1/news/everything?organization.name=Tesla%2CFord%2CToyota&category.id=medtop%3A13000000&published_at.start=2023-01-01&sort.by=sentiment.overall.score&sort.order=desc&source.rank.opr.min=0.7&is_duplicate=0&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 = {
"organization.name": "Tesla,Ford,Toyota",
"category.id": "medtop:13000000",
"published_at.start": "2023-01-01",
"sort.by": "sentiment.overall.score",
"sort.order": "desc",
"source.rank.opr.min": 0.7,
"is_duplicate": 0,
"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: {
"organization.name": "Tesla,Ford,Toyota",
"category.id": "medtop:13000000",
"published_at.start": "2023-01-01",
"sort.by": "sentiment.overall.score",
"sort.order": "desc",
"source.rank.opr.min": 0.7,
"is_duplicate": 0,
"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' => [
'organization.name' => 'Tesla,Ford,Toyota',
'category.id' => 'medtop:13000000',
'published_at.start' => '2023-01-01',
'sort.by' => 'sentiment.overall.score',
'sort.order' => 'desc',
'source.rank.opr.min' => 0.7,
'is_duplicate' => 0,
'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?organization.name=Tesla%2CFord%2CToyota&category.id=medtop%3A13000000&published_at.start=2023-01-01&sort.by=sentiment.overall.score&sort.order=desc&source.rank.opr.min=0.7&is_duplicate=0&api_key=YOUR_API_KEY&per_page=30")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();