Skip to content

EPS API reference

Search API

Endpoint

  • URI: /api/search
  • Method: POST
  • Content-Type: application/json

Request Parameters

Mandatory Parameters

ParameterTypeDescription
querystringSearch keyword.
clientIdstringTenant identifier.
startintegerPagination start index (0-based, default: 0).
countintegerNumber of results per page.
versionstringAPI version (default: 1).

Optional Parameters

ParameterTypeDescription
categorystringCategory ID.
localestringLanguage and region format (de-DE, fr-CH, etc.).
filtersobjectUser-applied filters (price range, size, etc.).
orderstringSorting order (e.g., relevance, price-asc).
personalizationstringAdditional segmentation information (e.g., customer type).
channelstringRequest channel (web, tab, mob, app).
isBotbooleanIdentifies bot traffic (default: false).
sessionIdstringSession identifier for tracking purposes.

Example Request

{
"query": "red pants",
"category": "213456",
"clientId": "tenantde",
"locale": "de-DE",
"start": 0,
"count": 72,
"version": "1",
"filters": {
"filter_search_price": ["fpd_gen", "61-257"],
"filter_size": ["fb_DKONG_44_8d", "fb_DKONG_46_d6", "fb_DKONG_48_bd"]
},
"order": "relevance",
"personalization": "",
"channel": "web",
"isBot": false,
"sessionId": "1009:w:b8020214-8621-11ef-9524-2f72013a46a7"
}

Response Structure

1. Request Echo

The API echoes the request data under the "request" object.


2. Search Information

FieldTypeDescription
wasArticleNumberSearchbooleanIndicates if the query was an article number search.
cacheLevelintegerInternal cache level indicator.
hostNamestringName of the server handling the request.
filteredbooleanIndicates if filters were applied.
sortedbooleanIndicates if sorting was applied.
serviceCallIdstringUnique request identifier.
fromPageCachebooleanIndicates if the response was served from cache.
pageCountintegerTotal number of pages.
currencystringCurrency for displayed prices.

3. Search Results

FieldTypeDescription
countintegerTotal number of results.
productsarrayList of search results.

Product Object

FieldTypeDescription
idstringUnique product ID.
brandstringProduct brand.
shortDescriptionstringProduct description.
scoresarraySorting scores used by the rule engine.
displayDataAttributesobjectAdditional attributes for display.

Product Variations

FieldTypeDescription
colorsarrayAvailable colors for the product.
colorNamestringName of the color.
colorImagestringURL of the color thumbnail.
imageUrlstringURL of the product image.
priceobjectPrice details.
oldPriceobjectPrevious price details (if available).
basePriceobjectBase price (e.g., per liter).
linkstringURL to the product page.
skustringSKU of the product variation.

Example Product

{
"id": "AKLBB1720214081",
"brand": "MAC",
"shortDescription": "Bootcut Pants ‘CHIARA’, Bootcut-style in a figure-hugging fit",
"scores": [99.99, 67.32],
"displayDataAttributes": {
"name1": "value1",
"name2": "value2"
},
"colors": [
{
"colorName": "ruby red",
"colorImage": "https://images.tenant.com/red.png",
"imageUrl": "https://images.tenant.com/product.jpg",
"price": { "isStartPrice": true, "value": 75.99 },
"oldPrice": { "value": 99.95, "oldPriceType": "UVP" },
"basePrice": { "value": 1883.33, "unit": "1 Liter" },
"link": "/p/AKLBB1720214081?sku=4573664038-44",
"sku": "4573664038-44-1720214081"
}
]
}

4. Filters

FieldTypeDescription
idstringFilter ID.
namestringDisplay name of the filter.
isSearchablebooleanWhether the filter has a search field (e.g., brand filter).
isSingleSelectionbooleanWhether multiple values can be selected.
sliderobjectNumeric filter (e.g., price range).
groupedValuesarrayList of filter values.

5. Navigation & Breadcrumbs

FieldTypeDescription
searchCategoryNavigationarrayList of categories with results for a search query.
categoryNavigationarrayTree structure of categories for a category-based listing.
breadCrumbarrayBreadcrumb navigation for the category.

6. Sorting Options

