JobThai.com Job Scraper avatar

JobThai.com Job Scraper

Pricing

from $0.97 / 1,000 result scrapeds

Go to Apify Store
JobThai.com Job Scraper

JobThai.com Job Scraper

Scrape job listings from jobthai.com - Thailand's leading job board. GraphQL API, no proxy, no Playwright. PAY_PER_EVENT.

Pricing

from $0.97 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

1

Monthly active users

18 days ago

Last modified

Share

JobThai.com Job Scraper

Extract job listings from jobthai.com at scale, in a clean, consistent structure ready for analysis, job boards, recruiting tools and market research. No API key required.


Why this scraper?

🎯 Built for Thailand

A dedicated Thai scraper, not a global tool with a country dropdown. Search, locations and currency (THB) are tuned for jobthai.com.

📄 Complete job data

Full job title and description, direct listing URL and publish date for every record.

💶 Salary data

Salary information parsed from the listing where the employer publishes it, in THB. Missing salaries are returned as null, never guessed.

🏢 Company details

Hiring company name plus the profile details the source publishes, such as logo and company page.

📍 Precise location

City, region and country plus latitude/longitude for mapping and radius analysis.


Input parameters

ParameterTypeDefaultDescription
searchQuerystring(empty)Job title, skill, or free-text keyword (e.g. 'python developer', 'accountant').
provincestring(empty)'01'=Bangkok, '09'=Chon Buri, '10'=Chiang Mai, '99'=Overseas. Leave blank for all.
jobtypestring(empty)Category ID: 4=Accounting, 10=IT, 7=Engineering, 2=Sales, 16=HR, 31=Overseas. Blank=all.
regionstring(empty)'1'=North, '2'=Northeast, '3'=Central, '4'=East, '5'=West, '6'=South/Bangkok Area.
salarymininteger0Minimum monthly salary in THB.
salarymaxinteger0Maximum monthly salary in THB.
hybridworkbooleanfalseOnly show jobs that offer hybrid work arrangements.
wfhbooleanfalseOnly show fully remote / work-from-home jobs.
onlineInterviewbooleanfalseOnly show jobs offering online interviews.
startPageinteger1Page number to start from (1-indexed, 20 jobs per page).
maxPagesinteger0Maximum pages to scrape. 0 = unlimited.
maxResultsinteger100Maximum number of job listings to return. Increase or set to 0 for unlimited (will scrape all 47,000+ jobs - use with maxPages too).
scrapeDetailbooleanfalseFetch the detail page for each job: adds description, benefit, GPS coords, contact details, numberOfPositions, employmentType, and more.
languagestring"en"'en' = English field labels. 'th' = Thai field labels.
fetchDetailsbooleanfalseFetch full job details from individual listing pages.

Output schema

Every field below is present on every record. Fields the source does not publish for a given job are returned as null rather than omitted.

FieldTypeDescription
jobIdstringNumeric job ID
companyIdstringEmployer company ID
titlestringJob title
companystringHiring company
provincestringProvince code (see table). Blank = all
provinceIdstringProvince code (e.g. "01" = Bangkok)
districtstringDistrict name
districtIdstringDistrict code
regionstringRegion: 1=N 2=NE 3=Central 4=E 5=W 6=S/Bangkok
regionIdstringRegion ID ("6" = Bangkok Area)
countrystringCountry name — only populated for overseas jobs (province="99"). null for all domestic Thai listings
jobTypestringJob type
jobTypeIdnumberJob category ID
industrystringIndustrial estate / area name
industryIdstringIndustry ID
salarystringSalary range or description
isUrgentbooleantrue if marked as urgent hiring
isTopCompanybooleantrue if featured company
workLocationstringFree-text work location detail
transitStationsarrayNearby BTS/MRT/BRT stations with distance (metres) and type
tagsarrayLabels: "Hybrid Work", "Online Interview", "Hybrid Working"
datePostedstringISO date (YYYY-MM-DD)
updatedAtstringFull ISO timestamp
jobUrlstringCanonical link: https://www.jobthai.com/jobsearch/job/{id}
scrapedAtstringISO timestamp of extraction
companyWebsitestringEmployer website
businessTypestringCompany business category
companyBenefitstringBenefit text from company profile
descriptionstringFull job description / responsibilities
descriptionMarkdownstringDescription in Markdown/plain text.
benefitstringWelfare and benefits (company-level)
applyMethodstringHow to apply
numberOfPositionsstringNumber of open positions
employmentTypestringFULL_TIME / PART_TIME / CONTRACT
englishApplybooleanWhether English CV is accepted
subJobTypestringSub-category of job type
industryAreastringIndustry area.
subdistrictstringSub-district (tambon)
addressstringFull work address
latitudenumberGPS latitude — null if employer did not set location
longitudenumberGPS longitude — null if employer did not set location
contactNamestringHR contact name
contactTelstringHR phone number
contactFaxstringHR fax number
contactEmailsarrayHR email addresses (trustmail masked)
contactLineIdstringHR Line ID
applyExternalLinkstringExternal application URL (if any)

Example record

