---
title: "Integrate Meilisearch with Medusa"
description: "Learn how to integrate Meilisearch with Medusa and provide fast and advanced search functionality in your commerce platform."
url: https://medusajs.com/blog/meilisearch-integration
last_updated: 2026-08-13T13:29:01Z
---

# Integrate Meilisearch with Medusa

_Published 2025-10-08 by Shahed  Nasser in Product_

Search is an essential feature in commerce platforms that helps customers find what they're looking for efficiently. Search ultimately increases your business's sales and improves the customer's experience browsing your products.

Medusa gives you a digital commerce platform with a built-in framework for customization. Medusa's architecture facilitates integrating third-party services like [Meilisearch](https://www.meilisearch.com/) that provide advanced search functionalities for your commerce data. You can build and automate complex workflows that ensure data is always synced between systems.

> **Integrate Meilisearch with Medusa**
>
> Follow this step-by-step tutorial
>
> [Get Started](https://docs.medusajs.com/resources/integrations/guides/meilisearch)

## How it Works

Medusa's architecture supports integrating third-party services as isolated modules without side effects on your application. You can then build workflows around these integrations to provide commerce features and automate operations.

To ensure that product data is synced with Meilisearch, you can build a workflow that triggers syncing the products. You can pass any product data relevant to your use case.

```javascript
export const syncProductsWorkflow = createWorkflow(
  "sync-products",
  ({ filters, limit, offset }: SyncProductsWorkflowInput) => {
    const { data, metadata } = useQueryGraphStep({
      entity: "product",
      fields: [
        "id", 
        "title", 
        "description", 
        "handle", 
        "thumbnail", 
        "categories.id",
        "categories.name",
        "categories.handle",
        "tags.id",
        "tags.value"
      ],
      pagination: {
        take: limit,
        skip: offset
      },
      filters: {
        status: "published",
        ...filters
      }
    })

    syncProductsStep({
      products: data
    } as SyncProductsStepInput)

    return new WorkflowResponse({
      products: data,
      metadata
    })
  }
)
```

Then, you can trigger this workflow whenever a product is created or updated in Medusa. This automates the data syncing between Medusa and MeiliSearch.

Your customers can search for your products on the storefront. To retrieve the results, you'll query your Meilisearch instance under the hood.

![](https://assets.medusajs.com/uploads/2025/10/meilisearch-summary-rv0oi05k.webp)

## Tutorial: Integrate Meilisearch with Medusa

[This tutorial in the documentation](https://docs.medusajs.com/resources/integrations/guides/meilisearch) will show you how to:

- Integrate Meilisearch as a module in your Medusa application.
- Build workflows that sync products from Medusa to Meilisearch, and trigger them when product events occur.
- Customize the Next.js Starter Storefront to allow searching your products.
