# Wantedly Japan Jobs Scraper (`parseforge/wantedly-scraper`) Actor

Scrapes Wantedly Japan project listings by occupation, keyword, or direct URL. Returns each job with optional full project detail and company page enrichment including founder name and headcount.

- **URL**: https://apify.com/parseforge/wantedly-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Jobs, Developer tools, Other
- **Stats:** 12 total users, 3 monthly users, 89.7% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### Wantedly Japan Jobs Scraper

**Scrape Wantedly Japan job listings by occupation, keyword, or direct URL, up to a million per run.** Every project comes with its mission, culture, duties, company headcount, and founder name. No login or API key. Export to CSV, JSON, Excel, or XML.

Wantedly Japan's startup and tech job listings are public, but browsing them manually across dozens of occupation filters and keywords is slow. This Actor reads the project feeds directly, applies your occupation, keyword, and sort-order filters, and returns each matching job in one flat row. It also fetches the full project detail pages and the hiring company pages so you get the mission, culture, duties, founder name, and headcount without clicking into every listing.

| Who uses it | What they scrape Wantedly for |
|---|---|
| International recruiters | Build a pipeline of Japanese startup engineering and design roles without navigating the site in Japanese. |
| Market analysts | Track which tech occupations and skills are most in demand across Japanese startups this quarter. |
| ATS and HR tool builders | Feed structured Wantedly job data into an applicant tracking system or internal job board. |
| Job seekers | Filter and export the newest Wantedly projects for a specific role like Web Engineer or Data Scientist. |

### What it does

This Actor collects Wantedly Japan project listings by occupation type, free-text keyword, or direct URL, and returns each one as a flat row with optional full project detail and company page enrichment.

- 🏢 **Full company profiles:** founder name, founding date, employee headcount, address, slogan, and company description.
- 📋 **Full project details:** mission ('なぜやるのか'), culture ('どうやっているのか'), and job duties ('こんなことやります') blocks.
- 🔍 **Occupation and keyword filters:** pick from 50+ Wantedly occupation slugs, combine with a free-text search, and sort by recommended, popular, or newest.
- 🇯🇵 **Japan-resident proxy:** defaults to residential proxy with country=JP, required to avoid Wantedly rate-limiting and blocks.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with Wantedly data

**📊 Monitor occupation demand.**

A market analyst scrapes all Engineering and Data Scientist projects weekly, sorts by newest, and tracks which skills appear most often in the duties text.

**🌐 Feed an international job board.**

An HR platform runs the Actor daily with occupationTypes set to Web Engineer and Mobile Engineer, enriches every project with company details, and publishes the structured listings for overseas applicants.

**🔎 Research a specific startup's hiring.**

A venture capital analyst drops a company URL into startUrls, fetches all open projects with full detail pages, and reviews the mission and culture blocks to understand the team's growth.

**📝 Build a personal job tracker.**

A job seeker sets occupationTypes to UI/UX Designer, adds the keyword 'リモート', and exports the newest matching projects to a spreadsheet for follow-up.

### Why choose this scraper

| | What you get |
|---|---|
| **No API registration** | Reads the public Wantedly feeds directly, no OAuth or app setup. |
| **Structured output** | Every job returns the same flat schema, ready for CSV, JSON, Excel, or XML. |
| **Full narrative text** | Captures the mission, culture, and duties sections that define a Wantedly project. |
| **Company enrichment** | Fetches each unique company page for founder, headcount, and founding date. |

### How it compares

This Actor and the alternative Wantedly Japan Scraper both extract startup job listings from Wantedly.com. The table below compares the capabilities each listing describes.

| Feature | ParseForge | Wantedly Japan Scraper: Startup Jobs Data |
|---|---|---|
| Full project detail pages (mission, culture, duties) | Yes, optional fetch of each project page | Yes |
| Company page enrichment (founder, headcount, founding date) | Yes, optional fetch of each unique company page | Not listed |
| Occupation filter with 50+ Wantedly slugs | Yes, multi-select occupationTypes field | Not listed |
| Free-text keyword search combined with occupation filter | Yes, searchQuery field | Not listed |
| Sort order control (recommended, popular, newest) | Yes, sortBy field | Not listed |
| Direct URL input for projects or companies | Yes, startUrls field | Not listed |

### Configure the run

Drive the Actor from Wantedly occupation slugs, a free-text keyword, and direct project or company URLs, alone or together, and filters run as each project is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

```json
{
 "maxItems": 10,
 "proxyConfiguration": {
 "useApifyProxy": true,
 "apifyProxyGroups": [
 "RESIDENTIAL"
 ]
 }
}
```

A larger pull:

```json
{
 "maxItems": 200,
 "proxyConfiguration": {
 "useApifyProxy": true,
 "apifyProxyGroups": [
 "RESIDENTIAL"
 ]
 }
}
```

### Pricing

