| name | nmrxiv |
| description | Search and download NMR spectroscopy datasets from nmrxiv.org. Use when the user asks to find NMR data, search for HSQC/HMBC/COSY/DEPT experiments, look up compounds by name or SMILES, download NMR datasets, or access nmrxiv.org data programmatically. Outputs JSON for easy parsing. |
nmrxiv-downloader: NMR Dataset Search & Download
CLI tool for searching and downloading NMR spectroscopy datasets from nmrxiv.org.
Setup
pip install nmrxiv-downloader
nmrxiv --help
Quick Reference
| Task | Command | JSON Path |
|---|
| List projects | nmrxiv list --type project | .items[].identifier |
| List datasets | nmrxiv list --type dataset | .items[].identifier |
| Search molecule | nmrxiv search --query "name" | .results[].canonical_smiles |
| Search SMILES | nmrxiv search --smiles "CCO" | .results[].iupac_name |
| Filter by experiment | nmrxiv search --type hsqc | .results[].identifier |
| Show details | nmrxiv show P5 | .item.download_url |
| Download | nmrxiv download P5 -o /tmp | .file, .size |
| Download + extract | nmrxiv download P5 -o /tmp --extract | .extracted_to |
Common Experiment Types
nmrxiv search --type hsqc
nmrxiv search --type hmbc
nmrxiv search --type cosy
nmrxiv search --type dept
nmrxiv search --type "1d-13c"
nmrxiv search --type noesy
nmrxiv search --type tocsy
Key Facts
- All output is JSON by default (add
--no-json for human-readable)
- Projects have download URLs, datasets don't - download via parent project
- Data hierarchy: Project โ Study โ Dataset โ Files (Bruker, JCAMP-DX)
- Pagination: Use
--page N for large result sets
Workflow: Find and Download NMR Data
nmrxiv search --type hsqc
nmrxiv show D410
nmrxiv download P11 --output ./data --extract
Workflow: Search by Compound
nmrxiv search --query "quercetin"
nmrxiv search --smiles "c1ccc(O)cc1"
nmrxiv list --type project | jq '.items[] | select(.name | test("quercetin"; "i"))'
Error Handling
If download fails with "No download URL":
{"error": true, "message": "No download URL for D410. Try downloading parent project: P11", "code": 1}
โ Use the suggested parent project ID to download.
Parsing Examples
nmrxiv list --type project | jq -r '.items[0].identifier'
nmrxiv search --type hsqc | jq -r '.results[].identifier'
nmrxiv show P5 | jq -r '.item.download_url'