Comprehensive analytics dashboard query
Build analytics dashboard with faceting, range faceting, field selection, and multiple filters
入力パラメータ
| Parameter | Description | Type | Default | Required |
|---|---|---|---|---|
| organization.name | Organization filter. | string | Yes | |
| facet | Enable regular faceting. | boolean | true | Yes |
| facet.field | Multiple fields for faceting. | string | Yes | |
| facet.range | Enable range faceting. | boolean | true | Yes |
| facet.range.field | Field for range faceting. | string | Yes | |
| facet.range.start | Start date for range. | string | Yes | |
| facet.range.end | End date for range. | string | Yes | |
| facet.range.gap | Gap between ranges. | string | Yes | |
| fl | Field selection. | string | Yes | |
| source.rank.opr.min | Minimum source quality. | string | Yes | |
| api_key | Your API key. | string | Yes | |
| per_page | Maximum number of articles to retrieve. | integer | 50 | No |
Workflow examples
Request for comprehensive analytics dashboard:
curl -X GET "https://api.apitube.io/v1/news/everything?organization.name=Tesla&facet=true&facet.field=source.id,language.id,sentiment.overall.polarity,published.day_of_week&facet.range=true&facet.range.field=published_at&facet.range.start=2024-01-01&facet.range.end=2024-12-31&facet.range.gap=1MONTH&fl=id,title,published_at,sentiment.overall.score&source.rank.opr.min=0.6&api_key=YOUR_API_KEY"
Request for sentiment strength analysis:
curl -X GET "https://api.apitube.io/v1/news/everything?organization.name=Tesla&facet=true&facet.field=sentiment.strength,sentiment.overall.polarity&api_key=YOUR_API_KEY"
Request for yearly trend analysis:
curl -X GET "https://api.apitube.io/v1/news/everything?topic.id=artificial_intelligence&facet=true&facet.field=published.year,published.month&published_at.start=2020-01-01&api_key=YOUR_API_KEY"
のためのレシピ cURL
curl --location --globoff --request POST 'https://api.apitube.io/v1/news/everything?organization.name=Tesla&facet=1&facet.field=source.id%2Clanguage.id%2Csentiment.overall.polarity%2Cpublished.day_of_week&facet.range=1&facet.range.field=published_at&facet.range.start=2024-01-01&facet.range.end=2024-12-31&facet.range.gap=1MONTH&fl=id%2Ctitle%2Cpublished_at%2Csentiment.overall.score&source.rank.opr.min=0.6&api_key=YOUR_API_KEY&per_page=50' \
--header 'Content-Type: application/json'
のためのレシピ Python
import requests
url = "https://api.apitube.io/v1/news/everything"
querystring = {
"organization.name": "Tesla",
"facet": true,
"facet.field": "source.id,language.id,sentiment.overall.polarity,published.day_of_week",
"facet.range": true,
"facet.range.field": "published_at",
"facet.range.start": "2024-01-01",
"facet.range.end": "2024-12-31",
"facet.range.gap": "1MONTH",
"fl": "id,title,published_at,sentiment.overall.score",
"source.rank.opr.min": 0.6,
"api_key": "YOUR_API_KEY",
"per_page": 50
}
response = requests.request("GET", url, params=querystring)
print(response.text)
のためのレシピ Javascript
import axios from "axios"
const options = {
method: 'GET',
url: 'https://api.apitube.io/v1/news/everything',
params: {
"organization.name": "Tesla",
"facet": true,
"facet.field": "source.id,language.id,sentiment.overall.polarity,published.day_of_week",
"facet.range": true,
"facet.range.field": "published_at",
"facet.range.start": "2024-01-01",
"facet.range.end": "2024-12-31",
"facet.range.gap": "1MONTH",
"fl": "id,title,published_at,sentiment.overall.score",
"source.rank.opr.min": 0.6,
"api_key": "YOUR_API_KEY",
"per_page": 50
}};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});
のためのレシピ PHP
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$client = new Client();
$response = $client->request('GET', 'https://api.apitube.io/v1/news/everything', [
'query' => [
'organization.name' => 'Tesla',
'facet' => 1,
'facet.field' => 'source.id,language.id,sentiment.overall.polarity,published.day_of_week',
'facet.range' => 1,
'facet.range.field' => 'published_at',
'facet.range.start' => '2024-01-01',
'facet.range.end' => '2024-12-31',
'facet.range.gap' => '1MONTH',
'fl' => 'id,title,published_at,sentiment.overall.score',
'source.rank.opr.min' => 0.6,
'api_key' => 'YOUR_API_KEY',
'per_page' => 50,
],
]);
echo $response->getBody();
のためのレシピ 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?organization.name=Tesla&facet=1&facet.field=source.id%2Clanguage.id%2Csentiment.overall.polarity%2Cpublished.day_of_week&facet.range=1&facet.range.field=published_at&facet.range.start=2024-01-01&facet.range.end=2024-12-31&facet.range.gap=1MONTH&fl=id%2Ctitle%2Cpublished_at%2Csentiment.overall.score&source.rank.opr.min=0.6&api_key=YOUR_API_KEY&per_page=50")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();