R Observatory
Search
install.packages("scholar")
CRAN 30-day downloads, method
2,498−7.5% down on the 30 days before, the worse direction
Test coverage, method
75%of lines run by tests

Provides tools to retrieve, analyse, and format publication and citation data from Google Scholar profiles. It supports profile lookup, publication records, citation histories, scholar comparison, coauthor networks, journal ranking queries, CV-ready publication lists, and citation metric summaries.

Maintainer
Guangchuang Yu
Latest release
29 Oct 2026
First release
22 Oct 2013

Compare with another package

More details
Releases
16
Needs compilation
No
Needs R
>= 4.1.0
Config/roxygen2/version
8.1.1
Language
en-GB
Task views (1)
Subjects (1) Method, Subjects
Cite

Package

Run in R for the authors' entry:

citation("scholar")

The package provides a citation file, so citation() returns the authors' own entry.

R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA
Balamuta, J. J. (2026). R Observatory: Metrics for scholar version 1.0.1 [Data set]. HJJB, LLC. Data release v2026-10-29. https://doi.org/10.5281/zenodo.21843040
About

From data release v2026-10-29, which the citation names so these numbers can be found later.

All 13 check platforms pass.

  • r-devel-linux-x86_64-debian-clang

    The unreleased R on Linux, x86_64, debian-clang

    OK

    Version checked
    1.0.0
    Time taken
    83 s
  • r-devel-linux-x86_64-debian-gcc

    The unreleased R on Linux, x86_64, debian-gcc

    OK

    Version checked
    1.0.0
    Time taken
    61 s
  • r-devel-linux-x86_64-fedora-clang

    The unreleased R on Linux, x86_64, fedora-clang

    OK

    Version checked
    1.0.1
    Time taken
    61 s
  • r-devel-linux-x86_64-fedora-gcc

    The unreleased R on Linux, x86_64, fedora-gcc

    OK

    Version checked
    1.0.1
    Time taken
    62 s
  • r-devel-windows-x86_64

    The unreleased R on Windows, x86_64

    OK

    Version checked
    1.0.0
    Time taken
    116 s
  • r-oldrel-macos-arm64

    The previous release of R on macOS, arm64

    OK

    Version checked
    1.0.0
    Time taken
    39 s
  • r-oldrel-macos-x86_64

    The previous release of R on macOS, x86_64

    OK

    Version checked
    1.0.0
    Time taken
    104 s
  • r-oldrel-windows-x86_64

    The previous release of R on Windows, x86_64

    OK

    Version checked
    1.0.0
    Time taken
    123 s
  • r-patched-linux-x86_64

    The patched release of R on Linux, x86_64

    OK

    Version checked
    1.0.0
    Time taken
    77 s
  • r-release-linux-x86_64

    The current release of R on Linux, x86_64

    OK

    Version checked
    1.0.0
    Time taken
    76 s
  • r-release-macos-arm64

    The current release of R on macOS, arm64

    OK

    Version checked
    1.0.1
    Time taken
    41 s
  • r-release-macos-x86_64

    The current release of R on macOS, x86_64

    OK

    Version checked
    1.0.0
    Time taken
    105 s
  • r-release-windows-x86_64

    The current release of R on Windows, x86_64

    OK

    Version checked
    1.0.0
    Time taken
    106 s
  • 13 OK

Over time

No change since 4 Aug 2026

As a list (9)
ChangedWorst statusOKNotesWarningsErrors
4 Aug 2026OK13000
1 Aug 2026Note12100
8 Jul 2026OK13000
6 Jul 2026Error12001
9 Jun 2026OK13000
8 Jun 2026Error12001
8 May 2026OK13000
7 May 2026Warning12010
10 Mar 2026OK14000

Since March 2026

Check results on CRAN

Total downloads in the last 30 days
2,782−4.8% down on the 30 days before, the worse directionIt is the sum of 5 channels: CRAN, r2u, autoCRAN, conda-forge and c2d4u.

CRAN rank

2,268 of 26,553

CRAN

2,498 downloads in the last 30 days

Rank
2,268 of 26,553
Change
−7.5% down on the 30 days before, the worse direction

It is in the total. Take it out

r2u

18 downloads in the last 30 days

Rank
5,018 of 30,526
Change
+100% up on the 30 days before, the better direction

It is in the total. Take it out

autoCRAN

3 downloads in the last 30 days

Rank
18,475 of 29,233
Change
−80% down on the 30 days before, the worse direction

It is in the total. Take it out

conda-forge

260 downloads in the last 30 days

Rank
2,161 of 3,828
Change
+42.9% up on the 30 days before, the better direction

It is in the total. Take it out

c2d4u, no longer updated

3 downloads in the last 30 days

Rank
4,165 of 7,575
Change
−83.3% down on the 30 days before, the worse direction

It is in the total. Take it out

Over time

Compare downloads

Needs
11
Dependent packages
2
Suggested by
1
Needs (11)
Installing it adds
61 packages, 51.5 MB of source
Of those, need compilation
37
Optional extras (8)
Dependent packages (2)
PackageTitleDownloads in 30 days
CoTiMAContinuous Time Meta-Analysis ('CoTiMA')380
margaretScientometric Analysis Minciencias335
Functions
114
Public exports
34
Lines of R code
3,311
Median complexity
2.5
Functions (114)
Size and composition

Lines by kind (6,678)

KindLinesShare
R code3,31150%
Tests1,64325%
Documentation1,26319%
Guides4617%

