# Yahoo Auctions Japan Scraper — Multi-Keyword Resale Research (`fruitful_quintessence/yahoo-auctions-japan-scraper`) Actor

Search & scrape Yahoo Auctions Japan (auctions.yahoo.co.jp) by one or many keywords. Returns current price, buy-now price, bid count, time left, postage, image and URL for each listing. Ideal for JDM used item price research, reseller sourcing and market monitoring.

- **URL**: https://apify.com/fruitful\_quintessence/yahoo-auctions-japan-scraper.md
- **Developed by:** [atushi ino](https://apify.com/fruitful_quintessence) (community)
- **Categories:** E-commerce
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.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.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#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

## Yahoo Auctions Japan Scraper — Used Item Price Research & Resale Sourcing

Scrape **Yahoo! Auctions Japan** (`auctions.yahoo.co.jp`) by keyword — or by **multiple keywords at once** — and get structured price / bid / availability data for JDM used items. Built for reseller sourcing, price arbitrage, and market monitoring.

### Output Sample

```json
{
  "itemId": "u1240525087",
  "title": "中古美品 a7iv ボディ ILCE-7M4",
  "currentPrice": 196500,
  "buyNowPrice": null,
  "bidCount": 9,
  "timeLeft": "5時間",
  "postage": "＋送料810円",
  "imageUrl": "https://auc-pctr.c.yimg.jp/...",
  "detailUrl": "https://auctions.yahoo.co.jp/jp/auction/u1240525087",
  "source": "yahoo_auctions",
  "scrapedAt": "2026-08-17T08:50:42Z"
}
```

### What You Can Build With This

- **Resaler sourcing** — keyword lists for whole product categories in one run. `bidCount` flags high-demand items; low `buyNowPrice` marks buyable sourcing candidates.
- **Price arbitrage** — compare Yahoo Auctions buy-now prices against Mercari / Amazon market rates (scrape the other side separately) to spot margin.
- **Price monitoring** — schedule daily/hourly runs to track JDM used-item market movement over time.
- **Market research** — snapshot what Japanese auction sellers are listing and at what price.

### Input

| Field | Type | Description | Default |
|-------|------|-------------|---------|
| `searchKeywords` | array | **List of keywords**, each searched independently and combined into one dataset. Use for multi-category research. | — |
| `searchKeyword` | string | Single keyword (backward compatible; ignored if `searchKeywords` is set). | — |
| `maxItems` | integer | Max total items across all keywords. | `100` |
| `maxPages` | integer | Max result pages fetched **per keyword**. | `5` |
| `webhookUrl` | string | Optional. POST a JSON summary to this URL on completion (Slack / Discord / n8n / Zapier). | `""` |
| `proxyConfiguration` | object | Optional Apify proxy configuration. | — |

> At least one keyword (`searchKeywords` or `searchKeyword`) is required.

### Pricing

- Actors charge **$0.00005 per run** (Actor Start) + **$0.002 per dataset item**.
- A typical 100-item single-keyword run costs **~$0.20 total**.
- Every result returns **11 fields** (item id, title, both prices, bid count, time left, postage, image, URL, source, timestamp) — no hidden charges.

### Limitations

- Scrapes Yahoo! Auctions **search results** (public listing pages). Login-gated data and sellers' private information are **not** collected.
- The site is **not** rate-limit-free — keep `maxPages` modest for frequent scheduled runs.
- Prices are **live** at scrape time; fixed-price buy-now listings are returned as-is.

### FAQ

**How fresh is the data?** As fresh as the moment of the run — each record is timestamped with `scrapedAt`.

**Can I run this daily on a schedule?** Yes — use the **Schedule** tab in the Apify console to run it hourly/daily, ideal for price tracking dashboards.

**Can a keyword return zero items?** Yes, if nothing currently matches. The actor reports what it finds; missing keywords simply contribute no rows.

**Is there a related actor for the buy-side marketplace?** This covers auctions side. Pair it with a Mercari / e-commerce scraper if you need cross-market arbitrage.

### Integrations

This actor supports **Apify MCP Connectors** — send run results to Slack, Notion, Supabase, or GitHub without sharing credentials. Look for the **Connectors** tab on the run screen.

You can also receive a **JSON completion summary** at any URL by passing a `webhookUrl` in the input — useful with Slack, Discord, n8n, or Zapier.

#### Example: Post Results to Slack (Webhook)

1. Create a Slack webhook: `https://api.slack.com/apps` → Create New App → Incoming Webhooks.
2. Copy the Webhook URL and pass it as `webhookUrl` when running the actor.
3. On completion the actor POSTs `{"event":"actor_completed","itemCount":N,"keywords":[...],"datasetUrl":"..."}` to your Slack channel.

#### Example: Scheduled Price Alerts to Slack

1. Run the actor once. On the run screen, open the **Connectors** tab and connect **Slack** (one-time authorization).
2. Go to the **Schedule** tab → create a daily schedule.
3. Set `searchKeywords` to your watchlist.
4. Each scheduled run delivers a fresh price snapshot for your categories to Slack automatically.

#### Scheduled Multi-Category Research

1. **Schedule** tab → create a daily/hourly schedule.
2. Set `searchKeywords` (`["SONY α7 IV", "POKEMON カード 未開封", "PS5 中古"]`) for cross-category sourcing research.
3. Combine `maxItems` to cap total collection volume per run.

### Changelog

- **2026-08-17** — Added `searchKeywords` (multi-keyword) support for cross-category resale research; fixed `maxItems` cap across keywords. Store SEO optimized.
- **2026-08-13** — Initial release.

### Technical Details

- `httpx` async HTTP with 3 retries on 429/5xx.
- BeautifulSoup (`lxml`) parsing.
- Sequential keyword search on a shared client (gentle on rate limits).
- Runs on Apify's `apify/actor-python:3.12` image.

# Actor input Schema

## `searchKeywords` (type: `array`):

List of keywords to search on Yahoo! Auctions Japan. Each keyword is searched independently and results are combined into a single dataset. Use this for multi-category resale research.

## `searchKeyword` (type: `string`):

Single keyword to search for. Kept for backward compatibility; ignored if searchKeywords is provided.

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

Maximum number of items to collect across all keywords.

## `maxPages` (type: `integer`):

Maximum number of result pages to fetch per keyword.

## `webhookUrl` (type: `string`):

Optional. POST a JSON summary to this URL when the run completes. Works with Slack, Discord, n8n or Zapier webhooks.

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

Optional Apify proxy configuration

## Actor input object example

```json
{
  "searchKeywords": [],
  "maxItems": 100,
  "maxPages": 5,
  "webhookUrl": ""
}
```

# Actor output Schema

## `itemId` (type: `string`):

Yahoo! Auction product ID

## `title` (type: `string`):

Product title

## `currentPrice` (type: `string`):

Current price in JPY

## `buyNowPrice` (type: `string`):

Buy Now price in JPY or null

## `bidCount` (type: `string`):

Number of bids

## `timeLeft` (type: `string`):

Remaining auction time

## `postage` (type: `string`):

Shipping/postage details

## `imageUrl` (type: `string`):

Main product image URL

## `detailUrl` (type: `string`):

Full URL to the product detail page

## `source` (type: `string`):

Source identifier

## `scrapedAt` (type: `string`):

Timestamp when the item was scraped

# 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 = {
    "searchKeywords": [],
    "searchKeyword": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("fruitful_quintessence/yahoo-auctions-japan-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 = {
    "searchKeywords": [],
    "searchKeyword": "",
}

# Run the Actor and wait for it to finish
run = client.actor("fruitful_quintessence/yahoo-auctions-japan-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 '{
  "searchKeywords": [],
  "searchKeyword": ""
}' |
apify call fruitful_quintessence/yahoo-auctions-japan-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,fruitful_quintessence/yahoo-auctions-japan-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/8WBam4CPB72q9Rvsd/builds/DicDE3zhMfpJwmvN9/openapi.json
