# BOF Business Of Fashion Careers Job Scraper

Easily find the latest fashion jobs with our Business of Fashion Careers Scraper. Get job titles, companies, locations, and descriptions from Business of Fashion Careers—perfect for professionals and recruiters!

## Actor Statistics

- Total users: 1
- Monthly users: 1
- Runs succeeded: 100.00%
- Categories: Jobs, Lead generation, Automation

## Pricing

$29.00/month + usage

## Input Schema

- **jobQuery** (type: string): Keyword to search for jobs.
- **locationQuery** (type: string): City or region to filter job results.
- **jobsMax** (type: integer): Maximum number of job listings to scrape.
- **pagesMax** (type: integer): Maximum number of pagination pages to process.
- **proxyConfiguration** (type: object): Configure the proxy settings for scraping (Use Apify proxies to avoid blocking).

## API example

## BOF Business Of Fashion Careers Job Scraper

- **OpenAPI Version:** `3.1.1`
- **API Version:** `0.3`

Easily find the latest fashion jobs with our Business of Fashion Careers Scraper. Get job titles, companies, locations, and descriptions from Business of Fashion Careers—perfect for professionals and recruiters!

### Servers

- **URL:** `https://api.apify.com/v2`

### Operations

#### Executes an Actor, waits for its completion, and returns Actor's dataset items in response.

- **Method:** `POST`
- **Path:** `/acts/runtime~bof-business-of-fashion-careers-job-scraper/run-sync-get-dataset-items`
- **Tags:** Run Actor

##### Request Body

###### Content-Type: application/json

- **`jobQuery` (required)**

  `string`, default: `"fashion"` — Keyword to search for jobs.

- **`locationQuery` (required)**

  `string`, default: `"London (Greater)"` — City or region to filter job results.

- **`jobsMax`**

  `integer`, default: `10` — Maximum number of job listings to scrape.

- **`pagesMax`**

  `integer`, default: `5` — Maximum number of pagination pages to process.

- **`proxyConfiguration`**

  `object` — Configure the proxy settings for scraping (Use Apify proxies to avoid blocking).

**Example:**

```
{
  "jobQuery": "fashion",
  "locationQuery": "London (Greater)",
  "jobsMax": 10,
  "pagesMax": 5,
  "proxyConfiguration": {}
}
```

##### Responses

###### Status: 200 OK

#### Executes an Actor and returns information about the initiated run in response.

- **Method:** `POST`
- **Path:** `/acts/runtime~bof-business-of-fashion-careers-job-scraper/runs`
- **Tags:** Run Actor

##### Request Body

###### Content-Type: application/json

- **`jobQuery` (required)**

  `string`, default: `"fashion"` — Keyword to search for jobs.

- **`locationQuery` (required)**

  `string`, default: `"London (Greater)"` — City or region to filter job results.

- **`jobsMax`**

  `integer`, default: `10` — Maximum number of job listings to scrape.

- **`pagesMax`**

  `integer`, default: `5` — Maximum number of pagination pages to process.

- **`proxyConfiguration`**

  `object` — Configure the proxy settings for scraping (Use Apify proxies to avoid blocking).

**Example:**

```
{
  "jobQuery": "fashion",
  "locationQuery": "London (Greater)",
  "jobsMax": 10,
  "pagesMax": 5,
  "proxyConfiguration": {}
}
```

##### Responses

###### Status: 200 OK

\####### Content-Type: application/json

- **`data`**

  `object`

  - **`actId`**

    `string`

  - **`buildId`**

    `string`

  - **`buildNumber`**

    `string`

  - **`containerUrl`**

    `string`

  - **`defaultDatasetId`**

    `string`

  - **`defaultKeyValueStoreId`**

    `string`

  - **`defaultRequestQueueId`**

    `string`

  - **`finishedAt`**

    `string`, format: `date-time`

  - **`id`**

    `string`

  - **`meta`**

    `object`

    - **`origin`**

      `string`

    - **`userAgent`**

      `string`

  - **`options`**

    `object`

    - **`build`**

      `string`

    - **`diskMbytes`**

      `integer`

    - **`memoryMbytes`**

      `integer`

    - **`timeoutSecs`**

      `integer`

  - **`startedAt`**

    `string`, format: `date-time`

  - **`stats`**

    `object`

    - **`computeUnits`**

      `integer`

    - **`inputBodyLen`**

      `integer`

    - **`rebootCount`**

      `integer`

    - **`restartCount`**

      `integer`

    - **`resurrectCount`**

      `integer`

  - **`status`**

    `string`

  - **`usage`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `integer`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`usageTotalUsd`**

    `number`

  - **`usageUsd`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `number`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`userId`**

    `string`

