Search results with highlighting and field selection

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

Paramètres d'entrée

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"

Recette pour 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'

Recette pour 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)

Recette pour 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);
});

Recette pour 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();

Recette pour 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