Smart Search
Smart search endpoints
Returns personalized search results for sport events and casino games.
For sports
The endpoint supports searches based on both participant/country/league similarity and user preferences.The returned results are events that include at least one participant/country/league that has string similarities with the searched token. Using the mode option, the ranking of these events can be based on the user preferences or on event popularity in addition to the string similarity. We also support events filtering by providing a score threshold.
Only events starting between the requested time range will be considered.
For casino
The endpoint supports searches based on game's name, category, studio and vaix tags.The returned results are casino games that include at least one field that has string similarities with the searched token.
Spelling mistakes, whitespace, typos and many more filters are supported by default for sport and casino product.
Picking the correct date parameters for sport events
Most of the times it is advised to use a tight date range (ex. 1 week). This avoids season bets and also boosts events that are starting the following days where the player may be more interested.
The search pattern.
The product to search for.
Number of events to return.
50Example: 5The brand of the operator.
The minimum event's starting datetime. If not explicitly set it defaults to now.
How many minutes/hours/days to shift from. Use a negative value for a
backwards shift, or a positive value for a forwards shift.
The value must be in range [-7d - 7d].
0Example: -3hPattern: ^[+-]?[0-9]+([.][0-9]+)?[smhd]?$Filters events based on their calculated score. If not set defaults to 0.5. The value must be in range [0.0-1.0].
Considers events starting till the from timestamp plus the given
minutes/hours/days. If not set defaults to one week (7 days).
The value must be in range [0d - 14].
7dExample: 7dPattern: ^[+-]?[0-9]+([.][0-9]+)?[smhd]?$Decides whether the smart search results will be returned as is, mixed by
popular events, or mixed by user recommendations (default). When mode is
recommended, user must also be provided, otherwise the results will
fall back to popular mode.
recommendedPossible values: A mix of sports and casino filters. This parameter is useful to specify specific filters on the data you want to return. The appropriate filters for the product in use should be applied. Sports and Casino filters cannot be mixed, otherwise an error response will be returned.
country:eq:Germany;sport:eq:SoccerPossible values: The user to get recommendations for.
0The language to perform searches for. Depends on the available translations and will be ignored if the provided language is invalid.
The operator to use for querying data. Notice that this is applied only if your account has access to multiple operators. In a different case the assigned operator to your account is used and the value of this field is ignored.
The bookmaker id to use for querying data. Notice that this is applied only
if your account has access to multiple operators. In a different case
the assigned operator to your account is used and the value of this
field is ignored. Note that this parameter is used together with the
sub_bookmaker_id parameter.
The sub-bookmaker id to use for querying data. Notice that this is applied only
if your account has access to multiple operators. In a different case
the assigned operator to your account is used and the value of this
field is ignored. Note that this parameter is used together with the
bookmaker_id parameter.
Optional selection of the object fields to retrieve. It expects a comma
separated list of strings, as described in the field selection section,
e.g. markets,event_id.
["markets","event_id","event_type","begin","country","country_id","league","league_id","sport","sport_id","participants","participant_ids","status","score","game_id","game_name","game_studio","category","vaix_tags","tags","channels","game_image_url","rec_score","has_avalanche","has_bonus","has_buy","has_jackpot","is_live","has_megaways","has_sticky","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking"]Possible values: Custom client header, the value should be the name of the group the user belongs to
Authentication method to be used, supported values [vaix, iam]. Defaults to vaix
OK
Bad Request
Unauthorized
Forbidden
Not Acceptable
Request Entity Too Large
Unprocessable Entity
Too Early
Internal Server Error
GET /api/search?token=text&product=sport HTTP/1.1
Host: api.vaix.ai
Authorization: Bearer YOUR_SECRET_TOKEN
x-vaix-client-id: text
Accept: */*
{
"data": {
"games": [
{
"game_id": "legacy_of_ra_megaways_ogs",
"game_name": "Legacy of Ra Megaways",
"score": 0.8681480848499998
},
{
"game_id": "mega_flip_de_quickspin",
"game_name": "Mega Flip DE",
"score": 0.851773132525
},
{
"game_id": "rock_the_reels_megaways_de_ogs",
"game_name": "Rock the Reels Megaways DE",
"score": 0.8293675892999999
},
{
"game_id": "buffalo_power_megaways_quickspin",
"game_name": "Buffalo Power Megaways",
"score": 0.8087278390499999
},
{
"game_id": "eye_of_horus_megaways_de_ogs",
"game_name": "Eye of horus Megaways DE",
"score": 0.8045928919499999
}
]
},
"status": "success"
}Returns the smart search requests made by a user.
This endpoint helps you retrieve the search queries a user has performed, optionally applying filters and sorting. Supports filtering by uniqueness and without uniqueness.
Example
$ curl --request GET \
--url "http://api.vaix.ai/api/search/searches?user=user123&order_by=-timestamp&count=5"The above will return the 5 most recent search requests for user user123 sorted by most recent first.
The user to get searches for.
If set (default), only unique search terms will be returned. Otherwise all matching searches will be returned.
trueOptional filtering of the searches to retrieve. It expects a string adhering to the filtering format, as described in the filtering section.
You can also use days_since_search (e.g. days_since_search:eq:30)
instead of explicit timestamp ranges.
location:eq:homepage;days_since_search:lt:20Possible values: The columns to sort the results by. It expects a string adhering to
the ordering format, as described in the ordering section, e.g.
+timestamp,-location.
-timestampPossible values: Maximum number of results.
20Custom client header, the value should be the name of the group the user belongs to
Authentication method to be used, supported values [vaix, iam]. Defaults to vaix
OK
Bad Request
Unauthorized
Forbidden
Not Acceptable
Request Entity Too Large
Unprocessable Entity
Too Early
Internal Server Error
GET /api/search/searches?user=text HTTP/1.1
Host: api.vaix.ai
Authorization: Bearer YOUR_SECRET_TOKEN
x-vaix-client-id: text
Accept: */*
{
"data": [
{
"location": "text",
"raw_search_token": "text",
"timestamp": "2025-11-18T14:17:37.924Z",
"user_id": "text"
}
],
"status": "success"
}Was this helpful?