**Example:**

```
{
  "data": {
    "id": "",
    "actId": "",
    "userId": "",
    "startedAt": "2025-01-08T00:00:00.000Z",
    "finishedAt": "2025-01-08T00:00:00.000Z",
    "status": "READY",
    "meta": {
      "origin": "API",
      "userAgent": ""
    },
    "stats": {
      "inputBodyLen": 2000,
      "rebootCount": 0,
      "restartCount": 0,
      "resurrectCount": 0,
      "computeUnits": 0
    },
    "options": {
      "build": "latest",
      "timeoutSecs": 300,
      "memoryMbytes": 1024,
      "diskMbytes": 2048
    },
    "buildId": "",
    "defaultKeyValueStoreId": "",
    "defaultDatasetId": "",
    "defaultRequestQueueId": "",
    "buildNumber": "1.0.0",
    "containerUrl": "",
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 1,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    },
    "usageTotalUsd": 0.00005,
    "usageUsd": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 0.00005,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    }
  }
}
```

#### Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.

- **Method:** `POST`
- **Path:** `/acts/runtime~bof-business-of-fashion-careers-job-scraper/run-sync`
- **Tags:** Run Actor

##### Request Body

###### Content-Type: application/json

- **`jobQuery` (required)**

  `string`, default: `"fashion"` — Keyword to search for jobs.

- **`locationQuery` (required)**

  `string`, default: `"London (Greater)"` — City or region to filter job results.

- **`jobsMax`**

  `integer`, default: `10` — Maximum number of job listings to scrape.

- **`pagesMax`**

  `integer`, default: `5` — Maximum number of pagination pages to process.

- **`proxyConfiguration`**

  `object` — Configure the proxy settings for scraping (Use Apify proxies to avoid blocking).

**Example:**

```
{
  "jobQuery": "fashion",
  "locationQuery": "London (Greater)",
  "jobsMax": 10,
  "pagesMax": 5,
  "proxyConfiguration": {}
}
```

##### Responses

###### Status: 200 OK

### Schemas

#### inputSchema

- **Type:**`object`

* **`jobQuery` (required)**

  `string`, default: `"fashion"` — Keyword to search for jobs.

* **`locationQuery` (required)**

  `string`, default: `"London (Greater)"` — City or region to filter job results.

* **`jobsMax`**

  `integer`, default: `10` — Maximum number of job listings to scrape.

* **`pagesMax`**

  `integer`, default: `5` — Maximum number of pagination pages to process.

* **`proxyConfiguration`**

  `object` — Configure the proxy settings for scraping (Use Apify proxies to avoid blocking).

**Example:**

```
{
  "jobQuery": "fashion",
  "locationQuery": "London (Greater)",
  "jobsMax": 10,
  "pagesMax": 5,
  "proxyConfiguration": {}
}
```

#### runsResponseSchema

- **Type:**`object`

* **`data`**

  `object`

  - **`actId`**

    `string`

  - **`buildId`**

    `string`

  - **`buildNumber`**

    `string`

  - **`containerUrl`**

    `string`

  - **`defaultDatasetId`**

    `string`

  - **`defaultKeyValueStoreId`**

    `string`

  - **`defaultRequestQueueId`**

    `string`

  - **`finishedAt`**

    `string`, format: `date-time`

  - **`id`**

    `string`

  - **`meta`**

    `object`

    - **`origin`**

      `string`

    - **`userAgent`**

      `string`

  - **`options`**

    `object`

    - **`build`**

      `string`

    - **`diskMbytes`**

      `integer`

    - **`memoryMbytes`**

      `integer`

    - **`timeoutSecs`**

      `integer`

  - **`startedAt`**

    `string`, format: `date-time`

  - **`stats`**

    `object`

    - **`computeUnits`**

      `integer`

    - **`inputBodyLen`**

      `integer`

    - **`rebootCount`**

      `integer`

    - **`restartCount`**

      `integer`

    - **`resurrectCount`**

      `integer`

  - **`status`**

    `string`

  - **`usage`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `integer`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`usageTotalUsd`**

    `number`

  - **`usageUsd`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `number`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`userId`**

    `string`

