Mouser APImouser.com ↗
Search electronic components, retrieve pricing tiers, specs, availability, and manufacturer data from Mouser Electronics via a structured REST API.
What is the Mouser API?
The Mouser Electronics API provides 4 endpoints for querying electronic component data including product search, detailed specifications, pricing tiers, and manufacturer listings. The search_products endpoint returns up to 25 products per page with availability and pricing, while get_product_detail exposes structured specifications, quantity-break pricing, factory lead times, and linked datasheets for a specific part.
curl -X GET 'https://api.parse.bot/scraper/55f811e4-9dff-4403-acfb-e5ed61de20f8/search_products?page=1&query=STM32' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace mouser-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.mouser_electronics_api import Mouser, ProductSummary, Product, Category, Manufacturer, ProductNotFound
mouser = Mouser()
# Search for STM32 microcontrollers
for result in mouser.productsummaries.search(query="STM32", limit=5):
print(result.mfr_part_number, result.manufacturer, result.availability, result.price)
# Get full product details for a search result
product = result.details()
print(product.mfr_part_number, product.manufacturer, product.description)
print(product.availability_status, product.mouser_part_number)
for spec_name, spec_value in product.specifications.items():
print(spec_name, spec_value)
# Access pricing tiers
for part_info in product.pricing_tiers.pricing_information.values():
print(part_info.current_currency_code, part_info.is_tariff)
for tier in part_info.unit_pricing:
print(tier.qty, tier.formatted_unit_price, tier.dec_unit_price)
# Browse categories
for category in mouser.categories.list():
print(category.name, category.url)
for sub in category.subcategories:
print(sub.name, sub.url)
# List manufacturers
for mfr in mouser.manufacturers.list(limit=10):
print(mfr.name, mfr.url)
Full-text search over Mouser Electronics' component catalog. Returns paginated results (25 per page) matching the query against part numbers, descriptions, and manufacturer names. Use page parameter to navigate beyond the first 25 results. Total results count and page metadata are included for pagination logic.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for paginated results (1-based) |
| queryrequired | string | Search keyword or part number (e.g. 'STM32', 'LM358', 'capacitor 100nF') |
{
"type": "object",
"fields": {
"products": "array of product objects with mfr_part_number, url, mouser_part_number, manufacturer, description, availability, price",
"total_pages": "integer total number of pages",
"current_page": "integer current page number",
"total_results": "integer total number of matching products"
},
"sample": {
"data": {
"products": [
{
"url": "https://www.mouser.com/ProductDetail/STMicroelectronics/STM32U3B5CIU6?qs=6avfeC6zeS6XsUZpKz%2FgSg%3D%3D",
"price": "$9.47",
"description": "ARM Microcontrollers - MCU Ultra-low-power Arm Cortex-M33",
"availability": "100 In Stock",
"manufacturer": "STMicroelectronics",
"mfr_part_number": "STM32U3B5CIU6",
"mouser_part_number": "511-STM32U3B5CIU6"
}
],
"total_pages": 235,
"current_page": 1,
"total_results": 5859
},
"status": "success"
}
}About the Mouser API
Product Search and Detail
The search_products endpoint accepts a query string — a keyword like STM32 or a part number like LM358 — and returns paginated results including mfr_part_number, mouser_part_number, manufacturer, description, availability, and price for each match. The response also includes total_results and total_pages so you can walk through all pages using the page parameter.
The get_product_detail endpoint accepts either a direct product url or a part_number. It returns a richer set of fields: specifications (a key-value map of electrical and mechanical attributes), pricing_tiers (quantity-break pricing), factory_lead_time, availability_status, documents (datasheets and application notes with titles and URLs), and both mfr_part_number and mouser_part_number. When a part_number is supplied rather than a URL, the API resolves the first matching product.
Categories and Manufacturers
The list_categories endpoint returns a tree of top-level categories and their subcategories, each with a name and url. No parameters are required. The get_manufacturer_list endpoint similarly returns a flat array of manufacturer objects with name and url, covering all brands stocked on Mouser. These two endpoints are useful for building navigation, dropdown filters, or seeding a product catalog.
The Mouser API is a managed, monitored endpoint for mouser.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mouser.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official mouser.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a BOM (bill of materials) tool that pulls real-time pricing tiers and availability for each part number
- Monitor stock status and factory lead times across multiple components for supply chain tracking
- Populate a product comparison table with specs, descriptions, and datasheets from
get_product_detail - Generate a browsable component catalog organized by Mouser's category hierarchy from
list_categories - Autocomplete part search in a hardware design tool using
search_productsquery results - Aggregate manufacturer coverage by iterating
get_manufacturer_listto see which brands are stocked
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Mouser Electronics have an official developer API?+
What does `get_product_detail` return beyond basic part info?+
specifications as a key-value map (e.g. voltage, current, package type), pricing_tiers showing quantity-break prices, factory_lead_time, availability_status, and a documents array of linked datasheets and reference materials. Both Mouser's internal part number and the manufacturer part number are included.Does `search_products` return all results at once?+
total_pages and total_results so you can iterate using the page parameter to retrieve the full result set for a given query.Does the API support filtering search results by category, manufacturer, or RoHS status?+
search_products endpoint accepts a free-text query and a page number; there are no filter parameters for category, manufacturer, or compliance attributes. You can fork this API on Parse and revise it to add filtered search endpoints.