OrbTop

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 JobPosting schema embedded in each detail page — authoritative, stable, and server-rendered (no JavaScript execution required).
  • Supplemental HTML extraction: Parses dl.detailChild rows 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, or hybrid from 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

  1. Discovery: Walks https://freelance.levtech.jp/sitemap.xml, filtering to project-1.xml (active listings only; closed projects are excluded).
  2. Filtering: Selects only URLs matching /project/detail/<id>/ — guaranteed to be detail pages.
  3. Extraction: For each detail page, parses the <script type="application/ld+json"> JobPosting block for structured fields, then supplements with HTML table rows for skill and tech data.
  4. 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.txt disallows /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 single baseSalary value. A lower bound is captured when available but is typically null for most listings.
  • Older project records (IDs below ~100,000) may have fewer supplemental HTML fields; required_skills may be null for those entries.