{
  "openapi": "3.0.1",
  "info": {
    "title": "Zara Product Scraper — Prices, Stock & Variants",
    "description": "Extract validated Zara product data from product URLs, search terms, or category pages. Get prices, sale prices, availability, images, color and size options, descriptions, and canonical URLs for fashion research and monitoring. Pay only for complete product rows.",
    "version": "1.4",
    "x-build-id": "C5n1ROfwyyHyjjq4O"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~zara-product-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-zara-product-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/khadinakbar~zara-product-scraper/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-zara-product-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/khadinakbar~zara-product-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-zara-product-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": {
          "startUrls": {
            "title": "Zara product, category, or search URLs",
            "maxItems": 50,
            "type": "array",
            "description": "Use this when you already have Zara URLs to scrape. Add full Zara product pages, category pages, or search URLs such as https://www.zara.com/us/en/search?searchTerm=linen. Duplicate URLs are ignored and non-Zara domains are rejected. This field is not for product names without a URL.",
            "items": {
              "type": "string",
              "minLength": 10
            },
            "default": []
          },
          "searchTerms": {
            "title": "Product search terms",
            "maxItems": 20,
            "type": "array",
            "description": "Use this when you want the Actor to construct Zara search pages from product terms. Enter words such as linen shirt or black dress; each term is a separate discovery query. The selected country controls constructed search URLs. This field is not needed when startUrls already contains a Zara search page.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            },
            "default": []
          },
          "country": {
            "title": "Storefront for search terms",
            "enum": [
              "US",
              "GB",
              "ES",
              "DE",
              "FR",
              "IT",
              "PT",
              "BR",
              "MX"
            ],
            "type": "string",
            "description": "Use this when searchTerms should run on a particular Zara storefront. Select US, UK, Spain, Germany, France, Italy, Portugal, Brazil, or Mexico; product and category URLs keep their own storefront. The default US creates https://www.zara.com/us/en/search URLs. This field does not rewrite URLs supplied in startUrls.",
            "default": "US"
          },
          "maxProducts": {
            "title": "Maximum products for the run",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Use this to set a strict global output and billing cap. The Actor stops scheduling products before the cap and checks it again immediately before every paid dataset write. The default of 25 costs at most $0.10 in product events. This field is not a page-count setting.",
            "default": 25
          },
          "maxScrollsPerListing": {
            "title": "Listing scrolls",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Use this when a Zara search or category page needs more lazy-loaded product cards. Each scroll waits briefly for new cards, then discovery stops at the configured cap. The default of 3 keeps the browser run short and predictable. This field has no effect for direct product URLs.",
            "default": 3
          },
          "includeVariants": {
            "title": "Include color and size options",
            "type": "boolean",
            "description": "Use this when you need product color and size options exposed on the product page. Disable it for a smaller record and slightly faster detail extraction. Availability remains a product-level signal and is not inferred from missing size controls. This field does not add cart or checkout automation.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Use this to override the default Apify Residential proxy configuration when your account has a compatible proxy setup. The default uses the RESIDENTIAL group because Zara applies bot protections. Keep a sticky session per browser request for consistent cookies. This field is not for pasting proxy credentials.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}