Skip to content

Latest commit

 

History

History
171 lines (128 loc) · 6.24 KB

File metadata and controls

171 lines (128 loc) · 6.24 KB

RESP: Research Papers Search

Fetch academic research papers from multiple sources including Google Scholar, Arxiv, Semantic Scholar, ACL, ACM, and more

PyPI version Python versions License GitHub commit PRs Welcome Open In Colab

RESP MCP Server Try with Claude Code and Agents

Important

🚀 RESP is now available as an MCP server  —  resp_mcp

Use RESP's paper search directly inside Claude Code, Claude Desktop, Cursor, and any other AI agent via the Model Context Protocol. Search arXiv, Semantic Scholar, OpenReview, DBLP, the ACL Anthology, and 27 major AI/ML/NLP/CV conferences — as agent tools.

claude mcp add resp -- resp-mcp

  👉   Check it out: github.com/monk1337/resp_mcp   ⭐

Installation

pip install respsearch

For Connected Papers support (requires Selenium):

pip install respsearch[selenium]

Quick Start

Simple API (Recommended)

from resp import arxiv, semantic_scholar, acm, google_scholar

# Arxiv - No API key needed
papers = arxiv.search_papers("deep learning", max_results=10)

# Semantic Scholar - No API key needed
papers = semantic_scholar.search_papers("natural language processing", max_results=5)

# ACM Digital Library - No API key needed
papers = acm.search_papers("machine learning", max_results=5)

# Google Scholar - Requires free SerpAPI key from https://serpapi.com/
google_scholar.set_api_key("your_serpapi_key")
papers = google_scholar.search_papers("machine learning", num_results=10)

Advanced API (Direct Class Access)

from resp.apis.arxiv_api import Arxiv
from resp.apis.semantic_s import Semantic_Scholar
from resp.apis.serp_api import Serp

# Arxiv
ap = Arxiv()
papers = ap.arxiv('deep learning', max_pages=5)

# Semantic Scholar
sc = Semantic_Scholar()
papers = sc.ss('neural networks', max_pages=3)

# Google Scholar via Serp
serp = Serp(api_key="your_serpapi_key")
papers = serp.google_scholar_search('transformers', max_pages=2)

Features

  • 🔍 Search papers by keywords across multiple academic sources
  • 📚 Fetch citations of any paper from Google Scholar
  • 🔗 Find related papers from Google Scholar
  • 🕸️ Connected Papers - discover papers using similarity graphs (not just citations)

Supported Sources

Source API Key Required Status
Arxiv ✅ Free ✅ Working
Semantic Scholar ✅ Free ✅ Working
Google Scholar 🔑 Required (SerpAPI) ✅ Working
ACM Digital Library ✅ Free ⚠️ Limited*
ACL Anthology ✅ Free ✅ Via Resp
PMLR ✅ Free ✅ Via Resp
NeurIPS ✅ Free ✅ Via Resp
IJCAI ✅ Free ✅ Via Resp
OpenReview ✅ Free ✅ Via Resp
CVF Open Access ✅ Free ✅ Via Resp
Connected Papers ✅ Free ✅ Requires Selenium

*ACM website structure changes frequently, may return limited results

Advanced Features

Google Scholar: Get Citations & Related Papers

from resp import google_scholar

# Set API key once
google_scholar.set_api_key("your_serpapi_key")

# Search papers
papers = google_scholar.search_papers("attention mechanism", num_results=5)

# Get citations for a paper
citations = google_scholar.get_citations("Attention is all you need")

# Get related papers
related = google_scholar.get_related_papers("BERT language model")

Connected Papers (Requires Selenium)

from resp import connected_papers

# Install first: pip install respsearch[selenium]
papers = connected_papers().get_connected_papers("paper_title")

Using Resp Class for Multiple Sources

from resp import Resp

# Search across ACL, PMLR, NeurIPS, etc.
resp = Resp()
papers = resp.search_papers("keyword", source="acl")

Citation

If you find this repository useful, please cite:

@misc{Resp2021,
  title = {RESP: Research Papers Search},
  author = {Pal, Ankit},
  year = {2021},
  howpublished = {\url{https://github.com/monk1337/resp}},
  note = {Fetch academic research papers from multiple sources}
}

Support

If you'd like to support this project:

Star History Chart