papers-openalex
[!WARNING] Internal crate for
papers. API may change without notice.
Async Rust client for the OpenAlex REST API. Covers 240M+ works, 110M+ authors, and metadata across sources, institutions, topics, publishers, and funders.
Quick start
use ;
let client = new;
let params = builder
.search
.per_page
.build;
let response = client.list_works.await?;
Authentication
Optional for most endpoints. Set OPENALEX_KEY or pass it explicitly:
let client = new; // reads OPENALEX_KEY from env
let client = with_api_key; // explicit
API coverage
| Entity | List | Get | Autocomplete |
|---|---|---|---|
| Works | list_works |
get_work |
autocomplete_works |
| Authors | list_authors |
get_author |
autocomplete_authors |
| Sources | list_sources |
get_source |
autocomplete_sources |
| Institutions | list_institutions |
get_institution |
autocomplete_institutions |
| Topics | list_topics |
get_topic |
-- |
| Publishers | list_publishers |
get_publisher |
autocomplete_publishers |
| Funders | list_funders |
get_funder |
autocomplete_funders |
Plus find_works for AI semantic search (requires API key, 1,000 credits per call).
Parameters
| Struct | Used by | Key fields |
|---|---|---|
ListParams |
List endpoints | filter, search, sort, per_page, page, cursor, sample, select, group_by |
GetParams |
Get endpoints | select |
FindWorksParams |
Semantic search | query, count, filter |