Skip to content
An asynchronous .Net client library for Firebase
C# HTML PowerShell Shell
Branch: master
Clone or download
lablabla and ziyasal Migrated to .net core 3.0 & .net standard 2.1 (#141)
* Migrated to .net core 3.0 & .net standard 2.1

* Update

* Update appveyor.yml

* Disabled OpenCover links

* Update appveyor.yml

* Update appveyor.yml

* Update appveyor.yml

* Added Build.ps1 and updated appveyor.yml

* Updated Build.ps1

* Updated appveyor.yml

* Removed publishing from build.ps1

* Changed provider to NuGet

* Removed dev branch from appveyor.yml

* Added api_keys for nuget
Latest commit 9eff53e Oct 16, 2019


Firebase REST API wrapper for the .NET & Xamarin.

Changes are sent to all subscribed clients automatically, so you can update your clients in realtime from the backend.

AppVeyor Build status Coverage Status Stories in Ready

IMPORTANT : v1 docs moved here.

Installation (NuGet)

//**Install v2**
Install-Package FireSharp

//**Install v1**
Install-Package FireSharp -Version 1.1.0


FirebaseClient uses Newtonsoft.Json by default.

How can I configure FireSharp?

  IFirebaseConfig config = new FirebaseConfig
     AuthSecret = "your_firebase_secret",
     BasePath = ""
IFirebaseClient  client = new FirebaseClient(config);

So far, supported methods are :


var todo = new Todo {
                name = "Execute SET",
                priority = 2
SetResponse response = await _client.SetAsync("todos/set", todo);
Todo result = response.ResultAs<Todo>(); //The response will contain the data written


 var todo = new Todo {
                name = "Execute PUSH",
                priority = 2
PushResponse response =await  _client.PushAsync("todos/push", todo); //The result will contain the child name of the new data that was added


 FirebaseResponse response = await _client.GetAsync("todos/set");
 Todo todo=response.ResultAs<Todo>(); //The response will contain the data being retreived


var todo = new Todo {
                name = "Execute UPDATE!",
                priority = 1

FirebaseResponse response =await  _client.UpdateAsync("todos/set", todo);
Todo todo = response.ResultAs<Todo>(); //The response will contain the data written


FirebaseResponse response =await  _client.DeleteAsync("todos"); //Deletes todos collection

Listen Streaming from the REST API

EventStreamResponse response = await _client.OnAsync("chat", (sender, args, context) => {

//Call dispose to stop listening for events

Release Notes


  • Firesharp now is a Net Standard library, so it's available for every platform.


  • Use Microsoft HTTP Client Libraries instead of RestSharp
  • FireSharp is now Portable Library
  • Supports Streaming from the REST API (Firebase REST endpoints support the EventSource / Server-Sent Events protocol.)
  • It is fully asynchronous and designed to be non-blocking

More information about Firebase and the Firebase API is available at the official website.

You can’t perform that action at this time.