6  Programmatic access (APIs)

R-universe offers several APIs. There is no authentication.

You can call the API as you prefer:

On this page we’ll show examples using {httr2} or {universe} directly.

6.1 Universe-specific APIs

The URL of these APIs start with the universe URL. Here we will often use https://jeroen.r-universe.dev as an example but you can replace it with any universe URL.

6.1.1 List of all universes

URL: https://r-universe.dev/stats/everyone

Example

universes <- httr2::request("https://r-universe.dev/stats/everyone") |>
  httr2::req_user_agent("R-universe docs") |>
  httr2::req_perform() |>
  httr2::resp_body_json()
str(universes, max.level = 1)
List of 2
 $ universes  :List of 9727
 $ maintainers:List of 9560
head(universes[["universes"]])
[[1]]
[1] "09dohkim"

[[2]]
[1] "16cile"

[[3]]
[1] "16eagle"

[[4]]
[1] "1802515849"

[[5]]
[1] "1vbutkus"

[[6]]
[1] "2005m"
head(universes[["maintainers"]])
[[1]]
[1] "000100100110001"

[[2]]
[1] "09dohkim"

[[3]]
[1] "0umfhxcvx5j7joaohfss5mncnistjj6q"

[[4]]
[1] "123caj"

[[5]]
[1] "13479776"

[[6]]
[1] "16cile"

Or:

universe::everyone() |> head()
[1] "000100100110001"                  "09dohkim"                        
[3] "0umfhxcvx5j7joaohfss5mncnistjj6q" "123caj"                          
[5] "13479776"                         "16cile"                          
universe::everyone(type = "universes") |> head()
[1] "09dohkim"   "16cile"     "16eagle"    "1802515849" "1vbutkus"  
[6] "2005m"     
universe::everyone(type = "maintainers") |> head()
[1] "000100100110001"                  "09dohkim"                        
[3] "0umfhxcvx5j7joaohfss5mncnistjj6q" "123caj"                          
[5] "13479776"                         "16cile"                          

6.1.2 List of packages in an universe

URL: https://<username>.r-universe.dev/api/ls

Example

packages <- httr2::request("https://jeroen.r-universe.dev/api/ls") |>
  httr2::req_user_agent("R-universe docs") |>
  httr2::req_perform() |>
  httr2::resp_body_json()
str(packages)
List of 19
 $ : chr "RAppArmor"
 $ : chr "V8"
 $ : chr "badgen"
 $ : chr "base64"
 $ : chr "bcrypt"
 $ : chr "brotli"
 $ : chr "curl"
 $ : chr "gpg"
 $ : chr "js"
 $ : chr "jsonlite"
 $ : chr "maketools"
 $ : chr "mongolite"
 $ : chr "openssl"
 $ : chr "protolite"
 $ : chr "rjade"
 $ : chr "sys"
 $ : chr "unix"
 $ : chr "webp"
 $ : chr "webutils"

Or:

packages <- universe::universe_ls("jeroen")
str(packages)
 chr [1:19] "RAppArmor" "V8" "badgen" "base64" "bcrypt" "brotli" "curl" ...

6.1.3 Information of all packages in an universe

URL: https://<username>.r-universe.dev/api/packages

Parameters:

  • limit: the number of results to return, by default a maximum of 100. You can use the ls endpoint to determine the total number of packages in the universe and set that as a limit.

Example:

packages <- httr2::request("https://jeroen.r-universe.dev/api/packages") |>
  httr2::req_user_agent("R-universe docs") |>
  httr2::req_perform() |>
  httr2::resp_body_json()
