Jobsdb Scraper
Pricing
Pay per usage
Jobsdb Scraper
A lightweight actor to scrape job listings from Jobsdb, extracting details like title, company, and location. It's fast and easy to use. For the most reliable and consistent results, using residential proxies is strongly recommended to prevent getting blocked and ensure data accuracy.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Shahid Irfan
Actor stats
0
Bookmarked
8
Total users
2
Monthly active users
7 days ago
Last modified
Categories
Share
Effortlessly extract job listings from JobsDB.com, Asia's leading job portal covering Thailand and Hong Kong.
Features
- 🎯 Keyword & Location Search - Find jobs matching your criteria
- 📊 Structured Output - Export to JSON, CSV, Excel, or XML
- ⚡ Fast Extraction - Optimized for speed and reliability
- 🔄 Auto-Pagination - Scrapes multiple pages automatically
- 💼 Full Details - Job descriptions, salaries, company info
- 🌏 Multi-Region - Supports Thailand and Hong Kong
Use Cases
| Industry | Application |
|---|---|
| Recruitment | Monitor job market trends and competitor postings |
| HR Analytics | Analyze salary ranges and skill demands |
| Job Boards | Aggregate listings for your platform |
| Career Services | Help job seekers find opportunities |
| Market Research | Track hiring patterns across industries |
Getting Started
Quick Start
{"keyword": "software engineer","location": "Bangkok","country": "th","maxJobs": 50}
Using Custom URL
{"startUrl": "https://th.jobsdb.com/jobs?q=data+analyst","maxJobs": 100}
Full Configuration
{"keyword": "marketing manager","location": "Hong Kong","country": "hk","maxJobs": 200,"maxPagesPerList": 10,"collectDetails": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
keyword | String | - | Search term (e.g., "software engineer") |
location | String | - | Location filter (e.g., "Bangkok") |
country | String | th | Country: "th" for Thailand, "hk" for Hong Kong |
startUrl | String | - | Direct JobsDB URL (overrides keyword/location) |
maxJobs | Integer | 50 | Maximum jobs to collect |
maxPagesPerList | Integer | 50 | Maximum pages to crawl |
collectDetails | Boolean | true | Fetch full job descriptions |
proxyConfiguration | Object | - | Proxy settings for reliable scraping |
Output Schema
Each job listing includes:
| Field | Type | Description |
|---|---|---|
title | String | Job position title |
company | String | Hiring company name |
location | String | Job location |
salary | String | Salary range (if available) |
workType | String | Full time, Part time, Contract, etc. |
classification | String | Job classification |
postedAt_relative | String | Relative posting date (e.g., "2d ago") |
postedAt_iso | String | ISO 8601 posting date |
description_html | String | Full description with HTML formatting |
description_text | String | Plain text description |
url | String | Direct link to job posting |
source | String | "jobsdb" |
list_url | String | URL of the list page |
scrapedAt | String | ISO 8601 scrape timestamp |
Sample Output
{"title": "Senior Software Engineer","company": "Tech Solutions Co., Ltd.","location": "Bangkok","salary": "฿50,000 - ฿80,000 per month","workType": "Full time","classification": "Information & Communication Technology","postedAt_relative": "2d ago","postedAt_iso": "2025-12-07T00:00:00.000Z","description_html": "<div><p>We are seeking an experienced...</p></div>","description_text": "We are seeking an experienced...","url": "https://th.jobsdb.com/job/12345678","source": "jobsdb","list_url": "https://th.jobsdb.com/jobs?q=software+engineer","scrapedAt": "2025-12-09T00:00:00.000Z"}
API Integration
REST API
curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~jobsdb-scraper/runs" \-H "Authorization: Bearer YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"keyword": "developer", "location": "Singapore", "results_wanted": 25}'
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('YOUR_USERNAME/jobsdb-scraper').call({keyword: 'software engineer',location: 'Singapore',results_wanted: 50});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Found ${items.length} jobs`);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("YOUR_USERNAME/jobsdb-scraper").call(run_input={"keyword": "data scientist","location": "Singapore","results_wanted": 100})dataset = client.dataset(run["defaultDatasetId"])for item in dataset.iterate_items():print(f"{item['title']} at {item['company']}")
Integrations
Connect scraped data to your favorite tools:
| Platform | Use Case |
|---|---|
| Google Sheets | Automatic spreadsheet updates |
| Slack | Job posting notifications |
| Zapier | Workflow automation |
| Make | Complex data pipelines |
| Webhooks | Real-time data delivery |
Performance
| Metric | Value |
|---|---|
| Speed | ~30 jobs per minute |
| Concurrency | Optimized for reliability |
| Memory | 4 GB recommended |
| Timeout | Completes within 5 minutes |
Best Practices
- Start Small - Test with 20-50 jobs before large scrapes
- Use Proxies - Enable Apify Proxy for best results
- Specific Searches - Narrow keywords yield better matches
- Schedule Runs - Set up daily/weekly scrapes for fresh data
- Export Wisely - Use CSV for spreadsheets, JSON for APIs
Troubleshooting
No results found
- Verify search terms match actual JobsDB listings
- Try broader keywords or different locations
- Check if JobsDB has jobs for your query
Timeout errors
- Reduce
results_wantedormax_pages - Actor has safety limits to complete within time bounds
Missing descriptions
- Some employers don't provide detailed descriptions
- Enable
collectDetails: truefor full information
Pricing
Costs depend on:
- Number of jobs scraped
- Proxy usage
- Memory allocation
Estimate: 100 jobs ≈ $0.05-0.10 platform usage
Supported Regions
| Country | Domain |
|---|---|
| Thailand | th.jobsdb.com |
| Hong Kong | hk.jobsdb.com |
Legal Notice
This Actor is for educational and research purposes. Users must:
- Comply with JobsDB terms of service
- Respect rate limits and robots.txt
- Follow applicable data protection laws
- Use data ethically and responsibly
For commercial data needs, consider JobsDB's official API.
Support
- Issues: Report bugs via the Issues tab
- Questions: Contact through Apify platform
- Custom Development: Request tailored solutions
⭐ If this Actor helps you, please leave a review!