Lines by language

LanguageLinesShare
R4,95174%
Rd1,26319%
Vignettes4617%
HTML30%

Languages are counted from file extensions.

Files
86
R functions
114
Complexity
Median
2.5
Mean
3.76
Highest
23
Median lines per function
11
About complexity

Cyclomatic complexity counts the independent paths through a function: 1 is a straight line, higher is harder to test. R functions only.

Call graph figures
R functions
114
Calls
174
Unconnected
12
Groups
2
Growth (16 releases)
Total lines by release
711 on 22 Oct 20136,678 on 29 Oct 2026
Release changes

The tests ran and coverage was measured.

Lines run by tests
74.8%
Expressions run by tests
72.4%
Test cases
110
Exports named in tests
70.6%
Coverage by file (12)
Coverage run
Lines counted
1,291
Lines the tests ran
966
Tests passed
Yes
Measured with
covr 3.6.5 on R 4.6.1
Test suite
Has tests
Yes
Test frameworks
testthat, tinytest
Test cases
110
Lines of tests
1,643
Test lines per line of code
0.5
Exports documented
100%
Arguments documented
100%
Return value documented
88.2%
Help pages with examples
41.7%
Examples run in checks
6.7%
Guides (1)
Other documentation
README
No
Release notes file
Yes
Help pages
36
Lines of documentation
1,263

YuLab-SMU / scholar on github.com

Stars
53no change on 30 days ago
Forks
7
Open issues
0
Last commit
29 Oct 2026
Activity
Commits
288
Open pull requests
0
Tagged releases
0
Latest tagged release
–
Issues closed in
57 days (median)
Pull requests closed in
12 days (median)
Pull requests merged
67%
Created
4 Jan 2021
Licence file reads as
–
Development practices (5)
KindFound
Continuous integrationGitHub Actions, R CMD check workflow
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
Reproducibility and dev environmentMakefile
CRAN release processcran-comments.md, CRAN-SUBMISSION

Method, repository practices

Across YuLab-SMU

R releases
  • On CRAN
  • Release
VersionReleasedR
1.0.1 current29 Oct 20264.6.2
1.0.07 Jul 20264.6.1
0.2.626 Feb 20264.5.2
0.2.526 Jun 20254.5.1
0.2.49 Aug 20224.2.1
0.2.323 Jun 20224.2.1
0.2.213 Jul 20214.1.0
0.2.128 Apr 20214.0.5
Earlier versions (8)
VersionReleasedREvents
0.2.012 Jan 20214.0.3
0.1.73 Jul 20183.5.1
0.1.623 May 20183.5.0Maintainer: Guangchuang Yu
0.1.421 Nov 20153.2.2
0.1.329 Sep 20153.2.2
0.1.222 Aug 20143.1.1
0.1.128 Oct 20133.0.2
0.1.022 Oct 20133.0.2
Release notes (1.0.1)
  • Google Scholar refuses a script in more ways than a failed request, and each one is now named: a sign-in redirect, a captcha page served with HTTP 200, a 403, a dropped connection, or a rate limit. A refusal is reported once per session with its real cause instead of "Cannot connect to Google Scholar. Is the ID you provided correct?" (2026-10-29, Thu, jkeirstead#123)
  • send browser-like headers on every request, back off exponentially with jitter when rate limited, honour Retry-After in both its forms, and bound the total waiting per process with scholar_retry_budget (60 seconds by default), so a blocked check fails fast instead of spending its time on delays (2026-10-29, Thu, jkeirstead#123)
  • author search now requires a signed-in session, so get_scholar_id() and search_scholar_ids() are deprecated for anonymous use and say when Google refused rather than finding nothing; search_openalex_authors() answers the same question from OpenAlex with no session, and a fractional max_results is rounded rather than sent as a request OpenAlex rejects (2026-10-29, Thu, jkeirstead#91)
  • set_scholar_cookie() and the scholar_cookie / scholar_cookie_file settings present a session exported from a browser. It is sent as a cookie, so it merges with Google's own and survives the redirect to the sign-in host, and it is never sent to a mirror that is not a Google host (2026-10-29, Thu, jkeirstead#91)
  • add get_citing_articles(): the works citing a publication, with venue, year and their own citation counts (2026-10-29, Thu, jkeirstead#4, jkeirstead#107)
  • add get_h_index_history(): the h-index year by year, rebuilt from each publication's citation history and cached so the expensive pass happens once. It works for a profile whose cited papers all fall in one year, and a refused history is no longer cached as a paper that was never cited (2026-10-29, Thu, jkeirstead#73)
  • get_profile() reports every colleague rather than the twenty the sidebar shows, and no longer mistakes a profile's sort-menu links for coauthors (2026-10-29, Thu)
  • get_journalrank() is deprecated and downloads nothing: SCImago serves a JavaScript challenge to scripts and its table carries no published licence. The help page points at OpenAlex for journal metrics (2026-10-29, Thu)
  • new settings, each falling back to an environment variable of the same name in upper case, for hosted deployments and CI: scholar_user_agent, scholar_accept_language, scholar_request_delay, scholar_retry_delay, scholar_retry_max_delay, scholar_retry_budget, scholar_timeout, scholar_cookie, scholar_cookie_file and scholar_openalex_mailto (2026-10-29, Thu)
  • the README and the vignette say what to do when Scholar refuses a request, list every setting the package reads, and warn which endpoints a server cannot reach (2026-10-29, Thu, jkeirstead#123, jkeirstead#91)