{
  "openapi": "3.1.0",
  "info": {
    "title": "Shopify Product Scraper — Prices, Inventory & Variants",
    "version": "1.1",
    "description": "Export public Shopify products, prices, variants, SKUs and availability through Apify. Optional inventory, information panels and recommendations are billed only when returned. No Shopify API key is required."
  },
  "servers": [{ "url": "https://api.apify.com/v2" }],
  "security": [{ "bearerAuth": [] }],
  "paths": {
    "/acts/myworkingmemory~shopify-store-extractor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "scrapeShopifyProductsSync",
        "summary": "Scrape Shopify products and return dataset items",
        "requestBody": {
          "required": true,
          "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ShopifyScraperInput" } } }
        },
        "responses": { "200": { "description": "Product dataset items" } }
      }
    },
    "/acts/myworkingmemory~shopify-store-extractor/runs": {
      "post": {
        "operationId": "scrapeShopifyProductsAsync",
        "summary": "Start a Shopify product scraping run",
        "requestBody": {
          "required": true,
          "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ShopifyScraperInput" } } }
        },
        "responses": { "201": { "description": "Run started" } }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": { "type": "http", "scheme": "bearer", "description": "Apify API token" }
    },
    "schemas": {
      "ShopifyScraperInput": {
        "type": "object",
        "required": ["startUrls"],
        "properties": {
          "startUrls": { "type": "array", "minItems": 1, "maxItems": 50, "items": { "type": "object", "required": ["url"], "properties": { "url": { "type": "string", "format": "uri" } } } },
          "maxProducts": { "type": "integer", "minimum": 0, "maximum": 100000, "default": 100 },
          "query": { "type": "string", "default": "" },
          "includeInventory": { "type": "boolean", "default": false },
          "includeInfoPanels": { "type": "boolean", "default": false },
          "maxRecommendations": { "type": "integer", "minimum": 0, "maximum": 10, "default": 0 },
          "includeStorefrontDetails": { "type": "boolean", "default": false },
          "includeCollections": { "type": "boolean", "default": false },
          "countryCode": { "type": "string", "pattern": "^[A-Z]{2}$" }
        }
      }
    }
  }
}
