NCBI Gene Database
Overview
NCBI Gene is a comprehensive database integrating gene information from diverse species. It provides nomenclature, reference sequences (RefSeqs), chromosomal maps, biological pathways, genetic variations, phenotypes, and cross-references to global genomic resources. In this project the agent exposes 3 download tools: fetch gene data by ID or symbol (Datasets API), and batch lookup by symbols. For finer control, ncbi_operations.py also provides E-utilities download/query functions (esearch, esummary, efetch) and additional batch operations. All download/query functions return rich JSON {status, file_info/content, content_preview, biological_metadata, execution_context}.
When to Use This Skill
This skill should be used when working with gene data including searching by gene symbol or ID, retrieving gene sequences and metadata, analyzing gene functions and pathways, or performing batch gene lookups.
Quick Start
The skill provides:
- Project modules in
src/tools/database/ncbi/: fetch_gene_data.py (Datasets API), query_gene.py (E-utilities), batch_gene_lookup.py (batch operations), ncbi_operations.py (query/download operations); gene download functions re-exported via package.
- References:
references/api_reference.md, references/common_workflows.md
NCBI provides two main APIs:
- Datasets API — Optimized for gene data retrieval; used by
download_ncbi_gene_by_id and download_ncbi_gene_by_symbol tools
- E-utilities — Full-featured API for complex queries; used by the esearch/esummary/efetch programmatic functions
Agent Tools (Download Only)
| Tool name |
Arguments |
Purpose |
download_ncbi_gene_by_id |
gene_id, out_path |
Download gene data by NCBI Gene ID (Datasets API) to JSON |
download_ncbi_gene_by_symbol |
symbol, taxon, out_path |
Download gene data by symbol and organism (Datasets API) to JSON |
download_ncbi_batch_lookup_by_symbols |
gene_symbols, organism, out_path |
Batch lookup multiple genes by symbols to JSON |
Also available as general NCBI tools (useful in gene workflows):
| Tool name |
Arguments |
Purpose |
download_ncbi_sequence |
ncbi_id, out_path, db (optional) |
Download NCBI sequence by accession (FASTA) |
download_ncbi_metadata |
ncbi_id, out_path, db, rettype (optional) |
Download NCBI metadata (GenBank/XML) |
download_ncbi_blast |
sequence, out_path, program, database, etc. |
Submit BLAST search and download XML |
Project Modules (Programmatic Use)
| Capability |
Function |
Module |
Purpose |
| Fetch by ID |
fetch_gene_by_id(gene_id, api_key) |
fetch_gene_data.py |
Datasets API: gene data as dict |
| Fetch by symbol |
fetch_gene_by_symbol(symbol, taxon, api_key) |
fetch_gene_data.py |
Datasets API: gene data as dict |
| Fetch multiple |
fetch_multiple_genes(gene_ids, api_key) |
fetch_gene_data.py |
Datasets API: multiple genes at once |
| Taxon lookup |
get_taxon_id(taxon_name) |
fetch_gene_data.py |
Convert name to NCBI taxon ID |
| E-util search |
esearch(query, retmax, api_key) |
query_gene.py |
Search Gene DB, returns Gene IDs |
| E-util summary |
esummary(gene_ids, api_key) |
query_gene.py |
Get document summaries by Gene IDs |
| E-util fetch |
efetch(gene_ids, retmode, api_key) |
query_gene.py |
Fetch full gene records (XML/text) |
| Search+summarize |
search_and_summarize(query, organism, max_results, api_key) |
query_gene.py |
Convenience: search + display |
| Batch search |
batch_esearch(queries, organism, api_key) |
batch_gene_lookup.py |
Search multiple symbols → ID map |
| Batch summary |
batch_esummary(gene_ids, api_key, chunk_size) |
batch_gene_lookup.py |
Summaries in chunks |
| Batch by IDs |
batch_lookup_by_ids(gene_ids, api_key) |
batch_gene_lookup.py |
Structured gene data by IDs |
| Batch by symbols |
batch_lookup_by_symbols(gene_symbols, organism, api_key) |
batch_gene_lookup.py |
Structured gene data by symbols |
| Query: by ID |
query_ncbi_gene_by_id(gene_id) |
ncbi_operations.py |
Returns rich JSON in memory |
| Query: by symbol |
query_ncbi_gene_by_symbol(symbol, taxon) |
ncbi_operations.py |
Returns rich JSON in memory |
| Query: esearch |
query_ncbi_gene_esearch(query, retmax) |
ncbi_operations.py |
Returns rich JSON in memory |
| Query: esummary |
query_ncbi_gene_esummary(gene_ids) |
ncbi_operations.py |
Returns rich JSON in memory |
| Query: efetch |
query_ncbi_gene_efetch(gene_ids, retmode) |
ncbi_operations.py |
Returns rich JSON in memory |
| Query: batch search |
query_ncbi_batch_esearch(queries, organism) |
ncbi_operations.py |
Returns rich JSON in memory |
| Query: batch by IDs |
query_ncbi_batch_lookup_by_ids(gene_ids) |
ncbi_operations.py |
Returns rich JSON in memory |
| Query: batch by symbols |
query_ncbi_batch_lookup_by_symbols(gene_symbols, organism) |
ncbi_operations.py |
Returns rich JSON in memory |
| Download: by ID |
download_ncbi_gene_by_id(gene_id, out_path) |
ncbi_operations.py |
Save to file, return rich JSON |
| Download: by symbol |
download_ncbi_gene_by_symbol(symbol, taxon, out_path) |
ncbi_operations.py |
Save to file, return rich JSON |
| Download: esearch |
download_ncbi_gene_esearch(query, out_path, retmax) |
ncbi_operations.py |
Save to file, return rich JSON |
| Download: esummary |
download_ncbi_gene_esummary(gene_ids, out_path) |
ncbi_operations.py |
Save to file, return rich JSON |
| Download: efetch |
download_ncbi_gene_efetch(gene_ids, out_path, retmode) |
ncbi_operations.py |
Save to file, return rich JSON |
| Download: batch search |
download_ncbi_batch_esearch(queries, out_path, organism) |
ncbi_operations.py |
Save to file, return rich JSON |
| Download: batch by IDs |
download_ncbi_batch_lookup_by_ids(gene_ids, out_path) |
ncbi_operations.py |
Save to file, return rich JSON |
| Download: batch by symbols |
download_ncbi_batch_lookup_by_symbols(gene_symbols, organism, out_path) |
ncbi_operations.py |
Save to file, return rich JSON |
Core Capabilities
1. Download Gene by ID (Datasets API)
from src.tools.database.ncbi import download_ncbi_gene_by_id
result = download_ncbi_gene_by_id("672", "output/ncbi_gene_brca1.json")
# Returns rich JSON with gene metadata, RefSeqs, GO annotations, etc.
2. Download Gene by Symbol (Datasets API)
from src.tools.database.ncbi import download_ncbi_gene_by_symbol
result = download_ncbi_gene_by_symbol("BRCA1", "human", "output/ncbi_gene_brca1_by_symbol.json")
result = download_ncbi_gene_by_symbol("TP53", "Homo sapiens", "output/ncbi_gene_tp53.json")
3. Batch Lookup by Symbols
from src.tools.database.ncbi import download_ncbi_batch_lookup_by_symbols
result = download_ncbi_batch_lookup_by_symbols(
["BRCA1", "TP53", "EGFR"], "human", "output/ncbi_genes_batch.json"
)
4. E-utilities Workflow (programmatic)
from src.tools.database.ncbi.ncbi_operations import (
query_ncbi_gene_esearch,
download_ncbi_gene_esummary,
download_ncbi_gene_efetch,
)
# Step 1: Search for gene IDs
esearch_result = query_ncbi_gene_esearch("BRCA1[gene] AND human[organism]", retmax=10)
# Step 2: Download summaries or full records
download_ncbi_gene_esummary(["672", "7157"], "output/gene_summaries.json")
download_ncbi_gene_efetch(["672"], "output/gene_full_record.xml")
5. Low-Level Direct Access (programmatic)
from src.tools.database.ncbi.fetch_gene_data import fetch_gene_by_id, fetch_gene_by_symbol
from src.tools.database.ncbi.query_gene import esearch, esummary, efetch
from src.tools.database.ncbi.batch_gene_lookup import batch_lookup_by_symbols
# Datasets API
gene_data = fetch_gene_by_id("672")
gene_data = fetch_gene_by_symbol("BRCA1", "human")
# E-utilities
gene_ids = esearch("insulin[gene] AND human[organism]")
summaries = esummary(gene_ids)
records = efetch(gene_ids, retmode="xml")
# Batch
results = batch_lookup_by_symbols(["BRCA1", "TP53"], "human")
Common Workflows
Workflow 1: Gene Annotation (download)
from src.tools.database.ncbi import (
download_ncbi_gene_by_symbol,
download_ncbi_batch_lookup_by_symbols,
)
# Single gene
download_ncbi_gene_by_symbol("BRCA1", "human", "output/brca1_annotation.json")
# Gene panel
download_ncbi_batch_lookup_by_symbols(
["BRCA1", "BRCA2", "TP53", "PTEN", "ATM"], "human", "output/cancer_panel.json"
)
Workflow 2: Gene Search and Retrieve (programmatic)
from src.tools.database.ncbi.ncbi_operations import (
query_ncbi_gene_esearch,
download_ncbi_gene_by_id,
)
import json
# Search by complex query
result = query_ncbi_gene_esearch("p53 AND human[organism]", retmax=5)
parsed = json.loads(result)
# Download details for each hit
if parsed.get("status") == "success":
content = json.loads(parsed["content"])
for gene_id in content.get("gene_ids", []):
download_ncbi_gene_by_id(str(gene_id), f"output/gene_{gene_id}.json")
Workflow 3: Cross-Database Integration
from src.tools.database.ncbi import (
download_ncbi_gene_by_id,
download_ncbi_sequence,
download_ncbi_metadata,
)
# Step 1: Get comprehensive gene info
download_ncbi_gene_by_id("672", "output/brca1_gene_info.json")
# Step 2: Download protein sequence
download_ncbi_sequence("NP_009225.1", "output/brca1_protein.fasta", db="protein")
# Step 3: Download GenBank metadata
download_ncbi_metadata("NP_009225.1", "output/brca1_metadata.gb", db="protein")
Search Query Patterns
Example E-utilities query patterns for NCBI Gene:
- Gene symbol:
insulin[gene name] AND human[organism]
- Gene with disease:
dystrophin[gene name] AND muscular dystrophy[disease]
- Chromosome location:
human[organism] AND 17q21[chromosome]
- GO term:
GO:0006915[biological process] (apoptosis)
- Phenotype:
diabetes[phenotype] AND mouse[organism]
- Pathway:
insulin signaling pathway[pathway]
API Access
Rate Limits:
- Without API key: 3 requests/second for E-utilities, 5 requests/second for Datasets API
- With API key: 10 requests/second for both APIs
Authentication:
Register for a free NCBI API key at https://www.ncbi.nlm.nih.gov/account/ to increase rate limits.
Data Formats
NCBI Gene data can be retrieved in multiple formats:
| Format |
Use case |
| JSON |
Modern applications, programmatic processing |
| XML |
Legacy systems, detailed metadata |
| GenBank |
Sequence data with annotations |
| FASTA |
Sequence analysis workflows |
Best Practices
- Always specify organism when searching by gene symbol to avoid ambiguity
- Use Gene IDs for precise lookups when available
- Batch requests when working with multiple genes to minimize API calls
- Cache results locally to reduce redundant queries
- Include API key in environment for higher rate limits
- Handle errors gracefully with retry logic for transient failures
Resources
Helper Scripts
fetch_gene_data.py — NCBI Datasets API: fetch_gene_by_id(), fetch_gene_by_symbol(), fetch_multiple_genes()
query_gene.py — E-utilities: esearch(), esummary(), efetch(), search_and_summarize()
batch_gene_lookup.py — Batch: batch_esearch(), batch_esummary(), batch_lookup_by_ids(), batch_lookup_by_symbols()
Reference Documentation
references/api_reference.md — E-utilities and Datasets API documentation, endpoints, parameters, response formats
references/common_workflows.md — Additional examples and use case patterns
1---2name: ncbi-gene3description: Query NCBI Gene via E-utilities/Datasets API. Search by symbol/ID, retrieve gene info (RefSeqs, GO, locations, phenotypes), batch lookups, for gene annotation and functional analysis.4license: Unknown5---67# NCBI Gene Database89## Overview1011NCBI Gene is a comprehensive database integrating gene information from diverse species. It provides nomenclature, reference sequences (RefSeqs), chromosomal maps, biological pathways, genetic variations, phenotypes, and cross-references to global genomic resources. **In this project the agent exposes 3 download tools**: fetch gene data by ID or symbol (Datasets API), and batch lookup by symbols. For finer control, `ncbi_operations.py` also provides E-utilities download/query functions (esearch, esummary, efetch) and additional batch operations. All download/query functions return rich JSON `{status, file_info/content, content_preview, biological_metadata, execution_context}`.1213## When to Use This Skill1415This skill should be used when working with gene data including searching by gene symbol or ID, retrieving gene sequences and metadata, analyzing gene functions and pathways, or performing batch gene lookups.1617## Quick Start1819The skill provides:201. **Project modules** in `src/tools/database/ncbi/`: `fetch_gene_data.py` (Datasets API), `query_gene.py` (E-utilities), `batch_gene_lookup.py` (batch operations), `ncbi_operations.py` (query/download operations); gene download functions re-exported via package.212. References: `references/api_reference.md`, `references/common_workflows.md`2223NCBI provides two main APIs:24- **Datasets API** — Optimized for gene data retrieval; used by `download_ncbi_gene_by_id` and `download_ncbi_gene_by_symbol` tools25- **E-utilities** — Full-featured API for complex queries; used by the esearch/esummary/efetch programmatic functions2627### Agent Tools (Download Only)2829| Tool name | Arguments | Purpose |30|-----------|-----------|---------|31| `download_ncbi_gene_by_id` | `gene_id`, `out_path` | Download gene data by NCBI Gene ID (Datasets API) to JSON |32| `download_ncbi_gene_by_symbol` | `symbol`, `taxon`, `out_path` | Download gene data by symbol and organism (Datasets API) to JSON |33| `download_ncbi_batch_lookup_by_symbols` | `gene_symbols`, `organism`, `out_path` | Batch lookup multiple genes by symbols to JSON |3435Also available as general NCBI tools (useful in gene workflows):3637| Tool name | Arguments | Purpose |38|-----------|-----------|---------|39| `download_ncbi_sequence` | `ncbi_id`, `out_path`, `db` (optional) | Download NCBI sequence by accession (FASTA) |40| `download_ncbi_metadata` | `ncbi_id`, `out_path`, `db`, `rettype` (optional) | Download NCBI metadata (GenBank/XML) |41| `download_ncbi_blast` | `sequence`, `out_path`, `program`, `database`, etc. | Submit BLAST search and download XML |4243### Project Modules (Programmatic Use)4445| Capability | Function | Module | Purpose |46|------------|----------|--------|---------|47| Fetch by ID | `fetch_gene_by_id(gene_id, api_key)` | fetch_gene_data.py | Datasets API: gene data as dict |48| Fetch by symbol | `fetch_gene_by_symbol(symbol, taxon, api_key)` | fetch_gene_data.py | Datasets API: gene data as dict |49| Fetch multiple | `fetch_multiple_genes(gene_ids, api_key)` | fetch_gene_data.py | Datasets API: multiple genes at once |50| Taxon lookup | `get_taxon_id(taxon_name)` | fetch_gene_data.py | Convert name to NCBI taxon ID |51| E-util search | `esearch(query, retmax, api_key)` | query_gene.py | Search Gene DB, returns Gene IDs |52| E-util summary | `esummary(gene_ids, api_key)` | query_gene.py | Get document summaries by Gene IDs |53| E-util fetch | `efetch(gene_ids, retmode, api_key)` | query_gene.py | Fetch full gene records (XML/text) |54| Search+summarize | `search_and_summarize(query, organism, max_results, api_key)` | query_gene.py | Convenience: search + display |55| Batch search | `batch_esearch(queries, organism, api_key)` | batch_gene_lookup.py | Search multiple symbols → ID map |56| Batch summary | `batch_esummary(gene_ids, api_key, chunk_size)` | batch_gene_lookup.py | Summaries in chunks |57| Batch by IDs | `batch_lookup_by_ids(gene_ids, api_key)` | batch_gene_lookup.py | Structured gene data by IDs |58| Batch by symbols | `batch_lookup_by_symbols(gene_symbols, organism, api_key)` | batch_gene_lookup.py | Structured gene data by symbols |59| Query: by ID | `query_ncbi_gene_by_id(gene_id)` | ncbi_operations.py | Returns rich JSON in memory |60| Query: by symbol | `query_ncbi_gene_by_symbol(symbol, taxon)` | ncbi_operations.py | Returns rich JSON in memory |61| Query: esearch | `query_ncbi_gene_esearch(query, retmax)` | ncbi_operations.py | Returns rich JSON in memory |62| Query: esummary | `query_ncbi_gene_esummary(gene_ids)` | ncbi_operations.py | Returns rich JSON in memory |63| Query: efetch | `query_ncbi_gene_efetch(gene_ids, retmode)` | ncbi_operations.py | Returns rich JSON in memory |64| Query: batch search | `query_ncbi_batch_esearch(queries, organism)` | ncbi_operations.py | Returns rich JSON in memory |65| Query: batch by IDs | `query_ncbi_batch_lookup_by_ids(gene_ids)` | ncbi_operations.py | Returns rich JSON in memory |66| Query: batch by symbols | `query_ncbi_batch_lookup_by_symbols(gene_symbols, organism)` | ncbi_operations.py | Returns rich JSON in memory |67| Download: by ID | `download_ncbi_gene_by_id(gene_id, out_path)` | ncbi_operations.py | Save to file, return rich JSON |68| Download: by symbol | `download_ncbi_gene_by_symbol(symbol, taxon, out_path)` | ncbi_operations.py | Save to file, return rich JSON |69| Download: esearch | `download_ncbi_gene_esearch(query, out_path, retmax)` | ncbi_operations.py | Save to file, return rich JSON |70| Download: esummary | `download_ncbi_gene_esummary(gene_ids, out_path)` | ncbi_operations.py | Save to file, return rich JSON |71| Download: efetch | `download_ncbi_gene_efetch(gene_ids, out_path, retmode)` | ncbi_operations.py | Save to file, return rich JSON |72| Download: batch search | `download_ncbi_batch_esearch(queries, out_path, organism)` | ncbi_operations.py | Save to file, return rich JSON |73| Download: batch by IDs | `download_ncbi_batch_lookup_by_ids(gene_ids, out_path)` | ncbi_operations.py | Save to file, return rich JSON |74| Download: batch by symbols | `download_ncbi_batch_lookup_by_symbols(gene_symbols, organism, out_path)` | ncbi_operations.py | Save to file, return rich JSON |7576## Core Capabilities7778### 1. Download Gene by ID (Datasets API)7980```python81from src.tools.database.ncbi import download_ncbi_gene_by_id8283result = download_ncbi_gene_by_id("672", "output/ncbi_gene_brca1.json")84# Returns rich JSON with gene metadata, RefSeqs, GO annotations, etc.85```8687### 2. Download Gene by Symbol (Datasets API)8889```python90from src.tools.database.ncbi import download_ncbi_gene_by_symbol9192result = download_ncbi_gene_by_symbol("BRCA1", "human", "output/ncbi_gene_brca1_by_symbol.json")93result = download_ncbi_gene_by_symbol("TP53", "Homo sapiens", "output/ncbi_gene_tp53.json")94```9596### 3. Batch Lookup by Symbols9798```python99from src.tools.database.ncbi import download_ncbi_batch_lookup_by_symbols100101result = download_ncbi_batch_lookup_by_symbols(102 ["BRCA1", "TP53", "EGFR"], "human", "output/ncbi_genes_batch.json"103)104```105106### 4. E-utilities Workflow (programmatic)107108```python109from src.tools.database.ncbi.ncbi_operations import (110 query_ncbi_gene_esearch,111 download_ncbi_gene_esummary,112 download_ncbi_gene_efetch,113)114115# Step 1: Search for gene IDs116esearch_result = query_ncbi_gene_esearch("BRCA1[gene] AND human[organism]", retmax=10)117118# Step 2: Download summaries or full records119download_ncbi_gene_esummary(["672", "7157"], "output/gene_summaries.json")120download_ncbi_gene_efetch(["672"], "output/gene_full_record.xml")121```122123### 5. Low-Level Direct Access (programmatic)124125```python126from src.tools.database.ncbi.fetch_gene_data import fetch_gene_by_id, fetch_gene_by_symbol127from src.tools.database.ncbi.query_gene import esearch, esummary, efetch128from src.tools.database.ncbi.batch_gene_lookup import batch_lookup_by_symbols129130# Datasets API131gene_data = fetch_gene_by_id("672")132gene_data = fetch_gene_by_symbol("BRCA1", "human")133134# E-utilities135gene_ids = esearch("insulin[gene] AND human[organism]")136summaries = esummary(gene_ids)137records = efetch(gene_ids, retmode="xml")138139# Batch140results = batch_lookup_by_symbols(["BRCA1", "TP53"], "human")141```142143## Common Workflows144145### Workflow 1: Gene Annotation (download)146147```python148from src.tools.database.ncbi import (149 download_ncbi_gene_by_symbol,150 download_ncbi_batch_lookup_by_symbols,151)152153# Single gene154download_ncbi_gene_by_symbol("BRCA1", "human", "output/brca1_annotation.json")155156# Gene panel157download_ncbi_batch_lookup_by_symbols(158 ["BRCA1", "BRCA2", "TP53", "PTEN", "ATM"], "human", "output/cancer_panel.json"159)160```161162### Workflow 2: Gene Search and Retrieve (programmatic)163164```python165from src.tools.database.ncbi.ncbi_operations import (166 query_ncbi_gene_esearch,167 download_ncbi_gene_by_id,168)169import json170171# Search by complex query172result = query_ncbi_gene_esearch("p53 AND human[organism]", retmax=5)173parsed = json.loads(result)174175# Download details for each hit176if parsed.get("status") == "success":177 content = json.loads(parsed["content"])178 for gene_id in content.get("gene_ids", []):179 download_ncbi_gene_by_id(str(gene_id), f"output/gene_{gene_id}.json")180```181182### Workflow 3: Cross-Database Integration183184```python185from src.tools.database.ncbi import (186 download_ncbi_gene_by_id,187 download_ncbi_sequence,188 download_ncbi_metadata,189)190191# Step 1: Get comprehensive gene info192download_ncbi_gene_by_id("672", "output/brca1_gene_info.json")193194# Step 2: Download protein sequence195download_ncbi_sequence("NP_009225.1", "output/brca1_protein.fasta", db="protein")196197# Step 3: Download GenBank metadata198download_ncbi_metadata("NP_009225.1", "output/brca1_metadata.gb", db="protein")199```200201## Search Query Patterns202203Example E-utilities query patterns for NCBI Gene:204205- Gene symbol: `insulin[gene name] AND human[organism]`206- Gene with disease: `dystrophin[gene name] AND muscular dystrophy[disease]`207- Chromosome location: `human[organism] AND 17q21[chromosome]`208- GO term: `GO:0006915[biological process]` (apoptosis)209- Phenotype: `diabetes[phenotype] AND mouse[organism]`210- Pathway: `insulin signaling pathway[pathway]`211212## API Access213214**Rate Limits:**215- Without API key: 3 requests/second for E-utilities, 5 requests/second for Datasets API216- With API key: 10 requests/second for both APIs217218**Authentication:**219Register for a free NCBI API key at https://www.ncbi.nlm.nih.gov/account/ to increase rate limits.220221## Data Formats222223NCBI Gene data can be retrieved in multiple formats:224225| Format | Use case |226|--------|----------|227| JSON | Modern applications, programmatic processing |228| XML | Legacy systems, detailed metadata |229| GenBank | Sequence data with annotations |230| FASTA | Sequence analysis workflows |231232## Best Practices2332341. **Always specify organism** when searching by gene symbol to avoid ambiguity2352. **Use Gene IDs** for precise lookups when available2363. **Batch requests** when working with multiple genes to minimize API calls2374. **Cache results** locally to reduce redundant queries2385. **Include API key** in environment for higher rate limits2396. **Handle errors gracefully** with retry logic for transient failures240241## Resources242243### Helper Scripts244245- `fetch_gene_data.py` — NCBI Datasets API: `fetch_gene_by_id()`, `fetch_gene_by_symbol()`, `fetch_multiple_genes()`246- `query_gene.py` — E-utilities: `esearch()`, `esummary()`, `efetch()`, `search_and_summarize()`247- `batch_gene_lookup.py` — Batch: `batch_esearch()`, `batch_esummary()`, `batch_lookup_by_ids()`, `batch_lookup_by_symbols()`248249### Reference Documentation250251- **`references/api_reference.md`** — E-utilities and Datasets API documentation, endpoints, parameters, response formats252- **`references/common_workflows.md`** — Additional examples and use case patterns