# Kakaku Product Scraper (`sian.agency/kakaku-product-scraper`) Actor

Scrape kakaku.com (価格.com) products — lowest price (JPY), per-shop price list, shop count, rank, ratings, reviews, specs & images. Category search, full detail enrichment, clean JSON/CSV, no code.

- **URL**: https://apify.com/sian.agency/kakaku-product-scraper.md
- **Developed by:** [SIÁN OÜ](https://apify.com/sian.agency) (community)
- **Categories:** E-commerce, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 overview product extracteds

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Kakaku.com Product Scraper — Every Shop's Price & Specs in JSON 🚀

[![SIÁN Agency Store](https://img.shields.io/badge/Store-SI%C3%81N%20Agency-1AE392)](https://apify.com/sian.agency?fpr=sian) [![Rakuten Product Scraper](https://img.shields.io/badge/Store-Rakuten%20Product%20Scraper-BF0000)](https://apify.com/sian.agency/rakuten-product-scraper?fpr=sian) [![Yodobashi Product Scraper](https://img.shields.io/badge/Store-Yodobashi%20Product%20Scraper-1AE392)](https://apify.com/sian.agency/yodobashi-product-scraper?fpr=sian) [![Bic Camera Product Scraper](https://img.shields.io/badge/Store-Bic%20Camera%20Product%20Scraper-E60012)](https://apify.com/sian.agency/bic-camera-product-scraper?fpr=sian)

#### 🎉 Turn any 価格.com (Kakaku) category into a clean dataset — every product with the full per-shop price list, lowest & highest price across all sellers, spec table, ratings and release date.
##### Built for repricing teams, price-intelligence analysts and Japan-market researchers who need every retailer's price on Japan's #1 price-comparison site — without writing a single line of code.

---

### 📋 Overview

**Kakaku.com (価格.com) is Japan's #1 price-comparison site — around 74 million visits a month — and this Kakaku product scraper turns it into structured data on demand.** Because Kakaku compares *every shop* selling a product, each record carries the complete per-shop price list — every retailer's price, shipping, payment methods and comment — plus the lowest and highest price across the whole market. Pick a category, choose your depth, and download a clean spreadsheet of prices, specs, ratings and rankings.

**Why thousands of professionals choose us:**
- ✅ **No account, no API key, no code**: Paste a category slug, hit Start, download JSON/CSV/Excel. That's the whole workflow.
- 💰 **The whole market in one row**: Every product carries the full per-shop price list — each seller's price, shipping and payment methods — plus the lowest and highest price across all shops. This is what makes Kakaku unique.
- ⚡ **Two modes, one dataset**: Fast **Overview** ranks ~40 products per page; **Detail** enriches each one with the complete per-shop price list, full specification table and category breadcrumbs.
- 🎯 **21 structured fields per product**: item id, title, maker, lowest price (JPY), shop count, popularity rank, rating, review count, release date, images and the full seller price list — decision-ready every time.
- 💎 **Native Kakaku filters**: Category path, sort order and JPY price band mirror the exact controls shoppers use on 価格.com, so your data matches what buyers see.
- ✨ **NEW**: Cheapest-vs-highest price spread per product, so you can spot the best seller and the widest margin at a glance.

---

### ✨ Features

- 🗂️ **Category browsing (JP + slugs)**: Sweep any Kakaku category by path — `kaden/lcd-tv` (TVs), `pc/note-pc` (laptops), `camera/mirrorless-camera` (mirrorless) — or paste an `itemlist.aspx` URL.
- 💴 **Per-shop price list**: Every retailer selling the product, with price, shipping, payment methods and shop comment — the heart of a price-comparison scraper.
- 📉 **Lowest & highest price**: The cheapest and most expensive offer across all shops, so the price spread is instant.
- 🔃 **Native sort orders**: Popularity, price low→high, price high→low, rating, newest or most reviewed.
- 💵 **Price-band filtering**: Set min/max price in JPY to capture only the segment you care about.
- ⭐ **Ratings & review signals**: Average rating, review count and forum (bbs) post count for every product.
- 🏆 **Popularity ranking**: Kakaku's own rank within the category — a real demand signal for Japan.
- 🔬 **Detail enrichment**: Full specification table, category breadcrumbs and the complete per-shop price list per product.
- 📅 **Release dates & images**: Product release date and full image URLs, ready for catalogs and feeds.
- 📊 **Clean JSON / CSV / Excel export**: One category in, one tidy dataset out — no reshaping required.

---

### 🎬 Quick Start

Add one or more category slugs, choose Overview or Detail, set how many results you want, and run. Results stream into the Apify dataset as clean rows you can export or pull via API. Most first runs finish in under a minute.

```bash
curl -X POST https://api.apify.com/v2/acts/sian.agency~kakaku-product-scraper/runs?token=YOUR_TOKEN \
-H 'Content-Type: application/json' \
-d '{"categories": ["kaden/lcd-tv"], "scrapeMode": "overview", "maxResults": 40}'
````

***

### 🚀 Getting Started (3 Simple Steps)

#### Step 1: Add your categories

Enter one or more Kakaku category slugs — `kaden/lcd-tv` (TVs), `pc/note-pc` (laptops), `camera/mirrorless-camera` — one per line, or paste an `itemlist.aspx` URL. No account or API key required.

#### Step 2: Choose your depth

Pick **Overview** for fast, ranked category sweeps, or **Detail** to enrich every product with the full per-shop price list, complete specification table and category breadcrumbs.

#### Step 3: Run and export

Hit Start, then download your results as JSON, CSV or Excel — or pull them straight from the dataset API.

**That's it! In under a minute, you'll have:**

- A clean table of Kakaku products with lowest prices, shop counts and popularity ranks
- Ratings, review counts and release dates for every listing
- The full per-shop price list (in Detail mode) ready for repricing and market intelligence

***

### 📥 Input Configuration

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `categories` | array | No | Kakaku category path slugs (`kaden/lcd-tv`, `pc/note-pc`, `camera/mirrorless-camera`) or a pasted `itemlist.aspx` URL, one per line |
| `scrapeMode` | string | No | `overview` (fast, ranked) or `detail` (adds per-shop price list, specs & breadcrumbs) |
| `sort` | string | No | `popularity`, `price_low`, `price_high`, `rating`, `newest` or `review_count` |
| `minPrice` | integer | No | Only return products at or above this price (JPY) |
| `maxPrice` | integer | No | Only return products at or below this price (JPY) |
| `maxResults` | integer | No | Max products across all categories (FREE: 40, PAID: unlimited) |

**Example (category sweep):**

```json
{
  "categories": ["kaden/lcd-tv"],
  "scrapeMode": "overview",
  "sort": "popularity",
  "maxResults": 100
}
```

**Multiple categories + filters + full detail:**

```json
{
  "categories": ["pc/note-pc", "camera/mirrorless-camera"],
  "scrapeMode": "detail",
  "minPrice": 50000,
  "maxPrice": 300000,
  "sort": "price_low",
  "maxResults": 500
}
```

***

### 📤 Output

Results are saved to the Apify dataset with **21 structured fields** including:

| Field | Type | Description |
|-------|------|-------------|
| `productTitle` | string | Full product name as shown on Kakaku |
| `maker` | string | Manufacturer / brand |
| `category` | string | Kakaku category path (e.g. `kaden/lcd-tv`) |
| `lowest_price` | number | Cheapest price across all shops (JPY) |
| `highest_price` | number | Most expensive price across all shops (JPY, Detail mode) |
| `currency` | string | ISO currency code (JPY) |
| `shop_count` | integer | Number of shops selling this product |
| `rank` | integer | Popularity rank within the category |
| `rating` | number | Average customer rating (0–5) |
| `review_count` | integer | Total number of reviews |
| `bbs_count` | integer | Number of forum (bbs) posts about the product |
| `release_date` | string | Product release date |
| `shops` | array | **Per-shop price list**: `shop_name`, `price`, `shop_url`, `shipping`, `payment_methods`, `comment` (Detail mode) |
| `specs` | object | Full key-value specification table (Detail mode) |
| `breadcrumbs` | array | Category breadcrumb trail (Detail mode) |
| `images` | array | Product image URLs |
| `url` | string | Direct link to the product page |

Plus `thumbnail`, `item_id`, `source` and run `metadata`.

**Example (Detail mode):**

```json
{
  "thumbnail": "https://img1.kakaku.k-img.com/images/productimage/fullscale/K0001763749.jpg",
  "item_id": "K0001763749",
  "productTitle": "REGZA 32V35S [32インチ]",
  "url": "https://kakaku.com/item/K0001763749/",
  "source": "detail",
  "maker": "TVS REGZA",
  "category": "kaden/lcd-tv",
  "lowest_price": 39302,
  "highest_price": 53390,
  "currency": "JPY",
  "shop_count": 52,
  "rank": 1,
  "rating": 4.62,
  "review_count": 6,
  "bbs_count": 855,
  "release_date": null,
  "images": ["https://img1.kakaku.k-img.com/images/productimage/fullscale/K0001763749.jpg"],
  "breadcrumbs": ["ホーム", "家電", "液晶テレビ・有機ELテレビ", "TVS REGZA", "REGZA 32V35S [32インチ]"],
  "specs": {
    "種類": "フルハイビジョン液晶テレビ",
    "画面サイズ": "32 V型(インチ)",
    "画素数": "1920x1080"
  },
  "shops": [
    {
      "shop_name": "XPRICE",
      "price": 39302,
      "shop_url": "https://kakaku.com/shop/1339/?pdid=K0001763749",
      "shipping": "無料",
      "payment_methods": ["クレカ", "振込", "その他"],
      "comment": "地域限定下取りキャンペーン開始！分割ローン最大60回まで金利手数料無料"
    },
    {
      "shop_name": "楽天市場PREMOA",
      "price": 40700,
      "shop_url": "https://kakaku.com/shop/3713/?pdid=K0001763749",
      "shipping": "650円～",
      "payment_methods": [],
      "comment": "楽天市場なら、いつでもポイントがもらえる、使える！"
    }
  ],
  "metadata": {
    "scrapeMode": "detail",
    "categories": ["kaden/lcd-tv"],
    "sort": "popularity",
    "userTier": "PAID",
    "scrapedAt": "2026-07-14T15:23:07Z"
  }
}
```

***

### 💼 Use Cases & Examples

#### 1. Price monitoring & repricing

**Sellers and repricing teams tracking the cheapest offer on Japan's biggest price-comparison site.**

**Input:** Your product categories, on a daily schedule, in Detail mode
**Output:** The full per-shop price list plus lowest and highest price per product
**Use:** See exactly which seller is cheapest, reprice to win the top spot and protect margin.

#### 2. Competitor & MAP price intelligence

**Brands and agencies enforcing MAP and benchmarking every seller across the market.**

**Input:** Category slugs for your products in Detail mode
**Output:** Every retailer's price, shipping and payment methods on each product
**Use:** Catch MAP violations, map the competitive price spread and know where you stand versus every shop.

#### 3. Finding the cheapest seller for a product

**Buyers, procurement teams and deal sites hunting the best price across all shops.**

**Input:** A category swept in Detail mode, optionally with a JPY price band
**Output:** The lowest price, the shop offering it and the full ranked seller list
**Use:** Surface the cheapest verified seller instantly and quantify the saving versus the highest offer.

#### 4. Catalog & spec research

**Category managers and comparison sites that need complete product detail.**

**Input:** Categories in **Detail** mode
**Output:** Full specification table, category breadcrumbs, images and maker for every product
**Use:** Populate product feeds, PDPs and comparison pages with rich 価格.com data.

#### 5. Market & demand research in Japan

**Analysts studying popularity, pricing and demand signals in Japanese e-commerce.**

**Input:** Categories sorted by `popularity`, `review_count` or `newest`
**Output:** Popularity ranks, ratings, review counts and price distributions across shops
**Use:** Quantify demand, track trends and inform Japan market-entry decisions.

#### 6. New-release & assortment tracking

**Merchandisers monitoring what's new and hot in a Japanese product category.**

**Input:** A category sorted by `newest`, run frequently
**Output:** Release dates, ranks and prices for the latest arrivals
**Use:** Spot new SKUs early, size the category and prioritize what to stock.

***

### 🔗 Integration Examples

#### JavaScript/Node.js

```javascript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });

const run = await client.actor('sian.agency/kakaku-product-scraper').call({
  categories: ['kaden/lcd-tv'],
  scrapeMode: 'overview',
  maxResults: 100,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);
```

#### Python

```python
from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')

run = client.actor('sian.agency/kakaku-product-scraper').call(
    run_input={'categories': ['pc/note-pc'], 'scrapeMode': 'detail', 'maxResults': 100}
)

for item in client.dataset(run['defaultDatasetId']).iterate_items():
    print(item)
```

#### cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~kakaku-product-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"categories": ["kaden/lcd-tv"], "scrapeMode": "overview", "maxResults": 100}'
```

#### Automation Workflows (N8N / Zapier / Make)

1. **Trigger**: Schedule (e.g. daily price check) or webhook
2. **HTTP Request**: Call the actor API with your categories
3. **Process**: Handle the JSON results — compare shop prices, flag undercuts
4. **Action**: Save to a sheet, push to a dashboard or send an alert

***

### 📊 Performance & Pricing

Pay only for the products you receive — **pay-per-event** pricing.

#### FREE Tier (Try It Now)

- **40 products** per run — full feature access, same data quality
- No credit card required
- Perfect for testing categories and small projects

#### PAID Tier (Production Ready)

- **Unlimited** products per run — sweep entire categories in one go
- Faster, uninterrupted runs
- Pay-per-result: a small base run fee plus a per-product charge

💰 **Fair, transparent pricing** — you pay a small base fee per run plus a charge for each product you extract. **Detail** mode costs a little more than **Overview** because each record includes the full per-shop price list and complete specification table. You only pay for the Kakaku data you keep.

🔗 [View current pricing](https://apify.com/sian.agency/kakaku-product-scraper?fpr=sian)

***

### ❓ Frequently Asked Questions

**Q: How many products can I scrape?**
A: FREE tier: up to 40 products per run. PAID tier: unlimited — sweep whole categories in a single run.

**Q: Do I need a Kakaku account or an API key?**
A: No. Just enter category slugs and run — no account, no API key, no code.

**Q: What makes this different from a normal product scraper?**
A: Kakaku.com is a price-*comparison* site, so every product carries the full per-shop price list — each retailer's price, shipping, payment methods and comment — plus the lowest and highest price across all shops. You get the whole market in one row.

**Q: How do I choose a category?**
A: Use a Kakaku category path slug like `kaden/lcd-tv` (TVs), `pc/note-pc` (laptops) or `camera/mirrorless-camera`, or simply paste an `itemlist.aspx` URL from the site.

**Q: What's the difference between Overview and Detail mode?**
A: Overview is the fast, ranked path (~40 products per page) with lowest price, shop count, rank, rating and release date. Detail adds the complete per-shop price list, the highest price, the full specification table and category breadcrumbs.

**Q: Are prices in yen?**
A: Yes. All prices are in Japanese yen (JPY), including each shop's individual price in the seller list.

**Q: What output formats are available?**
A: JSON, CSV and Excel — export directly from the Apify dataset or pull via API.

**Q: Is this legal?**
A: Yes — the actor only extracts publicly available product data. See the legal section below.

***

### 🐛 Troubleshooting

**No results returned**

- Make sure you provided at least one valid category slug (e.g. `kaden/lcd-tv`) or an `itemlist.aspx` URL.
- Widen your `minPrice`/`maxPrice` band — tight filters can exclude everything.
- Double-check the category path matches a real Kakaku category.

**Fewer results than expected**

- Check `maxResults` — on the FREE tier it caps at 40 products per run.
- Some categories simply have a small catalog on Kakaku.

**Missing per-shop prices, specs or breadcrumbs**

- Those fields are populated in **Detail** mode only. Switch `scrapeMode` to `detail`.

**Not sure which category slug to use**

- Open the category on kakaku.com and copy the path after the domain (e.g. `kaden/lcd-tv`), or paste the full `itemlist.aspx` URL — the actor accepts either.

***

### ⚖️ Is it legal to scrape data?

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the **GDPR** in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

> **Trademark disclaimer:** Kakaku.com Product Scraper is an independent tool and is **not affiliated with, endorsed by, or sponsored by Kakaku.com, Inc.** "Kakaku.com" and "価格.com" are trademarks of their respective owner (Kakaku.com, Inc.). This actor accesses only publicly available data and is intended for lawful, ethical use.

***

### 🤝 Support

[![Telegram Support](https://img.shields.io/badge/Telegram-Support%20Group-0088cc?logo=telegram)](https://t.me/+vyh1sRE08sAxMGRi)

**Join our active support community**

- For issues or questions, open an issue in the actor's repository
- Check the [SIÁN Agency Store](https://apify.com/sian.agency?fpr=sian) for more automation tools
- 📧 <apify@sian-agency.online>

***

**Built by [SIÁN Agency](https://www.sian-agency.online)** | **[More Tools](https://apify.com/sian.agency?fpr=sian)**

# Actor input Schema

## `categories` (type: `array`):

🗂️ **CATEGORY SEARCH:** Scrape a kakaku.com category grid — exactly the ranked product list shoppers browse. Add one category per line; each runs as its own search and all results land in the same dataset.

📝 **CATEGORY PATH (recommended):** the slug from any kakaku category URL, e.g.

- `kaden/lcd-tv` — TVs
- `pc/note-pc` — laptops
- `camera/mirrorless-camera` — mirrorless cameras

🔗 **OR PASTE A FULL URL:** drop in any `kakaku.com/<category>/itemlist.aspx?…` link and its sort + price band are picked up automatically.

🖊️ **BULK EDIT:** Click "Bulk edit" to paste many categories at once (one per line).

✅ **IMPORTANT:** Provide at least one category (or itemlist URL) so there's something to scrape.

## `scrapeMode` (type: `string`):

⚙️ **SCRAPE DEPTH:** Choose how much data to pull per product.

⚡ **Overview (fast):** The ranked category grid only — product id, title, maker, lowest price (JPY), shop count, rank, rating, review count and thumbnail. Fastest and cheapest path.

🔬 **Detail (per-shop prices + full specs):** Everything in Overview PLUS the complete per-shop price list (every shop with its price, shipping, payment methods & comment), the highest price, the full specification table, breadcrumbs and the image gallery scraped from each product page.

💡 **TIP:** Start with Overview to scope a category, then switch to Detail when you need the full price comparison and spec sheet.

## `sort` (type: `string`):

🔃 **RESULT ORDERING:** Order the category grid using kakaku's own native sort options — the same ranking real shoppers see.

🎯 **Popularity** is kakaku's featured / attention ranking · 💲 **Price** sorts by lowest price ascending or descending · ⭐ **Rating** leads with the best-reviewed items · 🆕 **Newest** prioritizes the latest releases · 💬 **Most reviewed** leads with the most bulletin-board activity.

## `minPrice` (type: `integer`):

💵 **MINIMUM PRICE:** Only return products whose lowest price is at or above this amount in Japanese yen (JPY). Leave blank for no lower bound.

## `maxPrice` (type: `integer`):

💰 **MAXIMUM PRICE:** Only return products whose lowest price is at or below this amount in Japanese yen (JPY). Leave blank for no upper bound.

## `maxResults` (type: `integer`):

🔢 **RESULT CAP:** Maximum number of products to return across all categories combined.

🎁 **TIER-BASED LIMITS:**

- **FREE users:** Up to 25 products per run
- **PAID users:** Unlimited — sweep entire categories in a single run

💡 **TIP:** Keep this low while you dial in your categories, then raise it once the output looks right.

## Actor input object example

```json
{
  "categories": [
    "kaden/lcd-tv"
  ],
  "scrapeMode": "overview",
  "sort": "popularity",
  "maxResults": 100
}
```

# Actor output Schema

## `kakakuProducts` (type: `string`):

Scraped kakaku.com products with prices, per-shop price lists, ratings, specs and images.

# 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 = {
    "categories": [
        "kaden/lcd-tv"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("sian.agency/kakaku-product-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 = { "categories": ["kaden/lcd-tv"] }

# Run the Actor and wait for it to finish
run = client.actor("sian.agency/kakaku-product-scraper").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 '{
  "categories": [
    "kaden/lcd-tv"
  ]
}' |
apify call sian.agency/kakaku-product-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=sian.agency/kakaku-product-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Kakaku Product Scraper",
        "description": "Scrape kakaku.com (価格.com) products — lowest price (JPY), per-shop price list, shop count, rank, ratings, reviews, specs & images. Category search, full detail enrichment, clean JSON/CSV, no code.",
        "version": "1.0",
        "x-build-id": "2tHoavGO3g1bhUppA"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sian.agency~kakaku-product-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sian.agency-kakaku-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/sian.agency~kakaku-product-scraper/runs": {
            "post": {
                "operationId": "runs-sync-sian.agency-kakaku-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/sian.agency~kakaku-product-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-sian.agency-kakaku-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "categories": {
                        "title": "🗂️ Categories (Category Path or itemlist URL)",
                        "type": "array",
                        "description": "🗂️ **CATEGORY SEARCH:** Scrape a kakaku.com category grid — exactly the ranked product list shoppers browse. Add one category per line; each runs as its own search and all results land in the same dataset.\n\n📝 **CATEGORY PATH (recommended):** the slug from any kakaku category URL, e.g.\n- `kaden/lcd-tv` — TVs\n- `pc/note-pc` — laptops\n- `camera/mirrorless-camera` — mirrorless cameras\n\n🔗 **OR PASTE A FULL URL:** drop in any `kakaku.com/<category>/itemlist.aspx?…` link and its sort + price band are picked up automatically.\n\n🖊️ **BULK EDIT:** Click \"Bulk edit\" to paste many categories at once (one per line).\n\n✅ **IMPORTANT:** Provide at least one category (or itemlist URL) so there's something to scrape.",
                        "default": [
                            "kaden/lcd-tv"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "scrapeMode": {
                        "title": "⚙️ Scrape Mode",
                        "enum": [
                            "overview",
                            "detail"
                        ],
                        "type": "string",
                        "description": "⚙️ **SCRAPE DEPTH:** Choose how much data to pull per product.\n\n⚡ **Overview (fast):** The ranked category grid only — product id, title, maker, lowest price (JPY), shop count, rank, rating, review count and thumbnail. Fastest and cheapest path.\n\n🔬 **Detail (per-shop prices + full specs):** Everything in Overview PLUS the complete per-shop price list (every shop with its price, shipping, payment methods & comment), the highest price, the full specification table, breadcrumbs and the image gallery scraped from each product page.\n\n💡 **TIP:** Start with Overview to scope a category, then switch to Detail when you need the full price comparison and spec sheet.",
                        "default": "overview"
                    },
                    "sort": {
                        "title": "🔃 Sort Order",
                        "enum": [
                            "popularity",
                            "price_low",
                            "price_high",
                            "rating",
                            "newest",
                            "review_count"
                        ],
                        "type": "string",
                        "description": "🔃 **RESULT ORDERING:** Order the category grid using kakaku's own native sort options — the same ranking real shoppers see.\n\n🎯 **Popularity** is kakaku's featured / attention ranking · 💲 **Price** sorts by lowest price ascending or descending · ⭐ **Rating** leads with the best-reviewed items · 🆕 **Newest** prioritizes the latest releases · 💬 **Most reviewed** leads with the most bulletin-board activity.",
                        "default": "popularity"
                    },
                    "minPrice": {
                        "title": "💵 Min Price (JPY)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "💵 **MINIMUM PRICE:** Only return products whose lowest price is at or above this amount in Japanese yen (JPY). Leave blank for no lower bound."
                    },
                    "maxPrice": {
                        "title": "💰 Max Price (JPY)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "💰 **MAXIMUM PRICE:** Only return products whose lowest price is at or below this amount in Japanese yen (JPY). Leave blank for no upper bound."
                    },
                    "maxResults": {
                        "title": "🔢 Max Results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "🔢 **RESULT CAP:** Maximum number of products to return across all categories combined.\n\n🎁 **TIER-BASED LIMITS:**\n- **FREE users:** Up to 25 products per run\n- **PAID users:** Unlimited — sweep entire categories in a single run\n\n💡 **TIP:** Keep this low while you dial in your categories, then raise it once the output looks right.",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