Pay-per-result: **$0.021 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $2.10 |
| 1,000 results | $21.00 |
| 10,000 results | $210.00 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [Wantedly Japan Jobs Scraper](https://apify.com/parseforge/wantedly-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to Wantedly through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/wantedly-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check that your occupation filter and searchQuery combination returns listings on Wantedly.com. Try running with occupationTypes empty and no keyword first to confirm the Actor can reach the site, then narrow your filters.

**Why are my runs slow?**

When includeJobDetails and includeCompanyDetails are both enabled, the Actor makes one request per project and one per unique company. For large maxItems values this takes time. Disable enrichment if you only need listing-level data.

**Why do I get blocked or see empty pages?**

The Actor defaults to a Japanese residential proxy. If you changed the proxy configuration, switch it back to RESIDENTIAL with country=JP. Datacenter IPs are routinely blocked by Wantedly.

**Some occupation slugs return fewer results than expected.**

Wantedly's occupation filters map to specific site categories. If a slug returns few projects, try the parent 'all' category instead, or leave occupationTypes empty and use only a searchQuery to cast a wider net.

**The company details fields are empty.**

Ensure includeCompanyDetails is set to true. Some smaller startups may not have filled in their full company page on Wantedly; in that case those fields will be blank.

### FAQ

| Question | Answer |
|---|---|
| Do I need a Wantedly account or API key? | No. The Actor reads the public project listing pages and detail pages directly. No login, no API key, and no app registration are required. |
| Can I scrape jobs for a specific company only? | Yes. Paste a company URL like https://www.wantedly.com/companies/{slug} into the startUrls field, and the Actor will collect all open projects from that company. |
| What does the 'Fetch full project pages' option do? | When enabled, the Actor visits each individual project page to capture the full mission, culture, and job duties text blocks, plus the complete JobPosting structured data. We recommend leaving it on. |
| What does the 'Fetch company pages' option do? | When enabled, the Actor visits each unique hiring company page to capture the founder name, founding date, employee headcount, address, slogan, and company description. |
| Why does the Actor require a residential proxy? | Wantedly blocks or rate-limits requests from datacenter IPs. The Actor defaults to Apify's residential proxy with country set to Japan, which routes your requests through Japanese residential IPs to avoid blocks. |
| Can I filter by multiple occupations at once? | Yes. The occupationTypes field is a multi-select. You can pick several specific roles, or choose a parent category like 'Engineering (all)' to get every engineering sub-role in one run. |
| How do I search for a keyword like 'Python' or '機械学習'? | Enter your keyword in the searchQuery field. It combines with any occupation filter you have set, so you can search for Python within Engineering roles specifically. |
| What sort orders are available? | You can sort by Recommended (Wantedly's default mixed ranking), Popular (high-engagement projects), or Newest (most recently posted first). |
| Can I scrape a single job posting by URL? | Yes. Paste a direct project URL like https://www.wantedly.com/projects/1234567 into startUrls, and the Actor will return that one listing with all enrichment options applied. |
| What output formats are supported? | You can export your dataset to CSV, JSON, Excel, or XML from the Apify platform. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Wantedly, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `startUrls` (type: `array`):

Optional. Direct Wantedly project listing or detail URLs (e.g. https://www.wantedly.com/projects?occupation\_types\[]=jp\_\_web\_engineer or https://www.wantedly.com/projects/1234567 or https://www.wantedly.com/companies/{slug}). When provided, these are used instead of the occupation / query fields below.

## `maxItems` (type: `integer`):

How many job listings to collect per run.

## `occupationTypes` (type: `array`):

Filter by one or more Wantedly occupation slugs (multi-select). Categories ending in '(all)' return everything in that family; the others are specific roles. Leave empty to scrape all projects across all occupations.

## `searchQuery` (type: `string`):

Optional free-text keyword (e.g. 'python', 'machine learning', 'デザイナー'). Combined with the occupation filter if both are set.

## `sortBy` (type: `string`):

How results are ordered on the listing page. 'Recommended' is Wantedly's default mixed ranking; 'Popular' surfaces high-engagement projects; 'Newest' returns most recently posted first.

## `includeJobDetails` (type: `boolean`):

When enabled, each project is fetched individually to capture the full mission ('なぜやるのか'), culture ('どうやっているのか'), job duties ('こんなことやります') and the complete JobPosting description. Recommended.

## `includeCompanyDetails` (type: `boolean`):

When enabled, each unique hiring company page is fetched to capture founder name, founding date, employee headcount, address, slogan and company description.

## `proxyConfiguration` (type: `object`):

Apify proxy configuration. Defaults to RESIDENTIAL with country=JP - required from Apify cloud containers since direct/datacenter routes are blocked or rate-limited by Wantedly.

## Actor input object example

```json
{
  "maxItems": 10,
  "sortBy": "mixed",
  "includeJobDetails": true,
  "includeCompanyDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/wantedly-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/wantedly-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call parseforge/wantedly-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/wantedly-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/SYXp9uK4G3P3Q4GFl/builds/rzE8npSemlK4wfcoJ/openapi.json
