# Mandarake Auction Scraper — まんだらけ オークション (`fruitful_quintessence/mandarake-auction-scraper`) Actor

Scrape Mandarake (まんだらけ) Japan auction listings for anime figures, manga, trading cards, and collectibles. Extract name, price, bids, watchers, shop, images. 60+ categories, keyword search, RSS feed. For resale arbitrage, price monitoring, and market research.

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

## Pricing

from $1.00 / 1,000 mandarake-searches

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

## Mandarake Auction Scraper — まんだらけ オークション

Scrapes auction listings (item name, price, bids, watchers, shop, images) from Mandarake (まんだらけ), Japan's premier second-hand anime, manga, figure, and collectibles marketplace. Supports 60+ categories, keyword search with pagination (800+ items/keyword), and RSS feed monitoring.

[![Apify Store](https://img.shields.io/badge/Apify-Store-blue)](https://apify.com/fruitful_quintessence/mandarake-auction-scraper)
[![MIT License](https://img.shields.io/badge/License-MIT-green)](LICENSE)

***

### Output Sample

```json
[
  {
    "name": "フィギュア ドラゴンボール",
    "current_price_jpy": 3000,
    "bid_count": 5,
    "watcher_count": 12,
    "shop_name": "まんだらけ 中野店",
    "item_url": "https://order.mandarake.co.jp/auction/...",
    "image_url": "https://img.mandarake.co.jp/...",
    "end_time": "2026-08-15T20:00:00+09:00"
  }
]
```

### Input

```json
{
  "keyword": "フィギュア",
  "maxPages": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyCountry": "JP"
  }
}
```

Parameters:

- `keyword` (required) — Search term (Japanese characters supported)
- `category` (optional) — Filter by one of 60+ Mandarake categories
- `maxPages` (optional, default: 3) — Pages to scrape (30 items/page)
- `inStock` (optional) — Return only items with active bids

### Use Cases

- **Resale arbitrage** — Find undervalued items by comparing Mandarake auction prices to market rates
- **Price monitoring** — Track auction prices for specific collectibles over time
- **Market research** — Analyze bidding patterns, popular categories, and price distributions
- **Inventory feeds** — Feed structured auction data into LLMs for automated pricing analysis
- **Automated alerts** — Add a webhook URL to receive Slack/Discord/n8n notifications when new items match your search

### Integrations

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

You can also schedule daily/hourly runs from the **Schedule** tab and receive results via **webhook** (add a `webhookUrl` in the input).

#### Webhook Setup Examples

**Slack** — Create a Slack webhook:

1. Go to https://api.slack.com/apps → Create New App → Incoming Webhooks
2. Activate and copy the Webhook URL (looks like `https://hooks.slack.com/services/T00/B00/xxxxx`)
3. Paste it into the `webhookUrl` input field when running the actor
4. Result: Slack posts a message like "Mandarake Auction Scraper completed: 25 items found"

**Discord** — Create a Discord webhook:

1. Server Settings → Integrations → Webhooks → New Webhook
2. Copy the Webhook URL (looks like `https://discord.com/api/webhooks/xxxxx/yyyyy`)
3. Paste it into the `webhookUrl` input field

**n8n / Zapier** — Use any webhook trigger:

1. Create an n8n "Webhook" node or Zapier "Webhooks by Zapier" trigger
2. Copy the generated URL and paste into `webhookUrl`
3. The JSON payload includes: `event`, `actor`, `keyword`, `itemCount`, `datasetId`, `datasetUrl`

#### Example: Scheduled Slack Alerts with Price Monitoring

1. Set up keyword search as usual
2. Add a Slack webhook URL to `webhookUrl`
3. Go to **Schedule** tab → Create a daily schedule
4. Every day at 9 AM, the actor runs and posts results to your Slack channel
5. Click the dataset link in Slack to open full results

### Pricing

- **$0.00005 per actor start** + **$0.001 per search** + **$0.00001 per result item**
- Typical 100-item search run: ~**$0.001** total
- You only pay for what you use — no monthly subscription

### Limitations

- Mandarake blocks aggressive crawling; respect the built-in rate limiting
- Images are hosted on Mandarake CDN and may expire after the auction ends
- We do not bypass CAPTCHAs; the actor respects robots.txt

### FAQ

**Does this work for Yahoo Auctions Japan?** No. This actor only scrapes Mandarake Auction. See our other actors.

**How fresh is the data?** Live at run time. We do not cache results.

**Can I run this on a schedule?** Yes. Use the Apify Schedule tab to run daily or hourly.

**Does this require an API key?** No. The actor scrapes publicly available listing pages.

### Changelog

- v0.2.1 (2026-07-29): Reduced pricing — start fee $0.00005, search $0.001
- v0.2.0 (2026-07-27): Added isPrimaryEvent pricing model
- v0.1.0 (2026-07-26): Initial release with keyword search and 60+ categories

# Actor input Schema

## `mode` (type: `string`):

Select which endpoint to scrape

## `category` (type: `string`):

Category slug (only used when mode is 'category')

## `itemIndex` (type: `integer`):

Numeric item index for detail mode (found in item URL)

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

Max pages to scrape (~40 items per page, for search and category modes)

## `language` (type: `string`):

RSS feed language (only used when mode is 'rss')

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

Maximum items to return (1-200)

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

Search keyword (only used when mode is 'search')

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

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

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

Apify proxy

## Actor input object example

```json
{
  "mode": "category",
  "category": "toys",
  "itemIndex": 0,
  "maxPages": 2,
  "language": "ja",
  "maxResults": 50,
  "keyword": "",
  "webhookUrl": "",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyCountry": "JP"
  }
}
```

# Actor output Schema

## `item_index` (type: `string`):

Item index number

## `item_no` (type: `string`):

Mandarake item number

## `name` (type: `string`):

Item name (Japanese)

## `current_price_jpy` (type: `string`):

Current auction price in yen

## `start_price_jpy` (type: `string`):

Starting auction price in yen

## `bid_count` (type: `string`):

Number of bids placed

## `watch_count` (type: `string`):

Number of watchers

## `shop_name` (type: `string`):

Selling shop name

## `image_url` (type: `string`):

Item thumbnail URL

## `item_url` (type: `string`):

Full auction detail page URL

## `category` (type: `string`):

Item category slug

## `auction_type` (type: `string`):

Auction format

## `description` (type: `string`):

Item description (detail mode only)

## `end_datetime` (type: `string`):

Auction end datetime (detail mode only)

## `scraped_at` (type: `string`):

ISO 8601 scrape timestamp

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("fruitful_quintessence/mandarake-auction-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("fruitful_quintessence/mandarake-auction-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 '{}' |
apify call fruitful_quintessence/mandarake-auction-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/q2E37PVTg5JcGOTEn/builds/Y0Z8vfjABqnSIg2SV/openapi.json
