{
  "openapi": "3.0.1",
  "info": {
    "title": "Shopify Merchant Scraper — Ad Pixels & Brand Data",
    "description": "Shopify Merchant Scraper extracts merchant and brand data, including store details, advertising pixels, technologies, social profiles, contact information, and ecommerce signals. Discover Shopify brands, analyze marketing stacks, and build targeted merchant lists for research and prospecting.",
    "version": "0.1",
    "x-build-id": "L791IaNvp71rhzLqL"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapier~shopify-merchant-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapier-shopify-merchant-scraper",
        "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/scrapier~shopify-merchant-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapier-shopify-merchant-scraper",
        "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/scrapier~shopify-merchant-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapier-shopify-merchant-scraper",
        "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": {
          "targetStores": {
            "title": "🏬 Storefronts to Analyze",
            "type": "array",
            "description": "Shopify storefront URLs to pull ad-pixel and brand-identity data from (e.g. `https://kyliecosmetics.com/`). Bulk paste, upload a list, or pipe from another actor.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔁 Storefront URLs (startUrls alias)",
            "type": "array",
            "description": "Base-actor-compatible alias for `targetStores`. A plain `startUrls` array from an older integration still works here — leave empty and use `targetStores` above instead.",
            "items": {
              "type": "string"
            }
          },
          "maxStorefronts": {
            "title": "🎯 Max Storefronts to Process",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Hard cap on how many storefronts from the list will be processed. Use this to keep small test runs cheap."
          },
          "maxItems": {
            "title": "🔁 Max Items (maxItems alias)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Base-actor-compatible alias for `maxStorefronts`.",
            "default": 100
          },
          "requestConcurrency": {
            "title": "⚙️ Parallel Storefront Requests",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many storefronts to process in parallel."
          },
          "concurrency": {
            "title": "🔁 Concurrency (concurrency alias)",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Base-actor-compatible alias for `requestConcurrency`.",
            "default": 10
          },
          "requestPaceSeconds": {
            "title": "⏱️ Pace Between Requests (seconds)",
            "minimum": 0,
            "maximum": 10,
            "type": "number",
            "description": "Polite delay inserted between requests made to the same storefront."
          },
          "requestDelay": {
            "title": "🔁 Request Delay (requestDelay alias)",
            "minimum": 0,
            "maximum": 10,
            "type": "number",
            "description": "Base-actor-compatible alias for `requestPaceSeconds`.",
            "default": 0.5
          },
          "includeAdPixels": {
            "title": "📡 Include Ad & Analytics Pixel Registry",
            "type": "boolean",
            "description": "Parse the storefront's homepage-embedded pixel registry (ad/analytics tracking tags) into `adPixels[]` — raw client IDs, pixel type, and privacy purposes only. Never a guessed vendor name.",
            "default": true
          },
          "includeBrandIdentity": {
            "title": "🎨 Include Brand Identity & Theme Signals",
            "type": "boolean",
            "description": "Extract Organization structured data (logo, official social/press links), the storefront's real theme identity, and a shop-id integrity cross-check into the `brand*` / `theme*` / `shopId*` fields.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Use Apify Proxy, custom proxy URLs, or no proxy.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}