104.com.tw Taiwan Jobs Scraper
Pricing
from $1.25 / 1,000 results
104.com.tw Taiwan Jobs Scraper
Scrape jobs from Taiwan's 104.com.tw — salary, location, company and HR contact details. Provisional listing; final SEO copy set post-verification.
Pricing
from $1.25 / 1,000 results
Rating
0.0
(0)
Developer
Corvuslab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
104.com.tw Jobs Scraper — Salary, Contacts & Job Monitoring for Taiwan
What does the 104.com.tw Jobs Scraper do?
Turn every live 104.com.tw job listing into a clean, structured record — salary (TWD), location with GPS, company profile, HR contact email/phone, applicant demand signals and full description — in seconds, at scale.
Scrape job listings from 104.com.tw, Taiwan's largest job board, with the richest per-job detail available: salary ranges (min/max in TWD, period), HR contact email and phone, applicant count and recruiter response score, the full company & industry profile (size, website, logo), welfare/benefits, required skills, languages and certificates, and the complete job description as text, HTML and Markdown. Filter by keyword, region, remote work, experience level, posted-within date and sort order; schedule it in incremental monitoring mode to capture only new and changed postings; and get pinged on Telegram, Slack, Discord or any webhook. No code, no login, no API key — export to JSON, CSV, Excel or the API.
Why this scraper
- ⚡ Fast & low-cost — browser-backed API extraction, no proxy needed. Clears Cloudflare automatically.
- 🧾 Rich, typed records — 60+ structured fields per job (salary min/max, HR contact, applicant demand, welfare tags, skills, GPS coordinates), not raw HTML.
- ♻️ Cheap to monitor — incremental mode re-scrapes only what changed (see below).
- 🔔 Notifications built in — Telegram, Slack, Discord or any webhook (n8n / Make / Zapier).
- 🤖 AI- & API-ready — compact output, MCP-friendly, one-click integrations.
✨ Key features
- 🔎 Search or URL scraping — run a keyword search (Chinese or English) with filters, or paste 104.com.tw search and job URLs directly.
- 💰 Structured salary — parsed
salaryMin/salaryMaxin TWD plussalaryCurrency,salaryPeriodandsalaryNegotiable— sort and filter on real numbers. - 📇 HR contact details —
applyEmail,phoneNumber,contactNameplusextractedEmails[]andextractedPhones[]pulled from the posting — the lead-gen edge competitors bury. - 📊 Applicant demand signals —
applicantCountandhrResponseScoreon every listing — spot low-competition, fast-replying employers. - 🏢 Company intelligence — company name, industry, employee count, website, logo and verified-advertiser flag on every record.
- 📍 Location with GPS —
location, fulladdress,latitude/longitudeandnearestMRTstation. - 🎚️ Rich filters — keyword, 20 Taiwan regions, remote-only, posted within (3–30 days), minimum experience (1–10+ years) and sort by relevance / date / salary.
- 🧾 Full descriptions, three ways — the complete job description as plain text, HTML and Markdown, with optional truncation.
- 🎁 Welfare & benefits —
welfareTags[]andwelfareTextwith the full benefits breakdown. - 📋 Requirements —
experienceRequired,educationRequired,languages[],skills[],specialties[],certificates[]andacceptRoles[]. - ♻️ Incremental monitoring — schedule it and get only what changed, tagged NEW / UPDATED / UNCHANGED / EXPIRED, with repost detection; unchanged items are skipped before their detail page is even fetched.
- 🔔 Notifications — Telegram, Slack, Discord or any webhook (n8n / Make / Zapier), fanned out on every run.
- 🤖 AI-ready — compact mode and drop-empty output keep payloads small for LLMs and MCP clients.
📤 Example output
{"id": "77wla","jobNo": "12126142","title": "Principal Scientist – Generative AI & NLP","url": "https://www.104.com.tw/job/77wla","source": "104.com.tw","searchKeyword": "python","scrapedAt": "2026-08-17T20:08:13.158479+00:00","detailFetched": true,"company": "易捷系統股份有限公司","companyNo": "130000000072555","companyUrl": "https://www.104.com.tw/company/1a2x6bjjaj","companyLogo": "https://static.104.com.tw/b_profile/cust_picture/2555/130000000072555/logo.png","companyIndustry": "人力派遣服務","employeeCount": 31000,"companySize": "31000人","appearDate": "2026-08-11","closeDate": "2026-09-13","applicantCount": 15,"hrResponseScore": 0.935,"salaryMin": 4000000,"salaryMax": null,"salaryText": "年薪4,000,000元以上","salaryCurrency": "TWD","salaryPeriod": "yearly","salaryNegotiable": false,"location": "印度","address": "印度矽谷 - Bengaluru","latitude": 12.9715987,"longitude": 77.5945627,"remoteWork": false,"employmentType": "full-time","headcount": 1,"experienceRequired": "10年以上","educationRequired": "碩士以上","languages": ["英文"],"jobCategories": ["資料科學家", "資料工程師"],"welfareTags": ["退職金提撥", "電信費補助", "週休二日", "勞保", "健保", "特別休假"],"contactName": "HR","applyEmail": "kevin.pi@nityo.com","phoneNumber": "02-1234-5678","extractedEmails": ["kevin.pi@nityo.com", "janet.han@nityo.com", "charlyn.lu@nityo.com"],"extractedPhones": ["02-1234-5678"]}
The full record also carries descriptionHtml, descriptionMarkdown, welfareText, skills[], specialties[], certificates[], acceptRoles[], socialProfiles, and (in incremental mode) changeType, isRepost and repostOfId.
📥 Example input
A few ready-to-run configurations — set these in the visual editor or pass them as JSON via the API:
Broad keyword search across all of 104.com.tw:
{ "query": "python", "maxResults": 100 }
Filtered — Taipei remote AI/data roles posted in the last 7 days, sorted by salary:
{"query": "資料分析師","area": ["6001001000"],"remoteWork": true,"datePosted": "7","sortBy": "salary","includeDetails": true,"maxResults": 200}
Lead-gen — only jobs with HR email, in Hsinchu:
{"query": "engineer","area": ["6001006000"],"requireContact": "email","maxResults": 50}
Incremental monitoring — poll new postings on a schedule and push to Telegram:
{"query": "軟體工程師","incrementalMode": true,"telegramToken": "123:ABC","telegramChatId": "@myjobsfeed"}
📚 What data can you extract from 104.com.tw?
- Core —
id,jobNo,title,url,source,searchKeyword,scrapedAt,detailFetched. - Salary —
salaryMin,salaryMax,salaryText,salaryCurrency,salaryPeriod,salaryNegotiable(parsed to real numbers in TWD). - Demand signals —
applicantCount,applicantVolumeLabel,hrResponseScore— how many people applied and how fast the recruiter replies. - Company —
company,companyNo,companyUrl,companyLogo,companyIndustry,companySize,employeeCount,companyWebsite,companyDescription,isVerifiedAdvertiser. - Location —
location,address,latitude,longitude,nearestMRT. - Employment —
employmentType,remoteWork,headcount,manageResponsibility,businessTrip,vacationPolicy,startWorkingDay,workHours,jobCategories[],majors[]. - Requirements —
experienceRequired,educationRequired,requiredMajors[],languages[],skills[],specialties[],certificates[],otherRequirements,acceptRoles[]. - Descriptions (with
includeDetails) —description(text),descriptionHtml,descriptionMarkdown. - Welfare & benefits —
welfareTags[],welfareText. - Contacts & lead-gen —
contactName,applyEmail,phoneNumber,applicationNote,extractedEmails[],extractedPhones[],extractedUrls[],socialProfiles. - Dates —
appearDate,closeDate. - Monitoring —
changeType(NEW / UPDATED / UNCHANGED / EXPIRED),isRepost,repostOfId,repostDetectedAt,contentHash.
Every field is present in standard mode (missing values are null); compact mode returns the core fields only, for lean AI/MCP payloads.
⚙️ Input
Configure it in the visual editor — no code needed — or pass JSON via the API.
| Field | What it does |
|---|---|
query | Keyword search (Chinese or English), e.g. python, 資料分析師. Comma-separate for multiple searches. |
startUrls | Scrape specific 104.com.tw search or job-detail URLs directly. |
area | Restrict to one or more of 20 Taiwan regions (Taipei, New Taipei, Taoyuan, Taichung, Tainan, Kaohsiung, Hsinchu, …). |
remoteWork | Limit results to remote-friendly positions. |
datePosted | Only jobs posted within 3 / 7 / 14 / 30 days. |
minExperience | Keep only jobs requiring 1+ / 3+ / 5+ / 10+ years of experience. |
sortBy | Sort by relevance, newest first or highest salary first. |
requireContact | Keep only jobs that carry HR contact details (email / phone / either / both). |
includeApplicantInsights | Add applicant count and recruiter response score to every record. |
includeDetails | Fetch each job's page for the full description, requirements, welfare and HR contact email/phone. |
descriptionFormat | Output the description as text, HTML, Markdown or all three. |
compact | Return core fields only — ideal for AI agents and MCP. |
incrementalMode | Emit only what changed since the last run (NEW / UPDATED / EXPIRED). |
maxResults | Cap the number of records (0 = unlimited). |
proxyConfiguration | Optional — works without a proxy at typical volumes. |
…plus notification channels (Telegram, Slack, Discord, webhook), incremental tuning (stateKey, emitUnchanged, emitExpired), description truncation, drop-empty output and retry settings — all in the visual editor.
💡 What can you do with 104.com.tw data?
- Taiwan job-market intelligence — track salary trends, demand by region and industry, and competitive hiring across Taiwan's largest job board.
- Recruiting & sourcing — surface HR email and phone for direct outreach; filter to only jobs with contacts using
requireContact. - Compensation benchmarking — analyze salary ranges by role, experience level and region with real TWD numbers.
- New-job monitoring — schedule incremental mode + notifications for a live change feed of fresh postings, paying only for the delta.
- Company intelligence — build a picture of who's hiring, their size, industry and welfare packages.
- AI agents & pipelines — compact output plugs straight into LLM / MCP workflows for automated analysis.
- Job-board & aggregator feeds — populate your own Taiwan jobs site with clean, structured, salary-rich listings.
♻️ Incremental monitoring — pay for changes, not repeats
Schedule the actor and turn on incremental mode: each run compares against the last and emits only NEW / UPDATED / EXPIRED records — unchanged items are skipped before their detail page is fetched, so a daily watch costs a fraction of a full re-scrape.
| Daily churn | of 1,000 tracked | billable records | you save |
|---|---|---|---|
| 5 % | 1,000 | 50 | 95 % |
| 15 % | 1,000 | 150 | 85 % |
| 30 % | 1,000 | 300 | 70 % |
The first run seeds the baseline and bills in full; every run after that bills only the delta.
🚀 How to scrape 104.com.tw
- Open the actor and enter a search keyword (e.g.
pythonor工程師) and/or pick filters — or paste a 104.com.tw URL. - Set Max results and choose whether to fetch full details (descriptions, welfare, HR contact).
- (Optional) Turn on incremental mode and a notification channel, then Schedule it.
- Click Start.
- Download the data as JSON, CSV or Excel, or pull it from the API.
New to Apify? Create a free account — it comes with monthly credit, no credit card required.
🔌 Integrations & export
Export to JSON, CSV, Excel or an HTML table, or pull from the REST API and the JavaScript / Python clients. Runs on a schedule, connects to Google Sheets, Slack, Make, Zapier and n8n, and works as an MCP tool for AI agents — compact mode keeps token usage small.
❓ FAQ
Do I need a proxy or login? No — it runs out of the box with no login or API key; Apify Proxy is available under Advanced for high-volume runs.
Can I get only new jobs on a schedule? Yes — turn on incremental mode and schedule it; each run emits only what changed (NEW / UPDATED / EXPIRED) and can notify your channel.
Does it include salary data? Yes — where a posting lists pay, you get the raw salaryText plus parsed salaryMin, salaryMax in TWD, salaryCurrency and salaryPeriod.
Can I get HR contact details? Yes — enable full details for the recruiter's applyEmail, phoneNumber and contactName, plus all extractedEmails[] and extractedPhones[] found in the posting.
What about applicant competition? Every listing includes applicantCount and hrResponseScore — spot high-demand roles and fast-replying recruiters.
Can I get the full job description? Yes — enable full details for the complete description as plain text, HTML and Markdown, plus welfare benefits and requirements.
What formats can I export? JSON, CSV, Excel, HTML table, or via the API.
Is it good for AI agents? Yes — enable compact mode; the output is MCP-friendly and payloads stay small.
How many records can I get? Set maxResults (0 = unlimited, bounded by how many the search returns).
⚖️ Is it legal to scrape 104.com.tw?
This actor accesses only publicly available data on 104.com.tw. You are responsible for how you use the extracted data — in particular any personal information — and for complying with the site's terms and applicable law (including the GDPR and Taiwan's PDPA where they apply). Not affiliated with, endorsed by, or sponsored by 104 Corporation.
Keywords: 104 scraper · 104.com.tw scraper · taiwan jobs scraper · taiwan job board scraper · 104 jobs api · taiwan salary data · taiwan recruitment · HR contact scraper · taiwan job listings · job monitoring taiwan · new job alerts · recruiting data · job board api · export jobs to CSV · MCP tool for AI agents · 台灣工作 · 104人力銀行