Three controls
If both
included_sources and excluded_sources are set, included_sources wins. Use hard filters for strict control; use source_biases to nudge ranking while still letting any source appear if highly relevant.
What you can pass
Every source field accepts any mix of these formats:Presets
Presets are curated bundles of vetted sources. Pass a preset name and it expands to the right datasets and domains for you - no need to remember individual ids.Presets are disjoint - a dataset lives in exactly one.
academic is papers and preprints only: clinical trials, drug labels, WHO and NIH grants are in health, and ChEMBL, Open Targets and PubChem are in chemistry. medical is the one deliberate cross-domain bundle. Some presets resolve to datasets that are DeepResearch-only and return no results on /search - check the access_modes field on GET /v1/datasources before relying on one.Premium presets (
finance, patent, genomics, chemistry, and others that resolve to proprietary datasets) require a subscription. academic and web work on any plan, and a plan also lowers your cost per credit.Source biases
source_biases influences ranking without hard filtering. Biased sources can still appear (or drop) based on relevance - values just nudge the order. Range: -5 (strong demotion) to +5 (strong boost); 0 has no effect.
source_biases with included_sources / excluded_sources in the same request for fine-grained control.
More examples
Target academic datasets by id
Target academic datasets by id
Python
Restrict to official documentation
Restrict to official documentation
Python
Exclude unreliable sources
Exclude unreliable sources
Python
Medical research
Medical research
Python
Financial research with government sources
Financial research with government sources
Python
Related
Collections
Save reusable source bundles
Data sources
Every dataset id and preset

