{
  "openapi": "3.0.1",
  "info": {
    "title": "Sephora Scraper",
    "description": "Scrape Sephora product catalogs, search results, brands, prices, ratings, reviews, product details, and store availability. Choose a department, search any keyword, enrich selected products, or target international markets: 🇺🇸 🇫🇷 🇩🇪 🇮🇹 🇸🇬.",
    "version": "0.1",
    "x-build-id": "AnrEUvONgzVzGg13i"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fetchfinch~sephora-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fetchfinch-sephora-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/fetchfinch~sephora-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fetchfinch-sephora-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/fetchfinch~sephora-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fetchfinch-sephora-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": {
          "mode": {
            "title": "Run mode",
            "enum": [
              "catalog",
              "brands",
              "search",
              "details",
              "full"
            ],
            "type": "string",
            "description": "Catalog refreshes product listings and brands. Brands only collects the complete brand directory. Search finds products by keyword. Details enriches the persistent queue. Full runs catalog and details. The default preview searches one page for perfume.",
            "default": "search"
          },
          "emitChangesOnly": {
            "title": "Output changed records only",
            "type": "boolean",
            "description": "Output only product and brand records whose meaningful data changed since the previous run. The run summary is always included. Leave off for a complete snapshot.",
            "default": false
          },
          "cacheStoreName": {
            "title": "Persistent cache name",
            "type": "string",
            "description": "Optional stable name for reusing cache and progress across scheduled runs. Leave blank to keep state isolated to this run."
          },
          "catalogScope": {
            "title": "Catalog scope",
            "enum": [
              "core",
              "all-roots"
            ],
            "type": "string",
            "description": "Core departments avoid curated category overlap. All roots maximizes coverage.",
            "default": "core"
          },
          "searchQueries": {
            "title": "Search terms",
            "maxItems": 5,
            "type": "array",
            "description": "One or more product search terms, for example perfume, vitamin C serum, or Rare Beauty. Used when Run mode is Search.",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "default": [
              "perfume"
            ]
          },
          "maxSearchPages": {
            "title": "Pages per search",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum result pages to fetch for each search term. Results stop automatically when the search is exhausted.",
            "default": 1
          },
          "maxCatalogPages": {
            "title": "Catalog pages per run",
            "minimum": 1,
            "maximum": 317,
            "type": "integer",
            "description": "Maximum listing pages in this run. Each page contains up to 60 products; the actor resumes from its saved cursor.",
            "default": 1
          },
          "maxDetails": {
            "title": "Product details per run",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum detail requests from the persistent queue, including explicitly supplied IDs.",
            "default": 0
          },
          "detailProductIds": {
            "title": "Product IDs to enrich",
            "type": "array",
            "description": "Optional explicit US Sephora product IDs such as P442563. They are processed before the persistent queue.",
            "items": {
              "type": "string"
            }
          },
          "enableInternational": {
            "title": "Enable international modes",
            "type": "boolean",
            "description": "Enables only the explicitly configured EU and Asia jobs below.",
            "default": false
          },
          "euLocales": {
            "title": "EU locales",
            "type": "array",
            "description": "Supported locales include fr-FR, de-DE, and it-IT.",
            "default": [
              "fr-FR"
            ],
            "items": {
              "type": "string"
            }
          },
          "euQueries": {
            "title": "EU catalog queries",
            "type": "array",
            "description": "Targeted EU search terms. Full EU crawling is intentionally not enabled by default.",
            "items": {
              "type": "string"
            }
          },
          "euProductIds": {
            "title": "EU product IDs",
            "type": "array",
            "description": "EU product IDs for detail requests, for example 781301.",
            "items": {
              "type": "string"
            }
          },
          "asiaMarkets": {
            "title": "Asia markets",
            "type": "array",
            "description": "Objects with country and language, for example {\"country\":\"SG\",\"language\":\"en-SG\"}."
          },
          "asiaQueries": {
            "title": "Asia catalog queries",
            "type": "array",
            "description": "Objects with country, language, and query for targeted Asia listing jobs."
          },
          "asiaProductIds": {
            "title": "Asia product details",
            "type": "array",
            "description": "Objects with country, language, and id for targeted Asia detail requests."
          },
          "includeReviews": {
            "title": "Include reviews",
            "type": "boolean",
            "description": "Fetch one paginated review page for explicitly selected US products.",
            "default": false
          },
          "reviewProductIds": {
            "title": "Review product IDs",
            "type": "array",
            "description": "US product IDs for review harvesting, such as P442563.",
            "items": {
              "type": "string"
            }
          },
          "reviewPageSize": {
            "title": "Reviews per request",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Number of reviews requested per product review page.",
            "default": 10
          },
          "includeAvailability": {
            "title": "Include availability",
            "type": "boolean",
            "description": "Fetch product availability for explicit products and locations.",
            "default": false
          },
          "availabilityProductIds": {
            "title": "Availability product IDs",
            "type": "array",
            "description": "US product IDs. The cached catalog SKU is used when available.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Store locations",
            "type": "array",
            "description": "Objects with latitude, longitude, and optional radius in miles."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}