Search results with highlighting and field selection

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

Parâmetros de entrada

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"

Receita para 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'

Receita para 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)

Receita para 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);
});

Receita para 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();

Receita para 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