{
  "openapi": "3.0.1",
  "info": {
    "title": "Ulta Product Search Scraper",
    "description": "Scrape Ulta.com product search results efficiently. This scraper collects 27+ data fields including SKU, pricing, ratings, brand info, and promotional details from beauty product listings — perfect for price monitoring, market research, and e-commerce analytics.",
    "version": "0.0",
    "x-build-id": "WPYVyB92FsOm5YrBB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/stealth_mode~ulta-product-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-stealth_mode-ulta-product-search-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/stealth_mode~ulta-product-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-stealth_mode-ulta-product-search-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/stealth_mode~ulta-product-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-stealth_mode-ulta-product-search-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": {
          "urls": {
            "title": "URLs of the product search list urls to scrape",
            "type": "array",
            "description": "Add the URLs of the product search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
            "items": {
              "type": "string"
            }
          },
          "ignore_url_failures": {
            "title": "Continue running even if some URLs fail to be scraped",
            "type": "boolean",
            "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
          },
          "keyword": {
            "title": "Keyword to search",
            "type": "string",
            "description": "Enter the keyword to search for items"
          },
          "sort_by": {
            "title": "Sort Items by options",
            "enum": [
              "relevance",
              "best_sellers",
              "price_asc",
              "price_desc",
              "new_arrivals",
              "top_rated"
            ],
            "type": "string",
            "description": "Sort items by options"
          },
          "brand": {
            "title": "Brand to search",
            "type": "array",
            "description": "Enter the brand to search for items",
            "items": {
              "type": "string",
              "enum": [
                "",
                "ULTA Beauty Collection",
                "760 Skin",
                "Abature",
                "about-face",
                "Algenist",
                "Alleyoop",
                "Anastasia Beverly Hills",
                "Anthony",
                "ANUA",
                "Apieu",
                "Aquaphor",
                "Athletic Cosmetic Company",
                "ATWATER",
                "Avène",
                "Babe Original",
                "bareMinerals",
                "Be Your Own Desire",
                "BeautyStat Cosmetics",
                "Beekman 1802",
                "Benefit Cosmetics",
                "Black Girl Sunscreen",
                "BLK/OPL",
                "Bloomeffects",
                "BLOSSOM",
                "Blossom Essentials",
                "Blue Lagoon Skin Science",
                "BLUME",
                "BOBBI BROWN",
                "Brush On Block",
                "Bubble",
                "Buxom",
                "BYOMA",
                "BYROE",
                "California Naturals",
                "CHANEL",
                "Charlotte Tilbury",
                "Clarins",
                "CLE Cosmetics",
                "Clinique",
                "CNP Laboratory",
                "cocokind",
                "ColourPop",
                "COOLA",
                "CoverGirl",
                "d'Alba Piedmont",
                "DAISE",
                "dearcloud",
                "Decorté",
                "Dehiya Beauty",
                "Dermasuri",
                "Dermelect",
                "DIBS Beauty",
                "DIME",
                "Dinto",
                "Dionis",
                "Dior",
                "Doll 10",
                "Dominique",
                "Dr. Melaxin",
                "Dr. PAWPAW",
                "Dr. Squatch",
                "Drunk Elephant",
                "e.l.f. Cosmetics",
                "Eos",
                "Essence",
                "Estée Lauder",
                "ETUDE",
                "Eve Lom",
                "Exoceuticals",
                "Exuviance",
                "FARMACY",
                "FENTY BEAUTY by Rihanna",
                "Florasis",
                "florence by mills",
                "Flower Knows",
                "fresh",
                "FRUDIA",
                "fwee",
                "Glam & Grace",
                "Glimmer Wish",
                "glowiest",
                "good light",
                "Grande Cosmetics",
                "HALEYS Beauty",
                "HALF MAGIC",
                "Hampton Sun",
                "HATCH MAMA",
                "HERBIVORE",
                "Hey Honey",
                "HOURGLASS",
                "ICONIC LONDON",
                "ILIA",
                "iota",
                "IT Cosmetics",
                "Izzy Zero Waste Beauty",
                "J.Cat Beauty",
                "Jack Black",
                "jane iredale",
                "Jenny Patinkin",
                "Jouer Cosmetics",
                "JudyDoll",
                "Juvia's Place",
                "KAHI",
                "Kaja",
                "Kevyn Aucoin",
                "Kiehl's Since 1851",
                "KimChi Chic Beauty",
                "Knemo",
                "KOCOSTAR",
                "Kopari Beauty",
                "KVD Beauty",
                "KYLIE COSMETICS",
                "L'Occitane",
                "L'Oréal",
                "L.A. Girl",
                "La Roche-Posay",
                "Lancôme",
                "Lanolips",
                "Lapcos",
                "LAURA GELLER",
                "Laura Mercier",
                "Lilly Lashes",
                "Lip Smacker",
                "Live Tinted",
                "LORAC",
                "Luna Daily",
                "Lunar Beauty",
                "MAC",
                "Made By Mitchell",
                "Makari",
                "Mario Badescu",
                "Maybelline",
                "MDSolarSciences",
                "medicube",
                "Merythod",
                "Metamorphosis",
                "Milani",
                "MILK MAKEUP",
                "Minimalist",
                "MISSHA",
                "Monika Blunder Beauty",
                "Moroccanoil",
                "Morphe",
                "MUTHA",
                "My Neighbor's Tallow",
                "Naked Sundays",
                "NARS",
                "NassifMD Skincare",
                "NATASHA DENONA",
                "Naturium",
                "Neutrogena",
                "NOTO Botanics",
                "NUDESTIX",
                "Nuxe",
                "NYX Professional Makeup",
                "Nēmah",
                "Oak Essentials",
                "Oars + Alps",
                "Ofra Cosmetics",
                "Ogee",
                "OLEHENRIKSEN",
                "Origins",
                "Ortega Beauty",
                "OSEA",
                "Palladio Beauty",
                "Party of You",
                "PAT McGRATH LABS",
                "Patchology",
                "PEACH & LILY",
                "Perricone MD",
                "Persona",
                "Personal Day",
                "Peter Thomas Roth",
                "Philosophy",
                "PINKWONDER",
                "Pixi",
                "PMD",
                "Polite Society",
                "Poppy & Pout",
                "POUND CAKE",
                "PRAI Beauty",
                "Prime Prometics",
                "PROVENCE Beauty",
                "PÜR Minerals",
                "Queen Cosmetics",
                "r.e.m. beauty",
                "Rabanne",
                "Rare Beauty",
                "RescueMD",
                "Revlon",
                "Revolution Beauty",
                "RMS Beauty",
                "RoC",
                "Rosebud Perfume Co.",
                "Rude",
                "SACHEU",
                "Saint Jane",
                "Saje Natural Wellness",
                "Saltair",
                "Sara Happ",
                "Saturday Skin",
                "Sigma Beauty",
                "Smashbox",
                "Sol de Janeiro",
                "SOME BY MI",
                "SOSHE Beauty",
                "STARFACE",
                "Stila",
                "StriVectin",
                "SUBTL. Beauty",
                "Sun Bum",
                "SunsolveMD",
                "Superegg",
                "Supergoop!",
                "Sweet & Shimmer",
                "Sweet July Skin",
                "Talova Labs",
                "Tarte",
                "TATCHA",
                "The Crème Shop",
                "The INKEY List",
                "The Lip Bar",
                "The Ordinary",
                "The Organic Skin Co.",
                "TIRTIR",
                "TONYMOLY",
                "Too Faced",
                "Triumph & Disaster",
                "Truly",
                "TULA",
                "Undefined Beauty",
                "Unleashia",
                "Urban Decay Cosmetics",
                "Vacation",
                "Vaseline",
                "Veea Face by Dr. Suzan Obagi",
                "Versed",
                "VT Cosmetics",
                "Well People",
                "Wet n Wild",
                "Winky Lux",
                "Youngblood"
              ],
              "enumTitles": [
                "All",
                "ULTA Beauty Collection",
                "760 Skin",
                "Abature",
                "about-face",
                "Algenist",
                "Alleyoop",
                "Anastasia Beverly Hills",
                "Anthony",
                "ANUA",
                "Apieu",
                "Aquaphor",
                "Athletic Cosmetic Company",
                "ATWATER",
                "Avène",
                "Babe Original",
                "bareMinerals",
                "Be Your Own Desire",
                "BeautyStat Cosmetics",
                "Beekman 1802",
                "Benefit Cosmetics",
                "Black Girl Sunscreen",
                "BLK/OPL",
                "Bloomeffects",
                "BLOSSOM",
                "Blossom Essentials",
                "Blue Lagoon Skin Science",
                "BLUME",
                "BOBBI BROWN",
                "Brush On Block",
                "Bubble",
                "Buxom",
                "BYOMA",
                "BYROE",
                "California Naturals",
                "CHANEL",
                "Charlotte Tilbury",
                "Clarins",
                "CLE Cosmetics",
                "Clinique",
                "CNP Laboratory",
                "cocokind",
                "ColourPop",
                "COOLA",
                "CoverGirl",
                "d'Alba Piedmont",
                "DAISE",
                "dearcloud",
                "Decorté",
                "Dehiya Beauty",
                "Dermasuri",
                "Dermelect",
                "DIBS Beauty",
                "DIME",
                "Dinto",
                "Dionis",
                "Dior",
                "Doll 10",
                "Dominique",
                "Dr. Melaxin",
                "Dr. PAWPAW",
                "Dr. Squatch",
                "Drunk Elephant",
                "e.l.f. Cosmetics",
                "Eos",
                "Essence",
                "Estée Lauder",
                "ETUDE",
                "Eve Lom",
                "Exoceuticals",
                "Exuviance",
                "FARMACY",
                "FENTY BEAUTY by Rihanna",
                "Florasis",
                "florence by mills",
                "Flower Knows",
                "fresh",
                "FRUDIA",
                "fwee",
                "Glam & Grace",
                "Glimmer Wish",
                "glowiest",
                "good light",
                "Grande Cosmetics",
                "HALEYS Beauty",
                "HALF MAGIC",
                "Hampton Sun",
                "HATCH MAMA",
                "HERBIVORE",
                "Hey Honey",
                "HOURGLASS",
                "ICONIC LONDON",
                "ILIA",
                "iota",
                "IT Cosmetics",
                "Izzy Zero Waste Beauty",
                "J.Cat Beauty",
                "Jack Black",
                "jane iredale",
                "Jenny Patinkin",
                "Jouer Cosmetics",
                "JudyDoll",
                "Juvia's Place",
                "KAHI",
                "Kaja",
                "Kevyn Aucoin",
                "Kiehl's Since 1851",
                "KimChi Chic Beauty",
                "Knemo",
                "KOCOSTAR",
                "Kopari Beauty",
                "KVD Beauty",
                "KYLIE COSMETICS",
                "L'Occitane",
                "L'Oréal",
                "L.A. Girl",
                "La Roche-Posay",
                "Lancôme",
                "Lanolips",
                "Lapcos",
                "LAURA GELLER",
                "Laura Mercier",
                "Lilly Lashes",
                "Lip Smacker",
                "Live Tinted",
                "LORAC",
                "Luna Daily",
                "Lunar Beauty",
                "MAC",
                "Made By Mitchell",
                "Makari",
                "Mario Badescu",
                "Maybelline",
                "MDSolarSciences",
                "medicube",
                "Merythod",
                "Metamorphosis",
                "Milani",
                "MILK MAKEUP",
                "Minimalist",
                "MISSHA",
                "Monika Blunder Beauty",
                "Moroccanoil",
                "Morphe",
                "MUTHA",
                "My Neighbor's Tallow",
                "Naked Sundays",
                "NARS",
                "NassifMD Skincare",
                "NATASHA DENONA",
                "Naturium",
                "Neutrogena",
                "NOTO Botanics",
                "NUDESTIX",
                "Nuxe",
                "NYX Professional Makeup",
                "Nēmah",
                "Oak Essentials",
                "Oars + Alps",
                "Ofra Cosmetics",
                "Ogee",
                "OLEHENRIKSEN",
                "Origins",
                "Ortega Beauty",
                "OSEA",
                "Palladio Beauty",
                "Party of You",
                "PAT McGRATH LABS",
                "Patchology",
                "PEACH & LILY",
                "Perricone MD",
                "Persona",
                "Personal Day",
                "Peter Thomas Roth",
                "Philosophy",
                "PINKWONDER",
                "Pixi",
                "PMD",
                "Polite Society",
                "Poppy & Pout",
                "POUND CAKE",
                "PRAI Beauty",
                "Prime Prometics",
                "PROVENCE Beauty",
                "PÜR Minerals",
                "Queen Cosmetics",
                "r.e.m. beauty",
                "Rabanne",
                "Rare Beauty",
                "RescueMD",
                "Revlon",
                "Revolution Beauty",
                "RMS Beauty",
                "RoC",
                "Rosebud Perfume Co.",
                "Rude",
                "SACHEU",
                "Saint Jane",
                "Saje Natural Wellness",
                "Saltair",
                "Sara Happ",
                "Saturday Skin",
                "Sigma Beauty",
                "Smashbox",
                "Sol de Janeiro",
                "SOME BY MI",
                "SOSHE Beauty",
                "STARFACE",
                "Stila",
                "StriVectin",
                "SUBTL. Beauty",
                "Sun Bum",
                "SunsolveMD",
                "Superegg",
                "Supergoop!",
                "Sweet & Shimmer",
                "Sweet July Skin",
                "Talova Labs",
                "Tarte",
                "TATCHA",
                "The Crème Shop",
                "The INKEY List",
                "The Lip Bar",
                "The Ordinary",
                "The Organic Skin Co.",
                "TIRTIR",
                "TONYMOLY",
                "Too Faced",
                "Triumph & Disaster",
                "Truly",
                "TULA",
                "Undefined Beauty",
                "Unleashia",
                "Urban Decay Cosmetics",
                "Vacation",
                "Vaseline",
                "Veea Face by Dr. Suzan Obagi",
                "Versed",
                "VT Cosmetics",
                "Well People",
                "Wet n Wild",
                "Winky Lux",
                "Youngblood"
              ]
            }
          },
          "preferences": {
            "title": "Preferences",
            "type": "array",
            "description": "Enter the preferences to search for items",
            "items": {
              "type": "string",
              "enum": [
                "",
                "Clean Ingredients",
                "Cruelty Free",
                "Vegan",
                "Sustainable Packaging",
                "Give Back",
                "A",
                "Aha / Glycolic Acid",
                "Alcohol Free",
                "Antioxidants",
                "C",
                "Cbd",
                "Collagen",
                "Fragrance Free",
                "Gluten Free",
                "Hyaluronic Acid",
                "I",
                "M",
                "Matte",
                "Mineral",
                "N",
                "Natural",
                "Niacinamide",
                "Non Comedogenic",
                "Oil Free",
                "Paraben Free",
                "Peptides",
                "Phthalate Free",
                "Radiant",
                "Retinoid",
                "Salicylic Acid",
                "Silicone Free",
                "Squalane",
                "Sulfate Free",
                "T",
                "Talc Free",
                "V",
                "Vitamin C",
                "Z",
                "Zinc"
              ],
              "enumTitles": [
                "Any",
                "Clean Ingredients",
                "Cruelty Free",
                "Vegan",
                "Sustainable Packaging",
                "Give Back",
                "A",
                "Aha / Glycolic Acid",
                "Alcohol Free",
                "Antioxidants",
                "C",
                "Cbd",
                "Collagen",
                "Fragrance Free",
                "Gluten Free",
                "Hyaluronic Acid",
                "I",
                "M",
                "Matte",
                "Mineral",
                "N",
                "Natural",
                "Niacinamide",
                "Non Comedogenic",
                "Oil Free",
                "Paraben Free",
                "Peptides",
                "Phthalate Free",
                "Radiant",
                "Retinoid",
                "Salicylic Acid",
                "Silicone Free",
                "Squalane",
                "Sulfate Free",
                "T",
                "Talc Free",
                "V",
                "Vitamin C",
                "Z",
                "Zinc"
              ]
            }
          },
          "special_offers": {
            "title": "Special offers",
            "type": "array",
            "description": "Enter the special offers to search for items",
            "items": {
              "type": "string",
              "enum": [
                "",
                "gwp",
                "bmsm",
                "sale"
              ],
              "enumTitles": [
                "Any",
                "Gift With Purchase",
                "Buy More, Save More",
                "On Sale"
              ]
            }
          },
          "price_min": {
            "title": "Price min",
            "type": "integer",
            "description": "Enter the minimum price to search for items"
          },
          "price_max": {
            "title": "Price max",
            "type": "integer",
            "description": "Enter the maximum price to search for items"
          },
          "rating": {
            "title": "Rating",
            "enum": [
              "",
              "5",
              "4",
              "3",
              "2",
              "1"
            ],
            "type": "string",
            "description": "Enter the rating to search for items"
          },
          "page": {
            "title": "Page start",
            "type": "integer",
            "description": "Specify the page number to start scraping from"
          },
          "max_items_per_url": {
            "title": "Max items per URL",
            "type": "integer",
            "description": "The maximum number of items to scrape per URL."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}