Search API Client for C#.NET
A computer on a search page, with recommendations being inserted on the side

What is Algolia

Algolia is a hosted, API-first platform used to build world-class search & discovery experiences. 

Start building quickly using libraries for every major language and framework. Scale your solution with a platform that serves over 85 billion queries for more than 13k customers every month.

Algolia C# .NET Client

API-first search and discovery for your .NET applications.

Algolia C# .NET client library 

  • Handles things like network retry, record batching, and zero downtime reindexing.
  • Production-ready
  • Open source and maintained by Algolia 

Features

  • Gives API access to all Algolia functionality, settings, advanced features, and ML/AI products
  • Installation options: .NET CLI, Nuget Package Manager Console, Nuget.org
  • Every request and response are typed
  • POCOs
  • Background retry strategy to ensure uptime
  • Batching via iterators to optimize number of network calls
  • Zero downtime reindexing feature
  • Injectable HTTP client
  • Asynchronous and synchronous methods to interact with Algolia's API

Version

  • .NET Standard 1.3 to .NET Standard 2.1,
  • .NET Core 1.0 to .NET Core 3.0,
  • .NET Framework 4.5 to .NET Framework 4.7.1
  • .NET API for C# and F#
  • Supports ASP.NET, MVC, WebAPI

Related Integrations

Key links


Get started

Install (get a free account here)

1dotnet add package Algolia.Search

Index

1List<Contact> contacts = new List<Contact>
2{
3    new Contact { ObjectID = "myID1", Firstname = "Jimmie", Lastname = "Barninger" },
4    new Contact { ObjectID = "myID2", Firstname = "Warren", Lastname = "Speach" }
5};
6
7index.SaveObjects(contacts);
8
9// Asynchronous
10await index.SaveObjectsAsync(contacts);

Search

1SearchIndex index = client.SearchIndex("contacts");
2
3// Synchronous
4var result = index.Search<Contact>(new Query("query string"));
5
6// Synchronous with settings
7var result = index.Search<Contact>(new Query("query string")
8{
9  AttributesToRetrieve = new List<string> { "firstname", "lastname" }
10  HitsPerPage = 50
11});
12
13// Asynchronous
14var result = await index.SearchAsync<Contact>(new Query("query string"));
15
16// Asynchronous with settings
17var result = await index.SearchAsync<Contact>(new Query("query string")
18{
19    AttributesToRetrieve = new List<string> { "firstname", "lastname" }
20    HitsPerPage = 50
21});
Get started for freeExplore all developer docs

Built with Algolia

Frontend Tools
Code samples

Autocomplete Playground

Typeahead dropdown playground built with the Algolia Autocomplete library

  • javascript
  • nodejs