{
  "openapi": "3.0.1",
  "info": {
    "title": "Ulta Advanced Scraper",
    "description": "A high-performance, sophisticated tool designed to extract detailed product data from Ulta Beauty. Scrape either list of products, full category results, or full search results. Scrape all information including reviews, questions, and answers. Last Update: Mar 21, 2026",
    "version": "1.0",
    "x-build-id": "vMIAfH53FsWIBK8ie"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/buseta~ulta-advanced-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-buseta-ulta-advanced-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/buseta~ulta-advanced-scraper/runs": {
      "post": {
        "operationId": "runs-sync-buseta-ulta-advanced-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/buseta~ulta-advanced-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-buseta-ulta-advanced-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",
        "required": [
          "scrape_type"
        ],
        "properties": {
          "scrape_type": {
            "title": "Scraping Type",
            "enum": [
              "search",
              "category",
              "product"
            ],
            "type": "string",
            "description": "Type of scraping to perform: Search, Category, Product List"
          },
          "category_url": {
            "title": "Category URL to scrape",
            "type": "string",
            "description": "(if Category): Category URL to scrape"
          },
          "product_urls": {
            "title": "Product URLs to scrape",
            "type": "array",
            "description": "(if Product List): List of product URLs to scrape",
            "default": [
              "https://www.ulta.com/p/bleu-de-chanel-after-shave-lotion-pimprod2020315?sku=2570357"
            ],
            "items": {
              "type": "string"
            }
          },
          "search": {
            "title": "Search by Keyword",
            "type": "string",
            "description": "(if Search): Keyword that will be searched on Ulta"
          },
          "sort_by": {
            "title": "Sort Products By",
            "enum": [
              "best_sellers",
              "price_desc",
              "price_asc",
              "new_arrivals",
              "top_rated",
              "relevance"
            ],
            "type": "string",
            "description": "Products will be sorted by this option. Default: Best Sellers (Search default: Relevance)"
          },
          "min_price": {
            "title": "Minimum Price",
            "type": "integer",
            "description": "Scrape products with higher price than this"
          },
          "max_price": {
            "title": "Maximum Price",
            "type": "integer",
            "description": "Scrape products with lower price than this"
          },
          "min_rating": {
            "title": "Minimum Rating (1-5)",
            "type": "integer",
            "description": "Scrape products with higher than this rating"
          },
          "on_sale": {
            "title": "Only Products On Sale",
            "type": "boolean",
            "description": "Only scrape products that are on sale",
            "default": false
          },
          "gift_with_purchase": {
            "title": "Only Products Giving Gifts With Purchase",
            "type": "boolean",
            "description": "Only scrape products that giving gifts when purchased",
            "default": false
          },
          "get_reviews": {
            "title": "Get Reviews",
            "type": "boolean",
            "description": "Also scrape reviews from each product",
            "default": true
          },
          "get_questions": {
            "title": "Get Questions & Answers",
            "type": "boolean",
            "description": "Also scrape questions and answers from each product",
            "default": true
          },
          "max_review_per_product": {
            "title": "Maximum Reviews Per Product",
            "type": "integer",
            "description": "Maximum reviews and questions to scrape per product",
            "default": 100
          },
          "proxy_config": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Select proxies to be used for scraping"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}