Search results with highlighting and field selection

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

Indataparameter

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"

Recept för 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'

Recept för 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)

Recept för 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);
});

Recept 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' => '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();

Recept 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=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