Work24 (고용24) Korea Job Postings Scraper
Under maintenancePricing
$2.00 / 1,000 jobs
Work24 (고용24) Korea Job Postings Scraper
Under maintenanceJob postings from Korea's government job portal work24.go.kr: title, company, salary (structured KRW), region, deadline, employment type, hours, benefits, full description. Keyword and region filters. No login, no API key.
Scrapes job postings from work24.go.kr, the Korean government's job portal (formerly WorkNet). It lists well over 100,000 open positions with the fields commercial boards often hide: exact salary, employment type, weekly hours, social insurance, address, application deadline. No login, no API key, no proxy needed. Pay-per-event: one job event per posting saved.
What you get
One dataset item per posting. With fetchDetails: true (default):
| field | example |
|---|---|
id | K180612609010034 (구인인증번호) |
url | link to the posting on work24.go.kr |
title, company | 평택 성광요양원에서 … 요양보호사 …, 성광요양원 |
salaryText, salaryType, salaryMin, salaryMax | 월급 246만원 이상, 월급, 2460000, null (KRW; type is 시급/일급/주급/월급/연봉) |
career, education | 관계없음, 학력무관 |
employmentType, workType, workHours, workDays | 기간의 정함이 있는 근로계약 …, 주 5일 근무, 주 소정근로시간 : 40시간 …, 주5일 |
address, regionShort, nearestStation | full work address, the list's short 시/구/로 string, nearest subway station |
deadline, untilFilled, registeredDate, registeredAt | 2026-09-30, false, 2026-09-01, 2026-09-01 14:45:55 |
openings, occupation, occupationKeywords, requiredLicenses | 1, 요양보호사(노인요양사), 요양보호사, 필수\n요양보호사1급 |
socialInsurance, retirementBenefits, benefits | 국민연금, 고용보험, 산재보험, 건강보험, 퇴직금, ["식사 제공 (1식)"] |
description | full 직무내용 text with line breaks |
descriptionUrl | for 사람인 / 잡코리아 / 인크루트 syndicated postings, the URL of the source-site page that holds the 직무내용; description is fetched from it unless fetchDescriptions is off |
views, source | page views, information provider (e.g. 고용24) |
fields | every label → value pair of the detail tables (모집 인원, 근무 예정지, 전공, 우대조건, 인증기관, …) so nothing is lost when the site adds a column |
With fetchDetails: false you get the list fields only (id, url, title, company, salary fields, career, education, workDays, workHours, regionShort, deadline, untilFilled, registeredDate, source) — one request per 50 postings.
Input
| field | default | notes |
|---|---|---|
keyword | (empty) | search term; matches title, company and description like the site's search box |
region | (empty) | 5-digit Work24 region code — 11000 서울, 26000 부산, 27000 대구, 28000 인천, 29000 광주, 30000 대전, 31000 울산, 36110 세종, 41000 경기, 43000 충북, 44000 충남, 46000 전남, 47000 경북, 48000 경남, 50000 제주, 51000 강원, 52000 전북; district codes such as 11110 (종로구) also work |
maxItems | 100 | stop after this many postings (max 5000); newest first |
fetchDetails | true | open each posting for the full record |
fetchDescriptions | true | for 사람인 / 잡코리아 / 인크루트 syndicated postings, also fetch the source-site page that holds the 직무내용 (one extra request each) |
maxConcurrency | 5 | parallel fetches |
proxyConfiguration | none | only needed if your IP is blocked |
Example: nurses in Seoul, list data only —
{ "keyword": "간호사", "region": "11000", "fetchDetails": false, "maxItems": 500 }
Pricing
Pay per event: one job event per posting saved to the dataset. Nothing is charged for list pages, failed pages or postings that disappeared between the list and the detail fetch. Set Max total charge on the run to cap spend; the actor stops cleanly at the budget and never over-charges.
Notes
- Results are sorted newest first (the portal's
DATE DESC). The unfiltered feed changes minute by minute, so two runs are not identical. untilFilledistruefor 채용시까지 (open until filled) postings;deadlinestill carries the date the portal prints for them (sometimes a placeholder in year 2099).- Syndicated postings from commercial boards (
source= 사람인, 잡코리아, 원티드, 인크루트, …;infoTypeCd≠VALIDATION) show up mainly in keyword searches. Their detail pages use a different layout:career,education,employmentType,address,workType,workHours,retirementBenefitsandbenefitsare filled when stated,openings/registeredAtare not stated, and the 직무내용 is inline for 원티드-style boards but only an iframe for 사람인 / 잡코리아 / 인크루트 — the actor follows that iframe (descriptionUrl, one extra request) to filldescription; setfetchDescriptions: falseto skip it, in which casedescriptionis null for those postings. Source-site text is flattened as-is: 잡코리아 / 인크루트 pages are table layouts, so theirdescriptionmay start with a table header line (e.g.모집분야 및 자격요건) or a제공처line; the run'sSUMMARYrecord countsdescriptionsFetched/descriptionsFailed. Postings entered directly on 고용24 (source: "고용24") always have the full record. - Postings removed between the list fetch and the detail fetch are skipped and not charged.
- Public data only. Nothing behind a login is touched; the actor makes the same requests a browser makes on the public search page.