# The result is a list of packages
str(packages[[1]], max.level = 1)
List of 76
 $ Package           : chr "curl"
 $ Type              : chr "Package"
 $ Title             : chr "A Modern and Flexible Web Client for R"
 $ Version           : chr "6.0.1"
 $ Authors@R         : chr "c(\nperson(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"[email protected]\",\ncomment = c(ORC"| __truncated__
 $ Description       : chr "Bindings to 'libcurl' <https://curl.se/libcurl/> for\nperforming fully configurable HTTP/FTP requests where res"| __truncated__
 $ License           : chr "MIT + file LICENSE"
 $ SystemRequirements: chr "libcurl (>= 7.62): libcurl-devel (rpm) or\nlibcurl4-openssl-dev (deb)"
 $ URL               : chr "https://jeroen.r-universe.dev/curl"
 $ BugReports        : chr "https://github.com/jeroen/curl/issues"
 $ VignetteBuilder   : chr "knitr"
 $ RoxygenNote       : chr "7.3.2.9000"
 $ Encoding          : chr "UTF-8"
 $ Language          : chr "en-US"
 $ Roxygen           : chr "list(markdown = TRUE)"
 $ Config/pak/sysreqs: chr "libssl-dev"
 $ Repository        : chr "https://jeroen.r-universe.dev"
 $ RemoteUrl         : chr "https://github.com/jeroen/curl"
 $ RemoteRef         : chr "HEAD"
 $ RemoteSha         : chr "c7b5ad150ec4e0701c203df19e3920ca90d1a54c"
 $ NeedsCompilation  : chr "yes"
 $ Packaged          :List of 2
 $ Author            : chr "Jeroen Ooms [aut, cre] (<https://orcid.org/0000-0002-4035-0289>),\nHadley Wickham [ctb],\nPosit Software, PBC [cph]"
 $ Maintainer        : chr "Jeroen Ooms <[email protected]>"
 $ MD5sum            : chr "ee8b7214179585be01bdb8e9d23db1fb"
 $ _user             : chr "jeroen"
 $ _type             : chr "src"
 $ _file             : chr "curl_6.0.1.tar.gz"
 $ _fileid           : chr "a46a763eea084a7d9f792eff77edd6359474809e61cfa642bf979d78f1fa9a47"
 $ _filesize         : int 533586
 $ _sha256           : chr "a46a763eea084a7d9f792eff77edd6359474809e61cfa642bf979d78f1fa9a47"
 $ _created          : chr "2024-11-20T12:44:19.000Z"
 $ _published        : chr "2024-11-21T13:29:42.926Z"
 $ _buildurl         : chr "https://github.com/r-universe/jeroen/actions/runs/11933601027"
 $ _upstream         : chr "https://github.com/jeroen/curl"
 $ _commit           :List of 5
 $ _maintainer       :List of 6
 $ _distro           : chr "noble"
 $ _host             : chr "GitHub-Actions"
 $ _status           : chr "success"
 $ _pkgdocs          : chr "skipped"
 $ _winbinary        : chr "success"
 $ _macbinary        : chr "success"
 $ _wasmbinary       : chr "none"
 $ _linuxdevel       : chr "success"
 $ _windevel         : chr "success"
 $ _registered       : logi TRUE
 $ _dependencies     :List of 9
 $ _owner            : chr "jeroen"
 $ _selfowned        : logi TRUE
 $ _usedby           : int 5648
 $ _updates          :List of 17
 $ _tags             :List of 3
 $ _stars            : int 219
 $ _contributions    :List of 22
 $ _userbio          :List of 4
 $ _downloads        :List of 2
 $ _mentions         : int 21
 $ _devurl           : chr "https://github.com/jeroen/curl"
 $ _searchresults    : int 3744
 $ _assets           :List of 11
 $ _homeurl          : chr "https://github.com/jeroen/curl"
 $ _realowner        : chr "jeroen"
 $ _cranurl          : logi TRUE
 $ _releases         :List of 48
 $ _exports          :List of 42
 $ _help             :List of 19
 $ _readme           : chr "https://github.com/jeroen/curl/raw/HEAD/README.md"
 $ _rundeps          : list()
 $ _sysdeps          :List of 1
 $ _vignettes        :List of 2
 $ _score            : num 19.8
 $ _indexed          : logi TRUE
 $ _nocasepkg        : chr "curl"
 $ _universes        :List of 1
 $ _binaries         :List of 9

