Levtech Freelance IT Engineer Project Scraper
JOBSLEAD GENERATION
Levtech Freelance IT Engineer Project Scraper
Overview
The Levtech Freelance IT Engineer Project Scraper extracts IT freelance and contract project listings (案件) from Levtech Freelance (レバテックフリーランス), Japan's largest IT contractor marketplace. It collects project title, monthly contract rate (単価, JPY), occupation category, required skills and tech stack, work style, location, contract hours, and more — covering a JP-specific freelance segment not served by any other Apify actor.
Features
- Sitemap-based discovery: Fetches all active project URLs from the site's official sitemap (2,400+ listings) without hitting any disallowed search paths.
- JSON-LD structured data: Extracts core fields from the
JobPostingschema embedded in each detail page — authoritative, stable, and server-rendered (no JavaScript execution required). - Supplemental HTML extraction: Parses
dl.detailChildrows for skills (language, framework, cloud, tools), settlement hours, and contract details not present in JSON-LD. - Work-style detection: Classifies projects as
remote,on-site, orhybridfrom structured flags and page text. - Conservative rate limiting: Respects robots.txt crawl-delay (2s) via low concurrency and built-in rate-limit handling.
- maxItems cap: Limit the run to any number of records for budget control.
How It Works
- Discovery: Walks
https://freelance.levtech.jp/sitemap.xml, filtering toproject-1.xml(active listings only; closed projects are excluded). - Filtering: Selects only URLs matching
/project/detail/<id>/— guaranteed to be detail pages. - Extraction: For each detail page, parses the
<script type="application/ld+json">JobPostingblock for structured fields, then supplements with HTML table rows for skill and tech data. - Output: Stores all records in the Apify dataset.
The site is Nuxt SSR — all content is server-rendered and available in the initial HTML response with no headless browser required.
Input
| Field | Type | Description | Default |
|---|---|---|---|
maxItems |
Integer | Maximum number of project records to scrape. | 10 |
Example Input
{
"maxItems": 500
}
Output
Each record corresponds to one project detail page:
| Field | Type | Description |
|---|---|---|
project_id |
String | Numeric project ID from the URL path |
title |
String | Project title (案件名) |
monthly_rate_min_jpy |
Integer | Minimum monthly rate in JPY; null if only one value is shown |
monthly_rate_max_jpy |
Integer | Maximum monthly rate in JPY (単価 upper bound) |
occupation |
String | Primary occupation / position category (職種) |
required_skills |
String | Comma-separated required skills and technologies |
work_style |
String | remote, on-site, hybrid, or null |
location |
String | Nearest station and prefecture (最寄り駅) |
contract_period |
String | Standard hours range e.g. 140時間〜180時間 (精算基準時間) |
work_hours |
String | Minimum working days e.g. 週5日 |
industry |
String | Industry/occupation category from JSON-LD |
posted_at |
String | Publication date in ISO-8601 format |
source_url |
String | Canonical URL of the project detail page |
Example Output
{
"project_id": "546038",
"title": "【PHP】入札情報速報サービス開発支援",
"monthly_rate_min_jpy": null,
"monthly_rate_max_jpy": 800000,
"occupation": "サーバーサイドエンジニア",
"required_skills": "Laravel, Vue.js, Nuxt.js, AWS, GitHub",
"work_style": "remote",
"location": "東京都 中央区 勝どき / フルリモート",
"contract_period": "140時間〜180時間",
"work_hours": "週5日",
"industry": "サーバーサイドエンジニア",
"posted_at": "2026-06-02",
"source_url": "https://freelance.levtech.jp/project/detail/546038/"
}
Use Cases
- Rate benchmarking: Analyze 単価 (monthly contract rates) by skill, occupation, or work style across Japan's largest IT freelance market.
- Market research: Identify in-demand technologies and skills in the JP IT contractor segment.
- Remote-work analysis: Track remote-acceptance rates as a leading indicator of Japan's remote-adoption trends.
- Staffing intelligence: Monitor available projects, skill demand, and compensation ranges for IT agencies and recruiters.
- Competitive analysis: Compare against JP-specific freelance platforms (Lancers, CrowdWorks) for a comprehensive market view.
Notes
- The site's
robots.txtdisallows/project/search/but permits/project/detail/and all sitemap XML files. This actor uses only those allowed paths. - Monthly rates appear as upper bounds in the UI (
〜X円) and in JSON-LD as a singlebaseSalaryvalue. A lower bound is captured when available but is typicallynullfor most listings. - Older project records (IDs below ~100,000) may have fewer supplemental HTML fields;
required_skillsmay benullfor those entries.