.NET Standard 2.0
dotnet add package Grapevine.Core --version
NuGet\Install-Package Grapevine.Core -Version
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Grapevine.Core" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Grapevine.Core --version
#r "nuget: Grapevine.Core,"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Grapevine.Core as a Cake Addin
#addin nuget:?package=Grapevine.Core&version=

// Install Grapevine.Core as a Cake Tool
#tool nuget:?package=Grapevine.Core&version=

Build status Join the chat at

The best solutions are the simplest to implement. Embedding a REST/HTTP server in your application should be simple. Consuming REST resources from inside your application should be simple. If what you've been using doesn't feel simple, try Grapevine. It doesn't get any simpler than this.

I'm always open to flattry


Grapevine is a .NET class library focused on solving two problems:

  1. Easily embedding a REST/HTTP servers in your application
  2. Easily consume REST resources in your application

The focus is on simplicity, and while Grapevine is intended for use in applications for which being a REST or HTTP client or server is not the primary function or purpose of the application, it can just as easily be used to serve up production-ready website and web applications.


  • Grapevine has no dependency on IIS or System.Web.

  • Grapevine can serve both static files and dynamic resources

  • Grapevine can both produce and consume REST services

  • Grapevine has minimal configuration requirements

  • Grapevine allows you to map specific methods to HTTP verbs and URL patterns

  • Grapevine supports using regular expressions

  • Grapevine streamlines connecting and communicating with REST servers using simple patterns and placeholders

  • Grapevine can listen on multiple ports, and scope REST resources to those ports


  • Grapevine does not do any script parsing (CGI scripts or HTML templating engines) by default - but feel free to fork this project and hack away! I'm pretty sure it could be done, I just haven't encountered a need for it (yet).

  • You will likely be required to open a port in your firewall for remote computers to be able to send requests to your application. Grapevine will not (yet) automatically do that for you, but it's on our roadmap.


If you find you are having problems and need help check out our support options.

"Grapes In Dark Blue Cloud" Icon courtesy of aha-soft.

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows
.NET Core netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.0 netstandard2.1
.NET Framework net461 net462 net463 net47 net471 net472 net48 net481
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen40 tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated 1,664 8/21/2018 736 8/20/2018

Creating a REST server should be simple.