Or:

packages <- universe::universe_all_packages("jeroen")
# The result is a list of packages
str(packages[[1]], max.level = 1)
List of 76
 $ Package           : chr "curl"
 $ Type              : chr "Package"
 $ Title             : chr "A Modern and Flexible Web Client for R"
 $ Version           : chr "6.0.1"
 $ Authors@R         : chr "c(\nperson(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"[email protected]\",\ncomment = c(ORC"| __truncated__
 $ Description       : chr "Bindings to 'libcurl' <https://curl.se/libcurl/> for\nperforming fully configurable HTTP/FTP requests where res"| __truncated__
 $ License           : chr "MIT + file LICENSE"
 $ SystemRequirements: chr "libcurl (>= 7.62): libcurl-devel (rpm) or\nlibcurl4-openssl-dev (deb)"
 $ URL               : chr "https://jeroen.r-universe.dev/curl"
 $ BugReports        : chr "https://github.com/jeroen/curl/issues"
 $ VignetteBuilder   : chr "knitr"
 $ RoxygenNote       : chr "7.3.2.9000"
 $ Encoding          : chr "UTF-8"
 $ Language          : chr "en-US"
 $ Roxygen           : chr "list(markdown = TRUE)"
 $ Config/pak/sysreqs: chr "libssl-dev"
 $ Repository        : chr "https://jeroen.r-universe.dev"
 $ RemoteUrl         : chr "https://github.com/jeroen/curl"
 $ RemoteRef         : chr "HEAD"
 $ RemoteSha         : chr "c7b5ad150ec4e0701c203df19e3920ca90d1a54c"
 $ NeedsCompilation  : chr "yes"
 $ Packaged          :List of 2
 $ Author            : chr "Jeroen Ooms [aut, cre] (<https://orcid.org/0000-0002-4035-0289>),\nHadley Wickham [ctb],\nPosit Software, PBC [cph]"
 $ Maintainer        : chr "Jeroen Ooms <[email protected]>"
 $ MD5sum            : chr "ee8b7214179585be01bdb8e9d23db1fb"
 $ _user             : chr "jeroen"
 $ _type             : chr "src"
 $ _file             : chr "curl_6.0.1.tar.gz"
 $ _fileid           : chr "a46a763eea084a7d9f792eff77edd6359474809e61cfa642bf979d78f1fa9a47"
 $ _filesize         : int 533586
 $ _sha256           : chr "a46a763eea084a7d9f792eff77edd6359474809e61cfa642bf979d78f1fa9a47"
 $ _created          : chr "2024-11-20T12:44:19.000Z"
 $ _published        : chr "2024-11-21T13:29:42.926Z"
 $ _buildurl         : chr "https://github.com/r-universe/jeroen/actions/runs/11933601027"
 $ _upstream         : chr "https://github.com/jeroen/curl"
 $ _commit           :List of 5
 $ _maintainer       :List of 6
 $ _distro           : chr "noble"
 $ _host             : chr "GitHub-Actions"
 $ _status           : chr "success"
 $ _pkgdocs          : chr "skipped"
 $ _winbinary        : chr "success"
 $ _macbinary        : chr "success"
 $ _wasmbinary       : chr "none"
 $ _linuxdevel       : chr "success"
 $ _windevel         : chr "success"
 $ _registered       : logi TRUE
 $ _dependencies     :List of 9
 $ _owner            : chr "jeroen"
 $ _selfowned        : logi TRUE
 $ _usedby           : int 5648
 $ _updates          :List of 17
 $ _tags             :List of 3
 $ _stars            : int 219
 $ _contributions    :List of 22
 $ _userbio          :List of 4
 $ _downloads        :List of 2
 $ _mentions         : int 21
 $ _devurl           : chr "https://github.com/jeroen/curl"
 $ _searchresults    : int 3744
 $ _assets           :List of 11
 $ _homeurl          : chr "https://github.com/jeroen/curl"
 $ _realowner        : chr "jeroen"
 $ _cranurl          : logi TRUE
 $ _releases         :List of 48
 $ _exports          :List of 42
 $ _help             :List of 19
 $ _readme           : chr "https://github.com/jeroen/curl/raw/HEAD/README.md"
 $ _rundeps          : list()
 $ _sysdeps          :List of 1
 $ _vignettes        :List of 2
 $ _score            : num 19.8
 $ _indexed          : logi TRUE
 $ _nocasepkg        : chr "curl"
 $ _universes        :List of 1
 $ _binaries         :List of 9

