Library / SDK
restsharp/RestSharp avatar
restsharp/RestSharp

RestSharp 114 is a wrapper around HttpClient, and its front page still explains version 107

Simple REST and HTTP API Client for .NET

9,811 stars2,294 forksC#Apache-2.0

At a glance

What is it?
RestSharp is a .NET HTTP client library that sits on top of HttpClient and adds default parameters, extra body formats, serializers and authentication handling. The interesting part for an adopter is the compatibility note, which documents what version 107 removed while the release line is now at 114.
Who is it for?
Adopt RestSharp when your .NET code makes many calls with varied parameter kinds and you would rather not hand-roll query strings, multipart bodies and serialization, since those five additions are the whole product and HttpClient does the transport underneath.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 5 days ago.
What is it written in?
Mainly C#, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • restsharp/RestSharp9,811 ★ · -13
Star history
Repository2026-09-222026-11-14
restsharp/RestSharp9.8k9.8k

-13 Stars in the last 53 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

RestSharp sits on top of HttpClient, so HttpClient's behavior is the floor

The second line of the README settles the main question about this library: RestSharp is a lightweight HTTP API client library, a wrapper around HttpClient rather than a full-fledged client on its own. That framing decides where bugs live. Connection pooling, handler configuration and anything HttpClient decides by default reach you unchanged, and RestSharp's own value is the layer it puts on top: default parameters of any kind rather than only headers, parameters that can be query, URL segment, header, cookie or body, several ways to add a request body including JSON, XML, URL-encoded form data and multipart form data with and without files, built-in JSON, XML and CSV serialization with room for custom serializers, and authentication support described simply as rich.

RestClientOptions replaced client configuration so the client could be thread-safe

The compatibility note is the most useful paragraph on the front page, because it names what version 107 deprecated. Client configuration moved to RestClientOptions, which the project gives as the reason for making the client thread-safe. IRestClient had its interface surface substantially reduced, IRestRequest and IRestResponse were deprecated in favour of implementing classes, SimpleJson was deprecated in favour of System.Text.Json.JsonSerialzer, and everything named Http and IHttp was deprecated because those are just wrappers. The consequence for a reader is that code written against the pre-107 API needs migrating, and a reduced IRestClient means less surface to substitute in a test. The v107+ notes at https://restsharp.dev/v107 are where that migration is written down.

Serialization is chosen by package reference, so a CSV project carries an extra assembly

Four packages split the serialization choices out of the core. The core RestSharp package carries the System.Text.Json serializer and what the README calls a basical XML serializer. Newtonsoft.Json support, the custom RestSharp XML serializer, and CsvHelper each live in their own package, and the identifiers you reference are the whole configuration surface for this decision:

text
RestSharp
RestSharp.Serializers.NewtonsoftJson
RestSharp.Serializers.Xml
RestSharp.Serializers.CsvHelper

Read the last two rows as a choice rather than a bundle. A project that wants Newtonsoft.Json as its JSON serializer needs both the core package and RestSharp.Serializers.NewtonsoftJson, and a project that parses CSV exports ends up with CsvHelper in its dependency list even though it never makes a request with it. The XML story is split across two packages as well, with a basic serializer in the core and a custom one behind RestSharp.Serializers.Xml, so which XML behaviour you get depends on which assembly you referenced.

One maintainer, and the README's answer to a bug report is a pull request

The support section is unusually direct about what you can expect. RestSharp is described as an open-source project with a single maintainer, and the README says not to expect an issue to be resolved unless it concerns a large group of RestSharp users. It then names the alternative it prefers: fix the issue yourself, fork the repository and submit a pull request. Sponsoring the project is offered as a way to motivate the maintainer. For an engineering team this is the section that matters most, because it rules out planning around an issue queue. A defect that affects one integration is yours to patch, and the maintainer is a single person. The other channels are ordinary community ones: the docs site, Stack Overflow with the tag restsharp, and a Discord server.

The compatibility note explains 107, and the release line is at 114

