openalexcli
A CLI for OpenAlex API - designed for humans and AI agents.
Installation
pip install openalexcli
Or with uv:
uv pip install openalexcli
Or run directly without installing:
uvx openalexcli search "machine learning"
For development:
pip install -e .
Usage
Search for works
# Basic search
openalexcli search "machine learning"
# With filters
openalexcli search "transformers" --from-date 2020-01-01 --min-citations 100
# Open access only
openalexcli search "climate change" --open-access
# Output as JSON (auto-detected when piped)
openalexcli search "neural networks" --json
# Output as BibTeX
openalexcli search "attention mechanism" --bibtex
# Group by field (aggregated statistics)
openalexcli search "CRISPR" --group-by publication_year
# Use raw OpenAlex filter syntax
openalexcli search "deep learning" --filter "type:article,is_oa:true"
Get work details
# By OpenAlex ID
openalexcli work W2741809807
# By DOI
openalexcli work "10.1038/nature12373"
# Multiple works
openalexcli work W2741809807 W2100837269
# Export as BibTeX
openalexcli bibtex W2741809807 W2100837269
Citations and references
# Get works that cite a paper
openalexcli citations W2741809807
# Get works cited by a paper
openalexcli references W2741809807
Author commands
# Get author by ID or ORCID
openalexcli author get A5023888391
openalexcli author get "0000-0002-1825-0097"
# Search authors
openalexcli author search "Yann LeCun"
# Get author's works
openalexcli author works A5023888391 --from-date 2020-01-01
# Group author's works by year
openalexcli author works A5023888391 --group-by publication_year
Institution commands
# Get institution by ID or ROR
openalexcli institution get I136199984
openalexcli institution get "ror:03vek6s52"
# Search institutions
openalexcli institution search "MIT"
# Get works from an institution
openalexcli institution works I136199984 --from-date 2023-01-01
Source (journal) commands
# Get source by ID or ISSN
openalexcli source get S137773608
openalexcli source get "0028-0836"
# Search sources
openalexcli source search "Nature"
# Get works from a source
openalexcli source works S137773608 --from-date 2024-01-01
Output Formats
The CLI automatically selects the best output format:
- Terminal: Human-readable tables (using Rich)
- Piped output: Compact JSON for machine consumption
- --json: Force JSON output
- --bibtex: BibTeX format (for works/publications only)
Polite Pool
OpenAlex provides higher rate limits when you identify yourself with an email:
# Per command
openalexcli search "query" --email your@email.com
# Or set environment variable
export OPENALEX_EMAIL="your@email.com"
openalexcli search "query"
Filter Syntax
Use --filter to pass raw OpenAlex filter expressions:
# Multiple filters (AND)
openalexcli search "AI" --filter "type:article,cited_by_count:>100"
# OR within a filter
openalexcli search "AI" --filter "publication_year:2023|2024"
# Negation
openalexcli search "AI" --filter "type:!book"
See OpenAlex filter documentation for all options.
Group By
Get aggregated statistics instead of individual results:
# Works by type
openalexcli search "machine learning" --group-by type
# Works by year
openalexcli search "quantum computing" --group-by publication_year
# Works by institution
openalexcli search "CRISPR" --group-by authorships.institutions.id
# Author's works by open access status
openalexcli author works A5023888391 --group-by open_access.is_oa
License
MIT
Metadata
Release files for openalexcli 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| openalexcli-0.1.7.tar.gz | 17.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openalexcli-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.4 kB
Release files / openalexcli-0.1.7.tar.gz
| Download URL | openalexcli-0.1.7.tar.gz |
|---|---|
| Size | 17.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aff23c1d8e31c2ff1683b7abc63a1155ede299c478104596e97b984d186d6c2c
|
|
BLAKE2b-256 checksum How to use checksums |
65afeba0afe6f60ea53b2a8bb7f483f3670de2eff5803637e316e205b150fcd1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|
Release files / openalexcli-0.1.7-py3-none-any.whl
| Download URL | openalexcli-0.1.7-py3-none-any.whl |
|---|---|
| Size | 17.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7358f348b588619754fc589c2342c4d77fe7c6505b8e9ed3385f6ee9027e451f
|
|
BLAKE2b-256 checksum How to use checksums |
aef9109a3206f9dbfc6cd6e1c28271dd6f0e15b371e16581631c15bd4a73fbb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|