Combined regular and range faceting

Use both regular faceting and range faceting together for comprehensive analytics

Input parametre

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"

Opskrift på 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'

Opskrift på 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)

Opskrift på 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);
});

Opskrift på 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();

Opskrift på 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