# Bark.com Reviews Scraper

The Bark.com Reviews Scraper is a robust tool that extracts detailed customer reviews from Bark.com, delivering structured data in formats like JSON by providing Business URLs.

## Actor Statistics

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

## Pricing

$20.00/month + usage

## Input Schema

- **urls** (type: array): Add the URLs of the Specific service urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.
- **max\_items\_per\_url** (type: integer): Limit the number of items per URL you want to scrape
- **max\_retries\_per\_url** (type: integer): Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load
- **proxy** (type: object): Select proxies to be used by your scraper.

## API example

## Bark.com Reviews Scraper

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

The Bark.com Reviews Scraper is a robust tool that extracts detailed customer reviews from Bark.com, delivering structured data in formats like JSON by providing Business URLs.

### 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/ecomscrape~bark-reviews-scraper/run-sync-get-dataset-items`
- **Tags:** Run Actor

##### Request Body

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

- **`max_items_per_url`**

  `integer` — Limit the number of items per URL you want to scrape

- **`max_retries_per_url`**

  `integer` — Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load

- **`proxy`**

  `object` — Select proxies to be used by your scraper.

- **`urls`**

  `array` — Add the URLs of the Specific service urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

  **Items:**

  `string`

**Example:**

```
{
  "urls": [
    ""
  ],
  "max_items_per_url": 1,
  "max_retries_per_url": 1,
  "proxy": {}
}
```

##### Responses

###### Status: 200 OK

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

- **Method:** `POST`
- **Path:** `/acts/ecomscrape~bark-reviews-scraper/runs`
- **Tags:** Run Actor

##### Request Body

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

- **`max_items_per_url`**

  `integer` — Limit the number of items per URL you want to scrape

- **`max_retries_per_url`**

  `integer` — Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load

- **`proxy`**

  `object` — Select proxies to be used by your scraper.

- **`urls`**

  `array` — Add the URLs of the Specific service urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

  **Items:**

  `string`

**Example:**

```
{
  "urls": [
    ""
  ],
  "max_items_per_url": 1,
  "max_retries_per_url": 1,
  "proxy": {}
}
```

##### 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/ecomscrape~bark-reviews-scraper/run-sync`
- **Tags:** Run Actor

##### Request Body

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

- **`max_items_per_url`**

  `integer` — Limit the number of items per URL you want to scrape

- **`max_retries_per_url`**

  `integer` — Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load

- **`proxy`**

  `object` — Select proxies to be used by your scraper.

- **`urls`**

  `array` — Add the URLs of the Specific service urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

  **Items:**

  `string`

**Example:**

```
{
  "urls": [
    ""
  ],
  "max_items_per_url": 1,
  "max_retries_per_url": 1,
  "proxy": {}
}
```

##### Responses

###### Status: 200 OK

### Schemas

#### inputSchema

- **Type:**`object`

* **`max_items_per_url`**

  `integer` — Limit the number of items per URL you want to scrape

* **`max_retries_per_url`**

  `integer` — Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load

* **`proxy`**

  `object` — Select proxies to be used by your scraper.

* **`urls`**

  `array` — Add the URLs of the Specific service urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

  **Items:**

  `string`

**Example:**

```
{
  "urls": [
    ""
  ],
  "max_items_per_url": 1,
  "max_retries_per_url": 1,
  "proxy": {}
}
```

