Skip to content
English
  • There are no suggestions because the search field is empty.

YML feed | Requirements and element descriptions

In this article, you will learn about the following information:


YML (Yandex Market Language) is Yandex's own standard based on XML. YML files allow you to fully describe a store's catalog in a format suitable for automatic generation.

Any XML document can contain only one root element. The YML format uses the <yml_catalog> element as the root. The date attribute of the <yml_catalog> element must correspond to the date and time when the YML file was generated on your side. The date must have the format YYYY-MM-DD hh:mm.

The list of product offers is contained in the <offers> element. Each product offer is described by a separate <offer> element. The <currencies> and <categories> elements inside the <shop> element must be specified before the list of product offers.


 

Feed requirements

 

  • Do not use non-printable characters with ASCII codes from 0 to 31 (except characters 9, 10, 13 – tab, line feed, carriage return).
  • Replace the characters " & > < ' with equivalent codes:
Character in text Code for feed
"
&
>
<
'
&quot;
&amp;
&gt;
&lt;
&apos;
  • Use UTF-8 or windows-1251 encoding.

 


 

List and description of feed elements

 

You can download a feed template on the Create products group from feed page in your account.

 

 

Elements table:

Element Description
<yml_catalog>

Any XML document has a root element. The YML format uses the <yml_catalog> element with the date attribute as the root. 

In the attribute, specify the date and time for which the data in the file is relevant. The uploaded catalog version must not be older than 10 days. 

The date and time must comply with RFC 3339. Specify the time zone (offset from UTC). You cannot specify a date and time in the future. 

<yml_catalog date="2022-05-22T14:37+03:00">
<shop> Inside <yml_catalog>, a single instance. Describes the store for which you are preparing the file. No attributes.
<name> (inside <shop>) Your store name.
<company> (inside <shop>) Your company name.
<url> (inside <shop>) Address of the page on your site with product photos and description. Maximum URL length is 512 characters. Write according to RFC 3986.
<currencies> (inside <shop>) The currency in which the product price is specified. Supported: Russian and Belarusian rubles, euros, dollars, Ukrainian hryvnias, Kazakhstani tenge.
<categories> (inside <shop>)

List of product categories. 

When creating categories, follow these recommendations:

  • Specify concrete categories — for example, it is better to assign a knife set to the "Cutlery" category rather than just "Kitchenware".

  • Choose categories that describe the product, not an abstract feature — for example, it is better to specify "Perfume" rather than "Gifts".

Assign a unique id to each category (positive integer up to 18 digits, not starting with zero). Use parentId for nesting.

<categories>
<category id="1">Books</category>
<category id="2" parentId="1">Detectives</category>
</categories>
<delivery-options>

Contains up to 5 <option> elements describing courier delivery methods. 

Can be nested inside <shop> and inside <offer>.

  • Inside <shop>, the <delivery-options> element defines the delivery methods that the store offers by default.
  • Inside <offer>, the <delivery-options> element indicates that special delivery conditions, rather than the general ones, apply to that specific product.

Attributes of <option>:

  • cost (not used, put any number) 
  • days – delivery time in business days (integer or hyphen‑separated interval, 0 – today, 1 – tomorrow, max 60) 
  • order-before (optional) – hour by which to order for counting from today, 0–24, default 13. 
<delivery-options>
<option cost="123" days="4" order-before="18"/>
</delivery-options>
<offers> (inside <shop>)

Contains any number of <offer> elements, each describing one product. <offer> has a required id attribute – your product SKU. SKU is a product modifier, i.e., a group of products that is distinguished within a single product by certain parameters (color, size, weight, model, package, etc.).

Inside <offer>, you must specify product characteristics (name, description, manufacturer, etc.) or placement parameters (price, discounts, stock, etc.).

<name> (inside <offer>) Product name.
<vendor> (inside <offer>)

Brand or manufacturer name. Write as the brand writes it. 

For Pharmacy category: 

  • Dietary supplements – owner from state registration certificate 
  • Cosmetics – applicant from declaration of conformity 
  • Medicines – holder of registration certificate 
  • Medical devices – applicant or manufacturer from registration certificate.
<vendorCode> (inside <offer>) Product code assigned by the manufacturer. If multiple, separate by commas. Example: VNDR-0005A, VNDR-0005B
<url> (inside <offer>) Product page address on your site. Max 512 characters, RFC 3986.
<price> (inside <offer>) Price per unit including all taxes.
<enable_auto_discounts> (inside <offer>) Allow Yandex to automatically apply and display discounts (e.g., dynamic). Values: true / false.
<currencyId> (inside <offer>) Currency of the price (same as in <currencies>).
<categoryId> (inside <offer>) Category number (positive integer up to 18 digits, no leading zeros).
<picture> (inside <offer>) Direct link to a product image. Formats JPEG, PNG, WEBP. Weight up to 10 MB, size not less than 300 × 400 pixels. We recommend using an image aspect ratio of 3:4. Multiple links allowed, first photo is main.
<supplier> (inside <offer>) OGRN (for Russia) – 13‑digit legal entity number.
<delivery> Can be inside <shop> or <offer>. Whether courier delivery is available. true / false.
<pickup> Can be inside <shop> or <offer>. Whether pickup is available. true / false.
<pickup-options> (inside <offer>)

