# Jobsdb Company Details Scraper (`soft_alexist/jobsdb-company-details-scraper`) Actor

Scrape detailed job postings from JobsDB.com with rich company insights, work arrangements, learning opportunities, and structured metadata — perfect for recruitment agencies, career researchers, and job aggregators.

- **URL**: https://apify.com/soft\_alexist/jobsdb-company-details-scraper.md
- **Developed by:** [Soft Alexist](https://apify.com/soft_alexist) (community)
- **Categories:** Automation, Developer tools, Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

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

## JobsDB Company Details Scraper: Extract Corporate Profiles & Reviews

---

### What Is JobsDB?

JobsDB is a leading job platform across Southeast Asia, with major operations in Hong Kong, Singapore, Malaysia, and Thailand. Beyond job listings, it hosts extensive company profiles containing corporate information, employee reviews, ratings, and insights. Manually gathering this company intelligence from JobsDB is tedious and repetitive — the **JobsDB Company Details Scraper** automates extraction, delivering structured corporate data at scale.

---

### Overview

The **JobsDB Company Details Scraper** extracts rich company profile pages from JobsDB, capturing essential corporate information alongside aggregated employee reviews and AI-generated summaries. It is ideal for:

- **Recruiters** researching employer brands and company culture
- **Job seekers** vetting potential employers before applying
- **HR professionals** benchmarking company reputation across markets
- **Business analysts** building datasets on corporate performance and employee sentiment
- **Researchers** studying labor market dynamics and employer trends

The scraper excels at handling variable page structures, reliably extracting profiles even when individual URLs fail, and delivering clean, actionable company insights.

---

### Input Format

The scraper accepts a simple JSON configuration:

```json
{
  "urls": [
    "https://hk.jobsdb.com/companies/bank-of-china-hong-kong-174885314476370?cid=sk-reviews-carousel&ref=sk-reviews-carousel&tracking=companies"
  ],
  "ignore_url_failures": true
}
````

| Field | Type | Description |
|---|---|---|
| `urls` | Array | Direct links to JobsDB company profile pages. Paste individual URLs or bulk-load from a list. |
| `ignore_url_failures` | Boolean | If `true`, the scraper skips failed URLs and continues running. If `false`, the run halts on the first error. Default: `true`. |

> **Pro tip:** Extract company URLs directly from JobsDB search results or your recruitment workflow. The scraper works with Hong Kong, Singapore, Malaysia, and Thailand JobsDB domains.

***

### Output Format

**Sample output**

```json
{
  "id": "174885314476370",
  "company_profile": {
    "__typename": "CompanyProfileV2",
    "zone": "asia-1",
    "company_review_rating": null,
    "data": {
      "__typename": "CompanyProfileData",
      "name": "Bank of China (Hong Kong)",
      "is_claimed": true,
      "overview": {
        "__typename": "CompanyProfileOverviewV2",
        "website": {
          "__typename": "CompanyProfileWebsiteV2",
          "url": "https://www.bochk.com/en/home.html",
          "display_name": "Bank of China (Hong Kong)"
        },
        "size": "More than 10,000",
        "industry": "Banking & Credit",
        "industry_id": "I0008",
        "industry_name": "Banking & Credit",
        "primary_location": "22/F, Bank of China Ctr, Olympian City, 11 Hoi Fai Rd W, KLN Hong Kong",
        "specialities": [
          "Wealth Management",
          "Private Banking",
          "Corporate Banking",
          "Investment",
          "Mortgage",
          "Loan",
          "Insurance",
          "Credit card"
        ],
        "description": [
          "Join Bank of China (Hong Kong)"
        ],
        "traditional_land": null,
        "traditional_place": null
      },
      "custom_statement": null,
      "mission_statement": null,
      "featured": null,
      "awards": null,
      "culture_and_values": null,
      "perks_and_benefits": null,
      "gallery": null,
      "branding": {
        "__typename": "CompanyProfileBranding",
        "brand_id": "01ea4119-781b-4a7d-9a01-d836b77d65ca",
        "logo": "https://image-service-cdn.seek.com.au/ca201ee1326b4d681b69ca14b871aa7744548119/ee4dce1061f3f616224767ad58cb2fc751b8d2dc",
        "cover": "https://image-service-cdn.seek.com.au/70246b89bda93a212f635b90bfa146e14a72012f/11adf30e176f666a1231f01779efa3b8b087b709"
      },
      "canonical_url": "https://hk.jobsdb.com/companies/bank-of-china-hong-kong-174885314476370",
      "synonym": null
    },
    "organisation_id": "743062"
  },
  "company_reviews_ai_summary": null,
  "company_reviews": null
}
```

Each scraped company returns a detailed record with the following fields:

#### Core Company Data

| Field | Meaning | Use Case |
|---|---|---|
| `id` | Unique JobsDB company identifier | Linking company records across datasets or systems; deduplication |
| `company_profile` | Complete company profile information | Overview of employer details, including company size, industry, description, website, and headquarters location; foundational data for all company research |

#### Reviews & Sentiment Analysis

| Field | Meaning | Use Case |
|---|---|---|
| `company_reviews_ai_summary` | AI-generated summary of employee reviews | Quick understanding of overall employee sentiment, cultural highlights, and common themes without reading individual reviews; executive summary for decision-makers |
| `company_reviews` | Full collection of individual employee reviews | Detailed qualitative insights including ratings, written feedback on salary, culture, work-life balance, management quality, and recommendations; source material for deeper analysis |

**Data structure example:**

- `company_profile` contains fields like company name, description, industry, company size, headquarters, website URL, and establishment date
- `company_reviews_ai_summary` provides a concise narrative synthesizing common praise and criticisms (e.g., "Strong technical culture but high burnout reported")
- `company_reviews` is an array of individual review objects, each with rating, title, review text, and reviewer metadata

***

### How to Use

1. **Gather company URLs** — Browse JobsDB company search or copy links from your recruitment tool. URLs follow the pattern: `https://[country].jobsdb.com/companies/[company-slug]-[id]`
2. **Prepare input** — Paste URLs into the `urls` array. Set `ignore_url_failures` to `true` for robust batch runs.
3. **Launch the scraper** — Start the actor and monitor the progress log.
4. **Download results** — Export data as JSON, CSV, or Excel for analysis or integration.
5. **Process output** — Feed company profiles into CRM systems, build employer dashboards, or analyze review sentiment.

**Best practices:**

- Use `ignore_url_failures: true` when scraping 50+ URLs to avoid interruptions from temporary blocks or deleted pages.
- Combine results with job listing data for complete talent intelligence workflows.
- Periodically re-scrape to track changes in reviews and company reputation over time.

***

### Use Cases & Business Value

- **Employer branding research:** Understand how companies are perceived by employees and job seekers across markets
- **Recruitment targeting:** Identify high-rated employers to refine candidate sourcing strategies
- **Competitive analysis:** Compare multiple employers on culture, benefits, and employee satisfaction
- **Talent retention:** Benchmark your company's ratings and reviews against competitors
- **Academic research:** Analyze employment satisfaction trends across Southeast Asian industries

The JobsDB Company Details Scraper transforms raw review pages into structured intelligence, enabling data-driven hiring strategies and HR decisions.

***

### Conclusion

The **JobsDB Company Details Scraper** is a powerful tool for anyone seeking actionable company intelligence from Southeast Asia's largest job platform. By automating profile extraction and synthesizing employee reviews, it saves days of manual research and unlocks patterns invisible to individual browsing. Start scraping today and transform JobsDB company data into strategic insights.

# Actor input Schema

## `urls` (type: `array`):

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

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## Actor input object example

```json
{
  "urls": [
    "https://hk.jobsdb.com/companies/bank-of-china-hong-kong-174885314476370?cid=sk-reviews-carousel&ref=sk-reviews-carousel&tracking=companies"
  ],
  "ignore_url_failures": true
}
```

# 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 = {
    "urls": [
        "https://hk.jobsdb.com/companies/bank-of-china-hong-kong-174885314476370?cid=sk-reviews-carousel&ref=sk-reviews-carousel&tracking=companies"
    ],
    "ignore_url_failures": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("soft_alexist/jobsdb-company-details-scraper").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 = {
    "urls": ["https://hk.jobsdb.com/companies/bank-of-china-hong-kong-174885314476370?cid=sk-reviews-carousel&ref=sk-reviews-carousel&tracking=companies"],
    "ignore_url_failures": True,
}

# Run the Actor and wait for it to finish
run = client.actor("soft_alexist/jobsdb-company-details-scraper").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 '{
  "urls": [
    "https://hk.jobsdb.com/companies/bank-of-china-hong-kong-174885314476370?cid=sk-reviews-carousel&ref=sk-reviews-carousel&tracking=companies"
  ],
  "ignore_url_failures": true
}' |
apify call soft_alexist/jobsdb-company-details-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Jobsdb Company Details Scraper",
        "description": "Scrape detailed job postings from JobsDB.com with rich company insights, work arrangements, learning opportunities, and structured metadata — perfect for recruitment agencies, career researchers, and job aggregators.",
        "version": "0.0",
        "x-build-id": "xvCdPef3SJndmxBmF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/soft_alexist~jobsdb-company-details-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-soft_alexist-jobsdb-company-details-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/soft_alexist~jobsdb-company-details-scraper/runs": {
            "post": {
                "operationId": "runs-sync-soft_alexist-jobsdb-company-details-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/soft_alexist~jobsdb-company-details-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-soft_alexist-jobsdb-company-details-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": {
                    "urls": {
                        "title": "URLs of the Specific company urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the Specific company urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
