Combined regular and range faceting

Use both regular faceting and range faceting together for comprehensive analytics

Eingabeparameter

ParameterDescriptionTypeDefaultRequired
titleSearch query.stringYes
facetEnable regular faceting.booleantrueYes
facet.fieldFields for regular faceting.stringYes
facet.rangeEnable range faceting.booleantrueYes
facet.range.fieldField for range faceting.stringYes
facet.range.startStart value for range.stringYes
facet.range.endEnd value for range.stringYes
facet.range.gapGap between ranges (e.g., 1MONTH).stringYes
api_keyYour API key.stringYes
per_pageMaximum number of articles to retrieve.integer20No

Workflow examples

Request for combined regular and range faceting:
curl -X GET "https://api.apitube.io/v1/news/everything?title=climate&facet=true&facet.field=source.country.id,language.id&facet.range=true&facet.range.field=published_at&facet.range.start=2024-01-01&facet.range.end=2024-06-01&facet.range.gap=1MONTH&api_key=YOUR_API_KEY"
Request for sentiment timeline dashboard:
curl -X GET "https://api.apitube.io/v1/news/everything?brand.name=Nike&facet.range=true&facet.range.field=published_at&facet.range.start=2024-01-01&facet.range.end=2024-12-31&facet.range.gap=1MONTH&sentiment.overall.polarity=positive&api_key=YOUR_API_KEY"
Request for media richness timeline:
curl -X GET "https://api.apitube.io/v1/news/everything?has_image=1&facet.range=true&facet.range.field=media.images.count&facet.range.start=1&facet.range.end=20&facet.range.gap=2&api_key=YOUR_API_KEY"

Rezept für cURL

curl --location --globoff --request POST 'https://api.apitube.io/v1/news/everything?title=climate&facet=1&facet.field=source.country.id%2Clanguage.id&facet.range=1&facet.range.field=published_at&facet.range.start=2024-01-01&facet.range.end=2024-06-01&facet.range.gap=1MONTH&api_key=YOUR_API_KEY&per_page=20' \
--header 'Content-Type: application/json'

Rezept für Python

import requests

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

querystring = {
    "title": "climate",
    "facet": true,
    "facet.field": "source.country.id,language.id",
    "facet.range": true,
    "facet.range.field": "published_at",
    "facet.range.start": "2024-01-01",
    "facet.range.end": "2024-06-01",
    "facet.range.gap": "1MONTH",
    "api_key": "YOUR_API_KEY",
    "per_page": 20
}
response = requests.request("GET", url, params=querystring)

print(response.text)

Rezept für Javascript

import axios from "axios"

const options = {
		method: 'GET',
		url: 'https://api.apitube.io/v1/news/everything',
		params: {
    "title": "climate",
    "facet": true,
    "facet.field": "source.country.id,language.id",
    "facet.range": true,
    "facet.range.field": "published_at",
    "facet.range.start": "2024-01-01",
    "facet.range.end": "2024-06-01",
    "facet.range.gap": "1MONTH",
    "api_key": "YOUR_API_KEY",
    "per_page": 20
}};

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

Rezept für 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',
    'facet' => 1,
    'facet.field' => 'source.country.id,language.id',
    'facet.range' => 1,
    'facet.range.field' => 'published_at',
    'facet.range.start' => '2024-01-01',
    'facet.range.end' => '2024-06-01',
    'facet.range.gap' => '1MONTH',
    'api_key' => 'YOUR_API_KEY',
    'per_page' => 20,
],
]);

echo $response->getBody();

Rezept für 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&facet=1&facet.field=source.country.id%2Clanguage.id&facet.range=1&facet.range.field=published_at&facet.range.start=2024-01-01&facet.range.end=2024-06-01&facet.range.gap=1MONTH&api_key=YOUR_API_KEY&per_page=20")
		.method("POST", body)
		.addHeader("Content-Type", "application/json")
		.build();
Response response = client.newCall(request).execute();
		
  • CNN
  • Techcrunch
  • Vox
  • Apple
  • Microsoft
  • IBM
  • Bloomberg
  • Spotify