High-quality visual news aggregation with sentiment

Get premium visual content with high-quality images, positive sentiment, and verified sources

Input parameters

ParameterDescriptionTypeDefaultRequired
media.images.width.minMinimum image width in pixels.integerYes
media.images.height.minMinimum image height in pixels.integerYes
media.images.countMinimum number of images.integerYes
sentiment.overall.polaritySentiment filter (positive).stringYes
category.idCategory filter.stringYes
source.rank.opr.minMinimum source quality rank.stringYes
api_keyYour API key.stringYes
per_pageMaximum number of articles to retrieve.integer15No

Workflow examples

Request for high-quality visual news:
curl -X GET "https://api.apitube.io/v1/news/everything?media.images.width.min=1200&media.images.height.min=800&media.images.count=2&sentiment.overall.polarity=positive&category.id=medtop:13000000&source.rank.opr.min=0.7&api_key=YOUR_API_KEY"
Request for rich media content curation:
curl -X GET "https://api.apitube.io/v1/news/everything?media.images.count=3&media.videos.count=1&category.id=medtop:13000000&published_at.start=2023-01-01&sort.by=published_at&sort.order=desc&api_key=YOUR_API_KEY"
Request for video content analysis for educational topics:
curl -X GET "https://api.apitube.io/v1/news/everything?media.videos.count=2&title=education,learning,tutorial&published_at.start=2023-01-01&sort.by=media.videos.count&sort.order=desc&api_key=YOUR_API_KEY"

Recipe for cURL

curl --location --globoff --request POST 'https://api.apitube.io/v1/news/everything?media.images.width.min=1200&media.images.height.min=800&media.images.count=2&sentiment.overall.polarity=positive&category.id=medtop%3A13000000&source.rank.opr.min=0.7&api_key=YOUR_API_KEY&per_page=15' \
--header 'Content-Type: application/json'

Recipe for Python

import requests

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

querystring = {
    "media.images.width.min": 1200,
    "media.images.height.min": 800,
    "media.images.count": 2,
    "sentiment.overall.polarity": "positive",
    "category.id": "medtop:13000000",
    "source.rank.opr.min": 0.7,
    "api_key": "YOUR_API_KEY",
    "per_page": 15
}
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: {
    "media.images.width.min": 1200,
    "media.images.height.min": 800,
    "media.images.count": 2,
    "sentiment.overall.polarity": "positive",
    "category.id": "medtop:13000000",
    "source.rank.opr.min": 0.7,
    "api_key": "YOUR_API_KEY",
    "per_page": 15
}};

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' => [
    'media.images.width.min' => 1200,
    'media.images.height.min' => 800,
    'media.images.count' => 2,
    'sentiment.overall.polarity' => 'positive',
    'category.id' => 'medtop:13000000',
    'source.rank.opr.min' => 0.7,
    'api_key' => 'YOUR_API_KEY',
    'per_page' => 15,
],
]);

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?media.images.width.min=1200&media.images.height.min=800&media.images.count=2&sentiment.overall.polarity=positive&category.id=medtop%3A13000000&source.rank.opr.min=0.7&api_key=YOUR_API_KEY&per_page=15")
		.method("POST", body)
		.addHeader("Content-Type", "application/json")
		.build();
Response response = client.newCall(request).execute();
		
  • CNN
  • Techcrunch
  • Vox
  • Apple
  • Microsoft
  • IBM
  • Bloomberg
  • Spotify