Problem or Motivation
When extending a related work section, finding relevant papers is manual and ad-hoc. A common strategy is citation graph traversal: for each paper you already cite, find influential papers it references and papers that cite it. This is tedious to do manually across many seed papers.
Tools like ResearchRabbit and Connected Papers do this via web UI, but there's no CLI option for:
- Scripted/reproducible literature expansion
- Integration with existing paper management workflows
- Programmatic filtering (by year, venue, relevance)
Proposed Solution
Add papi expand command that traverses the citation graph via Semantic Scholar or OpenAlex APIs:
# Expand from papers in the database
papi expand [papers...] [--top-k=5] [--influential] [--since=2020] [--output=bibtex|json|table]
# Examples
papi expand if-net pointnet # expand from specific papers
papi expand --all --top-k=3 # expand from entire database
papi expand nerf --influential # only "highly influential" citations (S2 flag)
papi expand --since=2022 --output=bibtex >> candidates.bib
Core workflow:
- Resolve paper names → Semantic Scholar IDs (via DOI, arXiv ID, or title search)
- Fetch references (backward) and citations (forward) for each seed
- Filter by
isInfluential flag, citation count, year
- Aggregate across seeds, deduplicate, rank by frequency + citation count
- Output with title, year, abstract snippet, citation count for triage
Research: Available Tools & APIs
APIs with Programmatic Access
| Service |
Rate Limits |
Key Features |
Cost |
| Semantic Scholar |
1 RPS (higher with free key) |
isInfluential flag, 225M papers, SPECTER embeddings |
Free |
| OpenAlex |
100k/day |
referenced_works, cited_by_api_url, related_works, venue filtering |
Free |
| AI2 Asta MCP |
Higher with key |
Full-text search, get_citations, S2 wrapper |
Free |
| Connected Papers |
5 builds/min |
Similarity graph (not citation), visual clustering |
Email for key |
Python Libraries
Web-Only Tools (No Public API)
| Tool |
Notes |
| ResearchRabbit |
Best UX, no API, BibTeX export only |
| Inciteful |
PageRank-based discovery, Literature Connector for bridging domains |
| Litmaps |
Semantic + citation hybrid, ChatGPT plugin exists |
| Citation Gecko |
Open source, Zotero integration, uses OpenCitations |
MCP Servers
| Server |
Endpoint |
Notable |
| AI2 Asta |
https://asta-tools.allen.ai/mcp/v1 |
Official S2, full-text snippet search |
| S2 Graph API MCP |
Self-hosted |
10+ tools, recommendations from examples |
Implementation Recommendation
Primary backend: Semantic Scholar
isInfluential flag is the killer feature—filters out superficial citations
- Python library (
semanticscholar) handles pagination, async, typing
- Free, well-documented, 225M+ papers
OpenAlex as fallback/complement
- No rate limits (100k/day vs 1 RPS)
- Better venue/institution filtering
related_works uses algorithmic similarity, not just citations
Key differentiator from web tools
- Scriptable + reproducible (version-controlled expansion)
- Filters web tools lack: by venue, year range, influential-only
- Direct output to paperpipe DB or BibTeX
Alternatives Considered
- Web tools only (ResearchRabbit, Litmaps): Good for exploration but not scriptable or integrated with paperpipe workflow
- Standalone CLI tool: Would duplicate paper resolution logic already in paperpipe
- MCP-only approach: AI2 Asta MCP already wraps S2—but CLI tool is more universally accessible
- Manual search: Current approach—works but doesn't scale
Area
CLI commands
Contribution
Problem or Motivation
When extending a related work section, finding relevant papers is manual and ad-hoc. A common strategy is citation graph traversal: for each paper you already cite, find influential papers it references and papers that cite it. This is tedious to do manually across many seed papers.
Tools like ResearchRabbit and Connected Papers do this via web UI, but there's no CLI option for:
Proposed Solution
Add
papi expandcommand that traverses the citation graph via Semantic Scholar or OpenAlex APIs:Core workflow:
isInfluentialflag, citation count, yearResearch: Available Tools & APIs
APIs with Programmatic Access
isInfluentialflag, 225M papers, SPECTER embeddingsreferenced_works,cited_by_api_url,related_works, venue filteringget_citations, S2 wrapperPython Libraries
semanticscholarpip install semanticscholarpyalexpip install pyalexconnectedpapers-pypip install connectedpapers-pyWeb-Only Tools (No Public API)
MCP Servers
https://asta-tools.allen.ai/mcp/v1Implementation Recommendation
Primary backend: Semantic Scholar
isInfluentialflag is the killer feature—filters out superficial citationssemanticscholar) handles pagination, async, typingOpenAlex as fallback/complement
related_worksuses algorithmic similarity, not just citationsKey differentiator from web tools
Alternatives Considered
Area
CLI commands
Contribution