Personalized Search
Personalized Search is an essential feature for any marketplace. It helps users find exactly what they're looking for, so they don't give up and go search for the product on another site (like, say... Google or Amazon).

Introduction
Online search is one of the greatest innovations in recent history. But what really unlocks the power of search is personalization, which connects the user not only with results that match their query, but with results that seem to read their mind and anticipate their intent. For example, if two people search for milk
, do they both see the same search results? Or are you able to show one person the oat milk from their preferred brand, while the other person sees their favorite organic 2% dairy milk? Shorter queries (of less than three words) account for up to 80% of traffic in the US but are the hardest to get right with a traditional search engine.
When you use the Search API with Miso, the same query can return different results for different users, based on their interests and preferences. Because Miso learns from real-time interactions and accounts for the current context, it dynamically homes in on what the user is looking for. That's why Miso is able to generate a 15-20% higher conversion rate than traditional search engines. There's also a lot of flexibility within this API for filtering and ordering results, which you can read more about here.
Every query made with Miso's Search API is automatically spellchecked by sophisticated semantic models. According to a Microsoft Research study, roughly 10-15% of the queries sent to search engines contain errors. A misspelled search keyword often results in poor search quality, and users have been accustomed to Google's automatic spelling correction functionality and expect the same on your site. Miso detects hard-to-spot errors, auto-corrects keywords according to the context, and recognizes terms that are newer or lesser-known.
Before You Start
API Call / JSON Response
To fetch your Personalized Search results, POST to the Search API with the following minimum parameters:
user_id
oranonymous_id
: The user or anonymous visitor to personalize the recommendations forq
oradvanced_q
: The search query. Like Google's Advanced Search,advanced_q
is used to perform queries beyond simple full-text search, such as searching for exact matches on a phrase or using AND/OR booleans. You can find more information in the API documentation.
The API will return search results along with a spellcheck object showing any spelling corrections that Miso made to the original query.
fq
,
boost_fq
, and
diversification
.
Read more in the deep dive
Example API Call
POST /v1/search/search?api_key=<API_KEY> HTTP/1.1
{
"user_id": "user-123",
"q":"granolla",
"start": 0,
"spellcheck": {
"enable_auto_spelling_correction": true
},
"rows": 10,
"fl": ["title"]
}
Example JSON Response
{
"message": "success",
"data": {
"took": 106,
"miso_id": "6d749e86-ddf1-11eb-833e-ba7ee8b57635",
"spellcheck": {
"spelling_errors": true,
"auto_spelling_correction": true,
"original_query": "granolla",
"original_query_with_markups": "<mark>granolla</mark>",
"corrected_query": "granola",
"corrected_query_with_markups": "<mark>granola</mark>"
},
"total": 68,
"start": 0,
"products": [
{
"product_id": "41665",
"_missing_keywords": [],
"title": "Made Good Organic Chocolate Chip Granola Minis 3.5oz",
..., // Additional scoring information
},
{
"product_id": "1834",
"_missing_keywords": [],
"title": "Purely Elizabeth Original Ancient Grain Granola 12oz",
..., // Additional scoring information
},
...
]
}
}
Read more about the scoring information that Miso returns in the API response.
Before You Launch
API Reference
Need more info on the API? Check out our dedicated API page with all the info you could ever want.
Read API Reference