Global Entrez Query
eutils_egqueryFind which Entrez database holds records for a topic by querying all databases at once and returning match counts. Use it before running a targeted search.
Instructions
Search every Entrez database at once and report how many records each one matches.
Use this to find which database holds data for a topic before committing to a search. It returns counts only, never records.
Args:
term (string): Entrez text query, for example "CRISPR base editing".
response_format ('markdown' | 'json'): output format. Default 'markdown'.
Returns: { term, databases_searched, databases_with_hits, hits: [{ db, menu, count, status }] (sorted by count, descending), empty_databases: string[] }
Examples:
Use when: "which database has information about BRCA1 variants?" -> term="BRCA1 variants"
Don't use when: you already know the database (use eutils_esearch instead)
Error Handling:
Returns "The search term was empty" when term is blank
NCBI EGQuery redirects to an internal host that is not published in public DNS, for every client including ones with a valid API key. When the real EGQuery is unreachable this tool falls back to per-database ESearch counts over 12 commonly used databases, and says so in a "degraded" field. Counts are then a subset, not all 38.
The fallback triggers only on a network failure, never on a validation error.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | Entrez text query to run against every database at once. | |
| response_format | No | Output format: 'markdown' for human-readable text, or 'json' for machine-readable data. Default: 'markdown'. | markdown |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hits | Yes | ||
| term | Yes | ||
| degraded | No | True when the fallback produced this result. | |
| degraded_reason | No | ||
| empty_databases | Yes | ||
| databases_searched | Yes | ||
| databases_with_hits | Yes |