# Mcmaster — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search McMaster-Carr's industrial supply catalog to discover products by category, view detailed listings with part numbers and prices, and apply filters to find exactly what you need. Look up specific part numbers to get complete product information and pricing in seconds.

**Category:** E-commerce | **Website:** [www.mcmaster.com/](https://www.mcmaster.com/) | **Docs:** [parse.bot/marketplace/01062b86-4335-4593-bd6a-23bb41400b48/mcmaster-com-api](https://parse.bot/marketplace/01062b86-4335-4593-bd6a-23bb41400b48/mcmaster-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-mcmaster-com-api-01062b86/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_part_number

Look up a specific McMaster-Carr part number to check if it exists, get catalog info, and verify its status. Returns catalog page number, current/discontinued status, parent part family, and a direct URL to the part page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `part_number` | string | Yes | McMaster part number (e.g., '92620A401', '91309A540') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-mcmaster-com-api-01062b86/get_part_number \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"part_number":"<string>"}'
```

### get_product_detail

Get detailed product listings for a category. Use search_result_id and product_outline_entry_id from search_products to get product families. Then use a product_set_id from product_families to get individual products with part numbers, prices, and specs. Without product_set_id, returns the list of product families; with product_set_id, returns individual product rows.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_outline_entry_id` | string | No | Product outline entry ID from search_products categories |
| `product_set_id` | string | No | Product set ID from product_families to get individual products with part numbers and prices |
| `query` | string | No | Original search query text for context |
| `search_result_id` | string | Yes | Search result ID from search_products endpoint |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-mcmaster-com-api-01062b86/get_product_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_outline_entry_id":"<string>","product_set_id":"<string>","query":"<string>","search_result_id":"<string>"}'
```

### get_product_filters

Get available filter/facet options for a product category. Returns attributes like System of Measurement, ID, Width, Material with their possible values and product counts. Requires search_result_id from search_products; optionally accepts product_outline_entry_id and product_set_id to narrow scope.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_outline_entry_id` | string | No | Product outline entry ID from search_products categories |
| `product_set_id` | string | No | Product set ID for a specific product family |
| `search_result_id` | string | Yes | Search result ID from search_products endpoint |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-mcmaster-com-api-01062b86/get_product_filters \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_outline_entry_id":"<string>","product_set_id":"<string>","search_result_id":"<string>"}'
```

### search_products

Search McMaster-Carr catalog and return product categories organized as tiles. Returns a search_result_id needed for subsequent get_product_detail and get_product_filters calls, plus category tiles with navigation IDs (product_outline_entry_id) for drilling into specific product families.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query (e.g., 'bolts', 'ball bearings', 'o-rings') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-mcmaster-com-api-01062b86/search_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```

### search_suggest

Get search autocomplete suggestions for a query. Returns ranked suggestions with images, useful for building search UIs or discovering product terms. Each suggestion includes a popularity rank and whether it matches a part number.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `count` | integer | No | Max number of suggestions to return |
| `query` | string | Yes | Search query text (partial or full) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-mcmaster-com-api-01062b86/search_suggest \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"count":"<integer>","query":"<string>"}'
```
