jannisborn/paperscraper

A bibliometrics tool for publication metadata (pubmed, arxiv, medrxiv, biorxiv, chemrxiv) and citation analyses

What it solves

Researchers often need to gather publication metadata and full texts from multiple sources (PubMed, arXiv, preprint servers) and track citation metrics, which is tedious and error-prone by hand. Paperscraper provides a single Python interface to automate these tasks, including bulk downloads of preprint archives and citation counting.

How it works

It is a Python package that you install with pip. You can query PubMed, arXiv, or Google Scholar directly. For bioRxiv, medRxiv, and chemRxiv, you first download a local dump of the full archive (JSONL files) and then search locally. The package also provides functions to retrieve PDFs by DOI, get citation counts from Google Scholar or Semantic Scholar, and compute self-citation/reference scores for papers. Keyword searches support Boolean logic via nested lists (AND/OR).

Who it's for

Anyone who works with scientific literature programmatically: researchers, literature-reviewers, and data scientists who want to gather metadata, download papers, or analyze citation patterns.

Highlights

  • Scrapes publication metadata from PubMed, arXiv, bioRxiv, medRxiv, chemRxiv.
  • Downloads full-text PDFs or XML by DOI.
  • Retrieves citation counts and search results from Google Scholar (via SearchApi) and Semantic Scholar.
  • Provides journal impact factor queries.
  • Supports date-bounded scraping and bulk archive downloads for preprint servers.
  • Includes self-citation and self-reference analysis per paper.
  • Keyword search with Boolean (AND/OR) logic.

Related

  • Project
  • Project
  • Project
  • Project