mcmaster.com APIwww.mcmaster.com ↗
Search McMaster-Carr's industrial catalog via API. Get part numbers, prices, specs, filter options, and autocomplete suggestions across millions of products.
curl -X GET 'https://api.parse.bot/scraper/56275657-6d7f-4930-b070-9129c4e412a8/search_suggest?count=5&query=bolts' \ -H 'X-API-Key: $PARSE_API_KEY'
Get search autocomplete suggestions for a query. Returns ranked suggestions with images, useful for building search UIs or discovering product terms.
| Param | Type | Description |
|---|---|---|
| count | integer | Max number of suggestions to return |
| queryrequired | string | Search query text (partial or full) |
{
"type": "object",
"fields": {
"query": "string - the original search query",
"total": "integer - number of suggestions returned",
"suggestions": "array of objects with name, rank, is_part_number, and optional image_url"
},
"sample": {
"data": {
"query": "bolts",
"total": 5,
"suggestions": [
{
"name": "bolts",
"rank": 564324,
"image_url": "https://www.mcmaster.com/mvD/Contents/gfx/ImageCache/913/91309a540p1-b01-digital@300p_637026952995155778.png",
"is_part_number": false
},
{
"name": "long bolts",
"rank": 14042,
"image_url": "https://www.mcmaster.com/mvD/Contents/gfx/ImageCache/913/91309a540p1-b01-digital@300p_637026952995155778.png",
"is_part_number": false
}
]
},
"status": "success"
}
}About the mcmaster.com API
The McMaster-Carr API provides 5 endpoints for querying McMaster-Carr's industrial supply catalog, returning part numbers, prices, specs, and category filters. The search_products endpoint maps a free-text query to organized category tiles and navigation IDs, which you can then pass to get_product_detail to retrieve individual products with prices and technical specs, or to get_product_filters to surface attribute-level facets like thread size, material, and length.
Search and Category Navigation
The search_products endpoint accepts a plain-text query (e.g., 'ball bearings', 'hex bolts') and returns an array of category objects, each carrying a category_group, title, tile_type, and either a product_outline_entry_id or product_family_id. These IDs are the entry point for all downstream product calls. The response also includes a search_result_id that must be threaded through to get_product_detail and get_product_filters. A complementary search_suggest endpoint returns ranked autocomplete suggestions — each with a name, rank, is_part_number flag, and an optional image_url — useful for type-ahead search UIs or term discovery.
Product Detail Retrieval
get_product_detail operates in two modes. Without a product_set_id, it returns a list of product families (product_families array) each with a title, product_set_id, presentation_id, and href. Passing a product_set_id from that first call shifts the response to individual products, where each entry carries a part_number, url, price, and specs object. The endpoint echoes back search_result_id, product_outline_entry_id, and product_set_id for traceability across paginated or chained workflows.
Filters and Part Lookup
get_product_filters returns structured facet data for a given category: each filter object includes an id, human-readable name, an is_numeric flag, and a values array where each value carries its own id, name, product_count, and is_selected state. This is suitable for building a filterable product browser or narrowing result sets programmatically. For direct part validation, get_part_number accepts any McMaster part number string and returns found, discontinued, catalog_status ('Current' or 'Discontinued'), catalog_page, parent_part, and a direct url to the product listing.
- Build a filterable parts selector using
get_product_filtersto expose attributes like thread size, material, and length - Validate supplier BOMs by running each line item through
get_part_numberto checkfoundanddiscontinuedstatus - Populate a type-ahead search field using
search_suggestresults with thumbnail images fromimage_url - Monitor price changes on specific product families by periodically calling
get_product_detailwith aproduct_set_id - Discover related product categories for a search term using the
category_groupandtitlefields fromsearch_products - Map internal part references to McMaster catalog pages using the
catalog_pagefield returned byget_part_number - Aggregate spec data across a product family for comparison tables using the
specsfields from individual product objects
| 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 | 250 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 McMaster-Carr have an official developer API?+
What does `get_part_number` return beyond confirming a part exists?+
found (boolean), discontinued (boolean), catalog_status ('Current' or 'Discontinued'), catalog_page (the printed catalog page reference), parent_part (the part family the number belongs to), and a direct url to that part's listing on mcmaster.com.Does the API return customer reviews or product ratings?+
Does `search_products` return paginated results or all categories at once?+
search_products response includes a total_categories count and returns category tiles in a single response. Pagination within a category is handled downstream by calling get_product_detail with a product_set_id; the response includes product_count and total_products to indicate how many items exist in that set.Is inventory availability or stock status included in product responses?+
get_product_detail include part_number, price, and specs, but do not include real-time stock levels or availability dates. The discontinued flag from get_part_number is the closest indicator of availability status. You can fork the API on Parse and revise it to add an endpoint targeting that data if McMaster surfaces it.