# Garmin — 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 Garmin products across categories, view detailed specs and pricing, compare models, and discover new items and promotions. Get comprehensive product information including what's in the box, accessories, and featured items all in one place.

**Category:** E-commerce | **Website:** [garmin.com/](https://garmin.com/) | **Docs:** [parse.bot/marketplace/37d2e88f-f4cf-4960-aa9f-fffa87b9e594/garmin-com-api](https://parse.bot/marketplace/37d2e88f-f4cf-4960-aa9f-fffa87b9e594/garmin-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-garmin-com-api-37d2e88f/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### compare_products

Returns side-by-side comparison data for a list of product IDs including details, pricing, and color swatches. Fetches each product's data independently and aggregates them.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_ids` | string | Yes | Comma-separated list of Garmin product IDs to compare. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-garmin-com-api-37d2e88f/compare_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_ids":"<string>"}'
```

### get_category_products

Returns all products for a given numeric category key using the Garmin category API. Paginates automatically to collect all results. Use get_subcategories to discover category URLs, then extract the numeric key from the URL path. Returns an empty list for unrecognized keys.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_key` | string | Yes | Numeric category key identifying a Garmin product category. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-garmin-com-api-37d2e88f/get_category_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category_key":"<string>"}'
```

### get_homepage_featured_products

Extracts featured and highlighted products from the Garmin homepage. Returns product links found on the main page including promotional items and featured devices. Results vary as Garmin rotates homepage content.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-garmin-com-api-37d2e88f/get_homepage_featured_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_new_products

Retrieves new product listings from the Garmin catalog via the search API. Returns recently added products.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-garmin-com-api-37d2e88f/get_new_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_product_accessories

Retrieves compatible accessories for a given product ID from the Garmin marketing services API.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_id` | string | Yes | Garmin numeric product ID. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-garmin-com-api-37d2e88f/get_product_accessories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"<string>"}'
```

### get_product_detail

Retrieves detailed product information including pricing and color swatches for a given product ID. Combines data from multiple Garmin APIs (product details, pricing, color swatches) into a single response.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_id` | string | Yes | Garmin numeric product ID. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-garmin-com-api-37d2e88f/get_product_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"<string>"}'
```

### get_product_in_the_box

Returns a list of items included in the product package by parsing the 'In the Box' tab from the product page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_url_or_id` | string | Yes | Garmin product ID or full product URL. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-garmin-com-api-37d2e88f/get_product_in_the_box \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_url_or_id":"<string>"}'
```

### get_product_overview

Extracts marketing descriptions and key features for a product from its detail page. Returns the meta description and feature card descriptions.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_url_or_id` | string | Yes | Garmin product ID or full product URL. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-garmin-com-api-37d2e88f/get_product_overview \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_url_or_id":"<string>"}'
```

### get_product_specs

Extracts technical specifications from a product detail page as key-value pairs. Parses the specs tab content from the rendered product page. Returns an empty specs object if the product has no specifications listed.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_url_or_id` | string | Yes | Garmin product ID or full product URL. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-garmin-com-api-37d2e88f/get_product_specs \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_url_or_id":"<string>"}'
```

### get_sales_and_promotions

Retrieves products currently on sale or promotion from the Garmin sale category. Returns all products in the sale/promotions category with full pagination.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-garmin-com-api-37d2e88f/get_sales_and_promotions \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_subcategories

Extracts top-level categories and subcategories from the Garmin navigation menu. Each category includes its name and a list of subcategories with names and URLs.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-garmin-com-api-37d2e88f/get_subcategories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_products

Searches for products using the Algolia-backed search API. Returns matching product results with IDs, names, descriptions, images, and URLs. Supports free-text queries across the entire Garmin US catalog.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return. |
| `query` | string | Yes | Search keyword or phrase. |

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