doda Jobs Scraper (Japan) avatar

doda Jobs Scraper (Japan)

Pricing

from $1.40 / 1,000 job scrapeds

Go to Apify Store
doda Jobs Scraper (Japan)

doda Jobs Scraper (Japan)

Scrape job listings from doda.jp, one of Japan's largest mid-career job boards: job id and URL, title, company, location, salary text with yen band where stated, employment type and feature tags - from the whole feed or any doda search URL.

Pricing

from $1.40 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

Superslow Sloth

Superslow Sloth

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

21 days ago

Last modified

Categories

Share

Scrape job listings from doda - PERSOL CAREER's job board, one of Japan's largest for mid-career hiring - and get one flat row per job: id and URL, title, company, location, salary as printed (plus a yen band when the card states one), employment type and feature tags. Japanese text is kept exactly as doda prints it.

Run it on doda's whole job feed, or paste any search you built on doda.jp.

Input

fieldmeaning
searchUrlsOptional. doda search result URLs on https://doda.jp/DodaFront/View/JobSearchList.action, copied from your browser after setting conditions on the site. Every condition is kept; the actor manages the page number. Empty means doda's whole job feed
maxItemsStop after this many jobs in total, shared across all search URLs. doda shows 50 jobs per page
proxyConfigurationApify datacenter proxy by default - see Proxy below

Output

fieldmeaning
job_iddoda's numeric job id, from the j_jid__<id> part of the job URL (a string)
urlThe job's detail page on doda.jp
titleThe job headline printed under the company name
companyCompany name as printed
job_summaryThe card's 仕事 (work) row
requirementsThe card's 対象 (who it is for) row
locationThe card's 勤務地 (work location) row
nearest_stationsThe card's 最寄駅 (nearest stations) row
businessThe card's 事業 (company business) row
salary_textThe card's 給与 (salary) row as printed, lines joined with a newline
salary_min_jpy, salary_max_jpyYen, only when salary_text states exactly one band or floor - see below
salary_periodyear for a 年収 band, month for a 月給 band, null when there is no band
employment_typesdoda's employment-type badges, e.g. ["正社員"]; a card can carry two (["正社員", "契約社員"])
tagsFeature badges: 転勤なし, 上場企業, 職種未経験歓迎, 5名以上採用 ...
is_newdoda's "New" badge
closing_soondoda's 締切間近 (closing soon) badge
appealThe free-text pitch beside the card's photo
image_urlThe card's photo
search_urlWhich search produced this row (page number stripped)

doda truncates long rows on the search page with "..."; this actor returns them as printed and does not open each job's detail page.

Which fields can be null, and why null is not zero

  • salary_min_jpy / salary_max_jpy / salary_period are null on most rows. On the 2026-10-01 feed most cards print example incomes ("年収570万円/入社5年目・主任", "モデル年収:503万円(30歳)") rather than a band, and an example is not a range. A value is filled only when the text states exactly one band or floor, such as "年収345万円~492万円" or "月給28万円以上". A floor has no maximum, so salary_max_jpy stays null. A card that gives two bands for two candidate profiles also gets null, because neither band belongs to the job as a whole. A 0 would read as "unpaid", and an invented band would read as a measurement.
  • job_summary, requirements, location, nearest_stations, business, salary_text are null when the card has no row with that label. Most cards carry all six, but not every card does.
  • image_url is null on doda's video cards. They show a video that a script loads, and the page links no image.
  • appeal is null when the card has no pitch text.

There is no posting-date column. doda's search card shows no date of any kind, and the "New" badge (is_new) is the only recency signal it gives.

Scheduled maintenance: runs return no jobs during it

doda takes the whole site down for scheduled system maintenance. One window was observed early on Sunday morning JST: on 2026-10-04 (a Sunday) every doda URL, over every proxy exit tried, returned HTTP 503 with the notice 「現在システムメンテナンス中につき、dodaサイトはご利用いただけません」 and an outage window of 01:00-06:00 JST.

If you run the actor during maintenance, it retries from fresh exits. It then stops cleanly with no jobs, logs an error naming the scheduled maintenance and the window doda states, and sets the run's status message to match. It does not fail with a bare "HTTP 503". The actor-start event is still charged. No job events are charged. Schedule recurring runs outside early Sunday JST.

Proxy

The default is Apify's datacenter proxy. On 2026-10-01 doda answered a datacenter exit with a full results page (HTTP 200). Residential exits are not needed for this site and cost more.

Billing

Pay per event: $0.0014 per job (job-scraped), plus a small actor-start fee per run. Each job is charged once, after it has been written to the dataset. The same job id is never charged twice in one run, even when two of your searches both return it.