Skip to content

crul

107 1 14 MIT
1.6.0 (19 Jul 2024) Nov 09 2016 26.6 thousand (month)

crul is a R library for sending HTTP requests and web scraping. It is designed to be simple and easy to use, while still providing powerful functionality for working with HTTP requests and scraping web pages.

One of the main features of crul is its intuitive and easy-to-use syntax for sending HTTP requests. It allows you to easily specify the HTTP method, headers, and body of a request, and also provides a simple way to handle the response.

crul also has the ability to handle different types of requests and responses, including GET, POST, PUT, DELETE, and PATCH. It also support for handling redirects, cookies, and authentication.

Another feature of crul is its support for web scraping. The library provides a simple and efficient way to extract data from web pages, using a syntax similar to that of the XML and httr libraries. It also allows to easily filter the extracted data based on a specific criteria.

crul also supports parallel scraping, which allows to make multiple requests at the same time, thus speeding up the scraping process.

In addition to these features, crul has a good compatibility with other R packages such as tidyverse and purrr which facilitates the manipulation of the data obtained after scraping.

Highlights


http2uses-curlasync

Example Use


```r library(crul)

Sending a GET request to a website

response <- HttpClient$new("https://www.example.com")$get()

Sending a POST request to a website

request_body <- list(param1 = "value1", param2 = "value2") response <- HttpClient$new("https://www.example.com")$post(body = request_body)

Extracting the status code and body of the response

status_code <- response$status_code() body <- response$body()

crul also allows easy asynchronous requests:

urls <- c("https://www.example1.com", "https://www.example2.com", "https://www.example3.com")

Creating a list of request objects from urls

requests <- lapply(urls, function(url) { HttpClient$new(url)$get() })

Sending the requests asynchronously

responses <- async(requests)

Extracting the status code and body of the responses

status_codes <- lapply(responses, function(response) response$status_code()) bodies <- lapply(responses, function(response) response$body()) ```

Alternatives / Similar


985 1.4.8 (2023-08-15 11:00:00 ago) May 06 2012 compare
1,517 1.0.5 (2024-02-12 21:10:00 ago) Nov 22 2014 compare
165 2.3.0 (2021-03-18 00:10:00 ago) Dec 22 2019 compare

Other Languages

53,883 2.33.1 (2026-03-30 16:09:13 ago) Feb 14 2011 compare
8,860 3.3.2 (2023-11-30 14:10:12 ago) Dec 28 2012 compare
15,183 0.28.1 (2024-12-06 15:37:21 ago) Jul 26 2019 compare
16,395 3.13.5 (2026-03-31 21:56:30 ago) Jul 26 2019 compare
108,987 1.15.0 (2026-04-08 16:09:38 ago) Aug 29 2014 compare
got
14,897 15.0.1 (2026-04-08 16:15:35 ago) Mar 27 2014 compare
5,944 v0.6.1 (2024-03-02 18:08:29 ago) Feb 23 2022 compare
1,631 3.5.0 (2026-03-12 22:24:55 ago) Dec 11 2011 compare
16,610 10.1.1 (2024-10-22 17:26:05 ago) Aug 22 2011 compare
primp new
504 1.2.2 (2026-04-03 07:11:15 ago) Jun 01 2024 compare
5,927 2.14.1 (2026-02-07 15:17:15 ago) Dec 19 2009 compare
1,147 7.45.7 (2025-09-24 13:35:56 ago) Feb 25 2003 compare
1,172 1.4.2 (2026-03-20 19:18:25 ago) Oct 31 2009 compare
707 2.9.0 (2025-02-22 01:13:49 ago) Jul 25 2009 compare
5,889 0.24.2 (2026-01-14 22:54:36 ago) Jul 25 2009 compare
4,131 1.6.0 (2026-03-10 12:58:26 ago) Oct 06 2009 compare
1,751 0.7.1 (2024-07-13 09:07:25 ago) Feb 23 2022 compare
23,447 7.10.0 (2025-08-23 22:36:01 ago) Nov 14 2011 compare
378 18.1.0 (2025-07-24 23:01:15 ago) Aug 06 2011 compare
1,219 1.1.7 (2020-08-31 21:38:00 ago) Oct 25 2009 compare
2,033 v8.0.8 (2026-03-30 15:14:47 ago) Apr 28 2019 compare
mechanize new
4,440 2.14.0 (2025-01-05 18:30:46 ago) Jul 25 2009 compare
605 25.5.0 (2025-06-03 03:42:30 ago) Dec 28 2012 compare
908 1.1.3 (2026-03-05 00:04:35 ago) Sep 25 2013 compare
req
4,781 v3.57.0 (2025-12-16 09:07:40 ago) Nov 20 2023 compare
11,632 v2.17.2 (2026-02-14 22:43:18 ago) Aug 05 2024 compare
505 1.1.4 (2020-02-07 22:04:51 ago) Apr 20 2010 compare
1,001 0.9.2 (2024-12-01 02:55:27 ago) Feb 23 2022 compare
3,577 v2.0.17 (2025-12-12 17:47:19 ago) Oct 06 2013 compare
1,924 1.3.0 (2024-09-23 13:16:34 ago) Nov 11 2011 compare
1,803 1.0.0 (2024-05-01 11:33:16 ago) Apr 14 2012 compare
3,104 0.17.0 (2026-03-25 01:20:02 ago) Mar 20 2015 compare
Was this page helpful?