{
  "openapi": "3.0.1",
  "info": {
    "title": "Farfetch Scraper",
    "description": "Scrape Farfetch products from category, designer, sale and search pages on any storefront. Get title, brand, categories, prices in local currency, sizes, SKU, stock status and images per variant. Optional size & fit and recommended products. Fast HTTP-based, no browser.",
    "version": "0.0",
    "x-build-id": "KuzivORmrh5ygp1BQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/barking_kelp~farfetch-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-barking_kelp-farfetch-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/barking_kelp~farfetch-scraper/runs": {
      "post": {
        "operationId": "runs-sync-barking_kelp-farfetch-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/barking_kelp~farfetch-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-barking_kelp-farfetch-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": "Start URLs",
            "type": "array",
            "description": "Storefront (`https://www.farfetch.com/`, `https://www.farfetch.com/jp/`) → all categories of the storefront. Department (`/shopping/women/`, `/shopping/men/`, `/shopping/kids/`) → all categories of the department. Listing with filters (`/shopping/women/mules-1/items.aspx?…`, always from page 1), sale, designer, set (`/sets/…aspx`) and search listings → their products. Product page → that product. Optional when Search term, Category or Brand is filled.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "search": {
            "title": "Search term",
            "type": "string",
            "description": "Words as typed into the site's search box, e.g. `gucci bag`. Combine with Category and/or Brand to narrow it down."
          },
          "category": {
            "title": "Category",
            "type": "string",
            "description": "All products of a category of the department: its name (`Mules`, `Sneakers`), a name with its parent when the name repeats (`Shoes > Boots`), its URL slug (`mules-1`), a listing URL or the category id."
          },
          "brand": {
            "title": "Brand",
            "type": "string",
            "description": "A designer / brand: its name (`Gucci`, `Birkenstock`), URL slug (`designer-agostoni`) or id. With Category → that brand's products in that category."
          },
          "department": {
            "title": "Department",
            "enum": [
              "women",
              "men",
              "kids"
            ],
            "type": "string",
            "description": "Department searched and whose categories / brands the names are looked up in.",
            "default": "women"
          },
          "storefront": {
            "title": "Storefront",
            "type": "string",
            "description": "Storefront country code, as in the site's URLs (`nl`, `uk`, `de`, `us`, `jp`, …). Sets the country and currency of prices.",
            "default": "nl"
          },
          "sale": {
            "title": "Sale only",
            "type": "boolean",
            "description": "Only discounted products (the site's Sale section).",
            "default": false
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "ranking",
              "newest",
              "price_asc",
              "price_desc",
              "discount"
            ],
            "type": "string",
            "description": "Order the products are collected in; matters together with Max records.",
            "default": "ranking"
          },
          "withCategoryProducts": {
            "title": "Products of storefront / department categories",
            "type": "boolean",
            "description": "For storefront and department URLs: besides the category records, collect every product of the department (each product once). `false` keeps it to category records only, one request per category.",
            "default": false
          },
          "withSizeFit": {
            "title": "Size & fit per variant",
            "type": "boolean",
            "description": "Fill `variants[].extraInfo` with fit notes and measurements. Slightly larger product requests.",
            "default": false
          },
          "withRecommends": {
            "title": "Recommended products",
            "type": "boolean",
            "description": "Fetch up to 12 recommended products per product into `recommendedProducts` (one extra request per product).",
            "default": false
          },
          "maxItems": {
            "title": "Max records",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of saved records (products + categories). Every record is charged, so this is also a cost cap. Empty → 100; `0` → no limit."
          },
          "maxRequestsPerCrawl": {
            "title": "Max records (legacy name)",
            "minimum": 0,
            "type": "integer",
            "description": "Deprecated alias of `maxItems` kept for tasks created before v2.1. Ignored when `maxItems` is set."
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Parallel requests. Lower values reduce the risk of being blocked.",
            "default": 5
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings. The default Apify Proxy works for most runs; switch to RESIDENTIAL if you see blocked requests. With a proxy country, URLs without a storefront prefix (`https://www.farfetch.com/shopping/...`) are served in that country's storefront and currency.",
            "default": {
              "useApifyProxy": true
            }
          },
          "browserImpersonation": {
            "title": "Browser profile (advanced)",
            "type": "string",
            "description": "Browser profile used for requests (`safari_ios`, `chrome`, `safari`, `firefox` or an exact one such as `safari17_2_ios`). Keep the default unless support asks you to change it; other profiles get blocked more often.",
            "default": "safari_ios"
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}