{
  "openapi": "3.0.1",
  "info": {
    "title": "Fendi Product Scraper",
    "description": "Scrape official Fendi.com products by keyword, category, product ID, or full catalog. Returns MSRP price, currency, stock, description, material, color, images, and category as structured JSON. Multi-locale (US/EU/UK/JP).",
    "version": "0.1",
    "x-build-id": "RWleNMsUAVmuUtbIx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/axlymxp~fendi-product-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-axlymxp-fendi-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/axlymxp~fendi-product-scraper/runs": {
      "post": {
        "operationId": "runs-sync-axlymxp-fendi-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/axlymxp~fendi-product-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-axlymxp-fendi-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": {
          "searchQueries": {
            "title": "Search queries",
            "type": "array",
            "description": "Keyword searches run against Fendi's Algolia catalog. Each result is a full product record (price, stock, description, material, color, images). Leave empty to use categories, product IDs, or the full catalog instead.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "categoryIds": {
            "title": "Category IDs",
            "type": "array",
            "description": "Fendi (Salesforce Commerce Cloud) category IDs, e.g. us_woman_bags_peekaboo or us_man_shoes. IDs are locale-prefixed (us_… for us-en, eu1_… for shared EU sites). Discover them from search results (the 'categories' field) or the site's Listing sitemap.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "productIds": {
            "title": "Product IDs or URLs",
            "type": "array",
            "description": "Product SKUs (e.g. 8BN372B1E6F0TX1) or full product URLs (https://www.fendi.com/us-en/8BN372B1E6F0TX1.html) for direct full detail. SKUs come from a previous run's product_id field or from the product URL.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "scrapeFullCatalog": {
            "title": "Scrape the full catalog",
            "type": "boolean",
            "description": "Iterate the entire product sitemap for the chosen locale and fetch every product's full record. Large (thousands of products) — combine with 'Max items' and 'Only products updated since' to bound it.",
            "default": false
          },
          "locale": {
            "title": "Locale (country-language)",
            "enum": [
              "us-en",
              "gb-en",
              "fr-fr",
              "it-it",
              "jp-ja"
            ],
            "type": "string",
            "description": "Storefront to scrape. Prices are returned in that region's currency. Verified: US (USD), UK (GBP), France (EUR), Italy (EUR), Japan (JPY).",
            "default": "us-en"
          },
          "sort": {
            "title": "Sort order (search only)",
            "enum": [
              "relevance",
              "price_asc",
              "price_desc",
              "new_arrivals",
              "most_popular"
            ],
            "type": "string",
            "description": "Ordering for keyword searches. Note: Fendi's price sort replicas are approximate, not strictly numeric.",
            "default": "relevance"
          },
          "filters": {
            "title": "Algolia filter (advanced, search only)",
            "type": "string",
            "description": "Raw Algolia filter expression applied to searches, e.g. productColorFilter:\"Black\" AND productCategoryDescription:\"Bags\". Leave empty for no extra filtering."
          },
          "scrapeDetail": {
            "title": "Enrich category / catalog rows with full detail",
            "type": "boolean",
            "description": "Category listings return sparse tiles. When on, each tile is enriched with its full Algolia record (description, material, color, stock, all images). Adds one request per product. Search rows are already full and are never re-fetched.",
            "default": false
          },
          "includeOutOfStock": {
            "title": "Include out-of-stock products",
            "type": "boolean",
            "description": "When off, products explicitly marked out of stock are skipped.",
            "default": true
          },
          "sinceDate": {
            "title": "Only products updated since (full catalog)",
            "type": "string",
            "description": "Full-catalog mode only: keep products whose sitemap last-modified date is on or after this date (YYYY-MM-DD). Great for incremental / daily runs."
          },
          "maxItems": {
            "title": "Max items (total)",
            "minimum": 1,
            "type": "integer",
            "description": "Global cap across all inputs. The run stops once this many products are pushed.",
            "default": 500
          },
          "maxItemsPerInput": {
            "title": "Max items per query / category",
            "minimum": 0,
            "type": "integer",
            "description": "Cap per individual search query or category (0 = unlimited within Max items).",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. Fendi's Algolia catalog and sitemaps respond to direct requests, so a proxy is not required. Enable it (Apify Proxy) if you run at high volume or want to rotate IPs.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}