JobTopGun Scraper
Pricing
from $1.47 / 1,000 results
JobTopGun Scraper
Scrape job listings from JobTopGun.com — Thailand's #1 job board. Extracts full job details. Supports location filter (32 Thai provinces), keyword, job field, and bulk sitemap scraping. No proxy needed.
Pricing
from $1.47 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share

Extract job listings from jobtopgun.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 jobtopgun.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.
📍 Location fields
Structured location data for every listing, ready for filtering and analysis.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | (empty) | Specific job detail URLs to scrape (e.g. https://www.jobtopgun.com/en/jobs/j3068-351). |
searchQuery | string | (empty) | Keyword to search for (e.g. 'marketing', 'software engineer'). |
jobField | string | (empty) | Browse by job category. |
jobLocation | string | (empty) | Filter by Thai province or region. |
useSitemaps | boolean | false | Discover jobs via XML sitemaps (~2,500 jobs per file). Best for bulk collection. |
sitemapIndexes | array | [0] | Which sitemap files to use (0–3). Only relevant when 'Use Sitemaps' is enabled. |
maxResults | integer | 100 | Maximum number of jobs to scrape. |
requestsPerSecond | number | 2 | Rate limiting. Keep between 1–5 for respectful scraping. |
proxy | object | (empty) | Optional Apify proxy configuration. Not required — site is accessible without proxy. |
fetchDetails | boolean | false | Fetch 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.
| Field | Type | Description |
|---|---|---|
url | string | Direct link to the listing. |
jobId | string | Unique listing ID from the source. |
companyId | string | Company id. |
positionId | string | Position id. |
title | string | Job title as published. |
description | string | Full job description in plain text. |
descriptionMarkdown | string | Description markdown. |
responsibilities | string | Responsibilities. |
qualifications | string | Qualifications. |
recommendedSkills | array | Recommended skills. |
skills | string | Skills listed on the posting. |
keywordTags | array | Keyword tags. |
companyName | string | Hiring company name. |
companyLogo | string | URL of the company logo. |
companyWebsite | string | Company website. |
companyAbout | string | Company about. |
companyBanner | string | Company banner. |
companyMapImage | string | Company map image. |
companyLatitude | string | Company latitude. |
companyLongitude | string | Company longitude. |
yousayUrl | string | Yousay url. |
location | string | Location as displayed on the listing. |
locality | string | Locality. |
region | string | Region or state of the position. |
postalCode | string | Postal code of the position. |
country | string | Country of the position. |
workType | string | Work arrangement as published. |
jobType | string | Job type. |
employmentType | string | Employment type (e.g. full-time, part-time). |
salary | string | Salary as displayed (null if not published by the employer). |
salaryRaw | string | Salary raw. |
salaryMin | string | Minimum salary (null if not published by the employer). |
salaryMax | string | Maximum salary (null if not published by the employer). |
salaryCurrency | string | Currency code of the salary. |
salaryPeriod | string | Pay period the salary refers to (e.g. year, month, hour). |
degree | string | Degree. |
educationRequirement | string | Education requirement. |
experienceYears | string | Experience years. |
welfare | array | Welfare. |
benefits | array | Benefits listed on the posting. |
reviewSummary | string | Review summary. |
flowerOfHeart | number | Flower of heart. |
badges | array | Badges. |
datePosted | string | Date posted. |
validThrough | string | Valid through. |
dateScraped | string | Date scraped. |
Example record
{"url": "https://www.jobtopgun.com/en/jobs/j24115-131","jobId": "j24115-131","companyId": "24115","positionId": "131","title": "Programmer Developer","description": "1.พัฒนา Web Application หรือ Backend System ตามที่ได้รับมอบหมาย<div>2.ออกแบบและพัฒนาโครงสร้างระบบ (Backend / Frontend)</div><div>3.เชื่อมต่อระบบ API ระหว่าง Web และ Mobile</div><div>4.แก้ไข ปรับปรุง แ …","descriptionMarkdown": "1.พัฒนา Web Application หรือ Backend System ตามที่ได้รับมอบหมาย<div>2.ออกแบบและพัฒนาโครงสร้างระบบ (Backend / Frontend)</div><div>3.เชื่อมต่อระบบ API ระหว่าง Web และ Mobile</div><div>4.แก้ไข ปรับปรุง แ …","responsibilities": "1.พัฒนา Web Application หรือ Backend System ตามที่ได้รับมอบหมาย<div>2.ออกแบบและพัฒนาโครงสร้างระบบ (Backend / Frontend)</div><div>3.เชื่อมต่อระบบ API ระหว่าง Web และ Mobile</div><div>4.แก้ไข ปรับปรุง แ …","qualifications": "<ul><li>เพศหญิง/ชาย อายุระหว่าง 25–35 ปี</li><li>วุฒิการศึกษาระดับปริญญาตรี สาขาที่เกี่ยวข้อง</li><li>มีทักษะด้านการเขียนโปรแกรมด้วยภาษา Python, Java</li><li>มีประสบการณ์พัฒนาระบบด้วย Framework เช่น D …","recommendedSkills": ["Programmer","Web Application","เว็บแอพพลิเคชั่น","Web Apps"],"skills": "Programmer, Web Application, เว็บแอพพลิเคชั่น, Web Apps, Next.js, Backend, Java, Phy, Python, Django, Vue.js, Vue, Rest API, Client Server, พัฒนาโปรแกรม, เขียนโปรแกรม, Apis, Web Develope, Angular, Nod …","keywordTags": ["Angular","Apis","Backend","Django"],"companyName": "Donmuang Pattana Co.,Ltd","companyLogo": "https://static.jobtopgun.com/company_image/13/24115/logo_com_job/j24115.gif?time=20260702082201","companyWebsite": "https://www.simummuangmarket.com","companyAbout": "<strong>บริษัท ดอนเมืองพัฒนา จำกัด</strong> ประกอบกิจการตลาดสี่มุมเมือง ตลาดกลางผักขนาดใหญ่อันดับ 1 ของประเทศ มายาวนานกว่า 30 ปี มีปริมาณผักผลไม้เข้ามาทำการค้าผ่านตลาด ประมาณ 7,000 ตัน/วัน มูลค่าการซื …","companyBanner": "https://static.jobtopgun.com/company_image/13/24115/picslide/24115_1674619743104.png","companyMapImage": "https://maps.jobtopgun.com/13/24115/maps/24115_131.png","companyLatitude": "13.9598333","companyLongitude": "100.6182231","yousayUrl": "https://www.yousayhrsay.com/company/yousay/donmuang-pattana-coltd-24115","location": "Pathumthani","locality": "Lam Luk Ka","region": "Pathumthani","postalCode": "12130","country": "TH","workType": "Onsite","jobType": "Full Time","employmentType": "FULL_TIME","salary": "Negotiable","salaryRaw": "Negotiable","salaryMin": null,"salaryMax": null,"salaryCurrency": "THB","salaryPeriod": "MONTH","degree": "Bachelor's Degree","educationRequirement": "Bachelor's Degree","experienceYears": "2-7","welfare": ["Provident Fund","Marriage gift","5-day work week","ประกันชีวิต"],"benefits": ["Provident Fund","Marriage gift","5-day work week","ประกันชีวิต"],"reviewSummary": "Strong focus on employee well-being and work-life balance.","flowerOfHeart": 3,"badges": [],"datePosted": "2026-07-02","validThrough": "2026-07-31","dateScraped": "2026-07-02"}
Examples
Search for วิศวกร roles in กรุงเทพมหานคร:
{"searchQuery": "วิศวกร","maxResults": 100}
Broad nationwide crawl:
{"searchQuery": "วิศวกร","maxResults": 1000}
Scrape a specific search URL:
{"startUrls": [{"url": "https://www.jobtopgun.com/"}],"maxResults": 200}
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
$1.49 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.15 |
| 1,000 | ~$1.49 |
| 10,000 | ~$14.90 |
| 100,000 | ~$149.00 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Subscription tiers lower the rate further, down to $1.45 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.
Performance
| Run size | Typical time |
|---|---|
| 100 results | under 1 minute |
| 1,000 results | 2–4 minutes |
| 10,000 results | 20–35 minutes |
Known limitations
- Salary is only returned when the employer publishes it — many listings carry
nullsalary 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: jobtopgun.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