KeyDisplay NameDefaultSelected
relevanceTop Sellers✅ Yes✅ Yes
price-ascPrice: Lowest First❌ No❌ No
price-descPrice: Highest First❌ No❌ No
noveltyNew Arrivals❌ No❌ No
ratingsBy Customer Ratings❌ No❌ No

Example Sorting Options

{
"orders": [
{
"key": "relevance",
"displayName": "Top Sellers",
"default": true,
"isSelected": true
},
{
"key": "price-asc",
"displayName": "Price: Lowest First"
},
{
"key": "price-desc",
"displayName": "Price: Highest First"
},
{
"key": "novelty",
"displayName": "New Arrivals"
}
]
}

7. Response

Example Full API Response

{
"request": { ... },
"information": {
"wasArticleNumberSearch": false,
"cacheLevel": 0,
"hostName": "server-tenant-search",
"filtered": true,
"sorted": true,
"serviceCallId": "search-1733208917642_620353",
"fromPageCache": true,
"pageCount": 1,
"currency": "EUR"
},
"result": {
"count": 57,
"products": [
{
"id": "AKLBB1720214081",
"brand": "MAC",
"shortDescription": "Bootcut Pants ‘CHIARA’",
"scores": [99.99, 67.32],
"displayDataAttributes": {
"name1": "value1",
"name2": "value2"
},
"colors": [
{
"colorName": "ruby red",
"colorImage": "https://images.tenant.com/red.png",
"imageUrl": "https://images.tenant.com/product.jpg",
"price": { "isStartPrice": true, "value": 75.99 },
"oldPrice": { "value": 99.95, "oldPriceType": "UVP" },
"basePrice": { "value": 1883.33, "unit": "1 Liter" },
"link": "/p/AKLBB1720214081?sku=4573664038-44",
"sku": "4573664038-44-1720214081"
}
],
"variations": [
{
"size": "44",
"deliveryStatement": "In stock - delivered in 3 to 5 business days",
"link": "/p/AKLBB1720214081?sku=4573664038-44"
},
{
"size": "46",
"deliveryStatement": "Backorder - available in 2 weeks",
"link": "/p/AKLBB1720214081?sku=4573664038-46"
}
]
}
]
},
"filters": [ ... ],
"navigation": {
"searchCategoryNavigation": [ ... ],
"categoryNavigation": [ ... ]
},
"breadCrumb": [ ... ],
"orders": [ ... ]
}

Suggest API

URI

/api/search/suggest

Hostname

  • STAGING: https://tenant.empirie.dev
  • PROD: https://www.tenant.de

Request Parameters

Mandatory Parameters

ParameterDescription
clientIde.g., Tenant
querySearch query (possibly URL encoded)

Optional Parameters

ParameterDescription
localeDefault is "de_DE". For French-speaking Swiss clients, "fr_CH" must be provided. Alternatively, specifying TenantChFr in clientId eliminates the need for locale.

Request Method

  • The request is made using GET parameters.

Response Format

The response is returned as a JSON object.

Example Response

{
"suggestresult":{
"result":[
{
"suggestCategoryResult":{
"suggests":[
{
"count":3684,
"suggest":"ober<b>hem<\/b>den",
"fullUri":"/s/oberhemden?ssuggest=sugg",
"value":"oberhemden",
"points":4395
}
],
"category":{
"displayName":"Suchvorschläge",
"name":"searchTerm"
}
}
},
{
"suggestCategoryResult":{
"suggests":[
{
"suggest":"Unter<b>hem<\/b>den",
"fullUri":"/waesche-bademode/damenwaesche/unterhemden?ssuggest=kat",
"value":"Unterhemden",
"url":"2015",
"points":2.5
}
],
"category":{
"displayName":"Kategorien",
"name":"category"
}
}
},
{
"suggestCategoryResult":{
"suggests":[
{
"image":"b8ac1f1289a8f2d634385950aa53fca5.jpg",
"price":"ab 39,99 €",
"imageUrl":"https://bilder.tenant.de/i/empiriecom/b8ac1f1289a8f2d634385950aa53fca5.jpg?$format_suggest$",
"suggest":"Tenant <b>Hem<\/b>dbluse",
"fullUri":"/p/tenant-hemdbluse/AKLBB1356156116?ssuggest=prod",
"value":"TENANT Hemdbluse",
"url":"AKLBB1356156116",
"points":0.6366754486883025
}
],
"category":{
"displayName":"Artikel",
"name":"style"
}
}
}
],
"request":{
"query":"hem",
"source":"magellan/tenant-productsearch-d87z"
}
}
}

