---
metadata:
  - name: generator
    content: Diplodoc Platform v5.55.0
alternate:
  - https://yandex.com/dev/market/partner-api/doc/en/reference/offers/getOfferRecommendations.md
  - https://yandex.com/dev/market/partner-api/doc/ru/reference/offers/getOfferRecommendations.md
  - https://yandex.com/dev/market/partner-api/doc/zh/reference/offers/getOfferRecommendations.md
  - href: en/reference/offers/getOfferRecommendations.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/market/partner-api/doc/en/llms.txt

<!-- source: en/api/offers/getOfferRecommendations.md -->
<div class="openapi">

# Yandex.Market's recommendations regarding prices

<!-- markdownlint-disable-file -->

{% list tabs %}

- Info

  
  <!-- source: en/_auto/method_scopes/getOfferRecommendations.md -->
  **The method is available for models: [FBY, FBS, Express and DBS](https://yandex.com/dev/market/partner-api/doc/en/overview/business.md).**

  Not yet available for Market Yandex Go sellers.

  {% cut "**If you are using an API Key token, one of the accesses in the list is required to call the method**" %}

  * pricing — [Manage prices](https://yandex.com/dev/market/partner-api/doc/en/_auto/scopes_summary/pages/pricing.md)
  * pricing:read-only — [View prices](https://yandex.com/dev/market/partner-api/doc/en/_auto/scopes_summary/pages/pricing_read-only.md)
  * all-methods — Full account management
  * all-methods:read-only — View all data

  {% endcut %}
  <!-- endsource: en/_auto/method_scopes/getOfferRecommendations.md -->
  
  
  The method returns several types of recommendations.
  
  1. The threshold for an attractive price.
  2. Evaluation of the attractiveness of prices in the showcase.
  
  The recommendations show you what prices you need to set in order to attract a buyer.
  
  Filters can be used in the request. The results are returned page by page.
  
  
  <!-- source: en/_auto/method_limits/getOfferRecommendations.md -->
  |<div style="text-align: left;">**⚙️ Limit without subscription:** 50 requests per minute<br>**⭐️ [Limit with Medium subscription](https://yandex.ru/support/marketplace/ru/marketing/subscription):** 100 requests per minute</div>|
  |-|
  <!-- endsource: en/_auto/method_limits/getOfferRecommendations.md -->
  
  
  
  ## Request
  
  <div class="openapi__requests">
  
  <div class="openapi__request__wrapper" style="--method: var(--dc-openapi-methods-post);margin-bottom: 12px">
  
  <div class="openapi__request">
  
  POST {.openapi__method}
  ```text translate=no
  https://api.partner.market.yandex.ru/v2/businesses/{businessId}/offers/recommendations
  ```
  
  </div>
  
  </div>
  
  </div>
  
  ### Path parameters
  
  #|
  || **Name** | **Description** ||
  ||
  
  _businessId_{.json-schema-reset .json-schema-property .json-schema-required}
  {.table-cell}|
  **Type**: integer
  
  Cabinet ID.
  
  
  
  
  To find out, use the request [GET v2/campaigns](https://yandex.com/dev/market/partner-api/doc/en/reference/campaigns/getCampaigns.md).
  
  ℹ️ [What is a cabinet and a store on the Market?](https://yandex.ru/support/marketplace/account/introduction.html)
  
  
  
  
  
  _Min value:_{.json-schema-reset .json-schema-assertion} `1`
  {.table-cell}
  ||
  |#{.json-schema-properties}
  
  ### Query parameters
  
  #|
  || **Name** | **Description** ||
  ||
  
  _limit_{.json-schema-reset .json-schema-property}
  {.table-cell}|
  **Type**: integer
  
  The number of values per page.
  
  
  _Default:_{.json-schema-reset .json-schema-value} `100`
  
  _Min value:_{.json-schema-reset .json-schema-assertion} `1`
  
  _Max value:_{.json-schema-reset .json-schema-assertion} `200`
  {.table-cell}
  ||
  ||
  
  _pageToken_{.json-schema-reset .json-schema-property}
  {.table-cell}|
  **Type**: string
  
  ID of the results page.
  
  If the parameter is omitted, the first page is returned.
  
  Pass the value of the output parameter `nextPageToken`, received during the last request.
  
  
  _Example:_{.json-schema-reset .json-schema-example} ``
  {.table-cell}
  ||
  |#{.json-schema-properties}
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "offerIds": [
      "example"
    ],
    "competitivenessFilter": "OPTIMAL"
  }
  ```
  
  {% endcut %}
  
  #|
  || **Name** | **Description** ||
  ||
  
  _competitivenessFilter_{.json-schema-reset .json-schema-property}
  {.table-cell}|
  **Type**: string
  
  The attractiveness of the price:
  
  * `OPTIMAL` — attractive.
  * `AVERAGE` — moderate.
  * `LOW` — Unattractive.
  
  
  _Enum:_{.json-schema-reset .json-schema-value} `OPTIMAL`, `AVERAGE`, `LOW`
  {.table-cell}
  ||
  ||
  
  _offerIds_{.json-schema-reset .json-schema-property}
  {.table-cell}|
  **Type**: string[] &#124; null
  
  The IDs of the products that information is needed about. ⚠️ Do not use this field at the same time as the other filters. If you want to use filters, leave the field empty.
  
  _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
  _Max items:_{.json-schema-reset .json-schema-assertion} `200`
  
  _Unique items:_{.json-schema-reset .json-schema-assertion} `true`
  
  {% cut "**Example**" %}{.json-schema-example}
  
  ```json translate=no
  [
    "example"
  ]
  ```
  
  {% endcut %}
  {.table-cell}
  ||
  |#{.json-schema-properties}
  
  </div>
  
  ## Responses
  
  <div class="openapi__response__code__200">
  
  ## 200 OK
  
  A list of products with recommendations.
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "status": "OK",
    "result": {
      "paging": {
        "nextPageToken": "example"
      },
      "offerRecommendations": [
        {
          "offer": {},
          "recommendation": {}
        }
      ]
    }
  }
  ```
  
  {% endcut %}
  
  **Type**: object
  
  {% cut "**All of 2 types**" %}{.json-schema-combinators data-marker=and}
  
  - {% cut "**Type**: object" %}
  
    #|
    ||
  
    _status_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    **Type**: string
  
    The type of response.
    Possible values:
    * `OK` — There are no errors.
    * `ERROR` — an error occurred while processing the request.
  
  
    _Enum:_{.json-schema-reset .json-schema-value} `OK`, `ERROR`
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    The standard wrapper for server responses.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "status": "OK"
    }
    ```
  
    {% endcut %}
  
  - {% cut "**Type**: object" %}
  
    #|
    ||
  
    _result_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    {% cut "**Type**: object" %}
  
    #|
    ||
  
    _offerRecommendations_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    {% cut "**Type**: object[]" %}
  
    #|
    ||
  
    _offer_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    {% cut "**Type**: object" %}
  
    #|
    ||
  
    _competitiveness_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    **Type**: string
  
    The attractiveness of the price:
  
    * `OPTIMAL` — attractive.
    * `AVERAGE` — moderate.
    * `LOW` — Unattractive.
  
  
    _Enum:_{.json-schema-reset .json-schema-value} `OPTIMAL`, `AVERAGE`, `LOW`
    {.table-cell}
    ||
    ||
  
    _offerId_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    **Type**: string
  
    Your SKU — the product ID in your system.
  
    Usage rules SKU:
  
    * For each product SKU there must be one.
  
    * Already set SKU it cannot be released and reused for another product. Each product should receive a new identifier that has never been used in your catalog before.
  
    SKU The product can be changed in the seller's account on the Market. Read about how to do this. [in the Help of the Market for sellers](https://yandex.ru/support2/marketplace/ru/assortment/operations/edit-sku).
  
  
    {% note warning %}
  
  
    Spaces at the beginning and end of the value are automatically deleted. For example, `"  SKU123  "` and `"SKU123"` they will be treated as identical values.
  
  
    {% endnote %}
  
  
    [What is SKU and how to assign it](https://yandex.ru/support/marketplace/assortment/add/index.html#fields)
  
  
    _Min length:_{.json-schema-reset .json-schema-assertion} `1`
  
    _Max length:_{.json-schema-reset .json-schema-assertion} `255`
  
    _Pattern:_{.json-schema-reset .json-schema-assertion} `^(?=.*\S.*)[^\x00-\x08\x0A-\x1f\x7f]{1,255}$`
  
    _Example:_{.json-schema-reset .json-schema-example} `example`
    {.table-cell}
    ||
    ||
  
    _price_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    {% cut "**Type**: object" %}
  
    #|
    ||
  
    _currencyId_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    **Type**: string
  
    Currency codes:
  
    * `RUR` — the Russian ruble.
    * `UAH` — the Ukrainian hryvnia.
    * `BYR` — the Belarusian ruble.
    * `KZT` — Kazakhstani tenge.
    * `UZS` — Uzbek sum.
  
  
    _Enum:_{.json-schema-reset .json-schema-value} `RUR`, `USD`, `EUR`, `UAH`, `AUD`, `GBP`, `BYR`, `BYN`, `DKK`, `ISK`, `KZT`, `CAD`, `CNY`, `NOK`, `XDR`, `SGD`, `TRY`, `SEK`, `CHF`, `JPY`, `AZN`, `ALL`, `DZD`, `AOA`, `ARS`, `AMD`, `AFN`, `BHD`, `BGN`, `BOB`, `BWP`, `BND`, `BRL`, `BIF`, `HUF`, `VEF`, `KPW`, `VND`, `GMD`, `GHS`, `GNF`, `HKD`, `GEL`, `AED`, `EGP`, `ZMK`, `ILS`, `INR`, `IDR`, `JOD`, `IQD`, `IRR`, `YER`, `QAR`, `KES`, `KGS`, `COP`, `CDF`, `CRC`, `KWD`, `CUP`, `LAK`, `LVL`, `SLL`, `LBP`, `LYD`, `SZL`, `LTL`, `MUR`, `MRO`, `MKD`, `MWK`, `MGA`, `MYR`, `MAD`, `MXN`, `MZN`, `MDL`, `MNT`, `NPR`, `NGN`, `NIO`, `NZD`, `OMR`, `PKR`, `PYG`, `PEN`, `PLN`, `KHR`, `SAR`, `RON`, `SCR`, `SYP`, `SKK`, `SOS`, `SDG`, `SRD`, `TJS`, `THB`, `TWD`, `BDT`, `TZS`, `TND`, `TMM`, `UGX`, `UZS`, `UYU`, `PHP`, `DJF`, `XAF`, `XOF`, `HRK`, `CZK`, `CLP`, `LKR`, `EEK`, `ETB`, `RSD`, `ZAR`, `KRW`, `NAD`, `TL`, `UE`
    {.table-cell}
    ||
    ||
  
    _value_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    **Type**: number
  
    The price of the product.
  
    _Min value:_{.json-schema-reset .json-schema-assertion} `0`
  
    _Exclusive min:_{.json-schema-reset .json-schema-assertion} `true`
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    The price of the product.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "value": 0,
      "currencyId": "RUR"
    }
    ```
  
    {% endcut %}
    {.table-cell}
    ||
    ||
  
    _shows_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    **Type**: integer
  
    The number of product card impressions in the last 7 days.
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    Information about the price status of the product.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "offerId": "example",
      "price": {
        "value": 0,
        "currencyId": "RUR"
      },
      "competitiveness": "OPTIMAL",
      "shows": 0
    }
    ```
  
    {% endcut %}
    {.table-cell}
    ||
    ||
  
    _recommendation_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    {% cut "**Type**: object" %}
  
    #|
    ||
  
    _competitivenessThresholds_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    {% cut "**Type**: object" %}
  
    #|
    ||
  
    _averagePrice_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    {% cut "**Type**: object" %}
  
    #|
    ||
  
    _currencyId_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    **Type**: string
  
    Currency codes:
  
    * `RUR` — the Russian ruble.
    * `UAH` — the Ukrainian hryvnia.
    * `BYR` — the Belarusian ruble.
    * `KZT` — Kazakhstani tenge.
    * `UZS` — Uzbek sum.
  
  
    _Enum:_{.json-schema-reset .json-schema-value} `RUR`, `USD`, `EUR`, `UAH`, `AUD`, `GBP`, `BYR`, `BYN`, `DKK`, `ISK`, `KZT`, `CAD`, `CNY`, `NOK`, `XDR`, `SGD`, `TRY`, `SEK`, `CHF`, `JPY`, `AZN`, `ALL`, `DZD`, `AOA`, `ARS`, `AMD`, `AFN`, `BHD`, `BGN`, `BOB`, `BWP`, `BND`, `BRL`, `BIF`, `HUF`, `VEF`, `KPW`, `VND`, `GMD`, `GHS`, `GNF`, `HKD`, `GEL`, `AED`, `EGP`, `ZMK`, `ILS`, `INR`, `IDR`, `JOD`, `IQD`, `IRR`, `YER`, `QAR`, `KES`, `KGS`, `COP`, `CDF`, `CRC`, `KWD`, `CUP`, `LAK`, `LVL`, `SLL`, `LBP`, `LYD`, `SZL`, `LTL`, `MUR`, `MRO`, `MKD`, `MWK`, `MGA`, `MYR`, `MAD`, `MXN`, `MZN`, `MDL`, `MNT`, `NPR`, `NGN`, `NIO`, `NZD`, `OMR`, `PKR`, `PYG`, `PEN`, `PLN`, `KHR`, `SAR`, `RON`, `SCR`, `SYP`, `SKK`, `SOS`, `SDG`, `SRD`, `TJS`, `THB`, `TWD`, `BDT`, `TZS`, `TND`, `TMM`, `UGX`, `UZS`, `UYU`, `PHP`, `DJF`, `XAF`, `XOF`, `HRK`, `CZK`, `CLP`, `LKR`, `EEK`, `ETB`, `RSD`, `ZAR`, `KRW`, `NAD`, `TL`, `UE`
    {.table-cell}
    ||
    ||
  
    _value_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    **Type**: number
  
    The price of the product.
  
    _Min value:_{.json-schema-reset .json-schema-assertion} `0`
  
    _Exclusive min:_{.json-schema-reset .json-schema-assertion} `true`
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    The price of the product.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "value": 0,
      "currencyId": "RUR"
    }
    ```
  
    {% endcut %}
    {.table-cell}
    ||
    ||
  
    _optimalPrice_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    {% cut "**Type**: object" %}
  
    #|
    ||
  
    _currencyId_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    **Type**: string
  
    Currency codes:
  
    * `RUR` — the Russian ruble.
    * `UAH` — the Ukrainian hryvnia.
    * `BYR` — the Belarusian ruble.
    * `KZT` — Kazakhstani tenge.
    * `UZS` — Uzbek sum.
  
  
    _Enum:_{.json-schema-reset .json-schema-value} `RUR`, `USD`, `EUR`, `UAH`, `AUD`, `GBP`, `BYR`, `BYN`, `DKK`, `ISK`, `KZT`, `CAD`, `CNY`, `NOK`, `XDR`, `SGD`, `TRY`, `SEK`, `CHF`, `JPY`, `AZN`, `ALL`, `DZD`, `AOA`, `ARS`, `AMD`, `AFN`, `BHD`, `BGN`, `BOB`, `BWP`, `BND`, `BRL`, `BIF`, `HUF`, `VEF`, `KPW`, `VND`, `GMD`, `GHS`, `GNF`, `HKD`, `GEL`, `AED`, `EGP`, `ZMK`, `ILS`, `INR`, `IDR`, `JOD`, `IQD`, `IRR`, `YER`, `QAR`, `KES`, `KGS`, `COP`, `CDF`, `CRC`, `KWD`, `CUP`, `LAK`, `LVL`, `SLL`, `LBP`, `LYD`, `SZL`, `LTL`, `MUR`, `MRO`, `MKD`, `MWK`, `MGA`, `MYR`, `MAD`, `MXN`, `MZN`, `MDL`, `MNT`, `NPR`, `NGN`, `NIO`, `NZD`, `OMR`, `PKR`, `PYG`, `PEN`, `PLN`, `KHR`, `SAR`, `RON`, `SCR`, `SYP`, `SKK`, `SOS`, `SDG`, `SRD`, `TJS`, `THB`, `TWD`, `BDT`, `TZS`, `TND`, `TMM`, `UGX`, `UZS`, `UYU`, `PHP`, `DJF`, `XAF`, `XOF`, `HRK`, `CZK`, `CLP`, `LKR`, `EEK`, `ETB`, `RSD`, `ZAR`, `KRW`, `NAD`, `TL`, `UE`
    {.table-cell}
    ||
    ||
  
    _value_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    **Type**: number
  
    The price of the product.
  
    _Min value:_{.json-schema-reset .json-schema-assertion} `0`
  
    _Exclusive min:_{.json-schema-reset .json-schema-assertion} `true`
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    The price of the product.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "value": 0,
      "currencyId": "RUR"
    }
    ```
  
    {% endcut %}
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    The maximum price values at which it is attractive or moderate.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "optimalPrice": {
        "value": 0,
        "currencyId": "RUR"
      },
      "averagePrice": {
        "value": 0,
        "currencyId": "RUR"
      }
    }
    ```
  
    {% endcut %}
    {.table-cell}
    ||
    ||
  
    _offerId_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    **Type**: string
  
    Your SKU — the product ID in your system.
  
    Usage rules SKU:
  
    * For each product SKU there must be one.
  
    * Already set SKU it cannot be released and reused for another product. Each product should receive a new identifier that has never been used in your catalog before.
  
    SKU The product can be changed in the seller's account on the Market. Read about how to do this. [in the Help of the Market for sellers](https://yandex.ru/support2/marketplace/ru/assortment/operations/edit-sku).
  
  
    {% note warning %}
  
  
    Spaces at the beginning and end of the value are automatically deleted. For example, `"  SKU123  "` and `"SKU123"` they will be treated as identical values.
  
  
    {% endnote %}
  
  
    [What is SKU and how to assign it](https://yandex.ru/support/marketplace/assortment/add/index.html#fields)
  
  
    _Min length:_{.json-schema-reset .json-schema-assertion} `1`
  
    _Max length:_{.json-schema-reset .json-schema-assertion} `255`
  
    _Pattern:_{.json-schema-reset .json-schema-assertion} `^(?=.*\S.*)[^\x00-\x08\x0A-\x1f\x7f]{1,255}$`
  
    _Example:_{.json-schema-reset .json-schema-example} `example`
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    Recommendations regarding the price of the product.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "offerId": "example",
      "competitivenessThresholds": {
        "optimalPrice": {
          "value": 0,
          "currencyId": "RUR"
        },
        "averagePrice": {
          "value": 0,
          "currencyId": "RUR"
        }
      }
    }
    ```
  
    {% endcut %}
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    The product list page.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    [
      {
        "offer": {
          "offerId": "example",
          "price": {
            "value": 0,
            "currencyId": "RUR"
          },
          "competitiveness": "OPTIMAL",
          "shows": 0
        },
        "recommendation": {
          "offerId": "example",
          "competitivenessThresholds": {
            "optimalPrice": {
              "value": 0,
              "currencyId": "RUR"
            },
            "averagePrice": {
              "value": 0,
              "currencyId": "RUR"
            }
          }
        }
      }
    ]
    ```
  
    {% endcut %}
    {.table-cell}
    ||
    ||
  
    _paging_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    {% cut "**Type**: object" %}
  
    #|
    ||
  
    _nextPageToken_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    **Type**: string
  
    ID of the next results page.
  
    _Example:_{.json-schema-reset .json-schema-example} `example`
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    The ID of the next page.
  
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "nextPageToken": "example"
    }
    ```
  
    {% endcut %}
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    A list of products with recommendations.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "paging": {
        "nextPageToken": "example"
      },
      "offerRecommendations": [
        {
          "offer": {
            "offerId": "example",
            "price": {
              "value": 0,
              "currencyId": "RUR"
            },
            "competitiveness": "OPTIMAL",
            "shows": 0
          },
          "recommendation": {
            "offerId": "example",
            "competitivenessThresholds": {
              "optimalPrice": {},
              "averagePrice": {}
            }
          }
        }
      ]
    }
    ```
  
    {% endcut %}
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "result": {
        "paging": {
          "nextPageToken": "example"
        },
        "offerRecommendations": [
          {
            "offer": {
              "offerId": "example",
              "price": {},
              "competitiveness": "OPTIMAL",
              "shows": 0
            },
            "recommendation": {
              "offerId": "example",
              "competitivenessThresholds": {}
            }
          }
        ]
      }
    }
    ```
  
    {% endcut %}
  
  {% endcut %}
  
  </div>
  
  </div>
  
  <div class="openapi__response__code__400">
  
  ## 400 Bad Request
  
  The request contains incorrect data. [More information about the error](https://yandex.com/dev/market/partner-api/doc/en/concepts/error-codes.md#400)
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "status": "OK",
    "errors": [
      {
        "code": "example",
        "message": "example"
      }
    ]
  }
  ```
  
  {% endcut %}
  
  **Type**: object
  
  {% cut "**All of 1 type**" %}{.json-schema-combinators data-marker=and}
  
  - **Type**: object
  
    {% cut "**All of 2 types**" %}{.json-schema-combinators data-marker=and}
  
    - **Type**: object
  
      #|
      ||
  
      _status_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The type of response.
      Possible values:
      * `OK` — There are no errors.
      * `ERROR` — an error occurred while processing the request.
  
  
      _Enum:_{.json-schema-reset .json-schema-value} `OK`, `ERROR`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      The standard wrapper for server responses.
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "status": "OK"
      }
      ```
  
      {% endcut %}
  
    - **Type**: object
  
      #|
      ||
  
      _errors_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      {% cut "**Type**: object[]" %}
  
      #|
      ||
  
      _code_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The error code.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      ||
  
      _message_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      **Type**: string
  
      Description of the error.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% endcut %}
  
      A list of errors.
  
      _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      [
        {
          "code": "example",
          "message": "example"
        }
      ]
      ```
  
      {% endcut %}
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "errors": [
          {
            "code": "example",
            "message": "example"
          }
        ]
      }
      ```
  
      {% endcut %}
  
    {% endcut %}
  
    A standard wrapper for server errors.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    ```
  
    {% endcut %}
  
  {% endcut %}
  
  </div>
  
  </div>
  
  <div class="openapi__response__code__401">
  
  ## 401 Unauthorized
  
  The authorization data is not specified in the request. [More information about the error](https://yandex.com/dev/market/partner-api/doc/en/concepts/error-codes.md#401)
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "status": "OK",
    "errors": [
      {
        "code": "example",
        "message": "example"
      }
    ]
  }
  ```
  
  {% endcut %}
  
  **Type**: object
  
  {% cut "**All of 1 type**" %}{.json-schema-combinators data-marker=and}
  
  - **Type**: object
  
    {% cut "**All of 2 types**" %}{.json-schema-combinators data-marker=and}
  
    - **Type**: object
  
      #|
      ||
  
      _status_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The type of response.
      Possible values:
      * `OK` — There are no errors.
      * `ERROR` — an error occurred while processing the request.
  
  
      _Enum:_{.json-schema-reset .json-schema-value} `OK`, `ERROR`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      The standard wrapper for server responses.
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "status": "OK"
      }
      ```
  
      {% endcut %}
  
    - **Type**: object
  
      #|
      ||
  
      _errors_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      {% cut "**Type**: object[]" %}
  
      #|
      ||
  
      _code_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The error code.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      ||
  
      _message_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      **Type**: string
  
      Description of the error.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% endcut %}
  
      A list of errors.
  
      _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      [
        {
          "code": "example",
          "message": "example"
        }
      ]
      ```
  
      {% endcut %}
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "errors": [
          {
            "code": "example",
            "message": "example"
          }
        ]
      }
      ```
  
      {% endcut %}
  
    {% endcut %}
  
    A standard wrapper for server errors.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    ```
  
    {% endcut %}
  
  {% endcut %}
  
  </div>
  
  </div>
  
  <div class="openapi__response__code__403">
  
  ## 403 Forbidden
  
  The authorization data is incorrect or access to the resource is prohibited. [More information about the error](https://yandex.com/dev/market/partner-api/doc/en/concepts/error-codes.md#403)
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "status": "OK",
    "errors": [
      {
        "code": "example",
        "message": "example"
      }
    ]
  }
  ```
  
  {% endcut %}
  
  **Type**: object
  
  {% cut "**All of 1 type**" %}{.json-schema-combinators data-marker=and}
  
  - **Type**: object
  
    {% cut "**All of 2 types**" %}{.json-schema-combinators data-marker=and}
  
    - **Type**: object
  
      #|
      ||
  
      _status_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The type of response.
      Possible values:
      * `OK` — There are no errors.
      * `ERROR` — an error occurred while processing the request.
  
  
      _Enum:_{.json-schema-reset .json-schema-value} `OK`, `ERROR`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      The standard wrapper for server responses.
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "status": "OK"
      }
      ```
  
      {% endcut %}
  
    - **Type**: object
  
      #|
      ||
  
      _errors_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      {% cut "**Type**: object[]" %}
  
      #|
      ||
  
      _code_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The error code.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      ||
  
      _message_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      **Type**: string
  
      Description of the error.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% endcut %}
  
      A list of errors.
  
      _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      [
        {
          "code": "example",
          "message": "example"
        }
      ]
      ```
  
      {% endcut %}
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "errors": [
          {
            "code": "example",
            "message": "example"
          }
        ]
      }
      ```
  
      {% endcut %}
  
    {% endcut %}
  
    A standard wrapper for server errors.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    ```
  
    {% endcut %}
  
  {% endcut %}
  
  </div>
  
  </div>
  
  <div class="openapi__response__code__404">
  
  ## 404 Not Found
  
  The requested resource was not found. [More information about the error](https://yandex.com/dev/market/partner-api/doc/en/concepts/error-codes.md#404)
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "status": "OK",
    "errors": [
      {
        "code": "example",
        "message": "example"
      }
    ]
  }
  ```
  
  {% endcut %}
  
  **Type**: object
  
  {% cut "**All of 1 type**" %}{.json-schema-combinators data-marker=and}
  
  - **Type**: object
  
    {% cut "**All of 2 types**" %}{.json-schema-combinators data-marker=and}
  
    - **Type**: object
  
      #|
      ||
  
      _status_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The type of response.
      Possible values:
      * `OK` — There are no errors.
      * `ERROR` — an error occurred while processing the request.
  
  
      _Enum:_{.json-schema-reset .json-schema-value} `OK`, `ERROR`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      The standard wrapper for server responses.
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "status": "OK"
      }
      ```
  
      {% endcut %}
  
    - **Type**: object
  
      #|
      ||
  
      _errors_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      {% cut "**Type**: object[]" %}
  
      #|
      ||
  
      _code_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The error code.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      ||
  
      _message_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      **Type**: string
  
      Description of the error.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% endcut %}
  
      A list of errors.
  
      _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      [
        {
          "code": "example",
          "message": "example"
        }
      ]
      ```
  
      {% endcut %}
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "errors": [
          {
            "code": "example",
            "message": "example"
          }
        ]
      }
      ```
  
      {% endcut %}
  
    {% endcut %}
  
    A standard wrapper for server errors.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    ```
  
    {% endcut %}
  
  {% endcut %}
  
  </div>
  
  </div>
  
  <div class="openapi__response__code__420">
  
  ## 420 Method Failure
  
  The resource access limit has been exceeded. [More information about the error](https://yandex.com/dev/market/partner-api/doc/en/concepts/error-codes.md#420)
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "status": "OK",
    "errors": [
      {
        "code": "example",
        "message": "example"
      }
    ]
  }
  ```
  
  {% endcut %}
  
  **Type**: object
  
  {% cut "**All of 1 type**" %}{.json-schema-combinators data-marker=and}
  
  - **Type**: object
  
    {% cut "**All of 2 types**" %}{.json-schema-combinators data-marker=and}
  
    - **Type**: object
  
      #|
      ||
  
      _status_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The type of response.
      Possible values:
      * `OK` — There are no errors.
      * `ERROR` — an error occurred while processing the request.
  
  
      _Enum:_{.json-schema-reset .json-schema-value} `OK`, `ERROR`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      The standard wrapper for server responses.
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "status": "OK"
      }
      ```
  
      {% endcut %}
  
    - **Type**: object
  
      #|
      ||
  
      _errors_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      {% cut "**Type**: object[]" %}
  
      #|
      ||
  
      _code_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The error code.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      ||
  
      _message_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      **Type**: string
  
      Description of the error.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% endcut %}
  
      A list of errors.
  
      _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      [
        {
          "code": "example",
          "message": "example"
        }
      ]
      ```
  
      {% endcut %}
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "errors": [
          {
            "code": "example",
            "message": "example"
          }
        ]
      }
      ```
  
      {% endcut %}
  
    {% endcut %}
  
    A standard wrapper for server errors.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    ```
  
    {% endcut %}
  
  {% endcut %}
  
  </div>
  
  </div>
  
  <div class="openapi__response__code__500">
  
  ## 500 Internal Server Error
  
  Internal error of Yandex. Market. [More information about the error](https://yandex.com/dev/market/partner-api/doc/en/concepts/error-codes.md#500)
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "status": "OK",
    "errors": [
      {
        "code": "example",
        "message": "example"
      }
    ]
  }
  ```
  
  {% endcut %}
  
  **Type**: object
  
  {% cut "**All of 1 type**" %}{.json-schema-combinators data-marker=and}
  
  - **Type**: object
  
    {% cut "**All of 2 types**" %}{.json-schema-combinators data-marker=and}
  
    - **Type**: object
  
      #|
      ||
  
      _status_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The type of response.
      Possible values:
      * `OK` — There are no errors.
      * `ERROR` — an error occurred while processing the request.
  
  
      _Enum:_{.json-schema-reset .json-schema-value} `OK`, `ERROR`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      The standard wrapper for server responses.
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "status": "OK"
      }
      ```
  
      {% endcut %}
  
    - **Type**: object
  
      #|
      ||
  
      _errors_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      {% cut "**Type**: object[]" %}
  
      #|
      ||
  
      _code_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The error code.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      ||
  
      _message_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      **Type**: string
  
      Description of the error.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% endcut %}
  
      A list of errors.
  
      _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      [
        {
          "code": "example",
          "message": "example"
        }
      ]
      ```
  
      {% endcut %}
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "errors": [
          {
            "code": "example",
            "message": "example"
          }
        ]
      }
      ```
  
      {% endcut %}
  
    {% endcut %}
  
    A standard wrapper for server errors.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    ```
  
    {% endcut %}
  
  {% endcut %}
  
  </div>
  
  </div>
        

- Console

  ```openapi-sandbox translate=no
  pathParams:
    - description: "Cabinet ID.\n\n\n:::no-translate\n{% if audience == \"partner\" %}\n:::\n\n\nTo find out, use the request [GET\_v2/campaigns](../../reference/campaigns/getCampaigns.md).\n\nℹ️ [What is a cabinet and a store on the Market?](https://yandex.ru/support/marketplace/account/introduction.html)\n\n\n:::no-translate\n{% endif %}\n:::\n\n"
      name: businessId
      in: path
      required: true
      schema:
        type: integer
        format: int64
        minimum: 1
  searchParams:
    - name: pageToken
      description: >
        ID of the results page.
  
  
        If the parameter is omitted, the first page is returned.
  
  
        Pass the value of the output parameter `nextPageToken`,
        received during the last request.
      in: query
      required: false
      x-transform: token
      x-aliases:
        - pageToken
        - page_token
      schema:
        type: string
    - name: limit
      description: |
        The number of values per page.
      in: query
      required: false
      schema:
        type: integer
        format: int32
        minimum: 1
        default: 100
        maximum: 200
  headers: []
  body: |-
    {
      "offerIds": [
        "example"
      ],
      "competitivenessFilter": "OPTIMAL"
    }
  schema:
    type: object
    properties:
      offerIds:
        description: >-
          The IDs of the products that information is needed about.
          ⚠️ Do not use this field at the same time as the other
          filters. If you want to use filters, leave the field empty.
        type: array
        nullable: true
        minItems: 1
        maxItems: 200
        uniqueItems: true
        items:
          description: "Your SKU —\_the product ID in your system.\n\nUsage rules SKU:\n\n* For each product SKU there must be one.\n\n* Already set SKU it cannot be released and reused for another product. Each product should receive a new identifier that has never been used in your catalog before.\n\nSKU The product can be changed in the seller's account on the Market. Read about how to do this. [in the Help of the Market for sellers](https://yandex.ru/support2/marketplace/ru/assortment/operations/edit-sku).\n\n\n:::no-translate\n{% note warning %}\n:::\n\n\nSpaces at the beginning and end of the value are automatically deleted. For example, `\"  SKU123  \"` and `\"SKU123\"` they will be treated as identical values.\n\n\n:::no-translate\n{% endnote %}\n:::\n\n\n[What is SKU and how to assign it](https://yandex.ru/support/marketplace/assortment/add/index.html#fields)\n"
          type: string
          pattern: ^(?=.*\S.*)[^\x00-\x08\x0A-\x1f\x7f]{1,255}$
          x-transform: trim
          minLength: 1
          maxLength: 255
      competitivenessFilter:
        description: |
          The attractiveness of the price:
  
          * `OPTIMAL` — attractive.
          * `AVERAGE` — moderate.
          * `LOW` — Unattractive.
        type: string
        enum:
          - OPTIMAL
          - AVERAGE
          - LOW
  bodyType: application/json
  method: post
  security:
    - type: apiKey
      name: 'Api-Key'
      in: header
    - type: oauth2
      x-inline: true
      flows:
        implicit:
          authorizationUrl: https://oauth.yandex.ru/authorize
          scopes:
            market:partner-api: API Яндекс.Маркета / Поиска по товарам для партнеров
  path: v2/businesses/{businessId}/offers/recommendations
  host: https://api.partner.market.yandex.ru
  
  ```
        

{% endlist %}


</div>
<!-- endsource: en/api/offers/getOfferRecommendations.md -->

[*rule]:
If you have such a price set or lower, it is considered attractive.

[*Deprecated]: No longer supported, please use an alternative and newer version.