How to Filter for Premium and Verified Sources
Keep only high-authority publishers with is_premium_source and is_verified_source
Written by Beatrice Riddick
June 26, 2026
How to filter for premium and verified sources
To keep only articles from high-authority publishers, add is_premium_source=1 or is_verified_source=1 to your /v1/news/everything request. Both flags filter on the source’s OPR (Open Page Rank), a publisher-authority score on a 0–10 scale. is_premium_source=1 keeps the strongest publishers (OPR 6 and above); is_verified_source=1 is a slightly broader bar (OPR 5 and above) that also removes duplicate articles.
curl "https://api.apitube.io/v1/news/everything?is_premium_source=1&api_key=YOUR_API_KEY"
You can send the key as a header (X-API-Key: YOUR_API_KEY) instead of the api_key query parameter. Both flags accept only 0 or 1; any other value returns HTTP 400, with error ER0195 for is_premium_source and ER0196 for is_verified_source.
What is the difference between premium and verified sources?
is_premium_source and is_verified_source both raise the OPR floor of your results, but to different levels. is_premium_source=1 keeps articles whose source has an OPR of 6 or higher — the tightest authority filter. is_verified_source=1 keeps sources with an OPR of 5 or higher and drops any article flagged as a duplicate, so it trades a little authority for de-duplicated coverage. Verified is the better default when you want trustworthy publishers without losing breadth; premium is for when you only want the top tier.
OPR (Open Page Rank) is a publisher-authority metric scored from 0 to 10. A higher OPR means a more trustworthy source, so filtering by these flags is a fast way to screen out low-quality publishers without naming domains one by one.
How to keep only premium sources
Set is_premium_source=1 to require an OPR of 6 or higher. Because it runs in the shared filter chain, it combines with any other filter and with sorting:
curl "https://api.apitube.io/v1/news/everything?is_premium_source=1&language.code=en&sort.by=published_at&sort.order=desc&api_key=YOUR_API_KEY"
That returns the newest English articles from top-tier publishers. The flag only acts when set to 1: passing is_premium_source=0 is accepted but applies no constraint (it does not return only non-premium sources), so leave the flag off entirely when you do not want to filter.
How to keep verified sources and drop duplicates
Set is_verified_source=1 to require an OPR of 5 or higher and exclude duplicate articles in a single step:
curl "https://api.apitube.io/v1/news/everything?is_verified_source=1&title=elections&api_key=YOUR_API_KEY"
The built-in duplicate removal is what separates is_verified_source from is_premium_source. If you specifically want to control duplicates on their own, or alongside paywalled content, see how to exclude paywalled or duplicate articles.
How to set a custom OPR threshold
If OPR 5 or 6 is not the cutoff you want, filter on the score directly with source.rank.opr.min (and its companion source.rank.opr.max). It compares against the same OPR value, so source.rank.opr.min=6 is exactly equivalent to is_premium_source=1:
curl "https://api.apitube.io/v1/news/everything?source.rank.opr.min=7&api_key=YOUR_API_KEY"
source.rank.opr.min must be a number of 0 or greater (a non-numeric value returns ER0044, a negative value returns ER0045, and a value outside 1–10 characters returns ER0046). Use it to pick any floor on the 0–10 scale; use the is_premium_source / is_verified_source shortcuts when the standard cutoffs are enough.
How to see a source’s OPR in the response
Every article carries the publisher’s OPR under source.rankings.opr, so you can confirm why an article passed or failed the filter:
{
"source": {
"domain": "example.com",
"rankings": { "opr": 7 }
}
}
Inspecting source.rankings.opr is the quickest way to calibrate your threshold: pull a sample without the flag, look at the OPR values you are getting, then set is_premium_source, is_verified_source or source.rank.opr.min accordingly. To screen publishers by their editorial slant instead of their authority, combine these flags with source bias filtering.
Common Questions
- What OPR score does each flag require?
- Does is_premium_source=0 return non-premium sources?
- Can I combine premium and verified with other filters?
- What error do these flags return for a bad value?
Can I combine premium and verified with other filters?
Yes. is_premium_source and is_verified_source run in the shared filter chain, so they stack with language.code, title, published_at.start/published_at.end, source.bias and the rest. You can also pass both flags together; because each only adds a constraint when set to 1, sending is_verified_source=1 with another filter simply narrows the same result set.
What error do these flags return for a bad value?
Both flags accept only 0 or 1. Any other value returns HTTP 400: is_premium_source returns error ER0195 (is_premium_source must be 0 or 1) and is_verified_source returns ER0196 (is_verified_source must be 0 or 1). For the custom threshold parameter, a non-numeric source.rank.opr.min returns ER0044 and an out-of-range length returns ER0046.