{
"jobId": "1881848",
"companyId": "144124",
"title": "เจ้าหน้าที่บุคคล",
"company": "บริษัท เซมมิ เทรดดิ้ง จำกัด",
"province": "Bangkok",
"provinceId": "01",
"district": "Rat Burana",
"districtId": "0137",
"region": "Bangkok Area",
"regionId": "6",
"country": null,
"jobType": "Human Resources",
"jobTypeId": 16,
"industry": null,
"industryId": null,
"salary": "Based on company’s structure",
"isUrgent": false,
"isTopCompany": false,
"workLocation": "",
"transitStations": [],
"tags": [],
"datePosted": "2026-07-02",
"updatedAt": "2026-07-02T16:02:10.000Z",
"jobUrl": "https://www.jobthai.com/jobsearch/job/1881848",
"scrapedAt": "2026-07-02T16:10:09.017Z",
"companyWebsite": "http://www.cemmitrading.co.th",
"businessType": "Metal",
"companyBenefit": " - ค่าโทรศัพท์ (เฉพาะ ตำแหน่ง)\r\n- เบี้ยขยัน (400 บาท พนักงานรายผลิต)\r\n- โบนัสประจำปี (ตามผลประกอบการ)\r\n- เสื้อฟอร์มบริษัท\r\n- OT + ค่าข้าว\r\n- วันหยุดประจำปีอย่างน้อย 14 วัน\r\n- วันหยุดพักร้อน \r\n- เงินทุ …",
"description": "• สรรหาและคัดเลือกบุคลากรให้เหมาะสมกับองค์กร\r\n• จัดทำสัญญาจ้างตามกฎหมายแรงงาน\r\n• ดูแลและจัดทำระบบเงินเดือน\r\n• จัดทำเอกสารและดูแลข้อมูลพนักงาน\r\n• พัฒนาทักษะบุคลากรในองค์กร\r\n• จัดทำการประเมินผลการทำงาน …",
"descriptionMarkdown": "• สรรหาและคัดเลือกบุคลากรให้เหมาะสมกับองค์กร\r\n• จัดทำสัญญาจ้างตามกฎหมายแรงงาน\r\n• ดูแลและจัดทำระบบเงินเดือน\r\n• จัดทำเอกสารและดูแลข้อมูลพนักงาน\r\n• พัฒนาทักษะบุคลากรในองค์กร\r\n• จัดทำการประเมินผลการทำงาน …",
"benefit": " - ค่าโทรศัพท์ (เฉพาะ ตำแหน่ง)\r\n- เบี้ยขยัน (400 บาท พนักงานรายผลิต)\r\n- โบนัสประจำปี (ตามผลประกอบการ)\r\n- เสื้อฟอร์มบริษัท\r\n- OT + ค่าข้าว\r\n- วันหยุดประจำปีอย่างน้อย 14 วัน\r\n- วันหยุดพักร้อน \r\n- เงินทุ …",
"applyMethod": "- สมัครงานผ่านทาง JobThai (Click Apply Now)\r\n- สมัครผ่านทาง E-mail\r\n- สมัครได้ด้วยตนเอง ในวันและเวลาทำการ \r\n- สอบถามเพิ่มเติมได้ตามเบอร์โทรศัพท์ด้านล่าง",
"numberOfPositions": "2",
"employmentType": "FULL_TIME",
"englishApply": false,
"subJobType": "Human Resources",
"industryArea": null,
"subdistrict": "Bang Pa Kok",
"address": "",
"latitude": 13.678325,
"longitude": 100.497889,
"contactName": "ฝ่ายบุคคล",
"contactTel": "02-428-6183-4 ต่อ 212 ",
"contactFax": "02-427-3418",
"contactEmails": [
"cemmitrading_hr_54@trustmail.jobthai.com"
],
"contactLineId": "0842074615",
"applyExternalLink": null
}

Examples

Search for วิศวกร roles in กรุงเทพมหานคร:

{
"searchQuery": "วิศวกร",
"region": "กรุงเทพมหานคร",
"maxResults": 100
}

Broad nationwide crawl:

{
"searchQuery": "วิศวกร",
"maxResults": 1000
}

Larger run with a hard cap:

{
"searchQuery": "วิศวกร",
"region": "กรุงเทพมหานคร",
"maxResults": 500
}

Daily feed (run on a schedule):

{
"searchQuery": "วิศวกร",
"maxResults": 500
}

Schedule this input in the Apify Scheduler (for example daily at 07:00) to keep an always-fresh feed of the newest listings.


💰 Pricing

$0.99 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.

ResultsCost
100~$0.10
1,000~$0.99
10,000~$9.9
100,000~$99

Flat-rate alternatives typically charge $29–$49/month regardless of usage.

Subscription tiers lower the rate further, down to $0.95 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.


Performance

Run sizeTypical time
100 resultsunder 1 minute
1,000 results2–4 minutes
10,000 results20–35 minutes

Known limitations

  • Salary is only returned when the employer publishes it — many listings carry null salary fields.
  • Company details vary per listing; the scraper returns what the source publishes and never invents data.
  • Very large result sets are bounded by the source's own paging limits.
  • Listings can be removed by the source at any time, so a small share of URLs may expire shortly after scraping.

Technical details

  • Source: jobthai.com — Thailand job listings
  • Coverage: everything the public search exposes, filterable via the input parameters above
  • Retry: automatic retry on network errors with exponential backoff

Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl