Get article counts by field for analysis

Count articles by field for analytics dashboards

Input parameters

ParameterDescriptionTypeDefaultRequired
facetCount articles by field (set to true or 1).booleanYes
facet.fieldFields to count articles by, separated by commas.stringYes
facet.limitMaximum number of grouped values per fieldinteger10No
api_keyYour API keystringYes
per_pageMaximum number of articles to retrieveinteger20No

Workflow examples

Group results by source and count them:
curl -X GET "https://api.apitube.io/v1/news/everything?facet=true&facet.field=source.id&api_key=YOUR_API_KEY"
Group results by multiple fields and count them:
curl -X GET "https://api.apitube.io/v1/news/everything?facet=true&facet.field=source.id,language.id,sentiment.overall.polarity&api_key=YOUR_API_KEY"
See whether coverage is positive, negative, or neutral, grouped by source:
curl -X GET "https://api.apitube.io/v1/news/everything?category.id=medtop:04000000&facet=true&facet.field=source.id,sentiment.overall.polarity&facet.limit=10&api_key=YOUR_API_KEY"

Related examples

Recipe for cURL

curl --location --globoff --request POST 'https://api.apitube.io/v1/news/everything?facet=1&facet.field=source.id%2Csentiment.overall.polarity&api_key=YOUR_API_KEY&per_page=10' \
--header 'Content-Type: application/json'

Recipe for Python

import requests

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

querystring = {
    "facet": true,
    "facet.field": "source.id,sentiment.overall.polarity",
    "api_key": "YOUR_API_KEY",
    "per_page": 10
}
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: {
    "facet": true,
    "facet.field": "source.id,sentiment.overall.polarity",
    "api_key": "YOUR_API_KEY",
    "per_page": 10
}};

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' => [
    'facet' => 1,
    'facet.field' => 'source.id,sentiment.overall.polarity',
    'api_key' => 'YOUR_API_KEY',
    'per_page' => 10,
],
]);

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?facet=1&facet.field=source.id%2Csentiment.overall.polarity&api_key=YOUR_API_KEY&per_page=10")
		.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.