# Jimoty Scraper - Japan Local Classified Ads & Prices (`logiover/jimoty-scraper`) Actor

Export Jimoty (jmty.jp) local classified ads in bulk from any Japanese prefecture or category: title, price in yen, prefecture, city, nearest station, category, description, photo and ad URL. Download as JSON, CSV or Excel.

- **URL**: https://apify.com/logiover/jimoty-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** E-commerce, Lead generation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.10 / 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

## Jimoty Scraper — Japan Local Classified Ads & Prices

Jimoty (jmty.jp) in rows: ad title, price in yen, prefecture, city, nearest station, category, description, photo and a direct ad link — Japan's local noticeboard in bulk.

### What does the Jimoty Scraper do?

This Actor collects classified ads from **Jimoty**, the site Japanese households use to sell or give away furniture, appliances, bicycles and instruments within their own area. It returns one row per ad with the location split into **prefecture, city and nearest railway station** — three separate columns rather than the single run-on line the site prints.

That split is what makes the export usable. In Japan the nearest station is how location is actually understood, and having it as its own column means an export can be filtered to a rail line or a commute radius rather than just a prefecture.

Prices are pulled out of the card text as numbers, so free giveaways, cheap items and everything else can be sorted and compared.

### Who is it for?

- **Second-hand market researchers** studying Japanese resale prices and supply.
- **Recommerce and resale platforms** sourcing supply data.
- **Logistics and moving services** spotting local demand.
- **Retail analysts** measuring what depreciates and how fast.
- **Academics** studying Japanese local trade and the giveaway economy.
- **Collectors and bargain hunters** watching a category in their own prefecture.

### Use cases

- Track second-hand prices for a category across prefectures.
- Watch the free-giveaway section for supply in a specific city.
- Compare prices near one station against another.
- Measure how many ads a category attracts as a demand signal.
- Build a picture of what Japanese households replace and when.
- Monitor a prefecture for new listings on a schedule.
- Collect ads with photos for a visual catalogue.

### Why use this Jimoty Scraper?

- **Nearest station as its own column**, which is how location works in Japan.
- **Prefecture and city separated**, so the export filters cleanly at either level.
- **Prices as numbers**, pulled out of text like `28,000円`.
- **Six sections**, including the free-giveaway board that has no equivalent elsewhere.
- **57 ads per page** with prefecture, section and keyword crawling.
- **Japan-pinned residential proxying**, because the site serves its own market.

### What data can you extract?

| Field | Description |
| --- | --- |
| `articleId` | Jimoty's own ad identifier |
| `title` | Ad title |
| `price` | Price in yen as a number |
| `prefecture` | Prefecture, from the ad's own URL |
| `city` | City or ward |
| `station` | Nearest railway station |
| `category` | Category as Jimoty labels it |
| `description` | The seller's own text, with the location line trimmed off |
| `imageUrl` | First photo |
| `url` | Direct link to the ad |

#### Sample output

```json
{
  "articleId": "1re7vo",
  "title": "surface laptop Pro3 パソコン 美品",
  "price": 28000,
  "prefecture": "tochigi",
  "city": "宇都宮市",
  "station": "東武宇都宮駅",
  "category": "その他",
  "description": "ノートはほぼ使ってないため綺麗です☺️",
  "imageUrl": "https://cdn.jmty.jp/articles/images/6a8de15cedcd4ce0dc6ad879/thumb_m_file.jpg",
  "url": "https://jmty.jp/tochigi/sale-oth/article-1re7vo"
}
```

### How to use the Jimoty Scraper

#### Option A — the whole country

Leave **Prefecture** as `all`, pick a **Section**, set **Maximum ads** and run.

#### Option B — one prefecture

Set **Prefecture** to the name as it appears in a jmty.jp URL — `tokyo`, `osaka`, `aichi`, `fukuoka`, `hokkaido`.

#### Option C — free giveaways

Set **Section** to free giveaways. This is the part of Jimoty with no real equivalent on other Japanese marketplaces.

#### Option D — keyword search

Add terms to **Search terms** to narrow the section. Japanese returns the most, but Latin product names appear in many titles.

### Input parameters

| Parameter | Type | Description |
| --- | --- | --- |
| `prefecture` | string | Prefecture from a jmty.jp URL, or `all` |
| `section` | select | Sale, free, services, events, classes, wanted |
| `searchQueries` | array | Free-text search terms |
| `maxItems` | integer | How many ads to collect in total |
| `proxyConfiguration` | object | Japan-pinned residential proxy, required |

