> ## Documentation Index
> Fetch the complete documentation index at: https://docs.copyfy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# search_shops

> Search Shopify stores tracked by Copyfy by niche, country, revenue, traffic, growth, ads, theme, apps, and more.

Searches Shopify stores with the same filters and ranking as the **Shops** page of the dashboard. Each result includes the store's key metrics, its top markets, and its best products.

**Cost:** 1 credit per successful call.

## Arguments

| Argument               | Type                         | Allowed values                                                                                                                                                                                                                                                                                                    |
| ---------------------- | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`                | string                       | Free text, matched like the search box of the dashboard page (for example product titles, store names, and domains). 1 to 200 characters.                                                                                                                                                                         |
| `niches`               | array of strings or integers | Niche names or ids from [`list_filter_options`](/tools/list-filter-options) with `kind: "niches"`. A parent niche includes its sub-niches. Up to 20.                                                                                                                                                              |
| `countries`            | array of strings             | Store countries as ISO 3166-1 alpha-2 codes, for example `US`, `FR`. Up to 50.                                                                                                                                                                                                                                    |
| `currencies`           | array of strings             | Store currencies as ISO 4217 codes, for example `USD`, `EUR`.                                                                                                                                                                                                                                                     |
| `languages`            | array of enums               | Storefront languages: `English`, `French`, `Spanish`, `German`, `Italian`, `Portuguese`, `Dutch`, `Polish`, `Norwegian`, `Swedish`, `Danish`, `Finnish`, `Chinese`, `Japanese`, `Korean`, `Arabic`, `Russian`, `Turkish`, `Hindi`, `Thai`, `Vietnamese`, `Indonesian`, `Greek`, `Czech`, `Hungarian`, `Romanian`. |
| `domains`              | array of strings             | Domain extensions, for example `.com`, `.fr`, `.co.uk`.                                                                                                                                                                                                                                                           |
| `pixels`               | array of enums               | Tracking pixels on the store: `TikTok`, `Snapchat`, `Facebook`, `Instagram`, `Google`, `Twitter`, `Pinterest`, `Reddit`, `TripleWhale`, `Applovin`.                                                                                                                                                               |
| `themes`               | array of strings             | Shopify theme names from `list_filter_options` with `kind: "themes"`.                                                                                                                                                                                                                                             |
| `apps`                 | array of strings             | Installed Shopify app names from `list_filter_options` with `kind: "apps"` and a `query`.                                                                                                                                                                                                                         |
| `social_networks`      | array of enums               | Social networks linked from the store: `Facebook`, `Instagram`, `TikTok`, `YouTube`, `Pinterest`, `Twitter`, `Snapchat`, `Reddit`.                                                                                                                                                                                |
| `monthly_revenue`      | range                        | Estimated monthly revenue, in the store's currency.                                                                                                                                                                                                                                                               |
| `monthly_visits`       | range                        | Estimated monthly visits.                                                                                                                                                                                                                                                                                         |
| `traffic_growth_pct`   | range                        | Traffic growth score, in percent: the store's month-over-month changes in visits, added up over the months Copyfy has on record. Accepts negative values.                                                                                                                                                         |
| `active_ads`           | range                        | Number of currently active Meta ads.                                                                                                                                                                                                                                                                              |
| `products_count`       | range                        | Catalog size (number of products).                                                                                                                                                                                                                                                                                |
| `monthly_orders`       | range                        | Estimated monthly orders.                                                                                                                                                                                                                                                                                         |
| `shop_created_between` | date range                   | Store creation date: `{ "from": "YYYY-MM-DD", "to": "YYYY-MM-DD" }`. Either bound can be omitted.                                                                                                                                                                                                                 |
| `page`                 | integer                      | 1 to 20. Default: `1`.                                                                                                                                                                                                                                                                                            |
| `per_page`             | integer                      | 1 to 25. Default: `10`.                                                                                                                                                                                                                                                                                           |

A **range** is an object `{ "min": number, "max": number }`. Both bounds are optional and must be zero or more, except for `traffic_growth_pct`. Every argument is optional: with no filters, you get the same default ranking as the dashboard.

Store-specific arguments:

| Argument     | Type  | Allowed values                                                                                                                                                  |
| ------------ | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `avg_price`  | range | Average product price of the store, in the store's currency.                                                                                                    |
| `sort_by`    | enum  | `recommended`, `revenue`, `traffic`, `traffic_growth`, `active_ads`, `products_count`, `newest` (the date Copyfy discovered the store). Default: `recommended`. |
| `sort_order` | enum  | `asc`, `desc`. Default: `desc`.                                                                                                                                 |

`recommended` is the dashboard default: without filters, a daily selection of promising stores; with filters, the Copyfy relevance score.

## Example

Fastest-growing stores in France with at least 50,000 monthly visits:

```json Tool call theme={null}
{
  "name": "search_shops",
  "arguments": {
    "countries": ["FR"],
    "monthly_visits": { "min": 50000 },
    "sort_by": "traffic_growth",
    "per_page": 5
  }
}
```

```json Result (trimmed) theme={null}
{
  "results": [
    {
      "id": 731902,
      "name": "Example Maison",
      "domain": "example-maison.fr",
      "dashboard_url": "https://app.copyfy.io/dashboard/track/731902",
      "screenshot_url": "https://bucket.copyfy.io/screenshots/example-maison.jpg",
      "country": "FR",
      "currency": "EUR",
      "niches": ["Home"],
      "estimated_monthly_revenue": 128400,
      "monthly_visits": 96500,
      "traffic_growth_pct": 64.2,
      "active_ads": 41,
      "total_ads": 212,
      "products_count": 86,
      "shop_created_at": "2025-11-18T00:00:00.000Z",
      "is_tracked": false,
      "top_markets": [
        { "country": "FR", "share": 81 },
        { "country": "BE", "share": 9 }
      ],
      "best_products": [
        {
          "id": 55120931,
          "title": "Linen Duvet Set",
          "price": 89.9,
          "currency": "EUR",
          "image_url": "https://cdn.shopify.com/s/files/1/example/duvet.jpg",
          "url": "https://example-maison.fr/products/linen-duvet-set"
        }
      ]
    }
  ],
  "pagination": { "page": 1, "per_page": 5, "total": 138, "has_more": true }
}
```

## Result fields

| Field                       | Type             | Description                                                                                                                                                                                                  |
| --------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `id`                        | integer          | Copyfy store id. Pass it to [`get_shop`](/tools/get-shop).                                                                                                                                                   |
| `name`                      | string           | Store name (third-party content).                                                                                                                                                                            |
| `domain`                    | string or null   | Store domain.                                                                                                                                                                                                |
| `dashboard_url`             | string           | The store's page in Copyfy.                                                                                                                                                                                  |
| `screenshot_url`            | string or null   | Homepage screenshot.                                                                                                                                                                                         |
| `country`                   | string or null   | Store country (ISO 3166-1 alpha-2).                                                                                                                                                                          |
| `currency`                  | string or null   | Store currency (ISO 4217).                                                                                                                                                                                   |
| `niches`                    | array of strings | Copyfy niches of the store.                                                                                                                                                                                  |
| `estimated_monthly_revenue` | number or null   | Estimated monthly revenue.                                                                                                                                                                                   |
| `monthly_visits`            | number or null   | Estimated monthly visits.                                                                                                                                                                                    |
| `traffic_growth_pct`        | number or null   | Traffic growth score, in percent: the value the `traffic_growth_pct` filter and the `traffic_growth` sort use. It can differ from the growth badge in the dashboard, which is measured on the chart.         |
| `active_ads`                | integer          | Currently active Meta ads.                                                                                                                                                                                   |
| `total_ads`                 | integer          | All Meta ads seen for the store.                                                                                                                                                                             |
| `products_count`            | integer          | Catalog size.                                                                                                                                                                                                |
| `shop_created_at`           | string or null   | Store creation date (ISO 8601).                                                                                                                                                                              |
| `is_tracked`                | boolean          | `true` when you track the store in Copyfy, so [`get_shop`](/tools/get-shop) returns its analytics and [`get_product`](/tools/get-product) its products (`get_product` also works for your own brand stores). |
| `top_markets`               | array            | Up to 5 `{ country, share }` entries: where the store's traffic comes from, with `share` in percent. Markets under 0.5% are left out.                                                                        |
| `best_products`             | array            | Up to 3 `{ id, title, price, currency, image_url, url }` entries. Pass `id` to [`get_product`](/tools/get-product).                                                                                          |

If a search with an app or store creation date filter finds nothing, the result includes a `notice`: these index fields can lag behind Copyfy's database, so retry without those filters or check the dashboard before you conclude that no store matches. If the page exceeds 64 KiB, the last items are dropped and the result includes `"truncated": true`.
