104.com.tw Taiwan Jobs Scraper avatar

104.com.tw Taiwan Jobs Scraper

Pricing

from $1.25 / 1,000 results

Go to Apify Store
104.com.tw Taiwan Jobs Scraper

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

Corvuslab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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 / salaryMax in TWD plus salaryCurrency, salaryPeriod and salaryNegotiable — sort and filter on real numbers.
  • 📇 HR contact detailsapplyEmail, phoneNumber, contactName plus extractedEmails[] and extractedPhones[] pulled from the posting — the lead-gen edge competitors bury.
  • 📊 Applicant demand signalsapplicantCount and hrResponseScore on 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 GPSlocation, full address, latitude / longitude and nearestMRT station.
  • 🎚️ 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 & benefitswelfareTags[] and welfareText with the full benefits breakdown.
  • 📋 RequirementsexperienceRequired, educationRequired, languages[], skills[], specialties[], certificates[] and acceptRoles[].
  • ♻️ 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?

  • Coreid, jobNo, title, url, source, searchKeyword, scrapedAt, detailFetched.
  • SalarysalaryMin, salaryMax, salaryText, salaryCurrency, salaryPeriod, salaryNegotiable (parsed to real numbers in TWD).
  • Demand signalsapplicantCount, applicantVolumeLabel, hrResponseScore — how many people applied and how fast the recruiter replies.
  • Companycompany, companyNo, companyUrl, companyLogo, companyIndustry, companySize, employeeCount, companyWebsite, companyDescription, isVerifiedAdvertiser.
  • Locationlocation, address, latitude, longitude, nearestMRT.
  • EmploymentemploymentType, remoteWork, headcount, manageResponsibility, businessTrip, vacationPolicy, startWorkingDay, workHours, jobCategories[], majors[].
  • RequirementsexperienceRequired, educationRequired, requiredMajors[], languages[], skills[], specialties[], certificates[], otherRequirements, acceptRoles[].
  • Descriptions (with includeDetails) — description (text), descriptionHtml, descriptionMarkdown.
  • Welfare & benefitswelfareTags[], welfareText.
  • Contacts & lead-gencontactName, applyEmail, phoneNumber, applicationNote, extractedEmails[], extractedPhones[], extractedUrls[], socialProfiles.
  • DatesappearDate, closeDate.
  • MonitoringchangeType (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.

FieldWhat it does
queryKeyword search (Chinese or English), e.g. python, 資料分析師. Comma-separate for multiple searches.
startUrlsScrape specific 104.com.tw search or job-detail URLs directly.
areaRestrict to one or more of 20 Taiwan regions (Taipei, New Taipei, Taoyuan, Taichung, Tainan, Kaohsiung, Hsinchu, …).
remoteWorkLimit results to remote-friendly positions.
datePostedOnly jobs posted within 3 / 7 / 14 / 30 days.
minExperienceKeep only jobs requiring 1+ / 3+ / 5+ / 10+ years of experience.
sortBySort by relevance, newest first or highest salary first.
requireContactKeep only jobs that carry HR contact details (email / phone / either / both).
includeApplicantInsightsAdd applicant count and recruiter response score to every record.
includeDetailsFetch each job's page for the full description, requirements, welfare and HR contact email/phone.
descriptionFormatOutput the description as text, HTML, Markdown or all three.
compactReturn core fields only — ideal for AI agents and MCP.
incrementalModeEmit only what changed since the last run (NEW / UPDATED / EXPIRED).
maxResultsCap the number of records (0 = unlimited).
proxyConfigurationOptional — 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 churnof 1,000 trackedbillable recordsyou save
5 %1,0005095 %
15 %1,00015085 %
30 %1,00030070 %

The first run seeds the baseline and bills in full; every run after that bills only the delta.


🚀 How to scrape 104.com.tw

  1. Open the actor and enter a search keyword (e.g. python or 工程師) and/or pick filters — or paste a 104.com.tw URL.
  2. Set Max results and choose whether to fetch full details (descriptions, welfare, HR contact).
  3. (Optional) Turn on incremental mode and a notification channel, then Schedule it.
  4. Click Start.
  5. 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).


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人力銀行