Hello Work Japan Jobs — Openings & Wages by Prefecture
Pricing
from $20.00 / 1,000 job market analyzeds
Hello Work Japan Jobs — Openings & Wages by Prefecture
Enter a keyword and prefecture and get how many jobs are open and what they pay on Hello Work, Japan's public job service. Returns the exact opening count, then from the 60 newest ads the median starting wage, its range and the permanent vs part-time mix. $0.02 per keyword × prefecture. Unofficial.
Pricing
from $20.00 / 1,000 job market analyzeds
Rating
0.0
(0)
Developer
h ichi
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What it does: Tells you how many jobs are open and what they pay for any keyword in any Japanese prefecture — from Hello Work, Japan's public job service.
You enter: A keyword as the postings write it, e.g. 看護師 (nurse), and a prefecture, e.g. Kochi or code 39.
You get: One row per keyword and prefecture: the exact opening count, then from the 60 newest postings the median hourly / monthly starting wage with range, how wide the pay band typically is, permanent vs part-time mix, top cities. Optional: one row per posting.
Price: $0.02 per keyword and prefecture — every combination is charged, and all means 47 prefectures. +$0.002 per job if you also want the list (off by default). No results = no charge.
Example: enter 看護師 + Kochi → 615 openings; measured on the 60 newest ads: median monthly starting wage ¥225,500 across the 48 that pay monthly (range ¥170,000–420,000) · pay band typically ¥56,600 wide · 63% permanent
Unofficial — not affiliated with Hello Work (Japan's Ministry of Health, Labour and Welfare). Reads public pages only.
Why this data is different: wages are a structured range
Japanese job ads are famous for free-text salaries ("月給29万1230円+皆勤手当1万円"). Hello Work is the exception: every posting carries a machine-readable 225,500円 〜 282,100円 pair. That means this Actor can report something no other Japanese job source can:
medianRangeWidth— how wide the advertised band is, i.e. how much negotiation headroom a role has in that marketfixedWageShare— the share of employers offering a single fixed number (no headroom at all)- clean hourly / daily / monthly figures — the median and the middle 50% range for each — instead of one meaningless blended number
What you get per keyword × prefecture (one record)
| Field | Meaning |
|---|---|
keywordSearched | The keyword as it was actually sent (Latin letters full-width), with a keywordNote when that differs from what you typed |
totalOpenings | Exact count of live openings for that keyword in that prefecture — a labour-demand indicator in its own right, not a sample estimate |
wages.hourly / wages.daily / wages.monthly | n, median, p25, p75, min, max of the advertised starting wage, plus medianUpper, medianRangeWidth and fixedWageShare |
wages.annualFromMonthly | Monthly median × 12, as a floor (bonuses are not published in the list view) |
employmentTypeBreakdown | 正社員 (permanent) vs 正社員以外 (non-regular) vs パート (part-time) vs dispatched, with shares |
topMunicipalities | Where inside the prefecture the jobs actually are (top 5 cities/wards) |
acceptedDateRange / deadlineDateRange | How fresh the postings are and how long they stay open |
confidence | high, or medium when the pay-period inference is not clean-cut |
Optionally, every sampled posting as its own record (job number, occupation, employer, location, wage range, dates).
Privacy: only employer (company) names are collected. Contact names and phone numbers are never read and never returned.
Pricing — $0.02 per keyword and prefecture
| Event | Price | When |
|---|---|---|
| Market summary | $0.02 | Per keyword × prefecture analyzed |
| Individual job posting | $0.002 | Only if you enable Include individual job postings |
A default run (1 keyword, 1 prefecture) costs $0.02 and takes about 4 seconds. Every keyword × prefecture combination is charged, so ["all"] means 47 charges per keyword. You pay per combination; there is no monthly fee. Combinations that return zero openings are never charged.
Input
| Field | Example | Notes |
|---|---|---|
keywords | ["看護師"], ["IT","経理"] | Occupation, skill, qualification or employer, as the posting writes it. See Keywords below. Required |
prefectures | ["13"], ["Tokyo","Kochi"], ["東京都"], ["all"] | JIS codes, English names or Japanese names — all accepted. "all" = 47 prefectures |
jobCategory | "1" | 1 = general openings (一般), 4 = seasonal migrant work (出稼ぎ) |
maxPagesPerSlice | 2 | 30 jobs per page, 1–5 pages = up to 150 sampled jobs. Does not affect totalOpenings |
includeIndividualJobs | false | Enable to also get each sampled posting as a record |
convertToUsd | false | Adds a USD copy of every wage statistic |
Cost and time scale with keywords × prefectures. Keep a run to a handful of combinations; the Actor keeps a soft 95-second budget and flags any record it had to truncate with truncatedForTimeLimit.
Keywords: the word the posting uses, sent full-width
Hello Work's free-word search is a literal match against Japanese postings. Two things follow, both measured on 2026-08-18 in Tokyo (general openings):
- Latin letters and digits are sent full-width, because that is how the
index holds them. Typing
ITreturns 7,079 openings through this Actor; the same query with half-width letters returns 0 on the site itself. You type it either way — the conversion happens here, and each record shows the form that was sent askeywordSearched(with akeywordNotewhen it differs from what you typed). Nothing is translated: the letters are the same letters. - An English word for a Japanese job title still finds nothing, because no
posting contains it:
Nurse→ 0,看護師→ 5,684. Latin words work where the postings themselves use them (IT7,079,python34). Matching is case-sensitive, as on the site.
Exact vs sampled — which is which
| Field | Basis |
|---|---|
totalOpenings | Exact — the site's own result count for the query |
| everything else | Sampled from the newest maxPagesPerSlice × 30 postings |
Hello Work serves a fixed 30 results per page in newest-first order, and neither the page size nor the sort order can be changed over HTTP. So the sample is the most recently posted openings, not a random draw — which is exactly what you want for a "what is the market paying right now" read, and exactly what you must not treat as a stratified sample of the whole stock. Every record states this in sampleBasis: "newest-first" and estimatedFrom.method.
Output example
Measured on 2026-07-25 (real run): 看護師 × Kochi. The block is abridged — the lists shown are cut short, the numbers are the ones the run produced.
{"type": "job_market_summary","keyword": "看護師","prefecture": "Kochi","prefectureNameJa": "高知県","prefectureCode": "39","jobCategory": "1","totalOpenings": 615,"sampledJobs": 60,"sampledPages": 2,"sampleBasis": "newest-first","wages": {"hourly": {"n": 12, "median": 1277, "p25": 1150, "p75": 1400, "min": 1030,"max": 1800, "medianUpper": 1377, "medianRangeWidth": 100,"fixedWageShare": 0.25},"daily": {"n": 0, "median": null, "medianRangeWidth": null},"monthly": {"n": 48, "median": 225500, "p25": 198000, "p75": 268000,"min": 170000, "max": 420000, "medianUpper": 282100,"medianRangeWidth": 56600, "fixedWageShare": 0.08},"annualFromMonthly": {"n": 48, "median": 2706000,"note": "Monthly lower bound x 12. Bonuses ..."}},"employmentTypeBreakdown": [{"employmentType": "正社員", "name": "Permanent employee (seishain)", "jobs": 38, "share": 0.6333},{"employmentType": "正社員以外", "name": "Non-regular full-time employee", "jobs": 14, "share": 0.2333},{"employmentType": "パート労働者", "name": "Part-time worker", "jobs": 8, "share": 0.1333}],"topMunicipalities": [{"municipality": "高知市", "jobs": 31}, {"municipality": "南国市", "jobs": 6}],"acceptedDateRange": {"newest": "2026-07-24", "oldest": "2026-07-11"},"deadlineDateRange": {"nearest": "2026-08-31", "farthest": "2026-10-31"},"currency": "JPY","confidence": "high","checkedAt": "2026-07-25T09:00:00+00:00","sourceUrl": "https://www.hellowork.mhlw.go.jp/kensaku/GECA110010.do?action=searchBtn&..."}
(That run predates the keywordSearched / keywordNote fields, which is
why the block above does not show them.)
With includeIndividualJobs: true you additionally get, per posting:
{"type": "job","jobNumber": "38010-24578261","occupation": "看護職員(デイサービス)","employerName": "株式会社 ツクイ 中国・四国圏","workLocation": "高知県高知市","municipality": "高知市","employmentType": "正社員","wageLow": 225500, "wageHigh": 282100, "wageRangeWidth": 56600,"wageType": "monthly","acceptedDate": "2026-07-24", "deadlineDate": "2026-09-30"}
Use cases
- International recruiters & relocation firms — benchmark what a role really pays in a given prefecture before quoting a candidate, including the negotiation band
- HR & compensation teams — a live, free-of-survey-fees external salary benchmark for Japan, per occupation and per region
- HR-tech / job-board products — salary-range widgets and "jobs open near you" counts without licensing a private board
- Labour-market analysts, economists, policy & regional research — openings per keyword per prefecture is a demand series you can run weekly; the newest-first sample doubles as a flow (new postings) measure
- Site selection & expansion planning — is there a hiring pool for welders / caregivers / drivers in this prefecture, and at what price
- Staffing & franchise operators — compare your offer against the local Hello Work median before posting
Notes & limits
- The sample is newest-first, always. 30 results per page is fixed and the sort order cannot be changed over HTTP. Read the wage stats as "what is being advertised right now", not as a census of all live postings
- Pay periods are inferred from magnitude, because the list view prints wages without a period label:
< 10,000= hourly,10,000–99,999= daily,>= 100,000= monthly. Daily-paid postings are rare (none appeared in the measured Kochi sample) but when any appear,confidencedrops tomedium annualFromMonthlyexcludes bonuses (賞与), overtime and most allowances — Japanese packages often add 2–5 months of salary in bonuses, so treat it as a floor- Jobs are filtered by work location, not by employer head office
- Keyword matching is Hello Work's own free-word search: literal, case-sensitive, never translated. Latin letters and digits are converted to full-width before the search because the index stores them that way (
keywordSearchedin every record shows what was sent); an English word for a Japanese job title still matches nothing - Read-only, throttled to one request per 1.5 s out of respect for a government system. No login, no personal data, nothing stored between runs
- The postings are the employers' own text, published by a public agency; this Actor computes statistics from them on demand and keeps no database
日本語ガイド
ハローワークインターネットサービス(厚生労働省)の公開求人を、「キーワード × 都道府県」ごとの求人市場統計にして返す Actor です。
- 概要: 指定したキーワード(職種名・資格名など)と都道府県について、有効求人件数(実数) と 賃金統計 を返します。ハローワークは求人約113万件と国内最大の母数を持ち、しかも賃金が「225,500円〜282,100円」という数値レンジで構造化されているため、民間求人サイトでは作れない統計が作れます。
- 一番の売り: 賃金レンジの幅(
medianRangeWidth)。「その職種・その地域では、下限と上限の差が中央値でいくらか」= 交渉余地の指標です。あわせて固定給(下限=上限)の割合fixedWageShareも返します。賃金は 時給 / 日給 / 月給 を桁で判別して別々に集計するので、混ぜた無意味な平均になりません。 - キーワード: 求人票の日本語表記で入れてください。半角の英数字は全角に変換してから検索します(ハローワークの索引が全角で保持しているため。実測 2026-08-18・東京:
IT7,079件、半角のままだと0件)。送信した表記はkeywordSearched、変換した場合はkeywordNoteとして全レコードに入ります。翻訳はしないので、Nurseは0件・看護師は5,684件です。 - 使い方:
keywordsに職種などを指定(求人票の日本語表記が最も精度が高い)、prefecturesに都道府県を指定します(JISコード13/ 日本語東京都/ 英語Tokyoのいずれでも可。["all"]で47都道府県)。標本を増やしたい場合はmaxPagesPerSliceを上げてください(1ページ30件固定・最大5ページ=150件)。個別求人が必要なときだけincludeIndividualJobsを ON にします。 - 料金: 「キーワード×都道府県」1組の市場サマリーが $0.02、個別求人レコードは $0.002/件(既定 OFF なので既定実行は $0.02 固定)。0件の組み合わせには課金されません。従量課金です。
- 実数とサンプルの区別:
totalOpenings(有効求人件数)はサイトが返す実数です。賃金・雇用形態・市区町村などは新着順の先頭 N ページからの標本です。ハローワークは表示件数30件固定・並び順の変更が HTTP からはできないため、標本は常に「直近に登録された求人」になります。この点は全レコードにsampleBasis: "newest-first"として明記しています。 - 注意点: 一覧に賃金形態(時給/日給/月給)のラベルは無く、下限額の桁数から判定しています(1万円未満=時給、1万〜9万円台=日給、10万円以上=月給)。日給帯が出現した場合は
confidenceをmediumに下げます。月給×12 の年収換算は賞与を含みません。 - 個人情報: 取得するのは事業所名(法人名)までです。担当者名・電話番号は取得しません。政府システムへの負荷に配慮し、リクエスト間隔は 1.5 秒以上あけています。
If something goes wrong
- Wrong number or a failed run? Open a ticket on the Issues tab. I read every one and reply within 2 business days (Japan time).
- You never get a fake "empty" result. If the site can't be read, the run fails and says so.
- No results = no charge. You only pay for results you actually get.
- Checked every week. An automatic test runs this tool weekly; if the site changes, I fix it.
- Public pages only. No login, no personal data, and it goes easy on the site.
More tools by the same author
- TokyoDev & JapanDev — Japan English Tech Job Salaries
- Mercari Japan Sold Prices — What Items Really Sell For
- Yahoo! Auctions Japan Sold Prices — Median, Range, Bids
All tools (Japan marketplaces, real estate, jobs, racing, prediction markets): https://apify.com/jpmarketdata
Disclaimer
Unofficial, independent tool — not affiliated with, endorsed by, or sponsored by Hello Work (MHLW). Product names and logos belong to their owners and only say where the data comes from. Data is read from public pages, for market research; check before you act on it.