# Yahoo! Auctions Japan Price Trend — 6-Month Sold History (`jpmarketdata/yahoo-auction-price-trend`) Actor

Is the price rising or falling? Pages Yahoo! Auctions closed listings back through roughly six months and returns the monthly sold median, sample size per month, the first-to-last change and a trend direction — computed on demand, nothing stored. For resellers pricing inventory. From $0.02.

- **URL**: https://apify.com/jpmarketdata/yahoo-auction-price-trend.md
- **Developed by:** [h ichi](https://apify.com/jpmarketdata) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 75.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 keyword trend analyzeds

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 Price Trend — 6-Month Sold History

A single median tells you what something is worth today. It does not tell you whether you are buying into a falling market. This Actor returns the **monthly sold median across roughly six months**, so the direction is visible.

### Where the history comes from

Yahoo! Auctions' public closed-listing search retains around six months and returns results newest-first. This Actor pages through that window on demand and buckets each sale by its end month.

**No price database is kept between runs.** Every call re-reads the live pages, so there is nothing to go stale and nothing about you to store.

### Output

One `trend_summary` per keyword:

| field | meaning |
|---|---|
| `months[]` | per month: `month`, `soldCount`, `medianJpy`, `p25Jpy`, `p75Jpy`, `usedInTrend` |
| `trendDirection` | `rising` / `falling` / `flat` |
| `changePct` | first to last month of the trend line |
| `monthsCovered` / `monthsUsed` | how much of the window actually had data |
| `soldTotal` | sold auctions sampled |
| `oldestEndTime` / `newestEndTime` | the real span reached |

### The guard that matters

A month with two sales has a meaningless median. **Months below `minPerMonth` (default 5) are still reported with their count, but carry `usedInTrend: false` and are excluded from the direction and the change figure.** The trend is never computed on a sample that cannot support it, and you can always see which months were dropped.

If fewer than two months clear the bar, the Actor returns `trendUsable: false` and **is not charged**.

### Pricing

From **$0.02** per keyword. Individual auctions are $0.002 each and off by default.

Read-only public pages, no login, throttled requests. Sellers are never collected.

# Actor input Schema

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

Search terms, e.g. "Nikon Z6".

## `monthsBack` (type: `integer`):

How far back to page. Yahoo! Auctions keeps roughly six months of closed listings, so values above 6 usually return the same window.

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

Sampling budget. Each page is 50 auctions; a wider window needs a bigger budget to keep every month populated.

## `minPerMonth` (type: `integer`):

Months with fewer sold auctions than this are reported with their count but excluded from the trend line, so a two-sale month cannot swing the direction.

## `priceMinJpy` (type: `integer`):

Pushed to Yahoo as aucminprice, so the sampling budget is spent on the product tier you asked about. The way to keep manuals and batteries out of a camera trend.

## `priceMaxJpy` (type: `integer`):

Pushed to Yahoo as aucmaxprice.

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

Also return every sampled sold auction (charged per auction).

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

Add USD figures alongside JPY.

## Actor input object example

```json
{
  "keywords": [
    "Nikon Z6"
  ],
  "monthsBack": 6,
  "maxItemsPerKeyword": 300,
  "minPerMonth": 5,
  "includeIndividualItems": false,
  "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": [
        "Nikon Z6"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("jpmarketdata/yahoo-auction-price-trend").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": ["Nikon Z6"] }

# Run the Actor and wait for it to finish
run = client.actor("jpmarketdata/yahoo-auction-price-trend").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 '{
  "keywords": [
    "Nikon Z6"
  ]
}' |
apify call jpmarketdata/yahoo-auction-price-trend --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,jpmarketdata/yahoo-auction-price-trend"
        }
    }
}

```

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/SoR0V9hA8MHnrfqO8/builds/1L18S5kaBc6grcIdy/openapi.json
