# Misumi Listings Scraper (`piotrv1001/misumi-listings-scraper`) Actor

The MISUMI Scraper extracts product listings from us.misumi-ec.com by keyword, URL or part number, capturing live unit prices, warehouse stock levels, committed ship dates, engineering specs and images — ideal for industrial procurement, price monitoring and ERP catalog enrichment.

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

## Pricing

from $5.00 / 1,000 products

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.

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

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

### 🔩 MISUMI Scraper

Extract product data from **[MISUMI](https://us.misumi-ec.com/)**, the world's largest catalog of configurable mechanical components and factory automation parts. The **MISUMI Scraper** returns **live unit prices, real-time warehouse stock levels and committed ship dates** for any part number — data that normally requires clicking through the site one part at a time.

Search by keyword, paste product, series or category URLs, or feed in your own list of part numbers — including **made-to-order configurations** such as `HFS5-2020-1234`, which are quoted live by MISUMI's own configurator.

### ✨ Features

- 💵 **Live pricing** – Current USD unit price and price before discount, for the quantity you specify.
- 📦 **Real-time stock** – Immediately shippable quantity, orderable quantity and the warehouse it ships from.
- 🚚 **Committed lead times** – Ship days plus concrete ship and delivery dates, not vague estimates.
- 📐 **Full engineering specs** – Every named spec MISUMI publishes for the part (material, dimensions, precision, treatment…), plus RoHS status, weight and CAD availability.
- 🛠️ **Made-to-order quotes** – Price arbitrary configurations (cut lengths, bore diameters); invalid configurations come back with the exact spec error.
- 🔍 **Four ways to start** – Keyword search, product URL, series URL, category URL, or a plain list of part numbers.
- ⚡ **Fast & cheap** – Runs without a browser and without proxies, so large catalog pulls stay inexpensive.

### 🛠️ How It Works

1. **Choose your input** – Type a keyword (e.g. `ball bearing`), paste MISUMI URLs, or list exact part numbers.
2. **Set a limit** – `Maximum products` caps how many products the run returns; `Quantity` sets the order quantity used for the quote.
3. **Run the scraper** – Results stream into the dataset and can be exported to JSON, CSV, Excel or consumed through the Apify API.

### 📥 Input

| Field                | Type    | Description                                                                        |
| -------------------- | ------- | ---------------------------------------------------------------------------------- |
| `keyword`            | string  | Search MISUMI for this keyword and scrape the matching products.                   |
| `startUrls`          | array   | Product, series or category URLs from `us.misumi-ec.com`.                          |
| `partNumbers`        | array   | Exact part numbers to quote, including made-to-order configurations.               |
| `quantity`           | integer | Order quantity used for the quote (higher quantities can unlock volume discounts). |
| `maxItems`           | integer | Maximum number of products to scrape. Default `50`.                                |
| `proxyConfiguration` | object  | Optional. The scraper works fine without a proxy.                                  |

Example input:

```json
{
    "keyword": "ball bearing",
    "quantity": 1,
    "maxItems": 50
}
````

Quoting specific parts and configurations instead:

```json
{
    "partNumbers": ["HFS5-2020-1234", "SUS40B17", "25A10"],
    "quantity": 100
}
```

### 📊 Sample Output Data

```json
[
    {
        "partNumber": "16001",
        "seriesCode": "221000058301",
        "seriesName": "Deep Groove Ball Bearing - Single Row",
        "brandName": "NSK",
        "categoryCode": "M0802010000",
        "categoryName": "Ball Bearings",
        "url": "https://us.misumi-ec.com/vona2/detail/221000058301/?HissuCode=16001",
        "price": 16.09,
        "priceBeforeDiscount": 16.09,
        "currency": "USD",
        "quantity": 1,
        "inStockQty": 15,
        "orderableQty": 15,
        "shippingDays": 1,
        "shipDate": "2026-07-27",
        "deliveryDate": "2026-07-29",
        "shippingPlant": "USA-WH(OH)",
        "weight": "19",
        "weightUnit": "g",
        "minOrderQty": 1,
        "rohsCompliant": false,
        "cadFormats": ["2D", "3D"],
        "images": ["https://content.misumi-ec.com/image/upload/v1/p/jp/product/series/221000058301/221000058301.jpg"],
        "specs": {
            "Raceway Shape": "Ball",
            "Inner/Outer Ring Material": "[Steel] Steel",
            "Shield Material/Shape": "Open Type",
            "Precision": "Grade 0",
            "Inner Diameter d": "12"
        },
        "isConfigurable": false,
        "error": null
    }
]
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### 📋 Data Fields

| Field                          | Description                                                     |
| ------------------------------ | --------------------------------------------------------------- |
| `partNumber`                   | MISUMI part number                                              |
| `seriesCode`, `seriesName`     | Product series the part belongs to                              |
| `brandName`                    | Manufacturer brand (MISUMI, NSK, NTN, SKF…)                     |
| `categoryCode`, `categoryName` | Catalog category                                                |
| `url`                          | Direct link to the part on MISUMI                               |
| `price`, `priceBeforeDiscount` | Live unit price and pre-discount price                          |
| `currency`, `quantity`         | Quote currency and the quantity it was calculated for           |
| `inStockQty`, `orderableQty`   | Immediately shippable and orderable quantities                  |
| `shippingDays`                 | Days until shipment                                             |
| `shipDate`, `deliveryDate`     | Committed ship and delivery dates                               |
| `shippingPlant`                | Warehouse the part ships from                                   |
| `weight`, `weightUnit`         | Unit weight                                                     |
| `minOrderQty`                  | Minimum order quantity                                          |
| `rohsCompliant`                | RoHS compliance flag                                            |
| `cadFormats`                   | Available CAD formats (2D / 3D)                                 |
| `images`                       | Product image URLs                                              |
| `specs`                        | Named engineering specifications                                |
| `isConfigurable`               | `true` when the part number is a configuration template         |
| `error`                        | Why a price is missing (e.g. invalid configuration), when it is |

### 💰 How much does it cost to scrape MISUMI?

This Actor uses **pay per result** pricing: **$5.00 per 1,000 products**. There are no separate Apify platform usage fees.

| Products scraped | Cost   |
| ---------------- | ------ |
| 50 (default run) | $0.25  |
| 1,000            | $5.00  |
| 10,000           | $50.00 |

Apify's free plan includes $5 of monthly usage, which is roughly **1,000 MISUMI products per month at no cost**.

### 💡 Tips

- **Monitor stock and lead times** by scheduling the Actor daily with a fixed list of part numbers — `inStockQty`, `shipDate` and `price` change frequently.
- **Quote volume pricing** by raising `quantity`; MISUMI applies volume discounts that show up as a gap between `price` and `priceBeforeDiscount`.
- **Configurable products** (`isConfigurable: true`) are templates such as `HFS5-2020-[50-4000/0.5]`. They carry the full design space in `specs`, but to get a price, put a complete part number (e.g. `HFS5-2020-1234`) in `partNumbers`.
- **Category URLs pull whole catalogs.** Combine a category URL with a high `maxItems` for a bulk export, or keep `maxItems` low to sample first.

### ❓ FAQ

**Is scraping MISUMI legal?**
This Actor collects only publicly available product information — no login, no personal data. Web scraping of public data is generally legal, but you are responsible for how you use the data. If in doubt, consult a lawyer.

**Are the prices the same ones I see when logged in?**
No. Prices are the public US list prices in USD. Customer-specific contract pricing requires a MISUMI account and is not collected.

**Why do some rows have no price?**
Configuration templates cannot be priced, and a few part numbers are quoted manually by MISUMI. The `error` field explains each case.

**Can I get more fields or a custom pipeline?**
Yes — open an issue in the Issues tab, or get in touch for a custom solution.

### 🆘 Support

Found a bug or need a field that isn't there? Report it in the **Issues** tab of this Actor and it will be addressed.

# Actor input Schema

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

Search MISUMI for this keyword and scrape the matching products.

## `startUrls` (type: `array`):

Product, series or category URLs from us.misumi-ec.com to scrape.

## `partNumbers` (type: `array`):

Exact MISUMI part numbers to look up, including made-to-order configurations such as HFS5-2020-1234. Each one returns a live price, stock level and ship date.

## `quantity` (type: `integer`):

Order quantity used for the quote. Higher quantities can unlock volume discounts.

## `maxItems` (type: `integer`):

Maximum number of products to scrape.

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

Proxy settings. Not required, the scraper works fine without a proxy.

## Actor input object example

```json
{
  "keyword": "ball bearing",
  "quantity": 1,
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

No description

# 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": "ball bearing"
};

// Run the Actor and wait for it to finish
const run = await client.actor("piotrv1001/misumi-listings-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": "ball bearing" }

# Run the Actor and wait for it to finish
run = client.actor("piotrv1001/misumi-listings-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": "ball bearing"
}' |
apify call piotrv1001/misumi-listings-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Misumi Listings Scraper",
        "description": "The MISUMI Scraper extracts product listings from us.misumi-ec.com by keyword, URL or part number, capturing live unit prices, warehouse stock levels, committed ship dates, engineering specs and images — ideal for industrial procurement, price monitoring and ERP catalog enrichment.",
        "version": "0.0",
        "x-build-id": "Uc9yMPDrGqzbJdPSp"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/piotrv1001~misumi-listings-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-piotrv1001-misumi-listings-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/piotrv1001~misumi-listings-scraper/runs": {
            "post": {
                "operationId": "runs-sync-piotrv1001-misumi-listings-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/piotrv1001~misumi-listings-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-piotrv1001-misumi-listings-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": {
                    "keyword": {
                        "title": "Search keyword",
                        "type": "string",
                        "description": "Search MISUMI for this keyword and scrape the matching products."
                    },
                    "startUrls": {
                        "title": "MISUMI URLs",
                        "type": "array",
                        "description": "Product, series or category URLs from us.misumi-ec.com to scrape.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "partNumbers": {
                        "title": "Part numbers",
                        "type": "array",
                        "description": "Exact MISUMI part numbers to look up, including made-to-order configurations such as HFS5-2020-1234. Each one returns a live price, stock level and ship date.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "quantity": {
                        "title": "Quantity",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Order quantity used for the quote. Higher quantities can unlock volume discounts.",
                        "default": 1
                    },
                    "maxItems": {
                        "title": "Maximum products",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of products to scrape.",
                        "default": 50
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy settings. Not required, the scraper works fine without a proxy.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
