Search results with highlighting and field selection

Build search interface with highlighted terms, field selection, and multiple filters

Parametri di input

ParameterDescriptionTypeDefaultRequired
titleSearch query.stringYes
flField selection for optimization.stringYes
hlEnable highlighting.booleantrueYes
hl.flFields to highlight.stringYes
per_pageMaximum number of articles to retrieve.integer20Yes
sort.bySort by relevance.stringYes
sort.orderDescending order.stringYes
api_keyYour API key.stringYes

Workflow examples

Request for search results with highlighting:
curl -X GET "https://api.apitube.io/v1/news/everything?title=AI&fl=id,title,description,published_at,source.name&hl=true&hl.fl=title,description&per_page=20&api_key=YOUR_API_KEY"
Request with custom highlight tags for HTML:
curl -X GET "https://api.apitube.io/v1/news/everything?title=Tesla&hl=true&hl.tag.pre=<mark>&hl.tag.post=</mark>&api_key=YOUR_API_KEY"
Request with larger snippets and more results:
curl -X GET "https://api.apitube.io/v1/news/everything?title=climate%20change&hl=true&hl.fragsize=300&hl.snippets=5&api_key=YOUR_API_KEY"
Request combined with filters:
curl -X GET "https://api.apitube.io/v1/news/everything?title=Apple&organization.name=Apple&hl=true&hl.fl=title,description&sentiment.overall.polarity=positive&published_at.start=2024-01-01&api_key=YOUR_API_KEY"

Ricetta per cURL

curl --location --globoff --request POST 'https://api.apitube.io/v1/news/everything?title=AI&fl=id%2Ctitle%2Cdescription%2Cpublished_at%2Csource.name&hl=1&hl.fl=title%2Cdescription&per_page=20&sort.by=relevance&sort.order=desc&api_key=YOUR_API_KEY' \
--header 'Content-Type: application/json'

Ricetta per Python

import requests

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

querystring = {
    "title": "AI",
    "fl": "id,title,description,published_at,source.name",
    "hl": true,
    "hl.fl": "title,description",
    "per_page": 20,
    "sort.by": "relevance",
    "sort.order": "desc",
    "api_key": "YOUR_API_KEY"
}
response = requests.request("GET", url, params=querystring)

print(response.text)

Ricetta per Javascript

import axios from "axios"

const options = {
		method: 'GET',
		url: 'https://api.apitube.io/v1/news/everything',
		params: {
    "title": "AI",
    "fl": "id,title,description,published_at,source.name",
    "hl": true,
    "hl.fl": "title,description",
    "per_page": 20,
    "sort.by": "relevance",
    "sort.order": "desc",
    "api_key": "YOUR_API_KEY"
}};

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

Ricetta per PHP

require 'vendor/autoload.php';

use GuzzleHttp\Client;

$client = new Client();
$response = $client->request('GET', 'https://api.apitube.io/v1/news/everything', [
	'query' => [
    'title' => 'AI',
    'fl' => 'id,title,description,published_at,source.name',
    'hl' => 1,
    'hl.fl' => 'title,description',
    'per_page' => 20,
    'sort.by' => 'relevance',
    'sort.order' => 'desc',
    'api_key' => 'YOUR_API_KEY',
],
]);

echo $response->getBody();

Ricetta per 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=AI&fl=id%2Ctitle%2Cdescription%2Cpublished_at%2Csource.name&hl=1&hl.fl=title%2Cdescription&per_page=20&sort.by=relevance&sort.order=desc&api_key=YOUR_API_KEY")
		.method("POST", body)
		.addHeader("Content-Type", "application/json")
		.build();
Response response = client.newCall(request).execute();
		
  • CNN
  • Techcrunch
  • Vox
  • Apple
  • Microsoft
  • IBM
  • Bloomberg
  • Spotify