Skip to content
Back to skills

Findpapers Guide

ASecurity

Search multiple academic databases simultaneously with Findpapers

  • 3,639 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added June 6, 2026
researchpythongobashgitapidatabase

Works with

  • terminal
  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned June 6, 2026

npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill findpapers-guide --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Findpapers Guide?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Findpapers Guide
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/brycewang-stanford-findpapers-guide/badge)](https://www.skillsdirectory.com/skills/brycewang-stanford-findpapers-guide)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

```bash
pip install findpapers
```

## Basic Usage

### Search Multiple Databases

```python
import findpapers
import datetime

# Define search
query = '([deep learning] AND [medical imaging]) AND NOT [survey]'
since = datetime.date(2022, 1, 1)
until = datetime.date(2026, 12, 31)

# Run search across all databases
findpapers.search(
    outputpath="search_results.json",
    query=query,
    since=since,
    until=until,
    databases=["arxiv", "pubmed", "ieee", "scopus"],
    limit_per_database=200,
)
```

### Query Syntax

```python
# Boolean operators: AND, OR, NOT
# Brackets for grouping
# Terms in square brackets

# Example: find NLP papers about healthcare
query = '[natural language processing] AND ([healthcare] OR [clinical])'

# Example: exclude surveys
query = '[transformer] AND [attention] AND NOT [survey]'

# Example: specific domain
query = '[reinforcement learning] AND [robotics] AND [simulation]'
```

### Refine and Filter Results

```python
# Load previous search
search = findpapers.load("search_results.json")

# Interactive refinement (in Jupyter/terminal)
findpapers.refine(
    inputpath="search_results.json",
    categories=["relevant", "maybe", "irrelevant"],
)

# Programmatic filtering
for paper in search.papers:
    if paper.citations and paper.citations > 50:
        paper.selected = True
```

### Export Results

```python
# Export to BibTeX
findpapers.generate_bibtex(
    inputpath="search_results.json",
    outputpath="references.bib",
    only_selected=True,
)

# Export to CSV
findpapers.generate_csv(
    inputpath="search_results.json",
    outputpath="papers.csv",
)
```

## Database Configuration

### API Keys (Optional)

```python
# Scopus requires an Elsevier API key
# IEEE requires an IEEE Xplore API key
# arXiv and PubMed are free

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

```python
import findpapers
import datetime

# Step 1: Define protocol
query = '[machine learning] AND [drug discovery]'
since = datetime.date(2020, 1, 1)

# Step 2: Search
findpapers.search(
    outputpath="slr_search.json",
    query=query,
    since=since,
    limit_per_database=500,
)

# Step 3: Remove duplicates (automatic)
search = findpapers.load("slr_search.json")
print(f"Found {len(search.papers)} unique papers")

# Step 4: Screen titles/abstracts
findpapers.refine("slr_search.json",
                   categories=["include", "exclude", "uncertain"])

# Step 5: Export included papers
findpapers.generate_bibtex("slr_search.json", "included.bib",
                            only_selected=True)
```

## CLI Usage

```bash
# Search from command line
findpapers search "search.json" \
  --query "[climate change] AND [adaptation]" \
  --since 2022-01-01 \
  --databases arxiv pubmed

# Refine results interactively
findpapers refine "search.json"

# Export to BibTeX
findpapers bibtex "search.json" "refs.bib" --only-selected
```

## References

- [Findpapers GitHub](https://github.com/jonatasgrosman/findpapers)
- [Findpapers PyPI](https://pypi.org/project/findpapers/)
- Grosman, J. & Ciferri, R. (2020). "Findpapers: A tool for systematic literature searching."

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…