# JobsDB 爬蟲｜香港、泰國職缺、薪資、公司一鍵匯出（免 API） (`claude_code_reviewer/jobsdb-scraper`) Actor

免登入抓 JobsDB 職缺：關鍵字搜尋列表，含職稱、公司、薪資、地區、職務分類、工作型態與刊登時間，支援香港／泰國，輸出 JSON／CSV／Excel。人力市場研究、薪資行情必備。

- **URL**: https://apify.com/claude\_code\_reviewer/jobsdb-scraper.md
- **Developed by:** [Chad](https://apify.com/claude_code_reviewer) (community)
- **Categories:** Jobs, Developer tools, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 職缺搜尋

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 爬蟲｜香港、泰國職缺、薪資、公司一鍵下載（免 API）

抓 **JobsDB** 職缺搜尋結果：職稱、公司、薪資、地區、職務分類、工作型態、刊登時間。支援 **香港 / 泰國** 兩站。走 SEEK 官方 JSON API，**不用登入、不用 API key、不用 token**。批量貼上關鍵字，輸出乾淨的 snake\_case 結構化資料（JSON / CSV / Excel）。

適合：人力市場研究、薪資行情分析、招募情報、競業職缺監控、人才名單建立。

> 馬來西亞／新加坡／菲律賓職缺請用姊妹 Actor「JobStreet 爬蟲」。

***

### 輸出欄位

| 欄位 | 說明 |
|---|---|
| `job_id` | 職缺 ID，主鍵 |
| `title` | 職稱 |
| `url` | 職缺連結 |
| `company` | 公司名稱 |
| `advertiser` | 刊登者（可能為代招公司）|
| `advertiser_id` | 刊登者 ID |
| `salary_label` | 薪資字串，如 `HK$25,000 – HK$35,000 per month`（無則 `null`）|
| `work_types` | 工作型態陣列，如 `["Full time"]` |
| `work_arrangement` | 出勤方式陣列，如 `["On-site"]` |
| `location` | 工作地區 |
| `location_country` | 地區國碼 |
| `classification` | 職務大類，如 `Accounting` |
| `subclassification` | 職務子類 |
| `teaser` | 職缺摘要（非 JD 全文）|
| `bullet_points` | 亮點清單陣列 |
| `listing_date` | 刊登時間（ISO 8601）|
| `listing_date_display` | 刊登時間顯示，如 `5h ago` |
| `is_featured` | 是否精選/廣告職缺 |
| `role_id` | SEEK 職務代碼 |
| `site` | 站別 |
| `keyword` | 對應的搜尋關鍵字（你輸入的原始詞）|
| `scraped_at` | 抓取時間（ISO 8601）|

> 缺值一律補 `null`，欄位不省略。

### 模式

| 模式 | 說明 | 狀態 |
|---|---|---|
| `search`（搜尋） | 關鍵字 → 職缺列表 | ✅ v1.0 |
| `detail`（詳情） | 職缺 ID → JD 全文 + 完整福利 | 🔜 v1.1 |

### 輸入參數

| 參數 | 型別 | 說明 | 預設 |
|---|---|---|---|
| `site` | 選單 | 站別 hk/th | `hk` |
| `keywords` | 陣列 | 職缺關鍵字（職稱或技能）| — |
| `bulkInput` | 文字 | 一行一個關鍵字，自動併入 | — |
| `location` | 文字 | 選填，限定地區 | — |
| `maxItems` | 整數 | **每個關鍵字**上限（1–500）| `50` |
| `proxyConfiguration` | Proxy | 預設 Apify datacenter 自動輪替 | datacenter |

### 輸入範例

**1. 香港找會計（前 10 筆）**

```json
{ "site": "hk", "keywords": ["accountant"], "maxItems": 10 }
```

**2. 泰國資料工程師**

```json
{ "site": "th", "keywords": ["data engineer"], "maxItems": 20 }
```

**3. 批量多關鍵字（香港）**

```json
{ "site": "hk", "bulkInput": "accountant\nmarketing\nsoftware engineer", "maxItems": 15 }
```

**4. 限定地區（九龍的工程職缺）**

```json
{ "site": "hk", "keywords": ["engineer"], "location": "Kowloon", "maxItems": 50 }
```

### 注意事項

- **`maxItems` 是每個關鍵字**：3 個關鍵字 × 50 = 最多 150 筆。同一職缺若在兩個關鍵字都上榜，會各輸出一列（`keyword` 欄不同），保留每個關鍵字的搜尋事實。
- **薪資是原始字串**：`salary_label` 直接來自 SEEK（幣別、區間、週期混雜），保留原文不強拆數字。很多職缺不公開薪資，此時為 `null`。
- **`teaser` 非 JD 全文**：搜尋模式提供摘要；完整職缺描述將於 detail 模式（v1.1）推出。
- **職缺為快照**：以實際 JobsDB 頁面為準。

### FAQ

**Q：需要 JobsDB 帳號或 API key 嗎？**
不用。只抓公開職缺搜尋結果，無需登入或 token。

**Q：可以一次抓多國嗎？**
一次執行一個站別。馬來西亞/新加坡/菲律賓請用姊妹 Actor「JobStreet 爬蟲」。

**Q：抓得到職缺的完整內容與福利嗎？**
搜尋模式提供摘要與結構化欄位；完整 JD 將於 detail 模式（v1.1）推出。

**Q：怎麼計費？**
分項計費（PPE）：啟動一次 $0.005 + 職缺每筆 $0.002。只有成功寫入資料後才計費。

### 免責聲明

本工具僅抓取 JobsDB 公開可見的職缺資訊，供人力市場研究與資料分析之用。使用者應遵守 JobsDB／SEEK 服務條款及當地法律，自行負責資料的使用方式。本工具不蒐集任何需登入才能存取的私人資料。職缺內容以網站實際顯示為準。

***

*關鍵字：JobsDB 爬蟲、JobsDB scraper、香港職缺、泰國職缺、薪資行情、招募情報、SEEK API、job scraper、Hong Kong jobs data、Thailand jobs scraper、人力市場分析、薪資調查、人才名單、香港招聘、泰國招聘*

# Actor input Schema

## `mode` (type: `string`):

JobsDB v1.0 支援搜尋模式。

## `site` (type: `string`):

要抓哪一國的 JobsDB。

## `keywords` (type: `array`):

職缺關鍵字（職稱或技能）。例如：accountant、data engineer、marketing。一個概念一個關鍵字最準。

## `location` (type: `string`):

限定地區，例如 Selangor、Singapore。留空表示全國。

## `bulkInput` (type: `string`):

**一行一個關鍵字**，按 Enter 換行，不要加引號或逗號。執行時自動併入上面的關鍵字欄位。

## `maxItems` (type: `integer`):

**每個關鍵字**最多抓幾筆。N 個關鍵字最多 N×此數。越多費用越高。

## `proxyConfiguration` (type: `object`):

SEEK API 對 datacenter 請求友善，預設用 Apify datacenter proxy 自動輪替即可。大量抓取遇到被擋才需調整。

## Actor input object example

```json
{
  "mode": "search",
  "site": "hk",
  "keywords": [
    "accountant"
  ],
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {
    "mode": "search",
    "site": "hk",
    "keywords": [
        "accountant"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("claude_code_reviewer/jobsdb-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 = {
    "mode": "search",
    "site": "hk",
    "keywords": ["accountant"],
}

# Run the Actor and wait for it to finish
run = client.actor("claude_code_reviewer/jobsdb-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 '{
  "mode": "search",
  "site": "hk",
  "keywords": [
    "accountant"
  ]
}' |
apify call claude_code_reviewer/jobsdb-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/QQClcHouumIkt0j3f/builds/v1EC8bYeb4Yrfsbxw/openapi.json
