Like it? Star it in GitHub

SharePoint REST Framework

An easy way to develop against the SharePoint 2013/Online REST API

NuGet Current Version Downloads Total Downloads Gitter chat Donate


The SharePoint REST Framework was designed for SharePoint 2013, but works in both SharePoint 2013/Online (Classic/Modern). This framework is designed to remove a lot of the overhead required for SharePoint development, allowing the developer to focus on the client requirements.


gd-sprest vs pnp-js-core

The gd-sprest library is similar to the pnp-js-core, with the main difference being the ability to be used within the browser console window. This feature provides a “Powershell-Like” experience within the browser console window. This feature was designed for developers working in restricted SharePoint environments, or do not have access to the server or powershell access. Some additional benefits of the library are listed below:

Bugs/Feature Requests/Help

Click Here to report any bugs, request any new features or if need help with code examples. Pull requests are welcomed for anyone interested in submitting them. Feel free to email for other questions.



The library has been designed to create the SharePoint object based on the response from the SharePoint REST API. This will allow us to easily stringify the request’s target information and the SharePoint REST API’s response to the local or storage session. A built-in stringify and parse method has been included in the library. Based on this design, SharePoint object will also contain all of its built-in methods.


One of the more important features of this framework is the intellisense. The classes have been setup to ensure the developer does not need to define the output type of the request. The “Types” and “SPTypes” classes can both be imported into the project. The “Types” class includes allows of the interfaces available in the library. The “SPTypes” class contains all of the enumerators in SharePoint. These interfaces can be used to provide intellisense for the custom variables.

Server-Side to Client-Side Conversion Guide

The execution method was designed to give a server-side like experience, similar to SharePoint 2010/2013 solutions. This will help convert existing server-side solutions to client-side solutions.


The library contains various helpers to help with the various ways to develop against SharePoint 2013/Online

Modern Experience in SharePoint 2013

One of the key reasons of creating this libray, was to give an easy way to develop using the modern web stack in SharePoint 2013 environments.

Office Fabric UI React Framework

The gd-sprest-react library contains various components utilizing the Office Fabric UI React Framework.

User Adoption

Since these components are designed using same framework creating the new Office 365 modern experience, this gives the ability to introduce the new Office 365 experience within SharePoint 2013. This will be an important part for the SharePoint 2013 user adoption to the new modern experience. Most SharePoint 2010/2013 environments are undergoing upgrades to 2016, Hybrid 2016/O365, O365 and private O365-Gov environments.

Automation of SharePoint Assets

The SharePoint Configuration automation feature allows the develoepr to easily create built-in scripts to install/uninstall SharePoint assets. This feature is designed to work in both SharePoint 2013 and Online.

SharePoint React Components

The gd-sprest-react library contains various components designed to work in SharePoint 2013/Online.

Upgrade Path to SharePoint Framework SPFx

The javascript, typescript, react/angular/react/etc solutions developed for SharePoint 2013 can easily be migrated/copied to a SharePoint Framework (SPFx) modern solution. A blog series is available for creating an Add-In for SharePoint 2013/Online using the Office Fabric-UI React framework, including converting it to a SPFX WebPart.

SPFX Project

Refer to the documentation for steps on configuring this library in a SPFX project.


The REST api execute requests based on the user’s permissions. There is no way to elevate priviledges requests against the SharePoint REST.