Increase Order value
Power content discovery for 100 million viewers
Better relevance and higher sales
Global help desk deployed in days
Search beyond the box
Algolia's full suite APIs enable teams to develop unique search and discovery experiences for their customers across all platforms and devices. Type a query. Click a link. Open an app. Everything your customers do sends a signal about what they want. Algolia decodes that intent to deliver the right content - instantly.
Find
Help customers find what they are searching for
Create frictionless find-to-conversion paths by connecting users with exactly what they're looking for, with lightning fast and highly relevant search.
Learn moreDiscover
Create a path for customers to discover
Go beyond the search box with navigation, browse, and content discovery experiences powered by Algolia.
Learn moreInspire
Design predictive and natural interactions
Build immersive experiences that surface unexpected and relevant content to surprise and delight users.
Learn moreDesigned for the developer experience
Algolia obsesses over developer experience. Our mission is to give development teams the building blocks to create a fast, relevant search experience. Extensive documentation & guides, an active community, 24/7 support make it a pleasure to work with Algolia.
my_index = Algolia::Index.new('contacts')
my_index.add_object :firstname => "Jimmie",
:lastname => "Barninger",
:company => "California Paint"
class Contact < ActiveRecord::Base
include AlgoliaSearch
algoliasearch do
attribute :firstname, :lastname, :company
end
end
myIndex = apiClient.init_index("contacts")
myIndex.add_object({
"firstname": "Jimmie",
"lastname": "Barninger",
"company": "California Paint"
})
from django.contrib.algoliasearch import AlgoliaIndex
class YourModelIndex(AlgoliaIndex):
fields = ('firstname', 'lastname', 'company')
$myIndex = $apiClient->initIndex("contacts");
$myIndex->addObject([
"firstname" => "Jimmie",
"lastname" => "Barninger",
"company" => "California Paint",
]);
/**
* @ORM\Entity
*/
class Contact
{
/**
* @var string
*
* @ORM\Column(name="firstname", type="string")
* @Group({searchable})
*/
protected $firstname;
/**
* @var string
*
* @ORM\Column(name="lastname", type="string")
* @Group({searchable})
*/
protected $lastname;
/**
* @var string
*
* @ORM\Column(name="company", type="string")
* @Group({searchable})
*/
protected $company;
}
use Illuminate\Database\Eloquent\Model;
use Laravel\Scout\Searchable;
class Contact extends Model
{
use Searchable; // Simply add a trait
}
const myIndex = apiClient.initIndex('contacts');
myIndex
.addObject({
firstname: 'Jimmie',
lastname: 'Barninger',
company: 'California Paint',
})
.then(content => console.log(content))
.catch(err => console.error(err));
Index<Contact> index = client
.initIndex("contacts", Contact.class);
index.addObject(
new Contact()
.setFirstname("Jimmie")
.setLastname("Barninger")
.setCompany("California Paint")
);
import algolia.AlgoliaDsl._
import scala.concurrent.ExecutionContext.Implicits.global
case class Contact(
firstname: String,
lastname: String,
company: String
)
val indexing: Future[Indexing] = client.execute {
index into "contacts" `object` Contact(
"Jimmie",
"Barninger",
"California Paint"
)
}
object := algoliasearch.Object{
"firstname": "Jimmie",
"lastname": "Barninger",
"company": "California Paint"
}
res, err := index.AddObject(object)
Index myIndex = apiClient.InitIndex("contacts");
var jsonObject = new JObject();
jsonObject.Add("firstname", "Jimmie");
jsonObject.Add("lastname", "Barninger");
jsonObject.Add("company", "California Paint");
myIndex.AddObject(jsonObject);
let myIndex = apiClient.getIndex("contacts")
let n = [
"firstname": "Jimmie",
"lastname": "Barninger",
"company": "California Paint"
]
myIndex.addObject(n)
Index myIndex = apiClient.initIndex("contacts");
JSONObject jsonObject = new JSONObject()
.put("firstname", "Jimmie")
.put("lastname", "Barninger")
.put("company", "California Paint");
myIndex.addObjectAsync(jsonObject, null);
<div id="searchbox"></div>
<div id="hits"></div>
<script>
const {
searchBox,
hits
} = instantsearch.widgets;
search.addWidget(
searchBox({ container: "#searchbox" })
);
search.addWidget(
hits({ container: "#hits" })
);
search.start();
</script>
const App = (
<InstantSearch>
<SearchBox />
<Hits />
<Pagination />
<RefinementList
attribute="company"
/>
</InstantSearch>
);
<RelativeLayout
xmlns:algolia="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.algolia.instantsearch.ui.views.SearchBox
android:id="@+id/search_box"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<com.algolia.instantsearch.ui.views.Stats
android:id="@+id/search_box"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<com.algolia.instantsearch.ui.views.Hits
android:layout_width="match_parent"
android:layout_height="wrap_content"
algolia:itemLayout="@layout/hits_item"/>
</RelativeLayout>
<ais-index>
<ais-search-box />
<ais-results>
<template scope="{ result }">
<h2>{{ result.company }}</h2>
<p>{{ result.firstname }} {{ result.lastname }}</p>
</template>
</ais-results>
<ais-refinement-list attributeName="company" />
<ais-pagination />
</ais-index>
<ais-instantsearch>
<ais-search-box></ais-search-box>
<ais-hits>
<ng-template let-hits="hits">
<div *ngFor="let hit of hits">
<h2>{{ hit.company }}</h2>
<p>{{ hit.firstname }} {{ hit.lastname }}</p>
</div>
</ng-template>
</ais-hits>
</ais-instantsearch>
import InstantSearch
override func viewDidLoad() {
super.viewDidLoad()
let searchBar = SearchBarWidget(frame: ...)
let statsWidget = StatsLabelWidget(frame: ...)
self.view.addSubview(searchBar)
self.view.addSubview(statsWidget)
// Add all widgets in view to InstantSearch
InstantSearch.shared.registerAllWidgets(in: self.view)
}
Experiences that matter to your business
![Lacoste illustration](http://web.archive.org./web/20180917055036im_/https://www.algolia.com/static_assets/images/v3/homepage/customer-block-lacoste-2e701ff9.jpg)
E-commerce
Personalize the Shopping Experience
Your users want an intuitive shopping experience. Algolia enables teams to create a personalized site search and discovery experience that customers will love.
Learn more![Twitch illustration](http://web.archive.org./web/20180917055036im_/https://www.algolia.com/static_assets/images/v3/homepage/customer-block-twitch-85f1602d.jpg)
Media
Unique Experiences to Drive Engagement
Users are looking to consume engaging content. Algolia empowers teams to surface the freshest and most relevant content, and ultimately drive user satisfaction.
Learn more![Zendesk illustration](http://web.archive.org./web/20180917055036im_/https://www.algolia.com/static_assets/images/v3/homepage/customer-block-zendesk-8b0a0701.jpg)
SaaS
Powerful APIs to Fit Your Use Case
Every product deserves a bespoke search and discovery experience. Algolia’s flexible APIs and UI toolkits provides teams with the resources necessary to build the experience best suited for your needs.
Learn moreSecure, reliable & scalable
Last year's infrastructure availability
Secure
Soc 3 & GDPR approved
Algolia is committed to delivering a highly secure and compliant environment for our customers.
Reliable
SLA 99.999%
We stand behind our service with an industry leading 99.999% SLA available on select plans with a 1000x rebate policy.
Scalable
Global scale
70+ data centers on 6 continents to ensure a consistent experience for every user.
Trusted by
5,000
customers
Powering
20,000
applications
Serving
40B+
Queries / Month