{
  "openapi": "3.0.1",
  "info": {
    "title": "Shopify Store Finder: Store Leads with Email, Apps, Theme",
    "description": "Find Shopify stores by niche keyword or check a domain list. One verified row per store: country, currency, product count, price range, product types, theme, apps, Instagram, Facebook, TikTok, email and phone. Every store is checked live as Shopify. No login.",
    "version": "0.1",
    "x-build-id": "emPitU6bCfxLS8wiP"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/themineworks~shopify-store-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-themineworks-shopify-store-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/themineworks~shopify-store-finder/runs": {
      "post": {
        "operationId": "runs-sync-themineworks-shopify-store-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/themineworks~shopify-store-finder/run-sync": {
      "post": {
        "operationId": "run-sync-themineworks-shopify-store-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": {
          "keywords": {
            "title": "Niche keywords",
            "type": "array",
            "description": "What the stores sell, one keyword per line, the way a shopper would search: organic skincare, dog treats, yoga mats, candles. Each keyword is its own search and returns up to maxStores stores. Up to 50 keywords per run.",
            "items": {
              "type": "string"
            }
          },
          "domains": {
            "title": "Domains to check (optional)",
            "type": "array",
            "description": "Store domains or links to check, one per line, for example allbirds.com, https://www.gymshark.com or kylie-cosmetics.myshopify.com. Each one is checked for Shopify; Shopify stores get a full row, other sites get a free error row that says why. Up to 5,000 per run.",
            "items": {
              "type": "string"
            }
          },
          "maxStores": {
            "title": "Max stores per keyword",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "The most stores to return for each keyword, 1 to 1,000. Popular niches go deep; very narrow ones may end sooner, and the summary row says why. Domains you list are all checked, whatever this number.",
            "default": 50
          },
          "country": {
            "title": "Store country (optional)",
            "type": "string",
            "description": "Two letter country code, for example US, GB, DE, AU, IN. Only stores registered in that country (the country on the store's own Shopify profile) are returned, and the search favours stores that ship there. Leave empty for every country. Applies to keyword searches, not to the domains you list."
          },
          "language": {
            "title": "Store language (optional)",
            "type": "string",
            "description": "Two letter language code, for example en, de, fr, es. Only stores whose storefront is in that language are returned. Leave empty for every language. Applies to keyword searches, not to the domains you list."
          },
          "minProducts": {
            "title": "Min products",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Leave out stores with fewer published products than this, for example 10 to skip tiny or test stores. 0 keeps every store. Applies to keyword searches.",
            "default": 0
          },
          "productPagesPerStore": {
            "title": "Product pages read per store",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many pages of the store's public product feed to read, 250 products a page, 1 to 10. Price range, product types, vendors and the first product date come from these pages. The product count comes from the store's own profile whatever this number. More pages is slower, same price.",
            "default": 1
          },
          "contactPage": {
            "title": "Open the contact page when the homepage has no email",
            "type": "boolean",
            "description": "On: when the homepage shows no email address, the store's /pages/contact page is read too, for email, phone and social links. Same price either way.",
            "default": true
          },
          "useGoogle": {
            "title": "Top up with Google when the catalog runs out",
            "type": "boolean",
            "description": "On: when the Shop catalog has no more new stores for a keyword, Google results for that keyword plus \"powered by shopify\" are checked too, and only verified Shopify stores are kept. Same price either way.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}