# GoWork Scraper (Cheap) (`data_api/gowork-scraper-cheap`) Actor

Scrapes company profiles from GoWork.fr and returns address, phone, industry, star ratings, and all employee reviews.

- **URL**: https://apify.com/data\_api/gowork-scraper-cheap.md
- **Developed by:** [Data API](https://apify.com/data_api) (community)
- **Categories:** Developer tools, Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## GoWork Company Scraper

![GoWork Company Scraper](cover.jpg)

Checking what employees say about a company on GoWork.fr usually means opening each profile and reading down the page: the rating, the address, the phone number, every review. This scraper hands you all of it as clean rows. Paste a GoWork profile link and you get back the employer name, contact details, star rating, the star-by-star breakdown, and the full list of employee reviews, already split into fields for a spreadsheet or a model. It's quick, cheap, code-free, and you only pay for what you pull.

### What you get

Each company profile comes back as one row, grouped into three kinds of data:

- **Identity and contact** — `employerName`, `phoneNumber`, `siteUrl`, `logoLink`, plus the `profileUrl` it came from
- **Location and sector** — `streetLine`, `cityName`, `regionName`, `countryCode`, `sectorName`
- **Ratings and reviews** — `overallRating`, `ratingsTotal`, `reviewsTotal`, `starSplit`, `employeeReviews`, `pageSummary`, and `collectedAt`

### Quick start

1. Open gowork.fr, search for a company, and copy its profile link from the address bar.
2. Hit **Try for free** and paste that link into **Profile URLs**. Add as many companies as you want.
3. Adjust **Timeout (seconds)** only if you run into slow requests.
4. Press **Start**, then export the results as JSON, CSV, Excel, or XML.

![How it works](how-it-works.jpg)

### Use cases

- **Employer research** — read what staff say before a partnership, a deal, or an application
- **Reputation tracking** — watch a company's rating and review count shift over time
- **Recruitment benchmarking** — line up employers in one sector or region side by side
- **Market research** — build a dataset of French employer reputation for analysis
- **Spreadsheet handoff** — get GoWork data into a sheet without copying it by hand

### Input

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `profileUrls` | array of strings | Yes | GoWork.fr company profile links to scrape. Add as many as you like. Prefilled with a Decathlon France profile. |
| `timeoutSeconds` | integer | No | Seconds to wait on each request before giving up. Default `45`. |

#### Example input

```json
{
    "profileUrls": [
        "https://gowork.fr/decathlon-france",
        "https://gowork.fr/air-france"
    ],
    "timeoutSeconds": 45
}
````

### Output

Each profile you pass becomes one row. Fields GoWork does not show for a given company come back null rather than guessed, and a link that fails still produces a row with `errorMessage` set so the run keeps going.

#### Example output

```json
{
    "profileUrl": "https://gowork.fr/decathlon-france",
    "employerName": "Decathlon France",
    "phoneNumber": "+33 3 20 33 50 00",
    "logoLink": "https://gowork.fr/assets/images/company/decathlon-150.png",
    "siteUrl": "https://www.decathlon.fr",
    "streetLine": "4 Boulevard de Mons, 59650 Villeneuve-d'Ascq, France",
    "cityName": "Villeneuve-d'Ascq",
    "regionName": "Hauts-de-France",
    "countryCode": "FR",
    "sectorName": "Commerce de détail",
    "overallRating": 3.8,
    "ratingsTotal": 412,
    "reviewsTotal": 187,
    "starSplit": {
        "5": 41.2,
        "4": 22.5,
        "3": 14.8,
        "2": 9.1,
        "1": 12.4
    },
    "employeeReviews": [
        {
            "author": "Camille",
            "datePublished": "12-05-2025 09:42",
            "reviewBody": "Bonne ambiance d'équipe, horaires parfois chargés le week-end.",
            "ratingValue": 4
        }
    ],
    "pageSummary": "Avis sur Decathlon France à Villeneuve-d'Ascq...",
    "collectedAt": "2026-06-29T12:00:00.000000+00:00",
    "errorMessage": null
}
```

#### Output fields

| Field | Type | Description |
|-------|------|-------------|
| `profileUrl` | string | The GoWork profile link the row was pulled from |
| `employerName` | string | Company name on the profile |
| `phoneNumber` | string | Contact phone listed for the employer |
| `logoLink` | string | URL of the company logo image |
| `siteUrl` | string | Link to the company's own website |
| `streetLine` | string | Full street address |
| `cityName` | string | Town or city |
| `regionName` | string | Administrative region, e.g. Hauts-de-France |
| `countryCode` | string | Two-letter country code, e.g. FR |
| `sectorName` | string | Industry or sector category |
| `overallRating` | number | Average star score from 0 to 5 |
| `ratingsTotal` | integer | Count of ratings left for the employer |
| `reviewsTotal` | integer | Count of written reviews |
| `starSplit` | object | Percentage share per star level (keys: "5", "4", "3", "2", "1") |
| `employeeReviews` | array | Reviews left by staff (see below) |
| `pageSummary` | string | Meta description from the GoWork profile |
| `collectedAt` | string | ISO 8601 UTC timestamp of when the row was captured |
| `errorMessage` | string or null | Reason the pull failed for this link, otherwise null |

Each item in `employeeReviews` carries:

| Field | Type | Description |
|-------|------|-------------|
| `author` | string | Reviewer's display name |
| `datePublished` | string | Date the review went up |
| `reviewBody` | string | Full text of the review |
| `ratingValue` | number | Star score that reviewer gave |

### Tips for best results

- **Copy the exact profile link.** The scraper checks that each URL points at gowork.fr and skips anything that doesn't, so paste the link straight from the company page.
- **Batch your companies.** Drop several profile links in at once; the run works through them one by one and logs any that fail without stopping.
- **Reviews come from the page's structured data.** The number returned can be smaller than the total shown on GoWork if the page embeds only a subset in its source.
- **Expect French text.** Review bodies and sector names come back in French, since that's how GoWork publishes them.
- **Raise `timeoutSeconds`** if a few requests time out on slower runs.

### How can I use GoWork company data?

**How can I use the GoWork Company Scraper to research an employer before a deal?**
Paste the company's GoWork link and read `overallRating`, `reviewsTotal`, `starSplit`, and the `employeeReviews` text in one pull. You get a quick, honest read on how staff rate the place alongside its address and contact details.

**How can I track a company's reputation on GoWork over time?**
Run the same profile links on a schedule and keep each export. Since every row carries `overallRating`, `ratingsTotal`, `reviewsTotal`, and `collectedAt`, you can chart how a company's score and review count move week to week.

**How can I build a dataset of French employer reviews for research?**
Feed in a batch of GoWork profile links and export to CSV or Excel. The result is a structured table of employer ratings, sectors, locations, and review text you can sort, filter, and analyse however you need.

### Is it legal to scrape data?

Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

### Support

Questions, feature requests, or a field you'd like added? Reach out at <data.apify@proton.me> and we'll get back to you.

# Actor input Schema

## `profileUrls` (type: `array`):

One or more GoWork.fr company profile links to pull in a single run. Paste as many as you like.

## `timeoutSeconds` (type: `integer`):

How long to wait on each request before giving up.

## Actor input object example

```json
{
  "profileUrls": [
    "https://gowork.fr/decathlon-france",
    "https://gowork.fr/air-france"
  ],
  "timeoutSeconds": 45
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "profileUrls": [
        "https://gowork.fr/15-production-boulogne-billancourt"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("data_api/gowork-scraper-cheap").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "profileUrls": ["https://gowork.fr/15-production-boulogne-billancourt"] }

# Run the Actor and wait for it to finish
run = client.actor("data_api/gowork-scraper-cheap").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "profileUrls": [
    "https://gowork.fr/15-production-boulogne-billancourt"
  ]
}' |
apify call data_api/gowork-scraper-cheap --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=data_api/gowork-scraper-cheap",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "GoWork Scraper (Cheap)",
        "description": "Scrapes company profiles from GoWork.fr and returns address, phone, industry, star ratings, and all employee reviews.",
        "version": "0.0",
        "x-build-id": "KFJ5Aj3kIcuG0Lwr9"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/data_api~gowork-scraper-cheap/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-data_api-gowork-scraper-cheap",
                "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/data_api~gowork-scraper-cheap/runs": {
            "post": {
                "operationId": "runs-sync-data_api-gowork-scraper-cheap",
                "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/data_api~gowork-scraper-cheap/run-sync": {
            "post": {
                "operationId": "run-sync-data_api-gowork-scraper-cheap",
                "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",
                "required": [
                    "profileUrls"
                ],
                "properties": {
                    "profileUrls": {
                        "title": "Profile URLs",
                        "type": "array",
                        "description": "One or more GoWork.fr company profile links to pull in a single run. Paste as many as you like.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "timeoutSeconds": {
                        "title": "Timeout (seconds)",
                        "minimum": 5,
                        "maximum": 120,
                        "type": "integer",
                        "description": "How long to wait on each request before giving up.",
                        "default": 45
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