6.1.4 Information on a single package in an universe

URL: https://<username>.r-universe.dev/api/packages/<package>

Example:

v8 <- httr2::request("https://jeroen.r-universe.dev/api/packages/V8") |>
  httr2::req_user_agent("R-universe docs") |>
  httr2::req_perform() |>
  httr2::resp_body_json()

str(v8, max.level = 1)
List of 78
 $ Package           : chr "V8"
 $ Type              : chr "Package"
 $ Title             : chr "Embedded JavaScript and WebAssembly Engine for R"
 $ Version           : chr "6.0.0"
 $ Authors@R         : chr "c(\nperson(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"[email protected]\",\ncomment = c(ORC"| __truncated__
 $ Description       : chr "An R interface to V8 <https://v8.dev>: Google's open\nsource JavaScript and WebAssembly engine. This package ca"| __truncated__
 $ License           : chr "MIT + file LICENSE"
 $ URL               : chr "https://jeroen.r-universe.dev/V8"
 $ BugReports        : chr "https://github.com/jeroen/v8/issues"
 $ SystemRequirements: chr "V8 engine version 6+ is needed for ES6 and WASM\nsupport. On Linux you can build against libv8-dev (Debian) or\"| __truncated__
 $ NeedsCompilation  : chr "yes"
 $ VignetteBuilder   : chr "knitr"
 $ RoxygenNote       : chr "7.3.1"
 $ Roxygen           : chr "list(load = \"installed\", markdown = TRUE)"
 $ Language          : chr "en-US"
 $ Encoding          : chr "UTF-8"
 $ Biarch            : chr "true"
 $ Config/pak/sysreqs: chr "libnode-dev"
 $ Repository        : chr "https://jeroen.r-universe.dev"
 $ RemoteUrl         : chr "https://github.com/jeroen/v8"
 $ RemoteRef         : chr "HEAD"
 $ RemoteSha         : chr "8d5312779708b6bc13970b199363296d0776fb86"
 $ Packaged          :List of 2
 $ Author            : chr "Jeroen Ooms [aut, cre] (<https://orcid.org/0000-0002-4035-0289>),\nJan Marvin Garbuszus [ctb]"
 $ Maintainer        : chr "Jeroen Ooms <[email protected]>"
 $ MD5sum            : chr "c80930141c290abd2760a7abdc44af5b"
 $ _user             : chr "jeroen"
 $ _type             : chr "src"
 $ _file             : chr "V8_6.0.0.tar.gz"
 $ _fileid           : chr "54f6ae89785b061ef501b6b27c0364e1227570b0e211ca5763a07f73e216458e"
 $ _filesize         : int 196448
 $ _sha256           : chr "54f6ae89785b061ef501b6b27c0364e1227570b0e211ca5763a07f73e216458e"
 $ _created          : chr "2024-11-11T06:46:27.000Z"
 $ _published        : chr "2024-11-11T06:50:33.254Z"
 $ _buildurl         : chr "https://github.com/r-universe/jeroen/actions/runs/11773522041"
 $ _status           : chr "success"
 $ _windevel         : chr "success"
 $ _linuxdevel       : chr "success"
 $ _wasmbinary       : chr "none"
 $ _macbinary        : chr "success"
 $ _winbinary        : chr "success"
 $ _pkgdocs          : chr "skipped"
 $ _upstream         : chr "https://github.com/jeroen/v8"
 $ _commit           :List of 5
 $ _maintainer       :List of 6
 $ _distro           : chr "noble"
 $ _host             : chr "GitHub-Actions"
 $ _registered       : logi TRUE
 $ _dependencies     :List of 8
 $ _owner            : chr "jeroen"
 $ _selfowned        : logi TRUE
 $ _usedby           : int 318
 $ _updates          :List of 12
 $ _tags             : list()
 $ _topics           :List of 3
 $ _stars            : int 200
 $ _contributions    :List of 10
 $ _userbio          :List of 4
 $ _downloads        :List of 2
 $ _mentions         : int 2
 $ _devurl           : chr "https://github.com/jeroen/v8"
 $ _searchresults    : int 512
 $ _assets           :List of 11
 $ _homeurl          : chr "https://github.com/jeroen/v8"
 $ _realowner        : chr "jeroen"
 $ _cranurl          : logi TRUE
 $ _releases         :List of 50
 $ _exports          :List of 6
 $ _help             :List of 3
 $ _readme           : chr "https://github.com/jeroen/v8/raw/HEAD/README.md"
 $ _rundeps          :List of 3
 $ _sysdeps          :List of 2
 $ _vignettes        :List of 2
 $ _score            : num 15.7
 $ _indexed          : logi TRUE
 $ _nocasepkg        : chr "v8"
 $ _universes        :List of 1
 $ _binaries         :List of 9

