| name | findpapers-guide |
| description | Search multiple academic databases simultaneously with Findpapers |
| metadata | {"openclaw":{"emoji":"🔍","category":"literature","subcategory":"search","keywords":["Findpapers","multi-database search","systematic review","arXiv","PubMed","Scopus","IEEE"],"source":"https://github.com/jonatasgrosman/findpapers"}} |
Findpapers Guide
Overview
Findpapers is a Python tool for searching multiple academic databases simultaneously — arXiv, bioRxiv, IEEE, medRxiv, PubMed, and Scopus — using a single query. It automates the tedious process of running the same search across multiple platforms, deduplicates results, and exports to structured formats for systematic reviews.
Installation
pip install findpapers
Basic Usage
Search Multiple Databases
import findpapers
import datetime
query = '([deep learning] AND [medical imaging]) AND NOT [survey]'
since = datetime.date(2022, 1, 1)
until = datetime.date(2026, 12, 31)
findpapers.search(
outputpath="search_results.json",
query=query,
since=since,
until=until,
databases=["arxiv", "pubmed", "ieee", "scopus"],
limit_per_database=200,
)
Query Syntax
query = '[natural language processing] AND ([healthcare] OR [clinical])'
query = '[transformer] AND [attention] AND NOT [survey]'
query = '[reinforcement learning] AND [robotics] AND [simulation]'
Refine and Filter Results
search = findpapers.load("search_results.json")
findpapers.refine(
inputpath="search_results.json",
categories=["relevant", "maybe", "irrelevant"],
)
for paper in search.papers:
if paper.citations and paper.citations > 50:
paper.selected = True
Export Results
findpapers.generate_bibtex(
inputpath="search_results.json",
outputpath="references.bib",
only_selected=True,
)
findpapers.generate_csv(
inputpath="search_results.json",
outputpath="papers.csv",
)
Database Configuration
API Keys (Optional)
import os
os.environ["SCOPUS_API_TOKEN"] = "your-scopus-key"
os.environ["IEEE_API_TOKEN"] = "your-ieee-key"
Database Support
| Database | API Key | Content |
|---|
| arXiv | Not needed | Preprints (CS, physics, math) |
| PubMed | Not needed | Biomedical literature |
| bioRxiv | Not needed | Biology preprints |
| medRxiv | Not needed | Medical preprints |
| IEEE | Optional | Engineering and CS |
| Scopus | Required | Multi-discipline |
Systematic Review Workflow
import findpapers
import datetime
query = '[machine learning] AND [drug discovery]'
since = datetime.date(2020, 1, 1)
findpapers.search(
outputpath="slr_search.json",
query=query,
since=since,
limit_per_database=500,
)
search = findpapers.load("slr_search.json")
print(f"Found {len(search.papers)} unique papers")
findpapers.refine("slr_search.json",
categories=["include", "exclude", "uncertain"])
findpapers.generate_bibtex("slr_search.json", "included.bib",
only_selected=True)
CLI Usage
findpapers search "search.json" \
--query "[climate change] AND [adaptation]" \
--since 2022-01-01 \
--databases arxiv pubmed
findpapers refine "search.json"
findpapers bibtex "search.json" "refs.bib" --only-selected
References