Green Japan Job Scraper
Pricing
from $0.28 / 1,000 job listings
Green Japan Job Scraper
Scrape Japanese tech job listings from Green, one of Japan's largest IT job boards. Returns job title, company, salary range parsed into yen, prefecture, required skills, company size and founding year. Japanese text is returned exactly as published, never transliterated.
Pricing
from $0.28 / 1,000 job listings
Rating
0.0
(0)
Developer
Superslow Sloth
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Green Japan Job Board Scraper
Returns job offers from Green, one of Japan's largest tech-focused job boards: the job title, the hiring company, the printed salary band, the work location, the required skills and the canonical URL of the listing.
Search in English or Japanese. python, React, 機械学習 and 営業 all work.
Japanese text is returned exactly as Green prints it
Nothing is translated, transliterated or romanised, and nothing is re-encoded.
株式会社 DEGINA comes back as 株式会社 DEGINA, and 430万円〜550万円 comes
back as 430万円〜550万円. The salary band is also parsed into plain yen
integers so it can be sorted and filtered, but the original string is always
kept beside it.
Output fields
| Field | Notes |
|---|---|
id | Green's numeric job-offer id. |
url | Canonical listing URL, e.g. https://www.green-japan.com/company/11242/job/324553. |
name | The job title, e.g. Webディレクター(制作部リーダー候補). |
title | The longer headline Green shows above the job. A different field from name. |
company_id, company_name | The hiring company. |
company_title | The company's one-line pitch. null when it has none. |
salary | The band exactly as printed, e.g. 430万円〜550万円. |
salary_min_jpy, salary_max_jpy | Yen integers read out of salary. |
area_name | Location string as printed, e.g. 東京都, フルリモート. |
area_names | The same string split on its separators, for filtering. |
skill_names | Skills tagged on the offer, e.g. ["Python", "AWS", "React"]. Often empty. |
tag_names | Green's own labels, e.g. ["副業可"]. |
business_name, business_introduction, business_photo_url | The business unit the role sits in, and its blurb. |
photo_urls | Listing photos. |
employees_number | Company headcount. |
established_year | As printed, e.g. 2015年. |
established_year_int | The four-digit year, e.g. 2015. |
updated_at_timestamp, updated_at | When the offer was last updated, as Unix seconds and as ISO-8601 UTC. |
is_new | Green's own "new" flag. |
other_job_offer_count | How many other openings the same company had alongside this one. |
keyword | Which of your search terms produced this row. |
What this source does not give
These are stated rather than guessed. A missing value is always null, never
0 and never an empty string, because a zero reads as a measurement that was
never taken.
- No posting date. Green publishes only a last-updated timestamp, which is
what
updated_atis. It is not the date the job was first listed. - No job description, requirements or benefits. The search payload carries
the summary card only. The full text lives on the individual listing page at
url. - No application deadline, employment type or contract length.
skill_namesis frequently empty - measured on 360 offers across six keywords, 201 of them carried no skill tags at all. That is Green's data, not a parsing gap.established_yearis occasionally absent (7 of those same 360).- The other openings at the same company are counted, not copied. One
company's catalogue reached 31 KB inside a single search row, which would have
tripled the size of every dataset item to repeat data that a second search
returns properly.
other_job_offer_countrecords how many there were.
Two measured limits worth knowing before you run this
Green paginates only three pages deep. page=2 and page=3 return offers
that do not overlap page 1 at all, but page=10, page=280 and page=999 all
redirect back to page 3 and re-serve it. So a keyword yields at most 60 jobs,
no matter that the site reports 5,586 results for python. To collect more,
give the actor more keywords - results are merged and de-duplicated by job id, so
a job matching several of your keywords is delivered once and charged once.
The /search_key URL does not search. It answers 200 and it looks right, but
it redirects to /search and drops the keyword on the way, so it serves the
generic unfiltered board - the identical twenty offers whether you ask it for
python or for gibberish. This actor uses /search?keyword=, which honours the
term. A contract test pins that behaviour so we notice if Green ever fixes it.
Input
| Field | Notes |
|---|---|
keywords | Required. One or more search terms, English or Japanese. |
maxItems | Budget for the whole run across all keywords, not per keyword. Default 60. |
proxyConfiguration | Optional. Green answered without a proxy when this was built; a proxy just gives the scraper a fresh address to retry on. |
Billing
One job-scraped event per job, charged after the job has been written to the
dataset, and only for jobs that are actually delivered. A duplicate is never
charged. A keyword that matches nothing costs nothing beyond the actor start.