Or:

V8 <- universe::universe_one_package("jeroen", "V8")
# The result is a list of packages
str(V8, max.level = 1)
List of 78
 $ Package           : chr "V8"
 $ Type              : chr "Package"
 $ Title             : chr "Embedded JavaScript and WebAssembly Engine for R"
 $ Version           : chr "6.0.0"
 $ Authors@R         : chr "c(\nperson(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"[email protected]\",\ncomment = c(ORC"| __truncated__
 $ Description       : chr "An R interface to V8 <https://v8.dev>: Google's open\nsource JavaScript and WebAssembly engine. This package ca"| __truncated__
 $ License           : chr "MIT + file LICENSE"
 $ URL               : chr "https://jeroen.r-universe.dev/V8"
 $ BugReports        : chr "https://github.com/jeroen/v8/issues"
 $ SystemRequirements: chr "V8 engine version 6+ is needed for ES6 and WASM\nsupport. On Linux you can build against libv8-dev (Debian) or\"| __truncated__
 $ NeedsCompilation  : chr "yes"
 $ VignetteBuilder   : chr "knitr"
 $ RoxygenNote       : chr "7.3.1"
 $ Roxygen           : chr "list(load = \"installed\", markdown = TRUE)"
 $ Language          : chr "en-US"
 $ Encoding          : chr "UTF-8"
 $ Biarch            : chr "true"
 $ Config/pak/sysreqs: chr "libnode-dev"
 $ Repository        : chr "https://jeroen.r-universe.dev"
 $ RemoteUrl         : chr "https://github.com/jeroen/v8"
 $ RemoteRef         : chr "HEAD"
 $ RemoteSha         : chr "8d5312779708b6bc13970b199363296d0776fb86"
 $ Packaged          :List of 2
 $ Author            : chr "Jeroen Ooms [aut, cre] (<https://orcid.org/0000-0002-4035-0289>),\nJan Marvin Garbuszus [ctb]"
 $ Maintainer        : chr "Jeroen Ooms <[email protected]>"
 $ MD5sum            : chr "c80930141c290abd2760a7abdc44af5b"
 $ _user             : chr "jeroen"
 $ _type             : chr "src"
 $ _file             : chr "V8_6.0.0.tar.gz"
 $ _fileid           : chr "54f6ae89785b061ef501b6b27c0364e1227570b0e211ca5763a07f73e216458e"
 $ _filesize         : int 196448
 $ _sha256           : chr "54f6ae89785b061ef501b6b27c0364e1227570b0e211ca5763a07f73e216458e"
 $ _created          : chr "2024-11-11T06:46:27.000Z"
 $ _published        : chr "2024-11-11T06:50:33.254Z"
 $ _buildurl         : chr "https://github.com/r-universe/jeroen/actions/runs/11773522041"
 $ _status           : chr "success"
 $ _windevel         : chr "success"
 $ _linuxdevel       : chr "success"
 $ _wasmbinary       : chr "none"
 $ _macbinary        : chr "success"
 $ _winbinary        : chr "success"
 $ _pkgdocs          : chr "skipped"
 $ _upstream         : chr "https://github.com/jeroen/v8"
 $ _commit           :List of 5
 $ _maintainer       :List of 6
 $ _distro           : chr "noble"
 $ _host             : chr "GitHub-Actions"
 $ _registered       : logi TRUE
 $ _dependencies     :List of 8
 $ _owner            : chr "jeroen"
 $ _selfowned        : logi TRUE
 $ _usedby           : int 318
 $ _updates          :List of 12
 $ _tags             : list()
 $ _topics           :List of 3
 $ _stars            : int 200
 $ _contributions    :List of 10
 $ _userbio          :List of 4
 $ _downloads        :List of 2
 $ _mentions         : int 2
 $ _devurl           : chr "https://github.com/jeroen/v8"
 $ _searchresults    : int 512
 $ _assets           :List of 11
 $ _homeurl          : chr "https://github.com/jeroen/v8"
 $ _realowner        : chr "jeroen"
 $ _cranurl          : logi TRUE
 $ _releases         :List of 50
 $ _exports          :List of 6
 $ _help             :List of 3
 $ _readme           : chr "https://github.com/jeroen/v8/raw/HEAD/README.md"
 $ _rundeps          :List of 3
 $ _sysdeps          :List of 2
 $ _vignettes        :List of 2
 $ _score            : num 15.7
 $ _indexed          : logi TRUE
 $ _nocasepkg        : chr "v8"
 $ _universes        :List of 1
 $ _binaries         :List of 9

