Install
openclaw skills install open-alex-alUse OpenAlex to find and cite scholarly works, authors, institutions, and trends via metadata queries without needing an API key.
openclaw skills install open-alex-alFEATURED — Teaches an agent how to use OpenAlex (the open scholarly graph) correctly: discover entities, query works with filters, read results, and cite accurately. No API key required. Set
OPENALEX_MAILTOfor the polite pool.
This skill pairs with the OpenAlex MCP server (see ../mcp/), which provides the 6 callable tools. The skill provides the know-how. Use imperative voice; do what each step says.
openalex — Open scholarly metadata: works, authors, institutions, sources, topics, concepts, publishers, funders.
Answer research questions using authoritative bibliographic data: find papers, authors, citations, open-access status, and bibliometric trends — and cite them precisely. OpenAlex is free and open.
Use OpenAlex when the task involves:
It is free — prefer it for any academic-metadata need.
open_access.oa_url; follow that URL to the file. OpenAlex does not serve full text.OPENALEX_MAILTO=you@example.com to join the polite pool (faster, fewer 429s). Not a secret.OPENALEX_API_BASE_URL, OPENALEX_TIMEOUT_MS (30000), OPENALEX_MAX_RETRIES (3), LOG_LEVEL.| Tool | Use it to |
|---|---|
openalex_search | Resolve a name/title/keyword to entities (and IDs). |
openalex_works | Query works with filter, sort, paging — the main tool. |
openalex_get | Fetch one entity by OpenAlex ID / DOI / ORCID / ROR. |
openalex_authors | Search/filter authors. |
openalex_group_by | Counts grouped by a field (analytics). |
openalex_request | Generic passthrough to any endpoint (sources, topics, autocomplete, …). |
openalex_search or openalex_request → autocomplete/{entity}.display_name, affiliation, works_count).| Prefix | Entity | Prefix | Entity |
|---|---|---|---|
W | Works | T | Topics |
A | Authors | C | Concepts |
I | Institutions | P | Publishers |
S | Sources | F | Funders |
Entity types: works, authors, sources, institutions, topics, concepts, publishers, funders, keywords.
Build a filter (comma-separated, ANDed) and pick a sort:
| Need | Filter |
|---|---|
| Year | publication_year:2024 |
| Date range | from_publication_date:…,to_publication_date:… |
| Open access | is_oa:true |
| By author | authorships.author.id:A… |
| By institution | authorships.institutions.id:I… |
| By topic | primary_topic.id:T… |
| Highly cited | cited_by_count:>100 |
| Type | type:article |
cited_by_count:desc. Sort by recency: publication_date:desc.per-page ≤ 200.cursor=* then meta.next_cursor), not high page numbers.meta.count = total matches (not the number returned).results = the current page only.group_by = [{key, key_display_name, count}] for aggregations.abstract_inverted_index (a {word: [positions]} map), not plain text. Reconstruct by placing each word at its positions and joining in order.open_access.oa_url for the free PDF/HTML.Cite every claim with: title, authors, year, DOI, and the OpenAlex ID + URL https://openalex.org/<ID>.
<Authors> (<year>). <Title>. <Source>. DOI: <doi>. OpenAlex: https://openalex.org/<WID>
The OpenAlex URL is mandatory for traceability, in addition to the DOI.
OpenAlex data updates frequently (new works, citation counts, affiliations). Counts you report are point-in-time. When precision matters, note the access date and that figures may change.
meta.count) distinct from listed results.| Error | Cause | Reaction |
|---|---|---|
| HTML 404 | Bad/typo ID | Fix the ID prefix/value; re-resolve via search/autocomplete. |
429 | Not in polite pool / too fast | Set OPENALEX_MAILTO; back off; reduce volume. |
| Empty results | Filter too narrow | Broaden filter; check key spelling; try search. |
400 | Bad filter syntax | Comma-separate; use key:value; verify keys. |
| Timeout | Query too broad | Add a filter; lower per-page. |
OPENALEX_MAILTO.page is capped ~10000 results).OPENALEX_MAILTO is not sensitive but keep configs clean.filter instead of scanning everything?sort?meta.count vs results correctly?OPENALEX_MAILTO to avoid 429?openalex_works (topic + year + is_oa, sort by citations) → openalex_get top work → author/institution profiles → cited summary. See recipes/literature-search.md.openalex_get author → openalex_works filtered by authorships.author.id → top works + metrics. See recipes/author-profile.md.openalex_group_by on publication_year with a topic/OA filter. See recipes/citation-trends.md.per_page on the wire instead of per-page (hyphen) in openalex_request.page numbers (capped ~10000 results) instead of cursor.abstract_inverted_index as plain text.meta.count as the number of items returned.OPENALEX_MAILTO and hitting 429.Verification needed: confirm filter keys, limits, and field names with https://docs.openalex.org.