Skip to content
Automation
Skill

/openalex

Search academic papers via OpenAlex API for open citation data, institutional affiliations, and funding information. Use when user says "openalex search", "search openalex", "open citation graph", or wants comprehensive academic metadata beyond arXiv/Semantic Scholar.

From plugin
aris
19k87 skills1 agent1 command

Claude Code

$ npx -y skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill openalex --agent claude-code

SKILL.md

openalex.SKILL.md
name: openalex
description: Search academic papers via OpenAlex API for open citation data, institutional affiliations, and funding information. Use when user says "openalex search", "search openalex", "open citation graph", or wants comprehensive academic metadata beyond arXiv/Semantic Scholar.
argument-hint: "[search-query]"
allowed-tools: Bash(*), Read, Write

OpenAlex Academic Search

Search query: $ARGUMENTS

Role & Positioning

This skill uses OpenAlex as a **comprehensive open academic graph** source:

| Skill | Source | Best for | |-------|--------|----------| | `/arxiv` | arXiv API | Latest preprints, cutting-edge unrefereed work | | `/semantic-scholar` | Semantic Scholar API | Published venue papers (IEEE, ACM, Springer) with citation counts | | `/openalex` | OpenAlex API | **Open citation graph, institutional affiliations, funding data, comprehensive metadata** | | `/deepxiv` | DeepXiv CLI | Layered reading: search, brief, section map, section reads | | `/exa-search` | Exa API | Broad web search: blogs, docs, news, companies, research papers | | `/gemini-search` | Gemini MCP / CLI | AI-powered broad literature discovery |

Use OpenAlex when you want:

  • **Open citation data** — fully open citation graph (no API key required for basic use)
  • **Institutional affiliations** — author institutions and collaborations
  • **Funding information** — NSF, NIH, and other funding sources
  • **Comprehensive metadata** — topics, keywords, abstract, open access status
  • **Cross-database coverage** — indexes 250M+ works from multiple sources

Constants

  • **MAX_RESULTS = 10** — Default number of results. Override with `— max: 20`.
  • **DEFAULT_SORT = relevance** — Sort by relevance. Override with `— sort: citations` or `— sort: date`.
  • **OPENALEX_FETCHER** — canonical name `openalex_fetch.py`, resolved per

[`shared-references/integration-contract.md`](../shared-references/integration-contract.md) §2 (Policy D1 — standalone `/openalex` has no documented inline fallback, so unresolved helper terminates with an explicit error).

> Overrides (append to arguments): > - `/openalex "topic" — max: 20` — return up to 20 results > - `/openalex "topic" — year: 2023-` — papers from 2023 onward > - `/openalex "topic" — year: 2020-2023` — papers from 2020 to 2023 > - `/openalex "topic" — type: article` — only journal articles > - `/openalex "topic" — type: preprint` — only preprints > - `/openalex "topic" — open-access` — only open access papers > - `/openalex "topic" — min-citations: 50` — minimum 50 citations > - `/openalex "topic" — sort: citations` — sort by citation count (descending) > - `/openalex "topic" — sort: date` — sort by publication date (newest first)

Setup

Prerequisites

1. **Python 3.7+** with `requests` library:

   pip install requests

2. **Optional: API key and email** — Set the variables you use in the same shell **before starting Claude Code** so helper commands inherit them:

   export OPENALEX_API_KEY='your-key-here'
   export OPENALEX_EMAIL='your-email@example.com'
   claude

The helper reads `OPENALEX_API_KEY` and `OPENALEX_EMAIL` from its process environment. A separate tool-shell `export` does not update an already running host. If you keep credentials in an environment file, load it explicitly before starting the host rather than relying on automatic `.env` loading.