Currently, there are three types of suggestions returned:

Categories of Results

Currently, three types of suggestions are returned:

1. Search Terms

FieldDescription
countExpected number of results.
suggestSuggested search term with highlight formatting.
fullUriThe search URL for the suggestion.
valueThe actual search term used if selected.
pointsA ranking score for sorting search terms.

2. Categories

Example Category Suggestion

{
"suggests": [
{
"suggest": "Unter<b>hem<\/b>den",
"fullUri": "/waesche-bademode/damenwaesche/unterhemden?ssuggest=kat",
"value": "Unterhemden",
"url": "2015",
"points": 2.5
}
]
}
Fields Explanation
FieldDescription
suggestSuggested category with highlight formatting.
fullUriURL of the category page.
urlID of the category.
valueActual search term for this category.
pointsA ranking score for sorting categories.

3. Articles

Product suggestions based on the search term.

{
"suggests": [
{
"image": "b8ac1f1289a8f2d634385950aa53fca5.jpg",
"price": "ab 39,99 €",
"imageUrl": "https://bilder.tenant.de/i/empiriecom/b8ac1f1289a8f2d634385950aa53fca5.jpg?$format_suggest$",
"suggest": "Tenant <b>Hem<\/b>dbluse",
"fullUri": "/p/tenant-hemdbluse/AKLBB1356156116?ssuggest=prod",
"value": "Tenant Hemdbluse",
"url": "AKLBB1356156116",
"points": 0.6366754486883025
}
]
}
Fields Explanation
FieldDescription
suggestProduct suggestion with highlight formatting.
fullUriURL of the product detail page.
imageUrlFull URL of the product image.
imageImage name (without URL path).
pricePrice of the product.
valueActual search term for this product.
urlSKU identifier of the product.
pointsA ranking score for sorting articles.

Optional Return Values

For certain product types, additional details may be returned.

Tire Energy Efficiency Labels

For tires, the response includes efficiency labels.

{
"tireEnergyEfficiencies": [
{
"component": "Kraftstoffeffizienz",
"componentName": "fuelEfficiency",
"label": "https://bilder.tenant.de/i/empiriecom/EEK_Kraftstoffeffizienzklasse.png",
"class": "C"
},
{
"component": "Nasshaftung",
"componentName": "wetGrip",
"label": "https://bilder.tenant.de/i/empiriecom/EEK_Nasshaftungsklasse.png",
"class": "A"
},
{
"component": "Rollgeraeusch",
"componentName": "externalRollingNoise",
"label": "https://bilder.tenant.de/i/empiriecom/EEK_Rollgeraeusch.png",
"class": "B | 73 dB"
}
]
}
Fields Explanation
FieldDescription
componentThe energy efficiency category (e.g., Fuel Efficiency, Wet Grip).
componentNameInternal name of the efficiency label.
labelURL of the efficiency label image.
classClassification (e.g., "A", "B", "C").

Energy efficiency labels for appliances

For electrical appliances, standard Energy Efficiency (EEK) labels are included.

{
"energyEfficiencyLabelImgUrl": "https://bilder.tenant.de/i/empiriecom/layer/eek/A_bis_G_A_darkgreen.svg",
"energyEfficiencyLabelImgName": "A_bis_G_A_darkgreen.svg"
}
Fields Explanation
FieldDescription
energyEfficiencyLabelImgUrlURL of the EEK label image.
energyEfficiencyLabelImgNameName of the EEK label file.

Base Price Information

For perfume and other volume-based products, a base price is included.

{
"basePrice": "1 Liter / 2.174,33 €"
}
Fields Explanation
FieldDescription
basePricePrice per unit (e.g., per liter).

Additional Notes

Some fields may be redundant in different sections. This is due to differences in web and mobile app requirements.