{
  "openapi": "3.0.1",
  "info": {
    "title": "Shopify Store Leads Scraper — Owner Emails & Store Contacts",
    "description": "Shopify store leads scraper: find Shopify store owner emails, phones and social links plus store intel (product count, theme, apps, pixels) from niche packs or your own domain list. Filter by keyword, catalog size and activity. Pay per lead.",
    "version": "0.0",
    "x-build-id": "TqAItc0dGBFR4zeEz"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/intelscrape~shopify-owner-email/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-intelscrape-shopify-owner-email",
        "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/intelscrape~shopify-owner-email/runs": {
      "post": {
        "operationId": "runs-sync-intelscrape-shopify-owner-email",
        "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/intelscrape~shopify-owner-email/run-sync": {
      "post": {
        "operationId": "run-sync-intelscrape-shopify-owner-email",
        "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": {
          "nichePack": {
            "title": "Niche vertical pack",
            "enum": [
              "none",
              "beauty",
              "fitness",
              "fashion",
              "jewelry",
              "watches"
            ],
            "type": "string",
            "description": "💡 TIP: Seed a vertical without hunting URLs — beauty, fitness, fashion, jewelry, or watches. Pack seeds merge with startUrls (deduped by domain).",
            "default": "none"
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Store URLs to crawl. Optional if nichePack is set.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "requireEmail": {
            "title": "Require email (skip social-only)",
            "type": "boolean",
            "description": "When true, only rows with ≥1 email are pushed/billed.",
            "default": true
          },
          "maxResults": {
            "title": "Max results (0 = unlimited)",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many delivered leads. Use 1–3 for cheap demos.",
            "default": 0
          },
          "includeStoreIntel": {
            "title": "Include store intel (catalog / theme / apps)",
            "type": "boolean",
            "description": "Adds productCount, price band, currency/country when public, theme, tech apps/pixels, myshopifyDomain, newestProductAt, sizeBand. Extra request(s) per store. When enrichment lands, bills additive PPE event store-intel ($0.002) in addition to the lead row.",
            "default": true
          },
          "activeWithinDays": {
            "title": "Active within days (newest product)",
            "minimum": 1,
            "type": "integer",
            "description": "Keep only stores whose newestProductAt (from products.json) is within the last N days. Requires store intel. Leave empty to disable."
          },
          "minProducts": {
            "title": "Min product count",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only stores with productCount ≥ this value (catalog size). Leave empty to disable."
          },
          "maxProducts": {
            "title": "Max product count",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only stores with productCount ≤ this value. Leave empty to disable."
          },
          "keywords": {
            "title": "Include keywords (OR)",
            "type": "array",
            "description": "Keep row only if ≥1 keyword matches the text blob (domain, shop name, emails, socials, theme, vendors, product types, apps). Case-insensitive.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "excludeKeywords": {
            "title": "Exclude keywords (OR)",
            "type": "array",
            "description": "Drop row if any keyword matches the same text blob. Case-insensitive.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "tldFilter": {
            "title": "TLD / domain suffix filter",
            "type": "string",
            "description": "Optional geo/TLD gate (e.g. .com.au, .co.uk, .ca). Leave empty for all.",
            "default": ""
          },
          "maxPagesPerStore": {
            "title": "Max Pages Per Store",
            "minimum": 1,
            "type": "integer",
            "description": "Max pages crawled per domain (contact/about/legal-style pages).",
            "default": 50
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Residential helps on blocked storefronts."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}