# Motion — 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 and browse Motion's product catalog to find industrial parts, specifications, and pricing, then locate nearby distributors or find substitute products. Get instant autocomplete suggestions and retrieve detailed product information by searching, category browsing, or manufacturer part numbers.

**Category:** E-commerce | **Website:** [motion.com/](https://motion.com/) | **Docs:** [parse.bot/marketplace/8fed7979-1f53-48d1-942e-444d1e94a1e3/motion-com-api](https://parse.bot/marketplace/8fed7979-1f53-48d1-942e-444d1e94a1e3/motion-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-motion-com-api-8fed7979/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### browse_category

Browse products within a specific category or subcategory path. For top-level categories returns subcategories and category metadata; for deeper categories returns products. The category_path uses URL-safe handle names from get_product_categories.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_path` | string | Yes | Category path using handle names (e.g. 'bearings', 'bearings/ball-bearings'). Top-level handles obtainable from get_product_categories items[*].handle. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-motion-com-api-8fed7979/browse_category \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category_path":"<string>"}'
```

### find_locations

Retrieve all Motion branch locations and shops across North America. Returns address, phone, coordinates, and operating metadata for each location. No filtering — returns the full list.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-motion-com-api-8fed7979/find_locations \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_autocomplete_suggestions

Get search autocomplete suggestions for a query prefix. Returns suggested search terms, relevant categories, manufacturers, and part numbers matching the prefix.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query prefix. |

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

### get_product_by_mfr_part_number

Search for products using a manufacturer part number. Returns the same paginated result shape as search_products. Useful when you have an OEM part number rather than Motion's internal SKU.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Manufacturer part number (e.g. '6205-2RS', 'VEM3546T'). |

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

### get_product_categories

Retrieve all top-level product categories available on Motion.com. Each category includes its handle (for use with browse_category), display name, image URL, and count of subcategories.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-motion-com-api-8fed7979/get_product_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_product_details

Point-lookup for a single product by its Motion Item Number (SKU). Returns comprehensive product data including pricing, market price, discount, inventory status, breadcrumbs (category path), and all technical attributes. The SKU is an 8-digit alphanumeric identifier obtainable from search results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `sku` | string | Yes | Motion Item Number (8-digit alphanumeric string, e.g. '00052619'). Obtainable from search_products results[*].id. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-motion-com-api-8fed7979/get_product_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sku":"<string>"}'
```

### get_product_specifications

Extract the detailed technical specifications for a product as a flat key-value map. Derived from the product's attributes list. Returns specification name-value pairs and a count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `sku` | string | Yes | Motion Item Number (e.g. '00052619'). Obtainable from search_products results[*].id. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-motion-com-api-8fed7979/get_product_specifications \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sku":"<string>"}'
```

### get_substitute_products

Retrieve substitute/alternative products for a given item. Returns a list of products that can serve as replacements, with the same shape as search result items.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `sku` | string | Yes | Motion Item Number. Obtainable from search_products results[*].id. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-motion-com-api-8fed7979/get_substitute_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sku":"<string>"}'
```

### search_products

Full-text search over Motion's industrial parts catalog. `query` matches product names, descriptions, and part numbers. Returns paginated results with product summaries including pricing, inventory status, and attributes. Also returns search suggestions (categories, manufacturers, terms). Paginates via integer page counter.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Results per page. |
| `page` | integer | No | Page number for pagination. |
| `query` | string | Yes | Search keyword or part number. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-motion-com-api-8fed7979/search_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>"}'
```
