Feed yandex
A Medusa plugin that generates a product feed in YML (Yandex Market Language) format
π¬ Plugin Support Chat on Telegram
Join the Medusa.js β· Yandex community chat to discuss features and get support.
π₯ Medusa.js Community Chat on Telegram
Join the Medusa.js Chat to connect with developers building on Medusa.
Features
- β Export product feeds in Yandex Market YML format
- β Easily access feed URLs for integration with Yandex Market
- β Internalized interface in Medusa Admin
- β Schedule automatic feed exports at intervals
- β Select specific product categories for export
- β Manual feed generation
- β Uses Medusa File Module with built-in file provider support
Prerequisites
- Medusa server v2.8.0 or later
- Node.js v20 or later
Installation
yarn add @gorgo/medusa-feed-yandex# ornpm install @gorgo/medusa-feed-yandex
Configuration
Add the provider configuration in your file of the Medusa admin application:
# ...module.exports = defineConfig({# ...modules: [{resolve: "@gorgo/medusa-feed-yandex/modules/feed",},{resolve: "@medusajs/medusa/file",options: {providers: [{resolve: "@medusajs/medusa/file-local",id: "local",options: {upload_dir: "static",backend_url: "http://localhost:9000/static"},},],},},],plugins: [{resolve: "@gorgo/medusa-feed-yandex",options: {}}],})
The plugin is currently tested with Medusaβs local file module () and saves the generated XML feeds to the local static directory.
Usage
Open the Medusa Admin dashboard and navigate to Settings -> Feeds section in the Extensions β this is where the plugin interface is available.
The page displays all existing feeds with their key information.
Feed URLs follow this format, allowing direct access to the generated XML files (in YML format):
Selecting a feed opens a detailed view where you can edit metadata, adjust export schedules, choose product categories, and access the feed URL. A Launch now button lets you manually trigger feed generation.
The feed shown in the screenshot above exports all product from all categories every 30 minutes to a file named . It sets , , , and as values for the corresponding XML properties. It is accessible via the link , while the actual file is stored in gzip-compressed format at .
Below is an example of a generated YML-file:
<?xml version="1.0" encoding="UTF-8"?><yml_catalog date="2025-06-03 16:31"><shop><name>Example shop name</name><company>Example company name</company><url>https://www.example.com/</url><platform>Medusa</platform><categories><category id="pcat_01JWBFYPTZNKZT0BRWECQF84J9" value="Shirts"/><category id="pcat_01JWBFYPV0KQV6VY4HKW4W6JTN" value="Sweatshirts"/><category id="pcat_01JWBFYPV16CG0MN8TF1EM4T4N" value="Pants"/><category id="pcat_01JWBFYPV1CTZAK4JBKV0R2JZW" value="Merch"/></categories><offers><offer id="prod_01JWBFYPVZ21W4XQRSPAVW3QBN"><name>Medusa T-Shirt</name><categoryId>pcat_01JWBFYPTZNKZT0BRWECQF84J9</categoryId><picture>https://medusa-public-images.s3.eu-west-1.amazonaws.com/tee-black-front.png</picture><description><![CDATA[Reimagine the feeling of a classic T-shirt. With our cotton T-shirts, everyday essentials no longer have to be ordinary.]]></description><weight>400</weight></offer><offer id="prod_01JWBFYPVZFHDPM6RF1DFAX4RZ"><name>Medusa Sweatshirt</name><categoryId>pcat_01JWBFYPV0KQV6VY4HKW4W6JTN</categoryId><picture>https://medusa-public-images.s3.eu-west-1.amazonaws.com/sweatshirt-vintage-front.png</picture><description><![CDATA[Reimagine the feeling of a classic sweatshirt. With our cotton sweatshirt, everyday essentials no longer have to be ordinary.]]></description><weight>400</weight></offer><offer id="prod_01JWBFYPVZJQH2KABER77PSEMG"><name>Medusa Sweatpants</name><categoryId>pcat_01JWBFYPV16CG0MN8TF1EM4T4N</categoryId><picture>https://medusa-public-images.s3.eu-west-1.amazonaws.com/sweatpants-gray-front.png</picture><description><![CDATA[Reimagine the feeling of classic sweatpants. With our cotton sweatpants, everyday essentials no longer have to be ordinary.]]></description><weight>400</weight></offer><offer id="prod_01JWBFYPVZ2E5D5CSB0F53XX3W"><name>Medusa Shorts</name><categoryId>pcat_01JWBFYPV1CTZAK4JBKV0R2JZW</categoryId><picture>https://medusa-public-images.s3.eu-west-1.amazonaws.com/shorts-vintage-front.png</picture><description><![CDATA[Reimagine the feeling of classic shorts. With our cotton shorts, everyday essentials no longer have to be ordinary.]]></description><weight>400</weight></offer></offers></shop></yml_catalog>
Testing
To run tests, navigate to the directory:
cd examples/feed-yandex/medusa
Make sure your file includes the following variables: , :
cp .env.test.example .env.test
Then, run tests:
# Run module tests# These verify the internal logic, such as services and modelsyarn test:integration:modules# Run integration tests# Integration tests include tests for API Routes and Workflowsyarn test:integration:http
License
Licensed under the MIT License.