# Mouser Parts Scraper (`axlymxp/mouser-parts-scraper`) Actor

Scrape Mouser Electronics component data: keyword search, category browse, and exact part-number (BOM) batch lookup with full pricing tiers, live stock, datasheets, compliance and lifecycle status.

- **URL**: https://apify.com/axlymxp/mouser-parts-scraper.md
- **Developed by:** [axly](https://apify.com/axlymxp) (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 $4.00 / 1,000 dataset items

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 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

## Mouser Parts Scraper

Extract Mouser Electronics (mouser.com) component data at scale — **pricing
tiers, live stock, datasheets, lifecycle status, and RoHS/compliance codes** —
by keyword search, category browse, or a full bill-of-materials (BOM)
part-number list. Returns clean, structured JSON ready for spreadsheets,
dashboards, or your procurement system.

Unlike other Mouser scrapers that scrape the site's HTML product pages (which
Mouser's Akamai bot protection blocks even for real browsers), this actor
talks directly to Mouser's own mobile-app API — the only gate is a
cookie-based check that the actor bootstraps automatically, with no proxies or
CAPTCHA-solving required.

### Who it's for

- **Procurement & BOM automation teams** — check stock and price-break tiers
  for an entire bill of materials in one run.
- **Price/stock monitoring & competitive intelligence** — track Mouser pricing
  and stock trends over time.
- **EDA/PCB tool & internal app developers** — a stable JSON parts feed
  instead of a fragile HTML scraper.
- **Researchers** — component-market structure, category taxonomy, and
  pricing distributions.

### What you get (output fields)

| Field                                            | Type          | Description                                     |
| ------------------------------------------------- | ------------- | ------------------------------------------------ |
| `distributor_part_number` / `manufacturer_part_number` | string  | Mouser and manufacturer part numbers            |
| `manufacturer`                                     | string        | Manufacturer name                               |
| `description`                                      | string        | Part description                                |
| `available_to_sell` / `factory_stock`              | integer       | Live stock quantities                           |
| `lifecycle_status`                                 | string        | e.g. "New at Mouser", "New Product"             |
| `rohs_status`                                      | string        | RoHS compliance label                           |
| `minimum_order_quantity` / `multiple_order_quantity` | integer     | Order quantity rules                            |
| `price_breaks`                                     | array         | Quantity price-break tiers with currency        |
| `datasheets`                                       | array         | Datasheet URLs                                  |
| `images`                                           | array         | Product image URLs                              |
| `category_breadcrumb`                              | array         | Category path                                   |
| `attributes`                                       | array         | Parametric specifications (name + values)       |
| `compliance`                                       | array         | Compliance codes (e.g. ECCN)                    |
| `product_detail_url`                               | string        | Mouser product page URL                         |

### High-value use cases

- **BOM pricing & stock checks** — pass a list of exact part numbers and get
  back price breaks and stock for every line item in one run.
- **Price/stock monitoring** — schedule daily runs on key categories or parts
  and diff pricing/stock over time.
- **Catalog & category research** — browse a category path to see everything
  Mouser stocks in it, with full specs and pricing.
- **Parts-data enrichment** — turn a list of part numbers into full structured
  records for your PIM, ERP, or CRM.

### Input parameters

| Field                 | Type    | Default | Description                                    |
| ---------------------- | ------- | ------- | ------------------------------------------------ |
| `searchQueries`        | array   | `[]`    | Keywords to search                              |
| `categoryPaths`        | array   | `[]`    | Category paths to browse                        |
| `partNumbers`          | array   | `[]`    | Exact part numbers — BOM batch lookup           |
| `maxItemsPerQuery`     | int     | 100     | Cap per search/category query                   |
| `inStockOnly`          | boolean | false   | Only return in-stock parts                      |
| `rohsCompliantOnly`    | boolean | false   | Only return RoHS-compliant parts                |
| `sortBy`               | string  | default | relevance / price / partNumber / manufacturer   |
| `shippingCountryCode`  | string  | US      | Pricing/stock context                           |
| `currencyCode`         | string  | USD     | Pricing currency                                |

### Example input

```json
{
    "searchQueries": ["10k resistor"],
    "partNumbers": ["78-2KDFN39CA-M3/H", "NE555P"],
    "maxItemsPerQuery": 100,
    "inStockOnly": false
}
````

### Example output

```json
{
    "distributor_part_number": "78-2KDFN39CA-M3/H",
    "manufacturer_part_number": "2KDFN39CA-M3/H",
    "manufacturer": "Vishay",
    "description": "ESD Protection Diodes / TVS Diodes",
    "available_to_sell": 3000,
    "lifecycle_status": "New at Mouser",
    "rohs_status": "RoHS Compliant",
    "price_breaks": [{ "quantity": 1, "price": "$1.37", "price_without_format": 1.37, "currency": "USD" }],
    "product_detail_url": "https://www.mouser.com/ProductDetail/..."
}
```

### Scheduling & integrations

Run on a schedule (hourly/daily) and push results to Google Sheets, Make,
Zapier, S3, or your webhook using Apify's built-in integrations — ideal for
continuous BOM price/stock monitoring.

### Use with AI assistants (MCP)

Prefer to query Mouser live from Claude, Cursor, or your own agent? Use the
companion **Mouser Parts MCP Server** actor, which exposes part search, BOM
lookup, category browse, and autocomplete as Model Context Protocol tools.

### FAQ

**How many parts can I get per query?** Set `maxItemsPerQuery` up to 5000;
split very large category pulls across multiple runs or category paths.

**Is the data fresh?** Every run pulls live pricing and stock directly from
Mouser's own catalog API at run time.

**Why is this more reliable than other Mouser scrapers?** It uses Mouser's
Android app API rather than screen-scraping the website, which Mouser's
Akamai bot protection blocks even for real browsers on many routes. No
residential proxy or CAPTCHA solver is required.

**Is scraping legal?** The actor collects only publicly available product
data. You are responsible for complying with Mouser's terms and applicable
laws.

**Support?** Issues and requests are typically answered within a couple of
business days.

# Actor input Schema

## `searchQueries` (type: `array`):

Keywords to search on mouser.com (one search per keyword), e.g. part numbers or descriptions.

## `categoryPaths` (type: `array`):

Mouser category paths to browse, e.g. 'passive-components/resistors' (the trailing path of a mouser.com/c/... URL).

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

Exact manufacturer or Mouser distributor part numbers to look up directly — use this for bill-of-materials (BOM) batch pricing/stock checks.

## `maxItemsPerQuery` (type: `integer`):

Stop each search or category browse after this many parts.

## `inStockOnly` (type: `boolean`):

Only return parts currently available to sell.

## `rohsCompliantOnly` (type: `boolean`):

Only return RoHS-compliant parts.

## `sortBy` (type: `string`):

How to sort search/category results.

## `shippingCountryCode` (type: `string`):

ISO country code used for pricing/stock context.

## `currencyCode` (type: `string`):

Currency code for pricing.

## Actor input object example

```json
{
  "searchQueries": [
    "10k resistor",
    "NE555"
  ],
  "categoryPaths": [
    "circuit-protection/esd-protection-diodes-tvs-diodes"
  ],
  "partNumbers": [
    "78-2KDFN39CA-M3/H",
    "NE555P"
  ],
  "maxItemsPerQuery": 100,
  "inStockOnly": false,
  "rohsCompliantOnly": false,
  "sortBy": "",
  "shippingCountryCode": "US",
  "currencyCode": "USD"
}
```

# 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 = {
    "searchQueries": [
        "10k resistor"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("axlymxp/mouser-parts-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 = { "searchQueries": ["10k resistor"] }

# Run the Actor and wait for it to finish
run = client.actor("axlymxp/mouser-parts-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 '{
  "searchQueries": [
    "10k resistor"
  ]
}' |
apify call axlymxp/mouser-parts-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Mouser Parts Scraper",
        "description": "Scrape Mouser Electronics component data: keyword search, category browse, and exact part-number (BOM) batch lookup with full pricing tiers, live stock, datasheets, compliance and lifecycle status.",
        "version": "1.0",
        "x-build-id": "yTirEWkls8r1Xz7Je"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/axlymxp~mouser-parts-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-axlymxp-mouser-parts-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/axlymxp~mouser-parts-scraper/runs": {
            "post": {
                "operationId": "runs-sync-axlymxp-mouser-parts-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/axlymxp~mouser-parts-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-axlymxp-mouser-parts-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": {
                    "searchQueries": {
                        "title": "Search queries",
                        "type": "array",
                        "description": "Keywords to search on mouser.com (one search per keyword), e.g. part numbers or descriptions.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "categoryPaths": {
                        "title": "Category paths",
                        "type": "array",
                        "description": "Mouser category paths to browse, e.g. 'passive-components/resistors' (the trailing path of a mouser.com/c/... URL).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "partNumbers": {
                        "title": "Exact part numbers (BOM lookup)",
                        "type": "array",
                        "description": "Exact manufacturer or Mouser distributor part numbers to look up directly — use this for bill-of-materials (BOM) batch pricing/stock checks.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItemsPerQuery": {
                        "title": "Max items per search/category query",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Stop each search or category browse after this many parts.",
                        "default": 100
                    },
                    "inStockOnly": {
                        "title": "In stock only",
                        "type": "boolean",
                        "description": "Only return parts currently available to sell.",
                        "default": false
                    },
                    "rohsCompliantOnly": {
                        "title": "RoHS compliant only",
                        "type": "boolean",
                        "description": "Only return RoHS-compliant parts.",
                        "default": false
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "",
                            "relevance",
                            "price",
                            "partNumber",
                            "manufacturer"
                        ],
                        "type": "string",
                        "description": "How to sort search/category results.",
                        "default": ""
                    },
                    "shippingCountryCode": {
                        "title": "Shipping country code",
                        "type": "string",
                        "description": "ISO country code used for pricing/stock context.",
                        "default": "US"
                    },
                    "currencyCode": {
                        "title": "Currency code",
                        "type": "string",
                        "description": "Currency code for pricing.",
                        "default": "USD"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
