{
  "openapi": "3.0.1",
  "info": {
    "title": "Shopify Store Leads - Find Stores by Niche + Email & Products",
    "description": "Find Shopify stores in any niche, with contact email, socials, product count, price range and sample products. Each store is verified live against its own catalogue, not a category label. For app makers, agencies and suppliers. $0.003 per store.",
    "version": "2.0",
    "x-build-id": "GafXiqPVCWT2FYU05"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/that_red_bird~shopify-store-leads-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-that_red_bird-shopify-store-leads-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/that_red_bird~shopify-store-leads-finder/runs": {
      "post": {
        "operationId": "runs-sync-that_red_bird-shopify-store-leads-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/that_red_bird~shopify-store-leads-finder/run-sync": {
      "post": {
        "operationId": "run-sync-that_red_bird-shopify-store-leads-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "niche": {
            "title": "Niche",
            "type": "string",
            "description": "What the stores sell, in plain words: 'pet supplies', 'organic skincare', 'yoga mats'. Stores are kept only if their own product catalogue matches these words.",
            "default": "pet supplies"
          },
          "storeUrls": {
            "title": "Store URLs (optional)",
            "type": "array",
            "description": "Optional. Paste store websites to check and enrich instead of searching, one per line. Stores you list are never filtered by niche (but are still checked to be Shopify stores).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxStores": {
            "title": "Max stores",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stop after this many stores that pass your filters. You pay per store delivered, so this is also your spending cap.",
            "default": 10
          },
          "minProducts": {
            "title": "Minimum products",
            "minimum": 0,
            "type": "integer",
            "description": "Skip stores with fewer products than this. Use 20 or more to skip hobby stores. Use 0 to keep every store.",
            "default": 5
          },
          "minPrice": {
            "title": "Minimum typical price",
            "minimum": 0,
            "type": "integer",
            "description": "Skip stores whose median product price is below this (in the store's own currency, whole units). 0 means no minimum.",
            "default": 0
          },
          "maxPrice": {
            "title": "Maximum typical price",
            "minimum": 0,
            "type": "integer",
            "description": "Skip stores whose median product price is above this (in the store's own currency, whole units). 0 means no maximum.",
            "default": 0
          },
          "minNicheMatchPercent": {
            "title": "Minimum niche match (%)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Share of the store's products (first 250 read) that must match your niche words. 10 keeps focused stores and drops general ones. Use 0 to accept any store with at least one match.",
            "default": 10
          },
          "country": {
            "title": "Store country (optional)",
            "type": "string",
            "description": "Two-letter country code the store reports about itself, for example US, GB, DE, CA. Leave empty for any country. Stores that do not publish a country are skipped when this is set.",
            "default": ""
          },
          "requireEmail": {
            "title": "Only stores with an email",
            "type": "boolean",
            "description": "Keep only stores where a contact email was found on the site. Stores that are skipped are not charged.",
            "default": false
          },
          "onlyNewStores": {
            "title": "Only new stores since last run",
            "type": "boolean",
            "description": "Remember the stores already checked for this niche (in your own account) and carry on searching where the last run stopped, so every run brings different stores. Use it for weekly runs.",
            "default": false
          },
          "maxRunMinutes": {
            "title": "Time limit (minutes)",
            "minimum": 0,
            "maximum": 240,
            "type": "integer",
            "description": "Stop searching after this many minutes and return what was found. 0 means automatic: 4 minutes plus a little more for every store above 10.",
            "default": 0
          },
          "concurrency": {
            "title": "Stores checked in parallel",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "How many different stores are checked at the same time. Each store is always read gently, a few pages at a time.",
            "default": 4
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}