Version numbers and documentation have drifted apart here. The latest release is 114.1.0, published on 2026-10-21, preceded by 114.0.0 on 2026-03-05 and 113.0.0 on 2025-11-28, and the last push to the dev branch was on 2026-10-21, with the repository not archived. The compatibility note on the front page explains RestSharp 107 and nothing after it. That leaves seven majors between the migration advice you can read on the front page and the version you would install today, and the README does not summarize what 108 through 114 changed. Anyone upgrading from a recent 11x version gets no front-page guidance for that jump either, so the diff you care about has to come from the release history rather than from the documentation you land on first.

RestSharp.snk and agents.md sit in the root next to RestSharp.slnx

The repository root shows how the project is built and who it answers to. It contains RestSharp.snk, the strong name key file, so the assembly identity is the project's choice rather than a per-consumer setting, and it contains Directory.Packages.props for central package version management, which is how one repository keeps several projects on the same dependency versions. The solution is RestSharp.slnx with a companion RestSharp.slnx.DotSettings, and the tree carries src/, test/, docs/, benchmarks/, props/ and gen/. Two instruction files at the root, CLAUDE.md and agents.md, mean the repository ships its own guidance for coding agents. The license is Apache 2.0 in LICENSE.txt, and the project is part of the .NET Foundation, which is the institution behind the code of conduct it enforces by blocking users who violate it.

Five additions to weigh against the layer they put over HttpClient

The decision this library asks you to make is narrow. What you gain is parameter handling that does not require string assembly, several body encodings including multipart with files, serialization for JSON, XML and CSV, custom serializer registration, and authentication helpers. What you take on is an abstraction between your code and the transport, which means two places to look when a request behaves unexpectedly, and a version history that broke its own interfaces at 107 and has not been summarized since. Teams that already own a typed HttpClient wrapper with a serializer chosen for their payloads are duplicating that wrapper by adopting RestSharp, while teams writing many small integrations by hand are the ones who get the most back. That is the whole trade, and it is worth deciding before you read further documentation.

Editorial conclusion

Adopt RestSharp when your .NET code makes many calls with varied parameter kinds and you would rather not hand-roll query strings, multipart bodies and serialization, since those five additions are the whole product and HttpClient does the transport underneath. Do not adopt it to escape HttpClient, because that is the library doing the work, and do not adopt it if your process needs a vendor-backed support answer, since the README names a single maintainer and says your issue will not be resolved unless it affects a large group of users. Before you pin a version, read the v107+ notes at https://restsharp.dev/v107 and diff them against whatever RestClient surface your code already calls, then decide which of the four serializer packages you actually need.

Frequently asked questions

What is RestSharp used for?

It is a lightweight HTTP API client library for .NET that wraps HttpClient rather than replacing it. What it adds is default parameters of any kind, request parameters that can be query, URL segment, header, cookie or body, several request body formats including multipart with and without files, built-in JSON, XML and CSV serialization, and authentication support.

is restsharp better than httpclient

That comparison does not apply the way it looks, because RestSharp moved onto HttpClient in version 107 and is described as a wrapper around it. The case for using it is the added parameter, body and serialization handling; the case against it is that you now have an abstraction between your code and the transport HttpClient provides.

is restsharp obsolete

No. RestSharp 107 was a major release that removed legacy code and moved the library to HttpClient, the release line reached 114.1.0 on 2026-10-21, and the last push to the dev branch was on 2026-10-21. What was deprecated is RestSharp's own earlier surface, including IRestRequest, IRestResponse, SimpleJson, and the Http and IHttp wrappers.

how to use restsharp

Most client and some request options now live in RestClientOptions, which the project introduced to make the client thread-safe, and the IRestClient interface surface was substantially reduced in version 107. Documentation for the current library is at https://restsharp.dev, with the v107 and later notes at https://restsharp.dev/v107.

how to install restsharp in visual studio 2022

The README gives no Visual Studio steps and no command line install command; it links the NuGet package page from the top of the file. Four packages are distributed, RestSharp for the core library including the System.Text.Json serializer and a basic XML serializer, plus RestSharp.Serializers.NewtonsoftJson, RestSharp.Serializers.Xml and RestSharp.Serializers.CsvHelper.

Official sources

  1. License: Apache-2.0
  2. Project website
  3. README
  4. Releases
  5. restsharp/RestSharp on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/restsharp-restsharp.svg)](https://hysenlabs.com/projects/restsharp-restsharp)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/restsharp-restsharp.svg)](https://hysenlabs.com/projects/restsharp-restsharp)

Was this useful?