---
title: Multi-site catalogs
slug: commerce-connect-15/docs/multi-site-catalogs
docTags: 
createdAt: 2026-07-30T20:34:40.000Z
---

When using multi-site, you can create site-specific catalogs. To filter for catalogs based on site, you can use the following API:

```csharp
//Using commerce search provider,
ServiceLocator.Current.GetInstance<SearchManager>().Search(new CatalogEntrySearchCriteria
{
    CatalogNames = GetCatalogNames(),
});

 private StringCollection GetCatalogNames()
{
    var catalogNames = new StringCollection();
    var ids = ServiceLocator.Current.GetInstance<ICatalogSystem>().GetCatalogsBySite(SiteDefinition.Current?.Id ?? Guid.Empty);
    if (ids == null || !ids.Any())
    {
        return catalogNames;
    }
    var catalogs = _catalogSystem.GetCatalogDto().Catalog.Where(x => ids.Contains(x.CatalogId));
    catalogNames.AddRange(catalogs.Select(x => x.Name).ToArray());
    return catalogNames;
}
```

```csharp
//Using Optimizely Search & Navigation
var query = ServiceLocator.Current.GetInstance<IClient>().Search<EntryContentBase>();
var ids = ServiceLocator.Current.GetInstance<ICatalogSystem>().GetCatalogsBySite(SiteDefinition.Current?.Id ?? Guid.Empty);
if (ids?.Any() ?? false)
{
   query = query.Filter(x => x.CatalogId.In(ids));
}
var result = query.GetContentResult();
```