### Tips for best results

- **Leave the proxy pinned to Japan.** Jimoty is a domestic site and serves its own market.
- **Filter on `station` for anything commute-related.** It is the column Japanese buyers actually think in.
- **The free section has no price**, by definition — those rows carry a title and a location but no figure.
- **Prefecture names come from the URL**, in romaji: `tokyo`, not `東京`.
- **Japanese search terms return more**, though Latin brand names work for electronics.

### Integrations

Push results to Google Sheets, Airtable, Slack, Zapier, Make or your own service through Apify's integrations, or schedule a run to watch a prefecture over time.

### API usage

```bash
curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~jimoty-scraper/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "prefecture": "tokyo",
    "section": "sale",
    "maxItems": 1000
  }'
```

Results export as JSON, CSV, Excel, XML or RSS.

### Use with AI agents (MCP)

Available as a tool through Apify's MCP server, so an agent can find local Japanese listings or check second-hand prices on demand.

### FAQ

#### Do I need a Jimoty account?

No. The listing pages this Actor reads are open to any visitor.

#### How many ads can one run return?

Listing pages go a long way back, so several thousand ads from one run is normal.

#### What prefectures can I use?

Any that appears in a jmty.jp URL, in romaji — `tokyo`, `osaka`, `aichi`, `fukuoka`, `hokkaido`, `tochigi` and the rest. Use `all` for the whole country.

#### Why is the price sometimes empty?

Because the ad has no price. The free-giveaway section has none by definition, and a small share of sale ads are marked negotiable.

#### What is the station column?

The nearest railway station to the seller. Jimoty prints it because it is how location is understood in Japan, and it is kept as its own column for filtering.

#### Can I search in English?

Partly. Latin brand and product names appear in many titles, but Japanese terms return substantially more.

#### Does it collect seller contact details?

No. The Actor exports the public listing card — title, price, location, category, description, photo and link.

#### Can I export to CSV or Excel?

Yes — JSON, CSV, Excel, XML and RSS.

#### How fresh is the data?

Every run reads Jimoty live.

#### Why did my run return zero ads?

Usually a prefecture spelled differently from the URL. Open `jmty.jp/<prefecture>/sale` in a browser to check.

### Is it legal to scrape Jimoty?

This Actor reads only public listing pages, and collecting publicly available data is generally lawful. You are responsible for how you use it — check Jimoty's terms, treat any personal detail under applicable privacy law, and do not use the data for unsolicited bulk contact.

### Related scrapers

Pair with the other Japanese and regional classifieds Actors in the store to cover auctions, marketplaces and local trade together.

***

\*Maintained: last verified 2026-09-01 — checked end-to-end against live run history (reliability, output fields and types, and time/memory budgets).

# Actor input Schema

## `prefecture` (type: `string`):

Which prefecture to crawl, as it appears in a jmty.jp URL - tokyo, osaka, aichi, fukuoka, hokkaido. Use all to crawl the whole country.

## `section` (type: `string`):

Which kind of ad to collect.

## `searchQueries` (type: `array`):

Optional. Free-text search inside the chosen prefecture and section, one term per line.

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

How many ads to collect in total.

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

Required. Jimoty serves Japan, so the run is pinned to Japanese residential addresses.

## Actor input object example

```json
{
  "prefecture": "all",
  "section": "sale",
  "searchQueries": [
    "laptop"
  ],
  "maxItems": 500,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "JP"
  }
}
```

# Actor output Schema

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

Every record collected in this run. Open the Dataset tab to browse, filter or export as JSON, CSV or Excel.

# 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 = {
    "prefecture": "all",
    "section": "sale",
    "searchQueries": [
        "laptop"
    ],
    "maxItems": 500,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "JP"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/jimoty-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 = {
    "prefecture": "all",
    "section": "sale",
    "searchQueries": ["laptop"],
    "maxItems": 500,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "JP",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("logiover/jimoty-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 '{
  "prefecture": "all",
  "section": "sale",
  "searchQueries": [
    "laptop"
  ],
  "maxItems": 500,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "JP"
  }
}' |
apify call logiover/jimoty-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,logiover/jimoty-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/Bna3nLu52wuTggk81/builds/HJ8dflXAtkFcvyYFg/openapi.json