3. **Get API keys** (optional but recommended):

  • **OpenAlex API key**: Free tier $1/day (10,000 list calls, 1,000 search calls) from [openalex.org](https://openalex.org/)
  • **Email for polite pool**: Faster response times (no registration needed)

Verify Setup

python3 "$OPENALEX_FETCHER" search "machine learning" --max 3

(Resolve `$OPENALEX_FETCHER` via the canonical chain first — see Step 2 below.)

Workflow

Step 1: Parse Arguments

Parse `$ARGUMENTS` for:

  • **query**: The research topic (required)
  • **max**: Override MAX_RESULTS
  • **year**: Publication year filter (e.g., `2023-`, `2020-2023`)
  • **type**: Work type filter (`article`, `preprint`, `book`, `book-chapter`, `dataset`, `dissertation`)
  • **open-access**: Only include open access papers
  • **min-citations**: Minimum citation count threshold
  • **sort**: Sort order (`relevance`, `citations`, `date`)

Step 2: Locate Script

Resolve `$OPENALEX_FETCHER` via the canonical strict-safe chain (see [`shared-references/integration-contract.md`](../shared-references/integration-contract.md) §2). Policy D1: there is no native inline fallback for OpenAlex (retrieval requires the `requests` SDK + optional API key — the fetcher script encapsulates pagination, throttling, and per-source parameters), so unresolved helper terminates with explicit remediation.

cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
    ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
fi
if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
    ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
fi
OPENALEX_FETCHER=".aris/tools/openalex_fetch.py"
[ -f "$OPENALEX_FETCHER" ] || OPENALEX_FETCHER="tools/openalex_fetch.py"
[ -f "$OPENALEX_FETCHER" ] || { [ -n "${ARIS_REPO:-}" ] && OPENALEX_FETCHER="$ARIS_REPO/tools/openalex_fetch.py"; }
[ -f "$OPENALEX_FETCHER" ] || {
  echo "ERROR: openalex_fetch.py not resolved at .aris/tools/, tools/, \$ARIS_REPO/tools/, or via ~/.aris/repo." >&2
  echo "       Fix: rerun bash tools/install_aris.sh or smart_update.sh (refreshes ~/.aris/repo), export ARIS_REPO, or copy the helper to tools/." >&2
  echo "       Also ensure 'requests' is installed: pip install requests" >&2
  exit 1
}

Step 3: Execute Search

**Basic search:**

python3 "$OPENALEX_FETCHER" search "QUERY" --max 10

**With filters:**

python3 "$OPENALEX_FETCHER" search "QUERY" --max 10 \
  --year 2023- \
  --type articl
Read more
@wanshuiyin
Ships witharis

· · · · · · · · 💬 Join Community · 🌱 ARIS is a methodology, not a platform. What matters is the research workflow — take it wherever you go.

19k87 skills1 agent
Get the whole plugin

Stars on GitHub

Momentum

stars in total
19.1k
Star history of wanshuiyin/Auto-claude-code-research-in-sleep on GitHub, a chart by star-history.com

Other skills on aris.

ablation-planner

ablation-planner

Use when main results pass result-to-claim (claim_supported=yes or partial) and ablation studies are needed for paper submission.

@wanshuiyin@wanshuiyinInstall Skill
alphaxiv

alphaxiv

Quick single-paper lookup via AlphaXiv LLM-optimized summaries with tiered source fallback. Use when user says "explain this…

@wanshuiyin@wanshuiyinInstall Skill
analyze-results

analyze-results

Analyze ML experiment results, compute statistics, generate comparison tables and insights. Use when user says "analyze results",…

@wanshuiyin@wanshuiyinInstall Skill
arxiv

arxiv

Search, download, and summarize academic papers from arXiv. Use when user says "search arxiv", "download paper", "fetch arxiv",…

@wanshuiyin@wanshuiyinInstall Skill
auto-paper-improvement-loop

auto-paper-improvement…

Autonomously improve a generated paper via GPT-6-Astra xhigh review → implement fixes → recompile, for 2 rounds. Use when user…

@wanshuiyin@wanshuiyinInstall Skill
auto-review-loop-llm

auto-review-loop-llm

Autonomous research review loop using any OpenAI-compatible LLM API. Configure via llm-chat MCP server or environment variables.…

@wanshuiyin@wanshuiyinInstall Skill

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n12d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about openalex.

Which coding agents can use openalex?
openalex installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.