Interactive Query Builder
Choose an endpoint and filters to build a request URL and cURL command. Copy the result, or add your API key to run the request from this page.
Text & language
Title and query searches can cover at most 31 days. A wider date range returns ER0110.
Title
Boolean query
Language
How to use the query builder
- Pick an endpoint. For Story, Category, Topic, Industry and Entity, fill in the extra path field. Run stays disabled until you replace the
{placeholder}. - Set parameters. Browse the groups or search by label or API name, such as
sentimentorsource.rank. - Review your filters. The row below the header shows each active parameter and its value. Click one to remove it, or choose Clear all.
- Copy or run. Use Copy URL, Copy cURL or Run. Run opens a new tab. Your key is saved in this browser and sent only to
api.apitube.io.
Start from a preset for breaking news, technology companies, finance or trending entities, then adjust the filters.
What the generated URL contains
The builder shows each parameter's API name next to its label. For example, Min score is sentiment.overall.score.min, and Min rank (OPR) is source.rank.opr.min. Enabled boolean fields use 1. Empty fields are left out of the URL.
The builder shows only options supported by the selected endpoint. Trends appears for /v1/news/trends, and Article lookup for /v1/news/article. Trends has its own sorting and pagination options, so article options such as sort.by, sort.order, page, fl, export, faceting and highlighting are hidden there.
Parameter syntax worth knowing
Most list filters accept up to three values. This applies to source.domain, language.code, category.id, topic.id, industry.id, entity.id, source.id, source.country.code, *.name and their ignore.* versions. Extra values are ignored without an error. The article endpoint's id accepts up to 100 IDs.
Title searches are limited to a 31-day window. title, title_pattern, title_starts_with, title_ends_with and query may not span more than 31 days of published_at on any plan. A wider explicit range returns 400 ER0110; no range at all searches the last 31 days and reports ER0366 in meta.warnings.
title supports phrases with proximity. "climate change"~2 matches the two words within two positions of each other. title_pattern is a plain substring match, not a regular expression — ^, ., * and | are treated as literal characters.
Use query to combine conditions. It supports AND, OR, NOT, parentheses, field:value, quoted phrases, ranges [a TO b] and entity blocks. It combines with other filters through AND. Invalid syntax returns ER0701–ER0712. See advanced query syntax.
Dates take YYYY-MM-DD or ISO 8601. 2024-01-15 and 2024-01-15T10:30:00Z are both accepted for published_at, published_at.start and published_at.end.
per_page is capped by plan. The parameter accepts 1–250, but Free is limited to 10, Starter to 50 and Basic to 200; asking for more returns 400 ER0171. The Free plan also cannot go past page 5 (ER0173). On /v1/news/trends the ceiling is 100.
Source rank uses whole numbers from 0 to 10. Decimal values are rounded down: source.rank.opr.min=0.7 becomes 0. Premium only sets source.rank.opr.min=6. Verified only sets source.rank.opr.min=5 and is_duplicate=0.
Turn on facets or highlighting before choosing their fields. facet=1, facet.range=1 and hl=1 enable these features. Without the flag, selecting facet.field or hl.fl alone has no effect. The builder's checkboxes set the flags for you.
Running the generated query in code
Copy the URL from the builder and drop it into your client of choice.
const url =
'https://api.apitube.io/v1/news/everything?title=AI&sentiment.overall.polarity=positive&api_key=YOUR_API_KEY';
const response = await fetch(url);
const data = await response.json();
console.log(data.results.length);import requests
response = requests.get(
"https://api.apitube.io/v1/news/everything",
params={
"title": "AI",
"sentiment.overall.polarity": "positive",
"api_key": "YOUR_API_KEY",
},
)
data = response.json()curl "https://api.apitube.io/v1/news/everything?title=AI&sentiment.overall.polarity=positive&api_key=YOUR_API_KEY"In production, keep your key on your server and send it in the X-API-Key header. See Authentication.
Related
- Search articles — the full parameter reference behind every field in the builder.
- All endpoints — which endpoint answers which question.
- HTTP response codes — what each error code from a generated request means.
- Integration guides — the same request in 25+ languages and frameworks.