#### 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
    }
  }
}
```

## Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link:
[My profile](https://apify.com/ecomscrape)

## **Advanced Bark.com Customer Reviews Data Extraction Tool**

In today's competitive service marketplace landscape, customer reviews and ratings serve as crucial indicators of business performance and reputation. Bark.com is a web-based services marketplace headquartered in London that was founded in November 2014 by British entrepreneurs Andrew Michael and Kai Feller, connecting service buyers with suitable providers across over 1,500 unique categories. The platform hosts thousands of genuine customer reviews, with over 102,925 reviews collected and maintaining ratings that vary across different review platforms. For businesses, market researchers, and analysts, accessing this wealth of review data manually would be incredibly time-consuming and impractical.

### Comprehensive Review Data Extraction Solution

The Bark.com Reviews Scraper is designed to automatically extract comprehensive review and rating information from individual business profiles on the Bark platform. This powerful tool eliminates the manual effort required to collect customer feedback data, providing businesses and researchers with structured access to valuable market intelligence.

The scraper targets specific business profile pages, extracting detailed review information including customer ratings, written feedback, reviewer information, and business responses. This makes it particularly valuable for competitive analysis, reputation monitoring, service quality assessment, and market research initiatives across various service industries represented on Bark.com.

Primary users include digital marketing agencies conducting competitor research, business owners monitoring their reputation, market researchers analyzing service industry trends, and data analysts building comprehensive customer sentiment datasets.

### Detailed Input and Output Specifications

Example url 1: https://www.bark.com/en/gb/b/cigma-accounting-ltd/7VlN/

Example url 2: https://www.bark.com/en/gb/company/kii-accountants-limited/bAn3/

Example url 3: https://www.bark.com/en/gb/company/sak-accountants-limited/0BYzZ/

Example Screenshot of business information page:

![](https://i.ibb.co/JFBqpmf/Screenshot-from-2025-01-22-00-13-15.png)

#### Input Format Requirements

The scraper accepts a JSON configuration specifying target URLs and extraction parameters:

```json
{
  "max_retries_per_url": 2, // Maximum waiting time when accessing the links you provided.
  "proxy": { // Add a proxy to ensure that during the data collection process, you are not detected as a bot.
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL" 
    ],
    "apifyProxyCountry": "SG" // You should choose an Country that coincides with the Country you want to collect data from
  },
  "max_items_per_url": 20,
  "urls": [ // Links to business information pages.
    "https://www.bark.com/en/gb/b/cigma-accounting-ltd/7VlN/",
    "https://www.bark.com/en/gb/company/sak-accountants-limited/0BYzZ/",
    "https://www.bark.com/en/gb/company/sak-accountants-limited/0BYzZ/"
  ]
}
```

The input requires direct links to specific business profile pages on Bark.com. The `max_items_per_url` parameter controls how many reviews to extract per business, while `max_retries_per_url` handles potential connection issues. The proxy configuration ensures reliable data collection without triggering anti-bot measures, with residential proxies providing the most authentic browsing behavior.

#### Output Data Structure

You get the output from the Bark.com Reviews Scraper stored in a tab. The following is an example of the Information Fields collected after running the Actor.

```json
[ // List of reviews information
  {
    "author": "Christopher Bond",
    "date_published": "2024-11-21",
    "rating": 5.0,
    "review_platform": "TrustPilot",
    "review_txt": "At first, I was slightly reluctant to use this company as my agent for self assessment, mainly because they were very persistent with phone calls etc urging me to choose them from among several other agents I was considering. That sort of thing makes me suspicious! However, I cannot fault them on their efficiency and customer service: they responded swiftly to all my queries etc. More... That sort of thing makes me suspicious! However, I cannot fault them on their efficiency and customer service: they responded swiftly to all my queries etc.",
    "reply": [],
    "from_url": "https://www.bark.com/en/gb/b/cigma-accounting-ltd/7VlN/"
  }, // ... Many other reviews details
]
```

The scraper returns structured review data with the following fields:

- **Author**: The reviewer's name or identifier, providing attribution for each review and enabling reviewer pattern analysis
- **Date Published**: Timestamp when the review was posted, crucial for tracking review trends over time and analyzing recent vs. historical feedback
- **Rating**: Numerical score given by the reviewer, typically on a 1-5 star scale, enabling quantitative sentiment analysis and average rating calculations
- **Review Platform**: Identifies Bark.com as the source platform, important when aggregating reviews from multiple sources for comprehensive analysis
- **Review Text**: Complete written feedback from the customer, containing detailed qualitative insights about service quality, customer experience, and specific business interactions
- **Reply**: Business owner's response to the review, providing insights into customer service approach, issue resolution, and business communication style

Each field serves specific analytical purposes: Author and Date enable trend analysis, Rating provides quantitative metrics, Review Text offers qualitative insights, and Reply data reveals business responsiveness and customer service quality.

### Step-by-Step Usage Guide

1. **Prepare Target URLs**: Collect direct links to Bark.com business profile pages you want to analyze
2. **Configure Parameters**: Set appropriate values for max\_items\_per\_url based on your data needs and max\_retries\_per\_url for reliability
3. **Set Proxy Settings**: Use residential proxies matching your target geography to avoid detection
4. **Execute Extraction**: Run the scraper with your JSON configuration
5. **Process Results**: Export the structured data for analysis, reporting, or integration with other business intelligence tools

**Best Practices**: Start with smaller batches to test configuration, use country-specific proxies when analyzing regional businesses, and implement delays between requests to maintain ethical scraping practices. Monitor for changes in Bark.com's structure that might affect extraction accuracy.

Common issues include blocked requests (resolved with proper proxy configuration) and incomplete data extraction (addressed by adjusting retry parameters and ensuring URLs are correctly formatted).

### Business Applications and Benefits

This scraper provides significant time savings compared to manual review collection, transforming hours of copy-paste work into minutes of automated extraction. The structured output enables immediate integration with analytics tools, CRM systems, and business intelligence platforms.

Practical applications include competitive benchmarking by comparing review sentiment across similar service providers, reputation monitoring to track customer satisfaction trends, market research to understand customer preferences and pain points, and lead qualification by analyzing potential business partners' customer feedback history.

The extracted data supports data-driven decision making in service selection, partnership evaluation, and market positioning strategies, providing quantifiable insights that would otherwise require extensive manual research.

### Maximize Your Service Industry Intelligence

The Bark.com Reviews Scraper transforms time-consuming review research into efficient, automated data collection, providing the structured customer feedback insights essential for informed business decisions. Whether conducting competitive analysis, monitoring reputation, or researching market trends, this tool delivers comprehensive review data in a format ready for immediate analysis and application.

## Related Actors

- [**Bark.com Seller Details Page Scraper**](https://apify.com/ecomscrape/bark-seller-details-page-scraper): A specialized data extraction solution engineered to harvest detailed service provider information from Bark's extensive professional services marketplace.

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about Bark.com Reviews Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.
