An R ecosystem for large-scale, on-disk access to OpenAlex — the open catalogue of global scholarly work.
OpenAlex provides free, comprehensive metadata on over 250 million scholarly works, authors, institutions, and concepts. The openalexPro ecosystem is built around a single design principle: process data on disk rather than in memory, so workflows scale to millions of records without hitting RAM limits.
Badges per package, by line: released (main) — r-universe version, main version, CI and coverage of main; development (dev) — dev version and CI of dev; then DOI, lifecycle, license and docs. Versions are read live from each branch's DESCRIPTION.
Core API client — build queries (classic filters or OpenAlex's query language, OQL), page through the results, and store them as Parquet. Resumes interrupted downloads, and processes on disk, so it scales to millions of records without RAM limits.
Snowball citation searches — expand a set of seed papers by the works that cite them and the works they cite, written as partitioned Parquet. Runs live against the OpenAlex API (via openalexPro) or offline against a local snapshot (via openalexSnapshot).
Export a Parquet corpus to BibTeX, BibLaTeX, CSL JSON, Markdown, LaTeX, HTML, or PDF via Pandoc, or straight into Zotero — with the OpenAlex ID in Extra, re-exports that skip, update or overwrite, nested collections, and tags in both directions.
Offline work with a local OpenAlex snapshot in Parquet — ID, DOI and citation indexes, record extraction by OpenAlex ID or DOI at scale, and an offline citation graph (works citing or cited by a paper). Pure R over DuckDB; nothing to compile.
Text embedding, cosine-distance scoring, and threshold calibration — backend-neutral (HuggingFace, OpenAI, TEI). Adds semantic similarity search to the ecosystem.
All R packages are available from the openalexPro r-universe:
install.packages(
c("openalexPro", "openalexSnowball", "openalexConvert",
"openalexSnapshot", "openalexVectorComp"),
repos = c("https://openalexpro.r-universe.dev", "https://cloud.r-project.org")
)- On-disk processing — results are paged and written to Parquet; memory use stays flat regardless of corpus size.
- Arrow / DuckDB throughout — all data manipulation uses columnar formats; SQL queries run in-process.
- Composable — each package has a single responsibility and speaks the same Parquet dialect, so they chain naturally.
- Pure R — none of the packages has compiled code of its own, so nothing needs a toolchain to install.
Issues and pull requests are welcome on the individual package repositories. Please open an issue before starting large changes.
This ecosystem builds on the excellent openalexR package and the OpenAlex team's commitment to open scholarly infrastructure.
The packages are provided as is. The authors are not affiliated with OpenAlex.