# Kakaku Product Scraper (`agentx/kakaku-product-scraper`) Actor

Search Kakaku, Japan's price-comparison and purchase-support site, by keyword. Built for price benchmarking and product research with normalized titles, JPY prices, images, ratings, availability, URLs, query, and rank.

- **URL**: https://apify.com/agentx/kakaku-product-scraper.md
- **Developed by:** [AgentX](https://apify.com/agentx) (community)
- **Categories:** E-commerce, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

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

## Kakaku Product Scraper — Japan Price Comparison Search API

Search Kakaku by keyword and export normalized Japan product records with current JPY price signals, brands, categories, ratings, review and comment signals, shop context, images, specifications, color variants, ranks, and source links.

> **Affiliate disclosure:** Some links in this README include the `fpr=aiagentapi` referral parameter. If you create or use an Apify account through one of those links, AgentX may receive a commission at no additional cost to you.

[![Open Actor](https://img.shields.io/badge/Open_Kakaku_Product_Scraper-0068b7?style=for-the-badge)](https://apify.com/agentx/kakaku-product-scraper?fpr=aiagentapi) [![All APIs](https://img.shields.io/badge/Explore_AgentX_APIs-0068b7?style=for-the-badge)](https://apify.com/agentx?fpr=aiagentapi)

***

### Why Choose This API

#### Japan-focused comparison results

The Actor follows Kakaku keyword results for Japan and preserves the source's product grouping, price text, shop context, rating signals, and ordering.

#### Price and specification research

Delivered records can include JPY prices, maker names, categories, ratings, review counts, comment signals, descriptions, specifications, shop context, images, and color variants.

#### Verifiable records without fabricated values

Unavailable source values remain empty instead of being guessed. Each delivered row retains the keyword, market code, rank, product URL, source URL, and processing time needed for review.

#### Honest nullable fields

All records use the shared 58-field AgentX shopping schema. Fields such as stock, discount, promotion, shipping, and sponsored status remain empty when this implementation does not obtain a reliable source value.

***

### Quick Start Guide

1. [Open Kakaku Product Scraper](https://apify.com/agentx/kakaku-product-scraper?fpr=aiagentapi).
2. Enter a product, brand, model, or category `keyword`.
3. Keep `country` set to `Japan`, set `max_results` to `10` for the minimum 10-result test, and click **Start**.
4. Review and export the default dataset.

```json
{
  "keyword": "PlayStation 5",
  "country": "Japan",
  "max_results": 10
}
```

The requested count is an upper bound. Kakaku may return fewer usable product rows for a keyword.

***

### Input Parameters

| Parameter | Type | Required | Limits | Description |
| --- | --- | --- | --- | --- |
| `keyword` | string | Yes | Non-empty | Product, brand, model, or category query to extract Kakaku product data |
| `country` | string | Yes | `Japan` | Kakaku country/site setting; this Actor currently supports Japan |
| `max_results` | integer | Yes | 10–10,000 | Maximum number of Kakaku product records to return |

This Actor is fixed to Kakaku and does not expose a `platforms` input. Use [All Shopping Scraper](https://apify.com/agentx/all-shopping-scraper?fpr=aiagentapi) for supported multi-platform searches.

***

### Output Data Schema

The default dataset contains 58 fields. Source-dependent fields are nullable.

| Group | Fields |
| --- | --- |
| Images and identity | `main_image`, `image_urls`, `title`, `brand`, `badges`, `category`, `breadcrumbs`, `description`, `features`, `product_id`, `sku`, `gtin`, `mpn`, `model` |
| Product details | `specifications`, `manufacturer`, `origin`, `energy_class`, `included`, `condition`, `release_date`, `variant_group`, `variants` |
| Price and promotions | `price`, `was_price`, `unit_price`, `currency`, `price_text`, `discount_pct`, `discount_text`, `promo_text`, `installment_text` |
| Availability and demand | `stock_status`, `stock_text`, `sales_text`, `buy_limit`, `rating`, `review_count` |
| Seller and fulfillment | `seller`, `seller_url`, `seller_score`, `shipping_text`, `shipping_cost`, `delivery_text`, `pickup_text`, `return_text`, `return_days`, `warranty_text` |
| Traceability | `platform`, `site`, `country`, `product_url`, `source_url`, `query`, `rank`, `sponsored`, `processor`, `processed_at` |

Example schema record:

```json
{
  "main_image": "https://img1.kakaku.k-img.com/images/productimage/example.jpg",
  "title": "Sony PlayStation 5 Console",
  "brand": "Sony",
  "category": "Game Console",
  "breadcrumbs": ["Kakaku", "Game Console"],
  "product_id": "K0000000000",
  "specifications": {
    "Storage": "1 TB",
    "Color": "White"
  },
  "variants": [
    {"name": "color", "value": "White"}
  ],
  "price": 66980.0,
  "currency": "JPY",
  "price_text": "¥66,980",
  "rating": 4.6,
  "review_count": 1248,
  "sales_text": "128 件",
  "seller": "Example Shop",
  "platform": "kakaku",
  "site": "kakaku.com",
  "country": "JP",
  "product_url": "https://kakaku.com/item/K0000000000/",
  "source_url": "https://search.kakaku.com/PlayStation%205/",
  "query": "PlayStation 5",
  "rank": 1,
  "sponsored": null,
  "processor": "https://apify.com/agentx/kakaku-product-scraper",
  "processed_at": "2026-07-20T00:00:00.000Z"
}
```

The example illustrates the schema and does not represent a live price, shop, or product guarantee.

***

### Integration Examples

#### Dataset export workflow

Run the Actor from its Store page, inspect the default dataset, and use the export options available through Apify. The completed run exposes its dataset reference for downstream workflows.

#### Repeated model comparison

Use a stable model keyword and result limit across scheduled runs. Compare by `product_id` or `product_url`, and retain `query`, `rank`, `source_url`, `price_text`, and `processed_at` for audits.

#### Actor API and MCP

The immutable Actor ID is `LiSW6c7LN5p074Qd8`. Use it when an integration should remain stable even if a Store slug changes. The same minimum test can be sent with the Apify API:

```json
{
  "keyword": "PlayStation 5",
  "country": "Japan",
  "max_results": 10
}
```

Call `POST https://api.apify.com/v2/acts/LiSW6c7LN5p074Qd8/runs?token=YOUR_APIFY_TOKEN`, or use the [Actor API page](https://apify.com/agentx/kakaku-product-scraper/api?fpr=aiagentapi) to generate client examples. Apify's [Model Context Protocol integration](https://docs.apify.com/integrations/mcp) can expose the Actor to compatible AI clients; pass the same three public inputs and validate the returned default dataset. Keep API tokens private and never paste them into datasets, logs, or support messages.

***

### Pricing & Cost Calculator

Each Actor start has an `apify-actor-start` event price of $0.01. Delivered records use the `result` event. The table shows the exact cost of the same 10-result example used throughout this README:

| Account tier | Start | Per delivered result | 10-result total |
| --- | ---: | ---: | ---: |
| FREE | $0.01000 | $0.00560 | $0.06600 |
| BRONZE | $0.01000 | $0.00541 | $0.06410 |
| SILVER | $0.01000 | $0.00523 | $0.06230 |
| GOLD | $0.01000 | $0.00504 | $0.06040 |
| PLATINUM | $0.01000 | $0.00504 | $0.06040 |
| DIAMOND | $0.01000 | $0.00504 | $0.06040 |

Billing follows delivered result events, not the requested maximum. Check the live Store pricing panel before large runs.

***

### Compared with alternatives

| Approach | Best fit | Trade-off |
| --- | --- | --- |
| This Actor | Repeatable Kakaku keyword research with normalized Japan rows, API access, schedules, and source traceability | Search-visible fields and shop context vary by product and run |
| Manual Kakaku browsing | Investigating a handful of models interactively | Slow to repeat and difficult to compare as structured history |
| A custom collector | Teams that need a bespoke Japan price-comparison pipeline and can own maintenance | Higher engineering, monitoring, and source-change burden |
| A broad multi-market Actor | One workflow across supported shopping sources | Use [All Shopping Scraper](https://apify.com/agentx/all-shopping-scraper?fpr=aiagentapi) when platform selection matters more than a focused Kakaku contract |

Kakaku is a price-comparison and purchase-support source, not the merchant of record for every displayed offer. For a fair trial, run the documented minimum test and inspect source URLs, price text, shop context, and nullable field coverage before scheduling larger collections.

***

### Use Cases & Applications

- Compare current JPY price signals for named products and models.
- Research maker, category, rating, review, comment, and shop context.
- Enrich Japanese product catalogs with titles, images, identifiers, specifications, and source links.
- Track source rank and price text across successive runs.
- Build auditable Japan comparison datasets without filling unavailable offer fields.

The output does not verify shop identity, availability, future price, product authenticity, or fulfillment.

***

### FAQ

#### What does each delivered record represent?

Each row represents one public Kakaku product result found for the submitted keyword during that run. It is not a historical snapshot or a guarantee of a future shop price.

#### Can a run return fewer records than `max_results`?

Yes. `max_results` is an upper bound; the final count depends on the public products available for the query at run time.

#### Why are stock, discount, promotion, or shipping fields empty?

Kakaku does not expose those values consistently for every public result. They remain empty instead of being inferred.

#### Why can `price` differ from a later shop offer?

The value is the price signal Kakaku exposed for that product during the run. Kakaku and its listed shops can change values independently.

#### Is `country` configurable beyond Japan?

No. The current public input supports Japan only.

#### Is the dataset historical?

No. Save successive datasets if you need price or ranking history.

***

### Legal & Compliance

Use the Actor and exported data only when permitted by applicable law, contractual terms, [Kakaku's official terms](https://kakaku.com/terms/), [guidance for using published information](https://help.kakaku.com/notice.html), and your own compliance requirements. The Actor does not grant intellectual-property, resale, privacy, or source-site usage rights. Users remain responsible for inputs, retention, and downstream use. Do not treat a collected price, rank, rating, shop label, or availability signal as a future guarantee.

***

### Related Tools

#### Related product scrapers

- [AliExpress Product Scraper](https://apify.com/agentx/aliexpress-product-scraper?fpr=aiagentapi)
- [Bol Product Scraper](https://apify.com/agentx/bol-product-scraper?fpr=aiagentapi)
- [Rakuten Product Scraper](https://apify.com/agentx/rakuten-product-scraper?fpr=aiagentapi)

#### Enrich with AgentX

- [All Shopping Scraper](https://apify.com/agentx/all-shopping-scraper?fpr=aiagentapi)
- [All Jobs Scraper](https://apify.com/agentx/all-jobs-scraper?fpr=aiagentapi)
- [All Property Scraper](https://apify.com/agentx/all-property-scraper?fpr=aiagentapi)

***

### Support & Community

- [Open the Actor](https://apify.com/agentx/kakaku-product-scraper?fpr=aiagentapi)
- [Explore AgentX APIs](https://apify.com/agentx?fpr=aiagentapi)
- Telegram community: [@Apify\_Actor](https://t.me/Apify_Actor)
- Direct support: [@AiAgentApi](https://t.me/AiAgentApi)

When reporting an issue, include the input, run identifier, affected `source_url`, and a small sample. Never publish private tokens.

*Last updated: July 21, 2026. Maintained by AgentX.*

# Actor input Schema

## `keyword` (type: `string`):

Product, brand, model, or category query to extract Kakaku product data

## `country` (type: `string`):

Kakaku country/site setting. This actor currently supports Japan.

## `max_results` (type: `integer`):

Maximum number of Kakaku product records to return

## Actor input object example

```json
{
  "keyword": "PlayStation 5",
  "country": "Japan",
  "max_results": 10
}
```

# Actor output Schema

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

Product records returned by this actor with normalized fields and source URLs.

# 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 = {
    "keyword": "PlayStation 5",
    "country": "Japan",
    "max_results": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("agentx/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 = {
    "keyword": "PlayStation 5",
    "country": "Japan",
    "max_results": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("agentx/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 '{
  "keyword": "PlayStation 5",
  "country": "Japan",
  "max_results": 10
}' |
apify call agentx/kakaku-product-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/LiSW6c7LN5p074Qd8/builds/KvAAHT0irc9GteRfM/openapi.json
