# Yahoo! Auctions Japan Sold Comps — Closed Auction Price Stats (`jpmarketdata/yahoo-auction-sold-comps`) Actor

Get instant sold-price statistics (median, average, range, bid competition) from closed auctions on Yahoo! Auctions Japan. One call answers: what does this item actually sell for in Japan?

- **URL**: https://apify.com/jpmarketdata/yahoo-auction-sold-comps.md
- **Developed by:** [h ichi](https://apify.com/jpmarketdata) (community)
- **Categories:** E-commerce
- **Stats:** 8 total users, 3 monthly users, 98.4% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 keyword sold-price analyses

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 Sold Comps — Price Stats from Closed Auctions

**One call answers: "What does this item actually sell for on Yahoo! Auctions Japan — and how hard do bidders fight for it?"**

Instead of dumping raw listings on you, this Actor samples **closed (ended) auctions** for your keywords and returns a ready-to-use sold-price summary — median, average, quartiles, price range, plus bid-competition statistics — and the individual sold auctions if you want them.

### Why closed auctions?

Yahoo! Auctions (ヤフオク) is Japan's biggest auction marketplace and the country's deepest source of collectibles, retro games, camera gear, watches, and trading cards. Its closed-auction data is the ground truth of what Japanese buyers really pay — but it's only browsable in Japanese, one page at a time. This Actor turns it into structured market intelligence:

- **Price a collection before you buy or sell** — median and quartiles from real final prices
- **Measure competition** — bid-count statistics show how contested an item is
- **Spot arbitrage** — compare Japan sold prices against eBay/your local market (USD conversion included)
- **Cross-check Mercari comps** — pairs perfectly with our [Mercari Japan Price Checker](https://apify.com/jpmarketdata/mercari-japan-price-checker)

### Input example

```json
{
    "keywords": ["ポケモンカード リザードン psa10", "Leica M6"],
    "maxItemsPerKeyword": 100,
    "convertToUsd": true
}
```

### Output

One `price_summary` record per keyword:

```json
{
    "type": "price_summary",
    "keyword": "ポケモンカード リザードン psa10",
    "status": "closed_auctions",
    "totalListingsFound": 4879,
    "sampledListings": 100,
    "soldListings": 84,
    "priceJpy": { "min": 1200, "p25": 9250, "median": 24800, "p75": 46500, "max": 158000, "average": 31420 },
    "priceUsd": { "min": 7.4, "p25": 57.4, "median": 153.8, "p75": 288.4, "max": 980.1, "average": 194.9 },
    "bidCountStats": { "min": 1, "p25": 1, "median": 3, "p75": 12, "max": 47, "average": 8 },
    "checkedAt": "2026-07-03T12:00:00+00:00"
}
```

Plus (optional) every sold auction with title, final price (JPY + USD), bids, condition, end time, photo, and a direct auctions.yahoo.co.jp URL. Statistics are always computed from auctions that actually sold (≥1 bid).

### Use with AI agents

Works out of the box with the [Apify MCP server](https://mcp.apify.com), so Claude, ChatGPT, and other MCP-enabled agents can check Japanese auction prices autonomously — for example inside an automated sourcing or repricing workflow.

### Fair use & data

- Reads only **publicly visible closed-auction data** — no login; seller identities are excluded from the output
- Requests are throttled to keep the load on Yahoo! Auctions negligible
- Not affiliated with LY Corporation. Data is provided for market research; verify before large transactions

### Roadmap

Category and price filters, seller-type breakdown (store vs individual), and Mercari cross-market comparison in one call. Feedback via issues is very welcome.

# Actor input Schema

## `keywords` (type: `array`):

One or more search queries. Japanese keywords give the best coverage (e.g. 'ポケモンカード リザードン psa10'), but English brand names also work (e.g. 'Leica M6').

## `maxItemsPerKeyword` (type: `integer`):

How many closed auctions to sample per keyword. 50 = one result page. More items = better statistics but higher cost.

## `soldOnly` (type: `boolean`):

If enabled (default), only auctions that actually sold (>=1 bid) are pushed as individual records. Statistics are always computed from sold auctions.

## `includeIndividualItems` (type: `boolean`):

If enabled, every sampled auction is also pushed to the dataset (title, final price, bids, condition, end time, URL, photo). Disable to get only the per-keyword price summary.

## `convertToUsd` (type: `boolean`):

Adds USD prices next to JPY using the current exchange rate (open.er-api.com).

## Actor input object example

```json
{
  "keywords": [
    "ポケモンカード リザードン psa10"
  ],
  "maxItemsPerKeyword": 100,
  "soldOnly": true,
  "includeIndividualItems": true,
  "convertToUsd": true
}
```

# 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 = {
    "keywords": [
        "ポケモンカード リザードン psa10"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("jpmarketdata/yahoo-auction-sold-comps").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 = { "keywords": ["ポケモンカード リザードン psa10"] }

# Run the Actor and wait for it to finish
run = client.actor("jpmarketdata/yahoo-auction-sold-comps").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "keywords": [
    "ポケモンカード リザードン psa10"
  ]
}' |
apify call jpmarketdata/yahoo-auction-sold-comps --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=jpmarketdata/yahoo-auction-sold-comps",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/2tYdX8FmOiLuJN6V9/builds/ttd8uj3Hw0jWDMBi4/openapi.json