Use the pickup-options element to specify the time and cost of pickup.

Example of the pickup-options element:

<pickup-options>
<option cost="300" days="4" order-before="18"/>
</pickup-options>

One option element contains information about one pickup method:

  • cost — the cost of the pickup service, integers only;
  • days — delivery time to the pickup point in business days;
  • order-before (optional) — the time by which the order must be placed to be picked up within that timeframe.

The cost attribute — pickup cost

  • Use only integers as the value.
  • If the service is free, specify the value 0.

If the pickup cost for a product differs depending on the district of the city, specify the maximum price for the service.

The order-before attribute — order cut-off time

Specify the local time (in the store's time zone) by which the order must be placed for the delivery time to the pickup point to apply. Use only an integer from 0 to 24 as the value.

For example, 18:00 is specified as order-before="18". If the delivery time to the pickup point is two days, then with this value, users will see a two‑day delivery time before 18:00, and a three‑day delivery time after 18:00.

If the attribute is not specified, the default value is 13.

<store> (inside <offer>) Possibility to buy in a physical retail store without prior order. true / false.
<description> (inside <offer>)

Detailed product description: for example, its advantages and features.

  • Maximum length — 3000 characters. To keep the text from looking too large and difficult to perceive, it is better to keep it between 400 and 800 characters. The minimum number of characters in the description is 70.
  • Do not advertise the product or your offer in the description. Do not use words such as "sale", "promotion", "free", "special price", and so on.
  • Do not specify the price, region, payment methods, delivery methods, or contact information.
  • Do not duplicate the title or product characteristics (e.g., weight, dimensions, or country of origin) in the description.
  • Do not include links in the description.
  • Do not ask the buyer to read the detailed product description elsewhere.
  • Do not supplement the description with keywords for search engine optimization (e.g., "smart watch, buy kids watch, wrist watch"), otherwise it becomes unreadable.
  • Use the characters " & > < ' and HTML tags (e.g., br, p, H1-H6, and others) only inside a CDATA block within the description element. Outside this block, HTML tags do not work.
<description>
<![CDATA[
<p>text</p>
]]>
</description>
  • Do not add separate enumerations to the description (for example, in the form of SEO text or an incoherent list of words separated by commas or slashes).

<sales_notes> (inside <offer>) Used to provide additional information about the terms of the order.
<min-quantity> (inside <offer>) Intended to specify the minimum quantity of product units available for order.
<dimensions> (inside <offer>) Product dimensions.
<manufacturer_warranty> (inside <offer>)

Used to indicate the presence and duration of the official manufacturer's warranty for the product.

The element can take two value formats:

  • Boolean (true/false) – simply indicates whether the product has an official manufacturer's warranty.
  • Duration in ISO 8601 format – specifies the exact warranty period. Use the letter P at the beginning, followed by Y (years), M (months), D (days), T (time), H (hours), M (minutes).
    <manufacturer_warranty>P1Y</manufacturer_warranty> (1 year)
<country_of_origin> (inside <offer>) Country where the product was manufactured.
<adult> (inside <offer>) This parameter marks the product as 18+. Set it only for products related to sexual needs.
<barcode> (inside <offer>) Product barcode from the manufacturer. If the product is sold in packages, the package barcode is needed. Specify as a sequence of digits. EAN-13, EAN-8, UPC-A, UPC-E codes are acceptable. For books, specify ISBN. If there are multiple barcodes, list them all separated by commas.
<param> (inside <offer>) Used to convey product characteristics, such as color, material, composition.
<weight> (inside <offer>) Product weight.
<dimensions> (inside <offer>) Product dimensions.
<gifts> (inside <shop>)

Gifts that the buyer can receive when purchasing a product. Specify a unique gift identifier, name, and a direct link to the image.

<gifts>
<!-- Here gifts are described -->
<gift id="GIFT123">
<name>Wireless speaker</name>
<picture>https://example.ru/gift_speaker.jpg</picture>
</gift>
</gifts>
<promos> (inside <shop>)

Used to describe promotions and special offers that apply to your products. This can be a discount, a gift with purchase, or other marketing mechanics. Unlike <gifts>, which only describes gifts, <promos> allows you to describe various types of promotions and link them to specific products or purchase conditions.

<promos>
<!-- Here promotions are described -->
<promo id="PROMO_SUMMER2024" type="discount">
<start-date>2024-06-01</start-date>
<end-date>2024-08-31</end-date>
<description>Summer sale</description>
<url>https://example.ru/promo/summer2024</url>
<!-- Promotion conditions: 20% discount on all smartphones -->
<promo-code>SUMMER20</promo-code>
</promo>
</promos>

id — Unique identifier of the promotion within the file.

type — Type of promotion. Possible values: "discount", "gift", "promocode".

  • <start-date> — start date of the promotion in YYYY-MM-DD format.
  • <end-date> — end date of the promotion in YYYY-MM-DD format.
  • <description> — short description of the promotion that users will see.
  • <url> — link to the page with a detailed description of the promotion on your website.
  • <promo-code> — promocode to be entered to receive the discount or gift.