6.1.5 Search in an universe

URL: https://<username>.r-universe.dev/api/search Parameters:

  • q: the query string. You can use the advanced fields.
  • limit: the number of results to return, by default a maximum of 100 but you can
    • do a first request to determine the total number of hits N, returned in the response as the total field,
    • then do a second request using limit=N.

Example:

How many packages in the rOpenSci universe depend on httr2?

deps <- httr2::request("https://ropensci.r-universe.dev/api/search") |>
  httr2::req_url_query(q = 'needs:httr2') |> # packages depending on {httr2}
  httr2::req_user_agent("R-universe docs") |>
  httr2::req_perform() |>
  httr2::resp_body_json()

str(deps, max.level = 1)
List of 5
 $ results:List of 32
 $ query  :List of 2
 $ skip   : int 0
 $ limit  : int 100
 $ total  : int 32
deps$total
[1] 32

Or:

deps <- universe::universe_search("ropensci", query = 'needs:httr2')
# The result is a list of packages
str(deps, max.level = 1)
List of 5
 $ results:List of 32
 $ query  :List of 2
 $ skip   : int 0
 $ limit  : int 100
 $ total  : int 32
deps$total
[1] 32

6.2 Search all universes

URL: https://r-universe.dev/api/search Parameters:

  • q: the query string. You can use the advanced fields.
  • limit: the number of results to return, by default a maximum of 100 but you can
    • do a first request to determine the total number of hits N, returned in the response as the total field,
    • then do a second request using limit=N.

Example:

packages <- httr2::request("https://r-universe.dev/api/search") |>
  httr2::req_url_query(q = '"weather data"') |>
  httr2::req_user_agent("R-universe docs") |>
  httr2::req_perform() |>
  httr2::resp_body_json()
