# 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 for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/garmin/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## 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/credits/garmin/compare-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/garmin/get-category-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/garmin/get-homepage-featured-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/garmin/get-new-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/garmin/get-product-accessories \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/garmin/get-product-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/garmin/get-product-in-the-box \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/garmin/get-product-overview \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/garmin/get-product-specs \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/garmin/get-sales-and-promotions \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/garmin/get-subcategories \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/garmin/search-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","query":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.