Get articles with range faceting for timelines

Create histogram-style bucketed counts for building timelines and distribution charts

Invoerparameter

ParameterDescriptionTypeDefaultRequired
facet.rangeEnable range faceting (set to true or 1).booleanYes
facet.range.fieldField to create ranges on.stringYes
facet.range.startStart value for the range.stringYes
facet.range.endEnd value for the range.stringYes
facet.range.gapGap/interval between ranges (e.g., 1WEEK, 1DAY).string1DAYNo
api_keyYour API key.stringYes
per_pageMaximum number of articles to retrieve.integer20No

Workflow examples

Request for date range faceting - articles per week:
curl -X GET "https://api.apitube.io/v1/news/everything?title=bitcoin&facet.range=true&facet.range.field=published_at&facet.range.start=2024-01-01&facet.range.end=2024-03-01&facet.range.gap=1WEEK&api_key=YOUR_API_KEY"
Request for sentiment distribution analysis:
curl -X GET "https://api.apitube.io/v1/news/everything?organization.name=Apple&facet.range=true&facet.range.field=sentiment.overall.score&facet.range.start=-1&facet.range.end=1&facet.range.gap=0.25&api_key=YOUR_API_KEY"
Request for reading time distribution:
curl -X GET "https://api.apitube.io/v1/news/everything?category.id=medtop:04000000&facet.range=true&facet.range.field=read_time&facet.range.start=0&facet.range.end=30&facet.range.gap=5&api_key=YOUR_API_KEY"

Recept voor cURL

curl --location --globoff --request POST 'https://api.apitube.io/v1/news/everything?facet.range=1&facet.range.field=published_at&facet.range.start=2024-01-01&facet.range.end=2024-03-01&facet.range.gap=1WEEK&api_key=YOUR_API_KEY&per_page=10' \
--header 'Content-Type: application/json'

Recept voor Python

import requests

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

querystring = {
    "facet.range": true,
    "facet.range.field": "published_at",
    "facet.range.start": "2024-01-01",
    "facet.range.end": "2024-03-01",
    "facet.range.gap": "1WEEK",
    "api_key": "YOUR_API_KEY",
    "per_page": 10
}
response = requests.request("GET", url, params=querystring)

print(response.text)

Recept voor Javascript

import axios from "axios"

const options = {
		method: 'GET',
		url: 'https://api.apitube.io/v1/news/everything',
		params: {
    "facet.range": true,
    "facet.range.field": "published_at",
    "facet.range.start": "2024-01-01",
    "facet.range.end": "2024-03-01",
    "facet.range.gap": "1WEEK",
    "api_key": "YOUR_API_KEY",
    "per_page": 10
}};

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

Recept voor PHP

require 'vendor/autoload.php';

use GuzzleHttp\Client;

$client = new Client();
$response = $client->request('GET', 'https://api.apitube.io/v1/news/everything', [
	'query' => [
    'facet.range' => 1,
    'facet.range.field' => 'published_at',
    'facet.range.start' => '2024-01-01',
    'facet.range.end' => '2024-03-01',
    'facet.range.gap' => '1WEEK',
    'api_key' => 'YOUR_API_KEY',
    'per_page' => 10,
],
]);

echo $response->getBody();

Recept voor 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.range=1&facet.range.field=published_at&facet.range.start=2024-01-01&facet.range.end=2024-03-01&facet.range.gap=1WEEK&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