**Example:**

```
{
  "data": {
    "id": "",
    "actId": "",
    "userId": "",
    "startedAt": "2025-01-08T00:00:00.000Z",
    "finishedAt": "2025-01-08T00:00:00.000Z",
    "status": "READY",
    "meta": {
      "origin": "API",
      "userAgent": ""
    },
    "stats": {
      "inputBodyLen": 2000,
      "rebootCount": 0,
      "restartCount": 0,
      "resurrectCount": 0,
      "computeUnits": 0
    },
    "options": {
      "build": "latest",
      "timeoutSecs": 300,
      "memoryMbytes": 1024,
      "diskMbytes": 2048
    },
    "buildId": "",
    "defaultKeyValueStoreId": "",
    "defaultDatasetId": "",
    "defaultRequestQueueId": "",
    "buildNumber": "1.0.0",
    "containerUrl": "",
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 1,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    },
    "usageTotalUsd": 0.00005,
    "usageUsd": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 0.00005,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    }
  }
}
```

## 🚀 **Business of Fashion Careers Scraper**

**Business of Fashion Careers Scraper** is an Apify Actor that extracts job listings from the Business of Fashion Careers website, including company names, job titles, locations, descriptions, and more.

***

### **Features**

- ✅ **Scrapes job titles, companies, locations, and job descriptions.**
- ✅ **Extracts additional details like function, level, and hours.**
- ✅ **Handles pagination and max job limits efficiently.**
- ✅ **Stores structured data in Apify Dataset for easy export.**

***

### **Input Parameters**

| Parameter       | Type      | Description                                         | Default Value                                  |
|---------------|---------|-----------------------------------------------------|----------------------------------------------|
| `jobQuery`    | `string`  | Keyword to search for jobs                         | `"fashion"`                                 |
| `locationQuery` | `string` | City or region to filter job results               | `"London (Greater)"`                        |
| `jobsMax`     | `integer` | Maximum number of job listings to scrape           | `10`                                        |
| `pagesMax`    | `integer` | Maximum number of pagination pages to process      | `5`                                         |

***

### **Output**

The extracted job listings are stored in an Apify Dataset as structured JSON:

```json
{
  "url": "https://www.businessoffashion.com/careers/searchjobs/?Keywords=fashion&radialtown=London+%28Greater%29",
  "jobs": [
    {
      "title": "Stockroom Controller FT/PT - Hackett Regent Street",
      "company": "AWWG",
      "location": "London, United Kingdom",
      "closingDate": "4 Apr 2025",
      "function": "Marketing",
      "level": "Manager",
      "hours": "Full Time",
      "description": "How we picture you: You are a helpful and kind person...",
      "companyDescription": "Learn more about this company...",
      "url": "https://www.businessoffashion.com/careers/job/268944/stockroom-controller-ft-pt-hackett-regent-street"
    }
  ]
}
```

## ⚠️ Legal Disclaimer

This project is intended for educational and research purposes only. The use of this Actor must comply with Business of Fashion’s Terms of Service and robots.txt policies.

You are responsible for ensuring your use case does not violate Business of Fashion’s website terms.

***

This scraper will extract job listings and details from **Business of Fashion Careers** efficiently. Let me know if you need any modifications! 🚀

### Related Resources : Job boards

- [Upwork Job Scraper](https://apify.com/runtime/welcome-to-the-jungle-job-scraper)
- [JobTeaser Scraper](https://apify.com/runtime/jobteaser-scraper)
- [Hellowork Job Scraper](https://apify.com/runtime/hellowork-job-scraper)
- [Welcome To The Jungle Job Scraper](https://apify.com/runtime/welcome-to-the-jungle-job-scraper)
