# Shop Deere — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.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 the John Deere parts catalog across categories and equipment models, with access to real-time pricing, availability, maintenance kits, and related part recommendations.

**Category:** Automotive | **Website:** [shop.deere.com/](https://shop.deere.com/) | **Docs:** [parse.bot/marketplace/c778622b-d5e1-4b28-876c-2ef5528eb7bd/shop-deere-com-api](https://parse.bot/marketplace/c778622b-d5e1-4b28-876c-2ef5528eb7bd/shop-deere-com-api)

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

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/parse-shop-deere-com-api-c778622b/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### Get maintenance kits

Retrieve products in the maintenance kits category. Returns paginated results of service and maintenance kit products with pricing.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-shop-deere-com-api-c778622b/get_maintenance_kits \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### Get part details

Get full details for a specific part including pricing, availability, and frequently bought together recommendations. Returns a single part object enriched with pricing from the dealer network and related product suggestions.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `part_number` | string | Yes | Part number (e.g. 'AM125424', 'AM107423'). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-shop-deere-com-api-c778622b/get_part_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"part_number":"<string>"}'
```

### Get parts by category

Browse parts within a specific category. Returns paginated results with pricing and facets. Category slugs are discoverable via get_parts_categories.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_id` | string | Yes | Category slug/ID (e.g. 'Filters', 'BeltsChains'). Use get_parts_categories to discover valid values. |
| `page` | integer | No | Page number. |
| `size` | integer | No | Results per page. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-shop-deere-com-api-c778622b/get_parts_by_category \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category_id":"<string>","page":"<integer>","size":"<integer>"}'
```

### Get parts by equipment model

Look up compatible parts catalogs for a specific John Deere equipment model. Returns catalog references with PC numbers that identify the parts book for each model variant.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `model` | string | Yes | Equipment model number (e.g. 'Z445'). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-shop-deere-com-api-c778622b/get_parts_by_equipment_model \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"<string>"}'
```

### Get parts categories

List top-level parts categories available in the John Deere parts catalog. Returns category names and slugs used as identifiers for get_parts_by_category and get_subcategories.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-shop-deere-com-api-c778622b/get_parts_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get related parts

Get frequently bought together and related product recommendations for a specific part number. Returns products ranked by confidence score.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `part_number` | string | Yes | Part number to get recommendations for (e.g. 'AM125424'). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-shop-deere-com-api-c778622b/get_related_parts \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"part_number":"<string>"}'
```

### Get subcategories

List subcategories and facets for a given category. Returns available filtering options including models, categories, and sub-categories that can narrow browsing within that category.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_id` | string | Yes | Category slug/ID (e.g. 'Filters'). Use get_parts_categories to discover valid values. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-shop-deere-com-api-c778622b/get_subcategories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category_id":"<string>"}'
```

### Search parts

Full-text search across the John Deere parts catalog by keyword or part number. Returns paginated products with pricing, facets for filtering (models, categories, tiers), and total result count. Pagination via integer page counter; facets describe the result set for client-side narrowing.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number. |
| `query` | string | Yes | Search keyword or part number. |
| `size` | integer | No | Results per page. |
| `sort` | string | No | Sort order. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-shop-deere-com-api-c778622b/search_parts \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>","size":"<integer>","sort":"<string>"}'
```

### Search parts by model

Search for parts associated with a specific equipment model. Combines the model name with an optional keyword for targeted results. Without a query, returns all indexed parts for that model.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `model` | string | Yes | Equipment model number (e.g. 'Z445'). |
| `page` | integer | No | Page number. |
| `query` | string | No | Additional search keyword to filter results within the model context. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-shop-deere-com-api-c778622b/search_parts_by_model \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"<string>","page":"<integer>","query":"<string>"}'
```
