/sources endpoint lets you discover what news sources News API indexes
and verify whether specific domains are covered. For large domain lists, you can
check coverage in bulk and identify uncovered sources programmatically.
Before you begin
Make sure you have the following:- An active News API key
- For the async coverage script: Python 3.10+ with the Newscatcher Python SDK installed
Steps
Query the sources index
Search for sources by name, language, country, or domain. At least one
filter parameter is required.
source_name performs a partial match —
it returns any source whose name contains the search term. This example
finds sources with “sport” in their name:Review the response
The response returns a list of matching sources. The
message field
indicates when results are limited by your plan:Check specific sources by domain
Use For all available parameters, see the
Sources endpoint reference.
source_url to check whether specific domains are covered. Combine with
other parameters to narrow results:Coverage check for large source lists
When you have thousands of domains to check, use the Python SDK’s async client to batch requests concurrently and identify which sources are not covered by News API. Set theNEWSCATCHER_API_KEY environment variable before running the script:
- Reads domain URLs from
source_urls.csv(one URL per row, first column). - Splits them into batches (
BATCH_SIZE) and sends requests concurrently up to theMAX_CONCURRENTlimit. - Marks each domain as covered or uncovered based on the API response.
- Writes uncovered domains to
uncovered_sources.csv.
uncovered_sources.csv to support — News API can manually add
sources that are missing from the index.
Best practices
- Use
source_namefor broad discovery andsource_urlfor precise coverage verification. - Set
include_additional_info: trueto get reliability and output volume metrics for each source. - Use
from_rankandto_rankto filter sources by SEO rank when you only care about high-authority publications. - If you hit
429errors, lowerMAX_CONCURRENTto stay within your plan’s concurrency limits.

