Database Lookup
You have access to 78 public databases through their REST APIs. Your job is to figure out which database(s) are relevant to the user's question, query them, and return the raw JSON results along with which databases you used.
Core Workflow
Understand the query — What is the user looking for? A compound? A gene? A pathway? A patent? Expression data? An economic indicator? This determines which database(s) to hit.
Select database(s) — Use the database selection guide below. When in doubt, search multiple databases — it's better to cast a wide net than to miss relevant data.
Read the reference file — Each database has a reference file in references/ with endpoint details, query formats, and example calls. Read the relevant file(s) before making API calls.
Make the API call(s) — See the Making API Calls section below for which HTTP fetch tool to use on your platform.
Return results — Always return:
- The raw JSON response from each database
- A list of databases queried with the specific endpoints used
- If a query returned no results, say so explicitly rather than omitting it
Database Selection Guide
Match the user's intent to the right database(s). Many queries benefit from hitting multiple databases.
Physics & Astronomy
| User is asking about... |
Primary database(s) |
Also consider |
| Near-Earth objects, asteroids |
NASA (NeoWs) |
— |
| Mars rover images |
NASA (Mars Rover Photos) |
— |
| Exoplanets, orbital parameters |
NASA Exoplanet Archive |
— |
| Astronomical objects by name/coordinates |
SIMBAD |
SDSS |
| Galaxy/star spectra, photometry |
SDSS |
SIMBAD |
| Physical constants |
NIST |
— |
| Atomic spectra, spectral lines |
NIST (ASD) |
— |
Earth & Environmental Sciences
| User is asking about... |
Primary database(s) |
Also consider |
| Earthquakes, seismic events |
USGS Earthquakes |
— |
| Water data, streamflow, groundwater |
USGS Water Services |
— |
| Weather (current, forecast, historical) |
OpenWeatherMap |
NOAA |
| Climate data, historical weather stations |
NOAA (CDO) |
— |
| Air quality, toxic releases |
EPA (Envirofacts) |
— |
Chemistry & Drugs
| User is asking about... |
Primary database(s) |
Also consider |
| Chemical compounds, molecules |
PubChem |
ChEMBL |
| Molecular properties (weight, formula, SMILES) |
PubChem |
— |
| Drug synonyms, CAS numbers |
PubChem (synonyms) |
DrugBank |
| Bioactivity data, IC50, binding assays |
ChEMBL |
BindingDB, PubChem |
| Drug binding affinities (Ki, IC50, Kd) |
ChEMBL, BindingDB |
PubChem |
| Drug-target interactions |
ChEMBL, DrugBank |
BindingDB, Open Targets |
| Ligands for a protein target (by UniProt) |
BindingDB |
ChEMBL |
| Target identification from compound structure |
BindingDB (SMILES similarity) |
ChEMBL |
| Drug labels, adverse events, recalls |
FDA (OpenFDA) |
DailyMed |
| Drug labels (structured product labels) |
DailyMed |
FDA (OpenFDA) |
| Drug pharmacology, indications |
DrugBank |
FDA |
| Chemical cross-referencing |
PubChem (xrefs) |
ChEMBL |
| Commercially available compounds for screening |
ZINC |
PubChem |
| Similarity/substructure search (purchasable) |
ZINC |
PubChem, ChEMBL |
| Drug-like compound libraries, building blocks |
ZINC |
— |
| FDA-approved drug structures |
ZINC (fda subset) |
PubChem, FDA |
| Compound purchasability, vendor catalogs |
ZINC |
— |
Materials Science & Crystallography
| User is asking about... |
Primary database(s) |
Also consider |
| Materials by formula or elements |
Materials Project |
COD |
| Band gap, electronic structure |
Materials Project |
— |
| Crystal structures, CIF files |
COD |
Materials Project |
| Elastic/mechanical properties |
Materials Project |
— |
| Formation energy, thermodynamics |
Materials Project |
— |
| Cell parameters, space groups |
COD |
Materials Project |
Biology & Genomics
| User is asking about... |
Primary database(s) |
Also consider |
| Biological pathways |
Reactome, KEGG |
— |
| What pathways a gene/protein is in |
Reactome (mapping), KEGG |
— |
| Enzyme kinetics, catalytic activity |
BRENDA |
KEGG |
| Metabolomics studies, metabolite profiles |
Metabolomics Workbench |
PubChem |
| m/z or exact mass lookup |
Metabolomics Workbench (moverz/exactmass) |
PubChem |
| Protein sequence, function, annotation |
UniProt |
Ensembl |
| Protein-protein interactions |
STRING |
BioGRID |
| Gene information, genomic location |
NCBI Gene |
Ensembl |
| Genome sequences, variants, transcripts |
Ensembl |
NCBI Gene |
| Gene expression datasets |
GEO (NCBI E-utilities) |
— |
| Gene expression across tissues |
GTEx |
Human Protein Atlas |
| Gene expression signatures (CMap/L1000) |
LINCS L1000 |
GEO |
| Gene set enrichment vs GEO |
RummaGEO |
GEO |
| Protein sequences (NCBI) |
NCBI Protein |
UniProt |
| Taxonomic classification |
NCBI Taxonomy |
— |
| SNP/variant data (dbSNP) |
dbSNP |
ClinVar, gnomAD |
| Population variant frequencies |
gnomAD |
dbSNP |
| Sequencing run metadata |
SRA |
ENA, GEO |
| Nucleotide sequences (European archive) |
ENA |
SRA, NCBI Gene |
| Genome assemblies, raw reads (European) |
ENA |
SRA, Ensembl |
| Cross-references from sequence accessions |
ENA (xref) |
NCBI Gene, UniProt |
| Genome annotations, tracks |
UCSC Genome Browser |
Ensembl |
| 3D protein structures (experimental) |
PDB (RCSB) |
EMDB |
| 3D protein structures (predicted) |
AlphaFold DB |
PDB |
| EM maps, cryo-EM structures |
EMDB |
PDB |
| Protein families, domains |
InterPro |
UniProt |
| Chemical entities (biological) |
ChEBI |
PubChem |
| Protein/genetic interactions |
BioGRID |
STRING |
| Gene function annotations (GO terms) |
QuickGO |
Gene Ontology |
| Regulatory elements, ChIP-seq, ATAC-seq |
ENCODE |
— |
| TF binding profiles/motifs |
JASPAR |
ENCODE |
| Protein expression across tissues |
Human Protein Atlas |
UniProt |
| Single-cell atlas projects |
Human Cell Atlas |
— |
| Proteomics datasets |
PRIDE |
— |
| Mouse gene data |
MouseMine |
NCBI Gene |
| Plasmid repository |
Addgene |
— |
Organism/species matters. Most biology databases cover multiple organisms. If the user's query is about a specific organism, pass it explicitly — don't assume human. Common patterns: Ensembl uses {species} in the URL path (e.g. homo_sapiens), STRING/BioGRID/QuickGO use NCBI taxon IDs (species=9606 for human, 10090 for mouse), UniProt uses organism_id:9606 in search queries, KEGG uses organism codes (hsa, mmu). GTEx and Human Protein Atlas are human-only. Check the reference file for each database's specific parameter.
Disease & Clinical
| User is asking about... |
Primary database(s) |
Also consider |
| Somatic mutations in cancer |
COSMIC |
Open Targets, cBioPortal |
| Cancer genomics (TCGA) |
GDC (TCGA) |
COSMIC, cBioPortal |
| Cancer study mutations, CNA, expression |
cBioPortal |
GDC (TCGA), COSMIC |
| Tumor clinical data (survival, staging) |
cBioPortal |
GDC (TCGA) |
| Drug-target-disease associations |
Open Targets |
ChEMBL |
| Gene-disease associations |
DisGeNET |
Open Targets, Monarch |
| Mendelian disease-gene relationships |
OMIM |
NCBI Gene |
| Variant clinical significance |
ClinVar (NCBI) |
OMIM |
| GWAS SNP-trait associations |
GWAS Catalog |
— |
| Disease-phenotype-gene links |
Monarch Initiative |
HPO |
| Phenotype ontology, HPO terms |
HPO |
Monarch |
| Pharmacogenomics, drug-gene interactions |
ClinPGx (PharmGKB) |
DrugBank |
| Clinical trials for a drug/disease |
ClinicalTrials.gov |
FDA |
| Disease-related expression data |
GEO |
Open Targets |
Patents & Regulatory
| User is asking about... |
Primary database(s) |
Also consider |
| Patents by keyword or technology |
USPTO (PatentsView) |
— |
| Patents by inventor or assignee |
USPTO (PatentsView) |
— |
| Patent prosecution status |
USPTO (PEDS) |
— |
| Trademark lookup |
USPTO (TSDR) |
— |
| SEC company filings, 10-K, 10-Q |
SEC EDGAR |
— |
Economics & Finance
| User is asking about... |
Primary database(s) |
Also consider |
| US economic time series (GDP, CPI, rates) |
FRED |
BEA |
| Employment, wages, labor statistics |
BLS |
FRED |
| GDP, national accounts |
BEA |
FRED, World Bank |
| International development indicators |
World Bank |
FRED |
| Interest rates, money supply |
Federal Reserve |
FRED |
| Euro exchange rates, ECB monetary stats |
ECB |
— |
| US debt, yield curves, fiscal data |
US Treasury |
FRED |
| Stock prices, forex, crypto |
Alpha Vantage |
— |
| Statistical data across many topics |
Data Commons |
— |
Social Sciences & Demographics
| User is asking about... |
Primary database(s) |
Also consider |
| US population, housing, income data |
US Census |
Data Commons |
| EU statistics (economy, trade, health) |
Eurostat |
World Bank |
| Global health indicators (mortality, disease) |
WHO GHO |
World Bank |
Cross-domain queries
| User is asking about... |
Primary database(s) |
Also consider |
| Everything about a compound |
PubChem + ChEMBL + DrugBank |
BindingDB, ZINC, Reactome, FDA |
| Everything about a gene |
NCBI Gene + UniProt + Ensembl |
Reactome, STRING, COSMIC, cBioPortal, ENA |
| Everything about a variant |
dbSNP + ClinVar + gnomAD |
GWAS Catalog, COSMIC, cBioPortal |
| Drug target pathways |
ChEMBL + Reactome |
Open Targets, GEO |
| Prior art for a chemical invention |
USPTO + PubChem |
ChEMBL |
| Everything about a material |
Materials Project + COD |
— |
| US economic overview |
FRED + BLS + BEA |
Federal Reserve |
When the user's query spans multiple domains (e.g. "what do we know about aspirin" or "find everything about BRCA1"), query all relevant databases in parallel.
Common Identifier Formats
Different databases use different identifier systems. If a query fails, the identifier format may be wrong. Here's a quick reference:
| Identifier |
Format |
Example |
Used by |
| UniProt accession |
P##### or Q##### |
P04637 (TP53) |
UniProt, STRING, AlphaFold, Reactome mapping |
| Ensembl gene ID |
ENSG########### |
ENSG00000141510 |
Ensembl, Open Targets, GTEx |
| NCBI Gene ID |
Integer |
7157 (TP53) |
NCBI Gene, GEO, DisGeNET, HPO |
| HGNC ID |
HGNC:##### |
HGNC:11998 |
Monarch |
| PubChem CID |
Integer |
2244 (aspirin) |
PubChem |
| ZINC ID |
ZINC + 15 digits |
ZINC000000000053 (aspirin) |
ZINC |
| ENA Project |
PRJEB + digits |
PRJEB40665 |
ENA |
| ENA Run |
ERR + digits |
ERR1234567 |
ENA |
| ENA Experiment |
ERX + digits |
ERX1234567 |
ENA |
| ENA Sample |
ERS + digits |
ERS1234567 |
ENA |
| ChEMBL ID |
CHEMBL#### |
CHEMBL25 (aspirin) |
ChEMBL |
| Reactome stable ID |
R-HSA-###### |
R-HSA-109581 |
Reactome |
| HP term |
HP:####### |
HP:0001250 (seizure) |
HPO (URL-encode colon as %3A) |
| MONDO disease |
MONDO:####### |
MONDO:0007947 |
Monarch |
| GO term |
GO:####### |
GO:0008150 |
QuickGO, Gene Ontology |
| dbSNP rsID |
rs######## |
rs334 |
dbSNP, GWAS Catalog, gnomAD |
| GENCODE ID |
ENSG###.## (versioned) |
ENSG00000139618.17 |
GTEx (requires version suffix) |
Identifier Resolution
When a database doesn't recognize an identifier, convert it using these workflows:
Genes: Symbol (e.g. "TP53") → look up in NCBI Gene (esearch by symbol) → get NCBI Gene ID → convert to Ensembl ID via Ensembl /xrefs/symbol/homo_sapiens/{symbol}, or to UniProt accession via UniProt search (gene_exact:{symbol} AND organism_id:9606).
Compounds: Name → PubChem /compound/name/{name}/cids/JSON → get CID → convert to ChEMBL ID via UniChem or ChEMBL molecule search. If name lookup fails, try SMILES, InChIKey, or CAS number.
Variants: rsID (e.g. "rs334") works directly in dbSNP, ClinVar, GWAS Catalog, gnomAD. For genomic coordinates, use Ensembl VEP to get consequence annotations and linked rsIDs.
Diseases: Name → Open Targets or Monarch search → get EFO or MONDO ID → use in downstream queries.
POST-Only APIs
These databases require HTTP POST and will not work with WebFetch (GET-only). Use curl via your platform's shell tool instead:
| Database |
Why POST needed |
Example |
| Open Targets |
GraphQL endpoint |
curl -X POST -H "Content-Type: application/json" -d '{"query":"..."}' https://api.platform.opentargets.org/api/v4/graphql |
| gnomAD |
GraphQL endpoint |
curl -X POST -H "Content-Type: application/json" -d '{"query":"..."}' https://gnomad.broadinstitute.org/api |
| RummaGEO |
POST-only enrichment |
curl -X POST -H "Content-Type: application/json" -d '{"genes":["..."]}' https://rummageo.com/api/enrich |
| GDC/TCGA |
Complex filter queries |
curl -X POST -H "Content-Type: application/json" -d '{"filters":...}' https://api.gdc.cancer.gov/ssms |
| SEC EDGAR |
Requires User-Agent header |
curl -H "User-Agent: YourApp you@email.com" https://efts.sec.gov/LATEST/search-index?q=... |
API Keys and Access Restrictions
Some databases require API keys or have access restrictions. When an API key is needed:
- Check the current environment first — the key may already be exported as a shell environment variable (e.g.
$FRED_API_KEY). Read it directly from the environment.
- Fall back to
.env — if the variable isn't in the environment, check the .env file in the current working directory.
- If neither has it — proceed without the key (most APIs still work at lower rate limits) and tell the user which key is missing and how to get one.
Databases requiring API keys (free registration)
These are all free to obtain. The APIs work without keys but have lower rate limits. Always try with a key first — if the env variable isn't set, proceed without the key and note in your response that rate limits may be lower.
Databases with paid or restricted access
| Database |
Restriction |
Free alternative |
| DrugBank |
Paid API license required |
Use ChEMBL + PubChem + OpenFDA instead |
| COSMIC |
Free academic registration required (JWT auth) |
Use Open Targets for cancer mutation data |
| BRENDA |
Free registration required (SOAP, not REST) |
Use KEGG for enzyme/pathway data |
When a database requires paid access or registration the user hasn't set up:
- Fall back to a free alternative that can answer the same question
- Tell the user which database you couldn't access, why, and what you used instead
- If the user specifically requests a restricted database, explain the access requirements so they can set it up
Loading API keys
Step 1 — Check the current environment. The key may already be exported as a shell variable. For example, in Claude Code you can check with Bash: echo $FRED_API_KEY. If the variable is set and non-empty, use it.
Step 2 — Check .env file. If the environment variable isn't set, read .env from the current working directory. Format:
FRED_API_KEY=your_key_here
BEA_API_KEY=your_key_here
Step 3 — Proceed without. If neither source has the key, proceed without it (most APIs still work at lower rate limits) and mention this to the user.
Making API Calls
Use your environment's HTTP fetch tool to call REST endpoints. The tool name varies by platform:
| Platform |
HTTP Fetch Tool |
Fallback |
| Claude Code |
WebFetch |
curl via Bash |
| Gemini CLI |
web_fetch |
curl via shell |
| Windsurf |
read_url_content |
curl via terminal |
| Cursor |
No dedicated fetch tool |
curl via run_terminal_cmd |
| Codex CLI |
No dedicated fetch tool |
curl via shell |
| Cline |
No dedicated fetch tool |
curl via execute_command |
If you don't recognize your platform or the fetch tool fails, fall back to curl via whatever shell/terminal tool is available. Example:
curl -s -H "Accept: application/json" "https://api.example.com/endpoint"
Request guidelines
- Set
Accept: application/json header where supported
- URL-encode special characters in query parameters — SMILES strings (
/, #, =, @), compound names with parentheses, and ontology terms with colons (HP:0001250 → HP%3A0001250) are common sources of failures. With curl, use --data-urlencode for safety.
- Parallel OK: When querying different databases (e.g., PubChem + ChEMBL + Reactome), run them in parallel — most APIs have generous rate limits.
- Serialize requests to rate-limited APIs: NCBI APIs (Gene, GEO, Protein, Taxonomy, dbSNP, SRA) at 3 req/sec without key, 10 with key. Also watch: Ensembl (15 req/sec), BLS v1 (25 req/day without key), SEC EDGAR (10 req/sec), NOAA (5 req/sec with token).
- If you get a rate-limit error (HTTP 429 or 503), wait briefly and retry once
Error recovery
If an API returns an error or empty results:
- Check the identifier format — use the Common Identifier Formats table above. A gene symbol may need to be converted to NCBI Gene ID or Ensembl ID first.
- Try alternative identifiers — if a compound name fails in PubChem, try SMILES, InChIKey, or CID. If a gene symbol fails, try the NCBI Gene ID.
- Try a different database — if one database is down or returns nothing, check the "Also consider" column in the selection guide for alternatives.
- Report the failure — tell the user which database failed, the error, and what you tried instead.
Pagination
Many APIs return paginated results — if you only read the first page, you may miss data. Common patterns:
- Offset/Limit:
offset=0&limit=100 → increment offset by limit for the next page (ChEMBL, FRED, NOAA, USGS, NCBI E-utilities, ENA, GDC, FDA)
- Cursor-based: Response includes a
nextPageToken or cursor value — pass it in the next request (ClinicalTrials.gov, UniProt)
- Page number:
page=1&per_page=50 → increment page (World Bank, cBioPortal, ZINC)
Check the reference file for each database's specific pagination parameters. If a response includes total, totalCount, or next and the number of returned results is less than the total, there are more pages.
For targeted lookups (single gene, single compound), the first page is usually sufficient. Paginate when the user needs comprehensive results (e.g., "all clinical trials for X" or "all known variants in gene Y").
Output Format
Structure your response like this:
## Databases Queried
- **PubChem** — /compound/name/aspirin/property/...
- **Reactome** — /search/query?query=aspirin
## Results
### PubChem
[raw JSON response]
### Reactome
[raw JSON response]
If results are very large, present the most relevant portion and note that additional data is available. But default to showing the full raw JSON — the user asked for it.
Adding New Databases
This skill is designed to grow. Each database is a self-contained reference file in references/. To add a new database:
- Create
references/<database-name>.md following the same format as existing files
- Add an entry to the database selection guide above
- The reference file should include: base URL, key endpoints, query parameter formats, example calls, rate limits, and response structure
Available Databases
Read the relevant reference file before making any API call.
Physics & Astronomy
| Database |
Reference File |
What it covers |
| NASA |
references/nasa.md |
NEO asteroids, Mars rover, APOD |
| NASA Exoplanet Archive |
references/nasa-exoplanet-archive.md |
Exoplanets, orbital parameters |
| NIST |
references/nist.md |
Physical constants, atomic spectra |
| SDSS |
references/sdss.md |
Galaxy/star spectra, photometry |
| SIMBAD |
references/simbad.md |
Astronomical object catalog |
Earth & Environmental Sciences
| Database |
Reference File |
What it covers |
| USGS |
references/usgs.md |
Earthquakes, water data |
| NOAA |
references/noaa.md |
Climate, weather station data |
| EPA |
references/epa.md |
Air quality, toxic releases |
| OpenWeatherMap |
references/openweathermap.md |
Weather current/forecast |
Chemistry & Drugs
| Database |
Reference File |
What it covers |
| PubChem |
references/pubchem.md |
Compounds, properties, synonyms |
| ChEMBL |
references/chembl.md |
Bioactivity, drug discovery |
| DrugBank |
references/drugbank.md |
Drug data, interactions (paid) |
| FDA (OpenFDA) |
references/fda.md |
Drug labels, adverse events, recalls |
| DailyMed |
references/dailymed.md |
Drug labels (NIH/NLM) |
| KEGG |
references/kegg.md |
Pathways, genes, compounds |
| ChEBI |
references/chebi.md |
Chemical entities of biological interest |
| ZINC |
references/zinc.md |
Commercially available compounds, virtual screening |
| BindingDB |
references/bindingdb.md |
Experimentally measured binding affinities |
Materials Science
| Database |
Reference File |
What it covers |
| Materials Project |
references/materials-project.md |
Band gaps, elastic properties, crystal structures |
| COD |
references/cod.md |
Crystal structures, CIF files |
Biology & Genomics
| Database |
Reference File |
What it covers |
| Reactome |
references/reactome.md |
Biological pathways, reactions |
| BRENDA |
references/brenda.md |
Enzyme kinetics, catalysis (SOAP) |
| UniProt |
references/uniprot.md |
Protein sequences, function |
| STRING |
references/string.md |
Protein-protein interactions |
| Ensembl |
references/ensembl.md |
Genomes, variants, sequences |
| NCBI Gene |
references/ncbi-gene.md |
Gene information, links |
| NCBI Protein |
references/ncbi-protein.md |
Protein sequences, records |
| NCBI Taxonomy |
references/ncbi-taxonomy.md |
Taxonomic classification |
| GEO (NCBI) |
references/geo.md |
Gene expression datasets |
| GTEx |
references/gtex.md |
Gene expression across tissues |
| PDB |
references/pdb.md |
Protein 3D structures |
| AlphaFold DB |
references/alphafold.md |
Predicted protein structures |
| EMDB |
references/emdb.md |
Electron microscopy maps |
| InterPro |
references/interpro.md |
Protein families, domains |
| BioGRID |
references/biogrid.md |
Protein/genetic interactions |
| Gene Ontology |
references/gene-ontology.md |
GO terms, gene annotations |
| QuickGO |
references/quickgo.md |
GO annotations (EBI, recommended) |
| dbSNP |
references/dbsnp.md |
SNP/variant data |
| SRA |
references/sra.md |
Sequencing run metadata |
| gnomAD |
references/gnomad.md |
Population variant frequencies (POST) |
| UCSC Genome Browser |
references/ucsc-genome.md |
Genome annotations, tracks |
| ENCODE |
references/encode.md |
DNA elements, ChIP-seq, ATAC-seq |
| JASPAR |
references/jaspar.md |
TF binding profiles/motifs |
| Human Protein Atlas |
references/human-protein-atlas.md |
Protein expression across tissues |
| Human Cell Atlas |
references/hca.md |
Single-cell atlas data |
| LINCS L1000 |
references/lincs-l1000.md |
Gene expression signatures (CMap) |
| RummaGEO |
references/rummageo.md |
GEO gene set enrichment (POST) |
| PRIDE |
references/pride.md |
Proteomics data repository |
| Metabolomics Workbench |
references/metabolomics-workbench.md |
Metabolomics studies, metabolites |
| MouseMine |
references/mousemine.md |
Mouse genome informatics |
| ENA |
references/ena.md |
Nucleotide sequences, reads, assemblies, taxonomy (EMBL-EBI) |
| Addgene |
references/addgene.md |
Plasmid repository |
Disease & Clinical
| Database |
Reference File |
What it covers |
| Open Targets |
references/opentargets.md |
Target-disease associations (POST) |
| COSMIC |
references/cosmic.md |
Somatic mutations in cancer |
| ClinPGx (PharmGKB) |
references/clinpgx.md |
Pharmacogenomics |
| ClinicalTrials.gov |
references/clinicaltrials.md |
Clinical trial registry |
| OMIM |
references/omim.md |
Mendelian disease-gene data |
| ClinVar |
references/clinvar.md |
Variant clinical significance |
| GDC (TCGA) |
references/tcga-gdc.md |
Cancer genomics, mutations (POST) |
| cBioPortal |
references/cbioportal.md |
Cancer study mutations, CNA, expression, clinical data |
| DisGeNET |
references/disgenet.md |
Gene-disease associations |
| GWAS Catalog |
references/gwas-catalog.md |
GWAS SNP-trait associations |
| Monarch Initiative |
references/monarch.md |
Disease-phenotype-gene links |
| HPO |
references/hpo.md |
Human Phenotype Ontology |
Patents & Regulatory
| Database |
Reference File |
What it covers |
| USPTO |
references/uspto.md |
Patents, trademarks |
| SEC EDGAR |
references/sec-edgar.md |
Company filings (needs User-Agent header) |
Economics & Finance
| Database |
Reference File |
What it covers |
| FRED |
references/fred.md |
US economic time series |
| Federal Reserve |
references/federal-reserve.md |
Monetary/financial data |
| BEA |
references/bea.md |
GDP, national accounts |
| BLS |
references/bls.md |
Employment, wages, CPI |
| World Bank |
references/worldbank.md |
Development indicators |
| ECB |
references/ecb.md |
Euro exchange rates, monetary stats |
| US Treasury |
references/treasury.md |
Debt, yield curves, fiscal data |
| Alpha Vantage |
references/alphavantage.md |
Stocks, forex, crypto |
| Data Commons |
references/datacommons.md |
Statistical knowledge graph |
Social Sciences & Demographics
| Database |
Reference File |
What it covers |
| US Census |
references/census.md |
Population, housing, economic surveys |
| Eurostat |
references/eurostat.md |
EU statistics |
| WHO GHO |
references/who.md |
Global health indicators |
1---2name: database-lookup3description: Search 78 public scientific, biomedical, materials science, and economic databases via their REST APIs and return structured JSON results. Covers physics/astronomy (NASA, NIST, SDSS, SIMBAD, Exoplanet Archive), earth/environment (USGS, NOAA, EPA, OpenWeatherMap), chemistry/drugs (PubChem, ChEMBL, DrugBank, FDA, KEGG, DailyMed, ZINC, BindingDB), materials science (Materials Project, COD), biology/genomics (Reactome, BRENDA, UniProt, STRING, Ensembl, NCBI Gene, GEO, GTEx, PDB, AlphaFold, InterPro, ChEBI, BioGRID, Gene Ontology, QuickGO, NCBI Protein/Taxonomy, dbSNP, SRA, ENA, gnomAD, UCSC Genome, ENCODE, JASPAR, MouseMine, PRIDE, LINCS L1000, Human Protein Atlas, Human Cell Atlas, RummaGEO, Metabolomics Workbench, EMDB, Addgene), disease/clinical (COSMIC, Open Targets, ClinPGx, ClinicalTrials.gov, OMIM, ClinVar, GDC/TCGA, cBioPortal, DisGeNET, GWAS Catalog, Monarch, HPO), regulatory (FDA, USPTO, SEC EDGAR), economics/finance (FRED, BEA, BLS, Federal Reserve, World Bank, ECB, US Treasury, Alpha Vantage, Data Com4---5
6# Database Lookup
7
8You have access to 78 public databases through their REST APIs. Your job is to figure out which database(s) are relevant to the user's question, query them, and return the raw JSON results along with which databases you used.
9
10## Core Workflow
11
121. **Understand the query** — What is the user looking for? A compound? A gene? A pathway? A patent? Expression data? An economic indicator? This determines which database(s) to hit.
13
142. **Select database(s)** — Use the database selection guide below. When in doubt, search multiple databases — it's better to cast a wide net than to miss relevant data.
15
163. **Read the reference file** — Each database has a reference file in `references/` with endpoint details, query formats, and example calls. Read the relevant file(s) before making API calls.
17
184. **Make the API call(s)** — See the **Making API Calls** section below for which HTTP fetch tool to use on your platform.
19
205. **Return results** — Always return:
21 - The **raw JSON** response from each database
22 - A **list of databases queried** with the specific endpoints used
23 - If a query returned no results, say so explicitly rather than omitting it
24
25## Database Selection Guide
26
27Match the user's intent to the right database(s). Many queries benefit from hitting multiple databases.
28
29### Physics & Astronomy
30| User is asking about... | Primary database(s) | Also consider |
31|---|---|---|
32| Near-Earth objects, asteroids | NASA (NeoWs) | — |
33| Mars rover images | NASA (Mars Rover Photos) | — |
34| Exoplanets, orbital parameters | NASA Exoplanet Archive | — |
35| Astronomical objects by name/coordinates | SIMBAD | SDSS |
36| Galaxy/star spectra, photometry | SDSS | SIMBAD |
37| Physical constants | NIST | — |
38| Atomic spectra, spectral lines | NIST (ASD) | — |
39
40### Earth & Environmental Sciences
41| User is asking about... | Primary database(s) | Also consider |
42|---|---|---|
43| Earthquakes, seismic events | USGS Earthquakes | — |
44| Water data, streamflow, groundwater | USGS Water Services | — |
45| Weather (current, forecast, historical) | OpenWeatherMap | NOAA |
46| Climate data, historical weather stations | NOAA (CDO) | — |
47| Air quality, toxic releases | EPA (Envirofacts) | — |
48
49### Chemistry & Drugs
50| User is asking about... | Primary database(s) | Also consider |
51|---|---|---|
52| Chemical compounds, molecules | PubChem | ChEMBL |
53| Molecular properties (weight, formula, SMILES) | PubChem | — |
54| Drug synonyms, CAS numbers | PubChem (synonyms) | DrugBank |
55| Bioactivity data, IC50, binding assays | ChEMBL | BindingDB, PubChem |
56| Drug binding affinities (Ki, IC50, Kd) | ChEMBL, BindingDB | PubChem |
57| Drug-target interactions | ChEMBL, DrugBank | BindingDB, Open Targets |
58| Ligands for a protein target (by UniProt) | BindingDB | ChEMBL |
59| Target identification from compound structure | BindingDB (SMILES similarity) | ChEMBL |
60| Drug labels, adverse events, recalls | FDA (OpenFDA) | DailyMed |
61| Drug labels (structured product labels) | DailyMed | FDA (OpenFDA) |
62| Drug pharmacology, indications | DrugBank | FDA |
63| Chemical cross-referencing | PubChem (xrefs) | ChEMBL |
64| Commercially available compounds for screening | ZINC | PubChem |
65| Similarity/substructure search (purchasable) | ZINC | PubChem, ChEMBL |
66| Drug-like compound libraries, building blocks | ZINC | — |
67| FDA-approved drug structures | ZINC (fda subset) | PubChem, FDA |
68| Compound purchasability, vendor catalogs | ZINC | — |
69
70### Materials Science & Crystallography
71| User is asking about... | Primary database(s) | Also consider |
72|---|---|---|
73| Materials by formula or elements | Materials Project | COD |
74| Band gap, electronic structure | Materials Project | — |
75| Crystal structures, CIF files | COD | Materials Project |
76| Elastic/mechanical properties | Materials Project | — |
77| Formation energy, thermodynamics | Materials Project | — |
78| Cell parameters, space groups | COD | Materials Project |
79
80### Biology & Genomics
81| User is asking about... | Primary database(s) | Also consider |
82|---|---|---|
83| Biological pathways | Reactome, KEGG | — |
84| What pathways a gene/protein is in | Reactome (mapping), KEGG | — |
85| Enzyme kinetics, catalytic activity | BRENDA | KEGG |
86| Metabolomics studies, metabolite profiles | Metabolomics Workbench | PubChem |
87| m/z or exact mass lookup | Metabolomics Workbench (moverz/exactmass) | PubChem |
88| Protein sequence, function, annotation | UniProt | Ensembl |
89| Protein-protein interactions | STRING | BioGRID |
90| Gene information, genomic location | NCBI Gene | Ensembl |
91| Genome sequences, variants, transcripts | Ensembl | NCBI Gene |
92| Gene expression datasets | GEO (NCBI E-utilities) | — |
93| Gene expression across tissues | GTEx | Human Protein Atlas |
94| Gene expression signatures (CMap/L1000) | LINCS L1000 | GEO |
95| Gene set enrichment vs GEO | RummaGEO | GEO |
96| Protein sequences (NCBI) | NCBI Protein | UniProt |
97| Taxonomic classification | NCBI Taxonomy | — |
98| SNP/variant data (dbSNP) | dbSNP | ClinVar, gnomAD |
99| Population variant frequencies | gnomAD | dbSNP |
100| Sequencing run metadata | SRA | ENA, GEO |
101| Nucleotide sequences (European archive) | ENA | SRA, NCBI Gene |
102| Genome assemblies, raw reads (European) | ENA | SRA, Ensembl |
103| Cross-references from sequence accessions | ENA (xref) | NCBI Gene, UniProt |
104| Genome annotations, tracks | UCSC Genome Browser | Ensembl |
105| 3D protein structures (experimental) | PDB (RCSB) | EMDB |
106| 3D protein structures (predicted) | AlphaFold DB | PDB |
107| EM maps, cryo-EM structures | EMDB | PDB |
108| Protein families, domains | InterPro | UniProt |
109| Chemical entities (biological) | ChEBI | PubChem |
110| Protein/genetic interactions | BioGRID | STRING |
111| Gene function annotations (GO terms) | QuickGO | Gene Ontology |
112| Regulatory elements, ChIP-seq, ATAC-seq | ENCODE | — |
113| TF binding profiles/motifs | JASPAR | ENCODE |
114| Protein expression across tissues | Human Protein Atlas | UniProt |
115| Single-cell atlas projects | Human Cell Atlas | — |
116| Proteomics datasets | PRIDE | — |
117| Mouse gene data | MouseMine | NCBI Gene |
118| Plasmid repository | Addgene | — |
119
120**Organism/species matters.** Most biology databases cover multiple organisms. If the user's query is about a specific organism, pass it explicitly — don't assume human. Common patterns: Ensembl uses `{species}` in the URL path (e.g. `homo_sapiens`), STRING/BioGRID/QuickGO use NCBI taxon IDs (`species=9606` for human, `10090` for mouse), UniProt uses `organism_id:9606` in search queries, KEGG uses organism codes (`hsa`, `mmu`). GTEx and Human Protein Atlas are human-only. Check the reference file for each database's specific parameter.
121
122### Disease & Clinical
123| User is asking about... | Primary database(s) | Also consider |
124|---|---|---|
125| Somatic mutations in cancer | COSMIC | Open Targets, cBioPortal |
126| Cancer genomics (TCGA) | GDC (TCGA) | COSMIC, cBioPortal |
127| Cancer study mutations, CNA, expression | cBioPortal | GDC (TCGA), COSMIC |
128| Tumor clinical data (survival, staging) | cBioPortal | GDC (TCGA) |
129| Drug-target-disease associations | Open Targets | ChEMBL |
130| Gene-disease associations | DisGeNET | Open Targets, Monarch |
131| Mendelian disease-gene relationships | OMIM | NCBI Gene |
132| Variant clinical significance | ClinVar (NCBI) | OMIM |
133| GWAS SNP-trait associations | GWAS Catalog | — |
134| Disease-phenotype-gene links | Monarch Initiative | HPO |
135| Phenotype ontology, HPO terms | HPO | Monarch |
136| Pharmacogenomics, drug-gene interactions | ClinPGx (PharmGKB) | DrugBank |
137| Clinical trials for a drug/disease | ClinicalTrials.gov | FDA |
138| Disease-related expression data | GEO | Open Targets |
139
140### Patents & Regulatory
141| User is asking about... | Primary database(s) | Also consider |
142|---|---|---|
143| Patents by keyword or technology | USPTO (PatentsView) | — |
144| Patents by inventor or assignee | USPTO (PatentsView) | — |
145| Patent prosecution status | USPTO (PEDS) | — |
146| Trademark lookup | USPTO (TSDR) | — |
147| SEC company filings, 10-K, 10-Q | SEC EDGAR | — |
148
149### Economics & Finance
150| User is asking about... | Primary database(s) | Also consider |
151|---|---|---|
152| US economic time series (GDP, CPI, rates) | FRED | BEA |
153| Employment, wages, labor statistics | BLS | FRED |
154| GDP, national accounts | BEA | FRED, World Bank |
155| International development indicators | World Bank | FRED |
156| Interest rates, money supply | Federal Reserve | FRED |
157| Euro exchange rates, ECB monetary stats | ECB | — |
158| US debt, yield curves, fiscal data | US Treasury | FRED |
159| Stock prices, forex, crypto | Alpha Vantage | — |
160| Statistical data across many topics | Data Commons | — |
161
162### Social Sciences & Demographics
163| User is asking about... | Primary database(s) | Also consider |
164|---|---|---|
165| US population, housing, income data | US Census | Data Commons |
166| EU statistics (economy, trade, health) | Eurostat | World Bank |
167| Global health indicators (mortality, disease) | WHO GHO | World Bank |
168
169### Cross-domain queries
170| User is asking about... | Primary database(s) | Also consider |
171|---|---|---|
172| Everything about a compound | PubChem + ChEMBL + DrugBank | BindingDB, ZINC, Reactome, FDA |
173| Everything about a gene | NCBI Gene + UniProt + Ensembl | Reactome, STRING, COSMIC, cBioPortal, ENA |
174| Everything about a variant | dbSNP + ClinVar + gnomAD | GWAS Catalog, COSMIC, cBioPortal |
175| Drug target pathways | ChEMBL + Reactome | Open Targets, GEO |
176| Prior art for a chemical invention | USPTO + PubChem | ChEMBL |
177| Everything about a material | Materials Project + COD | — |
178| US economic overview | FRED + BLS + BEA | Federal Reserve |
179
180When the user's query spans multiple domains (e.g. "what do we know about aspirin" or "find everything about BRCA1"), query all relevant databases in parallel.
181
182## Common Identifier Formats
183
184Different databases use different identifier systems. If a query fails, the identifier format may be wrong. Here's a quick reference:
185
186| Identifier | Format | Example | Used by |
187|---|---|---|---|
188| UniProt accession | `P#####` or `Q#####` | `P04637` (TP53) | UniProt, STRING, AlphaFold, Reactome mapping |
189| Ensembl gene ID | `ENSG###########` | `ENSG00000141510` | Ensembl, Open Targets, GTEx |
190| NCBI Gene ID | Integer | `7157` (TP53) | NCBI Gene, GEO, DisGeNET, HPO |
191| HGNC ID | `HGNC:#####` | `HGNC:11998` | Monarch |
192| PubChem CID | Integer | `2244` (aspirin) | PubChem |
193| ZINC ID | `ZINC` + 15 digits | `ZINC000000000053` (aspirin) | ZINC |
194| ENA Project | `PRJEB` + digits | `PRJEB40665` | ENA |
195| ENA Run | `ERR` + digits | `ERR1234567` | ENA |
196| ENA Experiment | `ERX` + digits | `ERX1234567` | ENA |
197| ENA Sample | `ERS` + digits | `ERS1234567` | ENA |
198| ChEMBL ID | `CHEMBL####` | `CHEMBL25` (aspirin) | ChEMBL |
199| Reactome stable ID | `R-HSA-######` | `R-HSA-109581` | Reactome |
200| HP term | `HP:#######` | `HP:0001250` (seizure) | HPO (URL-encode colon as %3A) |
201| MONDO disease | `MONDO:#######` | `MONDO:0007947` | Monarch |
202| GO term | `GO:#######` | `GO:0008150` | QuickGO, Gene Ontology |
203| dbSNP rsID | `rs########` | `rs334` | dbSNP, GWAS Catalog, gnomAD |
204| GENCODE ID | `ENSG###.##` (versioned) | `ENSG00000139618.17` | GTEx (requires version suffix) |
205
206### Identifier Resolution
207
208When a database doesn't recognize an identifier, convert it using these workflows:
209
210**Genes**: Symbol (e.g. "TP53") → look up in **NCBI Gene** (esearch by symbol) → get NCBI Gene ID → convert to Ensembl ID via **Ensembl** `/xrefs/symbol/homo_sapiens/{symbol}`, or to UniProt accession via **UniProt** search (`gene_exact:{symbol} AND organism_id:9606`).
211
212**Compounds**: Name → **PubChem** `/compound/name/{name}/cids/JSON` → get CID → convert to ChEMBL ID via **UniChem** or **ChEMBL** molecule search. If name lookup fails, try SMILES, InChIKey, or CAS number.
213
214**Variants**: rsID (e.g. "rs334") works directly in **dbSNP**, **ClinVar**, **GWAS Catalog**, **gnomAD**. For genomic coordinates, use **Ensembl** VEP to get consequence annotations and linked rsIDs.
215
216**Diseases**: Name → **Open Targets** or **Monarch** search → get EFO or MONDO ID → use in downstream queries.
217
218## POST-Only APIs
219
220These databases require HTTP POST and **will not work with WebFetch** (GET-only). Use `curl` via your platform's shell tool instead:
221
222| Database | Why POST needed | Example |
223|---|---|---|
224| Open Targets | GraphQL endpoint | `curl -X POST -H "Content-Type: application/json" -d '{"query":"..."}' https://api.platform.opentargets.org/api/v4/graphql` |
225| gnomAD | GraphQL endpoint | `curl -X POST -H "Content-Type: application/json" -d '{"query":"..."}' https://gnomad.broadinstitute.org/api` |
226| RummaGEO | POST-only enrichment | `curl -X POST -H "Content-Type: application/json" -d '{"genes":["..."]}' https://rummageo.com/api/enrich` |
227| GDC/TCGA | Complex filter queries | `curl -X POST -H "Content-Type: application/json" -d '{"filters":...}' https://api.gdc.cancer.gov/ssms` |
228| SEC EDGAR | Requires User-Agent header | `curl -H "User-Agent: YourApp you@email.com" https://efts.sec.gov/LATEST/search-index?q=...` |
229
230## API Keys and Access Restrictions
231
232Some databases require API keys or have access restrictions. When an API key is needed:
233
2341. **Check the current environment first** — the key may already be exported as a shell environment variable (e.g. `$FRED_API_KEY`). Read it directly from the environment.
2352. **Fall back to `.env`** — if the variable isn't in the environment, check the `.env` file in the current working directory.
2363. **If neither has it** — proceed without the key (most APIs still work at lower rate limits) and tell the user which key is missing and how to get one.
237
238### Databases requiring API keys (free registration)
239
240| Database | Env Variable | Registration URL |
241|---|---|---|
242| FRED | `FRED_API_KEY` | https://fred.stlouisfed.org/docs/api/api_key.html |
243| BEA | `BEA_API_KEY` | https://apps.bea.gov/API/signup/ |
244| BLS | `BLS_API_KEY` | https://data.bls.gov/registrationEngine/ |
245| NCBI (GEO, Gene) | `NCBI_API_KEY` | https://www.ncbi.nlm.nih.gov/account/settings/ |
246| OpenFDA | `OPENFDA_API_KEY` | https://open.fda.gov/apis/authentication/ |
247| USPTO (PatentsView) | `PATENTSVIEW_API_KEY` | https://patentsview.org/apis/keyrequest |
248| Data Commons | `DATACOMMONS_API_KEY` | Google Cloud Console |
249| Materials Project | `MP_API_KEY` | https://materialsproject.org (free account) |
250| NASA | `NASA_API_KEY` | https://api.nasa.gov (free, DEMO_KEY available) |
251| NOAA (CDO) | `NOAA_API_KEY` | https://www.ncdc.noaa.gov/cdo-web/token |
252| OpenWeatherMap | `OPENWEATHERMAP_API_KEY` | https://openweathermap.org/appid |
253| OMIM | `OMIM_API_KEY` | https://omim.org/api (free academic) |
254| BioGRID | `BIOGRID_API_KEY` | https://webservice.thebiogrid.org (free) |
255| Alpha Vantage | `ALPHAVANTAGE_API_KEY` | https://www.alphavantage.co/support/#api-key |
256| US Census | `CENSUS_API_KEY` | https://api.census.gov/data/key_signup.html |
257| DisGeNET | `DISGENET_API_KEY` | https://www.disgenet.org (free academic) |
258| Addgene | `ADDGENE_API_KEY` | https://www.addgene.org (free account) |
259| LINCS L1000 (CLUE) | `CLUE_API_KEY` | https://clue.io (free academic) |
260
261These are all free to obtain. The APIs work without keys but have lower rate limits. Always try with a key first — if the env variable isn't set, proceed without the key and note in your response that rate limits may be lower.
262
263### Databases with paid or restricted access
264
265| Database | Restriction | Free alternative |
266|---|---|---|
267| DrugBank | Paid API license required | Use **ChEMBL** + **PubChem** + **OpenFDA** instead |
268| COSMIC | Free academic registration required (JWT auth) | Use **Open Targets** for cancer mutation data |
269| BRENDA | Free registration required (SOAP, not REST) | Use **KEGG** for enzyme/pathway data |
270
271When a database requires paid access or registration the user hasn't set up:
2721. **Fall back to a free alternative** that can answer the same question
2732. **Tell the user** which database you couldn't access, why, and what you used instead
2743. If the user specifically requests a restricted database, explain the access requirements so they can set it up
275
276### Loading API keys
277
278**Step 1 — Check the current environment.** The key may already be exported as a shell variable. For example, in Claude Code you can check with Bash: `echo $FRED_API_KEY`. If the variable is set and non-empty, use it.
279
280**Step 2 — Check `.env` file.** If the environment variable isn't set, read `.env` from the current working directory. Format:
281```
282FRED_API_KEY=your_key_here
283BEA_API_KEY=your_key_here
284```
285
286**Step 3 — Proceed without.** If neither source has the key, proceed without it (most APIs still work at lower rate limits) and mention this to the user.
287
288## Making API Calls
289
290Use your environment's HTTP fetch tool to call REST endpoints. The tool name varies by platform:
291
292| Platform | HTTP Fetch Tool | Fallback |
293|---|---|---|
294| Claude Code | `WebFetch` | `curl` via Bash |
295| Gemini CLI | `web_fetch` | `curl` via shell |
296| Windsurf | `read_url_content` | `curl` via terminal |
297| Cursor | No dedicated fetch tool | `curl` via `run_terminal_cmd` |
298| Codex CLI | No dedicated fetch tool | `curl` via `shell` |
299| Cline | No dedicated fetch tool | `curl` via `execute_command` |
300
301If you don't recognize your platform or the fetch tool fails, fall back to `curl` via whatever shell/terminal tool is available. Example:
302```bash
303curl -s -H "Accept: application/json" "https://api.example.com/endpoint"
304```
305
306### Request guidelines
307
308- Set `Accept: application/json` header where supported
309- URL-encode special characters in query parameters — SMILES strings (`/`, `#`, `=`, `@`), compound names with parentheses, and ontology terms with colons (`HP:0001250` → `HP%3A0001250`) are common sources of failures. With `curl`, use `--data-urlencode` for safety.
310- **Parallel OK**: When querying *different* databases (e.g., PubChem + ChEMBL + Reactome), run them in parallel — most APIs have generous rate limits.
311- **Serialize requests to rate-limited APIs**: NCBI APIs (Gene, GEO, Protein, Taxonomy, dbSNP, SRA) at 3 req/sec without key, 10 with key. Also watch: Ensembl (15 req/sec), BLS v1 (25 req/day without key), SEC EDGAR (10 req/sec), NOAA (5 req/sec with token).
312- If you get a rate-limit error (HTTP 429 or 503), wait briefly and retry once
313
314### Error recovery
315
316If an API returns an error or empty results:
3171. **Check the identifier format** — use the Common Identifier Formats table above. A gene symbol may need to be converted to NCBI Gene ID or Ensembl ID first.
3182. **Try alternative identifiers** — if a compound name fails in PubChem, try SMILES, InChIKey, or CID. If a gene symbol fails, try the NCBI Gene ID.
3193. **Try a different database** — if one database is down or returns nothing, check the "Also consider" column in the selection guide for alternatives.
3204. **Report the failure** — tell the user which database failed, the error, and what you tried instead.
321
322### Pagination
323
324Many APIs return paginated results — if you only read the first page, you may miss data. Common patterns:
325
326- **Offset/Limit**: `offset=0&limit=100` → increment offset by limit for the next page (ChEMBL, FRED, NOAA, USGS, NCBI E-utilities, ENA, GDC, FDA)
327- **Cursor-based**: Response includes a `nextPageToken` or `cursor` value — pass it in the next request (ClinicalTrials.gov, UniProt)
328- **Page number**: `page=1&per_page=50` → increment page (World Bank, cBioPortal, ZINC)
329
330Check the reference file for each database's specific pagination parameters. If a response includes `total`, `totalCount`, or `next` and the number of returned results is less than the total, there are more pages.
331
332For targeted lookups (single gene, single compound), the first page is usually sufficient. Paginate when the user needs comprehensive results (e.g., "all clinical trials for X" or "all known variants in gene Y").
333
334## Output Format
335
336Structure your response like this:
337
338```
339## Databases Queried
340- **PubChem** — /compound/name/aspirin/property/...
341- **Reactome** — /search/query?query=aspirin
342
343## Results
344
345### PubChem
346[raw JSON response]
347
348### Reactome
349[raw JSON response]
350```
351
352If results are very large, present the most relevant portion and note that additional data is available. But default to showing the full raw JSON — the user asked for it.
353
354## Adding New Databases
355
356This skill is designed to grow. Each database is a self-contained reference file in `references/`. To add a new database:
357
3581. Create `references/<database-name>.md` following the same format as existing files
3592. Add an entry to the database selection guide above
3603. The reference file should include: base URL, key endpoints, query parameter formats, example calls, rate limits, and response structure
361
362## Available Databases
363
364Read the relevant reference file before making any API call.
365
366### Physics & Astronomy
367| Database | Reference File | What it covers |
368|---|---|---|
369| NASA | `references/nasa.md` | NEO asteroids, Mars rover, APOD |
370| NASA Exoplanet Archive | `references/nasa-exoplanet-archive.md` | Exoplanets, orbital parameters |
371| NIST | `references/nist.md` | Physical constants, atomic spectra |
372| SDSS | `references/sdss.md` | Galaxy/star spectra, photometry |
373| SIMBAD | `references/simbad.md` | Astronomical object catalog |
374
375### Earth & Environmental Sciences
376| Database | Reference File | What it covers |
377|---|---|---|
378| USGS | `references/usgs.md` | Earthquakes, water data |
379| NOAA | `references/noaa.md` | Climate, weather station data |
380| EPA | `references/epa.md` | Air quality, toxic releases |
381| OpenWeatherMap | `references/openweathermap.md` | Weather current/forecast |
382
383### Chemistry & Drugs
384| Database | Reference File | What it covers |
385|---|---|---|
386| PubChem | `references/pubchem.md` | Compounds, properties, synonyms |
387| ChEMBL | `references/chembl.md` | Bioactivity, drug discovery |
388| DrugBank | `references/drugbank.md` | Drug data, interactions (paid) |
389| FDA (OpenFDA) | `references/fda.md` | Drug labels, adverse events, recalls |
390| DailyMed | `references/dailymed.md` | Drug labels (NIH/NLM) |
391| KEGG | `references/kegg.md` | Pathways, genes, compounds |
392| ChEBI | `references/chebi.md` | Chemical entities of biological interest |
393| ZINC | `references/zinc.md` | Commercially available compounds, virtual screening |
394| BindingDB | `references/bindingdb.md` | Experimentally measured binding affinities |
395
396### Materials Science
397| Database | Reference File | What it covers |
398|---|---|---|
399| Materials Project | `references/materials-project.md` | Band gaps, elastic properties, crystal structures |
400| COD | `references/cod.md` | Crystal structures, CIF files |
401
402### Biology & Genomics
403| Database | Reference File | What it covers |
404|---|---|---|
405| Reactome | `references/reactome.md` | Biological pathways, reactions |
406| BRENDA | `references/brenda.md` | Enzyme kinetics, catalysis (SOAP) |
407| UniProt | `references/uniprot.md` | Protein sequences, function |
408| STRING | `references/string.md` | Protein-protein interactions |
409| Ensembl | `references/ensembl.md` | Genomes, variants, sequences |
410| NCBI Gene | `references/ncbi-gene.md` | Gene information, links |
411| NCBI Protein | `references/ncbi-protein.md` | Protein sequences, records |
412| NCBI Taxonomy | `references/ncbi-taxonomy.md` | Taxonomic classification |
413| GEO (NCBI) | `references/geo.md` | Gene expression datasets |
414| GTEx | `references/gtex.md` | Gene expression across tissues |
415| PDB | `references/pdb.md` | Protein 3D structures |
416| AlphaFold DB | `references/alphafold.md` | Predicted protein structures |
417| EMDB | `references/emdb.md` | Electron microscopy maps |
418| InterPro | `references/interpro.md` | Protein families, domains |
419| BioGRID | `references/biogrid.md` | Protein/genetic interactions |
420| Gene Ontology | `references/gene-ontology.md` | GO terms, gene annotations |
421| QuickGO | `references/quickgo.md` | GO annotations (EBI, recommended) |
422| dbSNP | `references/dbsnp.md` | SNP/variant data |
423| SRA | `references/sra.md` | Sequencing run metadata |
424| gnomAD | `references/gnomad.md` | Population variant frequencies (POST) |
425| UCSC Genome Browser | `references/ucsc-genome.md` | Genome annotations, tracks |
426| ENCODE | `references/encode.md` | DNA elements, ChIP-seq, ATAC-seq |
427| JASPAR | `references/jaspar.md` | TF binding profiles/motifs |
428| Human Protein Atlas | `references/human-protein-atlas.md` | Protein expression across tissues |
429| Human Cell Atlas | `references/hca.md` | Single-cell atlas data |
430| LINCS L1000 | `references/lincs-l1000.md` | Gene expression signatures (CMap) |
431| RummaGEO | `references/rummageo.md` | GEO gene set enrichment (POST) |
432| PRIDE | `references/pride.md` | Proteomics data repository |
433| Metabolomics Workbench | `references/metabolomics-workbench.md` | Metabolomics studies, metabolites |
434| MouseMine | `references/mousemine.md` | Mouse genome informatics |
435| ENA | `references/ena.md` | Nucleotide sequences, reads, assemblies, taxonomy (EMBL-EBI) |
436| Addgene | `references/addgene.md` | Plasmid repository |
437
438### Disease & Clinical
439| Database | Reference File | What it covers |
440|---|---|---|
441| Open Targets | `references/opentargets.md` | Target-disease associations (POST) |
442| COSMIC | `references/cosmic.md` | Somatic mutations in cancer |
443| ClinPGx (PharmGKB) | `references/clinpgx.md` | Pharmacogenomics |
444| ClinicalTrials.gov | `references/clinicaltrials.md` | Clinical trial registry |
445| OMIM | `references/omim.md` | Mendelian disease-gene data |
446| ClinVar | `references/clinvar.md` | Variant clinical significance |
447| GDC (TCGA) | `references/tcga-gdc.md` | Cancer genomics, mutations (POST) |
448| cBioPortal | `references/cbioportal.md` | Cancer study mutations, CNA, expression, clinical data |
449| DisGeNET | `references/disgenet.md` | Gene-disease associations |
450| GWAS Catalog | `references/gwas-catalog.md` | GWAS SNP-trait associations |
451| Monarch Initiative | `references/monarch.md` | Disease-phenotype-gene links |
452| HPO | `references/hpo.md` | Human Phenotype Ontology |
453
454### Patents & Regulatory
455| Database | Reference File | What it covers |
456|---|---|---|
457| USPTO | `references/uspto.md` | Patents, trademarks |
458| SEC EDGAR | `references/sec-edgar.md` | Company filings (needs User-Agent header) |
459
460### Economics & Finance
461| Database | Reference File | What it covers |
462|---|---|---|
463| FRED | `references/fred.md` | US economic time series |
464| Federal Reserve | `references/federal-reserve.md` | Monetary/financial data |
465| BEA | `references/bea.md` | GDP, national accounts |
466| BLS | `references/bls.md` | Employment, wages, CPI |
467| World Bank | `references/worldbank.md` | Development indicators |
468| ECB | `references/ecb.md` | Euro exchange rates, monetary stats |
469| US Treasury | `references/treasury.md` | Debt, yield curves, fiscal data |
470| Alpha Vantage | `references/alphavantage.md` | Stocks, forex, crypto |
471| Data Commons | `references/datacommons.md` | Statistical knowledge graph |
472
473### Social Sciences & Demographics
474| Database | Reference File | What it covers |
475|---|---|---|
476| US Census | `references/census.md` | Population, housing, economic surveys |
477| Eurostat | `references/eurostat.md` | EU statistics |
478| WHO GHO | `references/who.md` | Global health indicators |