str(packages, max.level = 1)
List of 5
 $ results:List of 70
 $ query  :List of 1
 $ skip   : int 0
 $ limit  : int 100
 $ total  : int 70
str(packages$results[[1]])
List of 15
 $ _id           : chr "6739ea805fa4b4323b4f3275"
 $ Package       : chr "weatherOz"
 $ Title         : chr "An API Client for Australian Weather and Climate Data Resources"
 $ Description   : chr "Provides automated downloading, parsing and formatting of\nweather data for Australia through API endpoints pro"| __truncated__
 $ _user         : chr "ropensci"
 $ _usedby       : int 0
 $ _searchresults: int 39
 $ _score        : num 8.53
 $ _uuid         : int 1200269
 $ maintainer    :List of 5
  ..$ name : chr "Rodrigo Pires"
  ..$ email: chr "[email protected]"
  ..$ login: chr "bozaah"
  ..$ uuid : int 11730095
  ..$ orcid: chr "0000-0001-7384-6849"
 $ updated       : int 1731804436
 $ stars         : int 27
 $ topics        :List of 19
  ..$ : chr "dpird"
  ..$ : chr "bom"
  ..$ : chr "meteorological-data"
  ..$ : chr "weather-forecast"
  ..$ : chr "australia"
  ..$ : chr "weather"
  ..$ : chr "weather-data"
  ..$ : chr "meteorology"
  ..$ : chr "western-australia"
  ..$ : chr "australia-bureau-of-meteorology"
  ..$ : chr "western-australia-agriculture"
  ..$ : chr "australia-agriculture"
  ..$ : chr "australia-climate"
  ..$ : chr "australia-weather"
  ..$ : chr "api-client"
  ..$ : chr "climate"
  ..$ : chr "data"
  ..$ : chr "rainfall"
  ..$ : chr "weather-api"
 $ match         : num 170
 $ rank          : num 1453

Or:

packages <- universe::global_search(query = '"weather data"', limit = 100L)
str(packages, max.level = 1)
List of 5
 $ results:List of 70
 $ query  :List of 1
 $ skip   : int 0
 $ limit  : int 100
 $ total  : int 70
str(packages$results[[1]])
List of 15
 $ _id           : chr "6739ea805fa4b4323b4f3275"
 $ Package       : chr "weatherOz"
 $ Title         : chr "An API Client for Australian Weather and Climate Data Resources"
 $ Description   : chr "Provides automated downloading, parsing and formatting of\nweather data for Australia through API endpoints pro"| __truncated__
 $ _user         : chr "ropensci"
 $ _usedby       : int 0
 $ _searchresults: int 39
 $ _score        : num 8.53
 $ _uuid         : int 1200269
 $ maintainer    :List of 5
  ..$ name : chr "Rodrigo Pires"
  ..$ email: chr "[email protected]"
  ..$ login: chr "bozaah"
  ..$ uuid : int 11730095
  ..$ orcid: chr "0000-0001-7384-6849"
 $ updated       : int 1731804436
 $ stars         : int 27
 $ topics        :List of 19
  ..$ : chr "dpird"
  ..$ : chr "bom"
  ..$ : chr "meteorological-data"
  ..$ : chr "weather-forecast"
  ..$ : chr "australia"
  ..$ : chr "weather"
  ..$ : chr "weather-data"
  ..$ : chr "meteorology"
  ..$ : chr "western-australia"
  ..$ : chr "australia-bureau-of-meteorology"
  ..$ : chr "western-australia-agriculture"
  ..$ : chr "australia-agriculture"
  ..$ : chr "australia-climate"
  ..$ : chr "australia-weather"
  ..$ : chr "api-client"
  ..$ : chr "climate"
  ..$ : chr "data"
  ..$ : chr "rainfall"
  ..$ : chr "weather-api"
 $ match         : num 170
 $ rank          : num 1453

Note that searching globally only returns “indexed” packages: if a package is included in several universes, it still shows up only once in search results because of our deduplication efforts.