A third-party CLI toolkit for downloading public data from the ORCID API.
- Fetch all Work Details for a given ORCID iD (v 3.0 API)
- Pretty-printed JSON written to any directory you choose
- Safe "fetch-only-when-changed" logic
- compares existing work-details with the latest summaries and downloads only new or updated entries; no file rewrite when unchanged
- ideal for static hosting (e.g. GitHub Pages)
- Multi-platform support
(initial release: Work Details only – more record types will follow).
- Rust (≥ 1.88) – needed only if you build from source.
- jq (≥ 1.8.1) – used by the example scripts in
examples/*
.
Pre‑built binaries (≥ v0.2.1) are available on the Releases page. The following platforms are currently supported:
OS | Arch | File name pattern |
---|---|---|
Linux | x86‑64 | *-x86_64-unknown-linux-gnu.tar.gz |
macOS | x86‑64 | *-x86_64-apple-darwin.tar.gz |
macOS | ARM64 | *-aarch64-apple-darwin.tar.gz |
Windows | x86‑64 | *-x86_64-pc-windows-msvc.zip |
# clone & build
git clone https://github.com/hyperfinitism/orcid-fetcher
cd orcid-fetcher
cargo build --release
# or install straight into ~/.cargo/bin
cargo install --git https://github.com/hyperfinitism/orcid-fetcher
orcid-works-cli --id $ORCID_ID [Options]
Flag | Description | Default |
---|---|---|
-i , --id <String> |
ORCID iD (e.g. 0000-0002-1825-0097 ) |
(required) |
-o , --out <PathBuf> |
Output JSON file path (parent dirs auto-created) | ./output.json |
--concurrency <usize> |
Maximum parallel requests (1-32). Should not exceed rate-limit. | 8 |
--rate-limit <u32> |
Requests-per-second cap (1–40). See also Guidelines section. | 12 |
--user-agent-note <String> |
Text appended to the built-in User-Agent string | (none) |
--force-fetch |
Ignore diff and refetch every work-detail entry | false |
-h , --help |
Print help | — |
-V , --version |
Print version | — |
- (required) – the option must be provided
- (none) – optional, nothing is sent if omitted
- any other value – used as default when the flag is absent
orcid-works-cli \
--id "0000-0002-1825-0097" \
--out ./output.json
Please respect ORCID's Public API policies:
- Rate limits: Do not exceed 12 requests/second (burst up to 40/s)
- Usage quotas: Do not exceed 25k reads/day (per IP address)
- Polling: Avoid continuously polling the API for changes
See ORCID's References for more details.
PRs and issues are welcome—please open an issue first to discuss major changes.
This is a third-party tool and is not affiliated with, sponsored by, or endorsed by ORCID. It uses the ORCID Public API only to fetch public data. See ORCID's References for complete usage rules.
- ORCID/orcid-model - Github
- Public APIs Terms of Service - ORCID
- What are the API usage quotas and limits? - ORCID
Licensed under the Apache-2.0 License. See LICENSE for details.