Discover/Garmin API
live

Garmin APIgarmin.com

Access Garmin's full product catalog via API. Search devices, retrieve specs, pricing, accessories, and compare models across all Garmin categories.

Endpoint health
verified 1d ago
get_category_products
get_product_overview
get_product_in_the_box
get_sales_and_promotions
get_product_specs
12/12 passing latest checkself-healing
Endpoints
12
Updated
22d ago

What is the Garmin API?

The Garmin API exposes 12 endpoints covering product search, category browsing, technical specifications, pricing, accessories, and side-by-side comparisons across the entire Garmin US catalog. You can retrieve detailed product data via get_product_detail, which returns SKU codes, pricing tiers, and color swatch arrays, or use search_products to run free-text queries and get back product IDs, names, descriptions, images, and URLs in a single response.

Try it

No input parameters required.

api.parse.bot/scraper/2c3c4455-6d80-416f-90e1-67970af98db1/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/2c3c4455-6d80-416f-90e1-67970af98db1/get_homepage_featured_products' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace garmin-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Garmin Product API — search, drill into specs, compare models."""
from parse_apis.garmin_product_api import Garmin, CategoryKey, ProductNotFound

client = Garmin()

# Search for running watches — limit caps total items fetched.
for product in client.products.search(query="running", limit=3):
    print(product.name, product.sku, product.url)

# Drill into one product's sub-resources: specs, overview, accessories.
product = client.products.search(query="forerunner", limit=1).first()
if product:
    specs = product.specs.get()
    print(specs.specs.get("Battery life (smartwatch mode)", "N/A"))

    overview = product.overview.get()
    print(overview.description)
    for feat in overview.features[:2]:
        print(feat.description)

    for acc in product.accessories.list(limit=3):
        print(acc.displayName, acc.partNumber)

# Browse categories and list products in one.
cat = client.categories.list(limit=1).first()
if cat:
    print(cat.name)
    for sub in cat.subcategories[:2]:
        print(sub.name, sub.url)

# Compare two products side-by-side with typed error handling.
try:
    for detail in client.productdetails.compare(product_ids="782585,866191", limit=2):
        print(detail.productName, detail.sku, detail.pricing.pid)
except ProductNotFound as exc:
    print(f"Product not found: {exc.product_id}")

# Check current sale items.
for sale in client.saleproducts.list(limit=3):
    print(sale.name, sale.url)

print("exercised: products.search / specs.get / overview.get / accessories.list / categories.list / productdetails.compare / saleproducts.list")
All endpoints · 12 totalmissing one? ·

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.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "products": "array of featured product objects with name, url, and id"
  },
  "sample": {
    "data": {
      "products": [
        {
          "id": "1941179",
          "url": "https://www.garmin.com/en-US/p/1941179/",
          "name": "FORERUNNER® 70 & 170"
        },
        {
          "id": "730831",
          "url": "https://www.garmin.com/en-US/p/730831",
          "name": "Cycling Maps"
        }
      ]
    },
    "status": "success"
  }
}

About the Garmin API

Product Search and Catalog Browsing

The search_products endpoint accepts a query string and an optional limit integer, returning a results array where each item includes id, sku, name, variation_name, description, url, and image. To browse without a specific query, get_category_products takes a numeric category_key extracted from Garmin category URLs and paginates automatically to return all matching products. Use get_subcategories first to map the navigation tree — it returns every top-level category and its subcategories with names and URLs, making it straightforward to derive the right category key.

Product Detail and Specifications

get_product_detail combines product metadata, pricing, and color swatches for a given product_id into a single response, surfacing fields like productName, sku, a pricing object containing pricedSkus, and a swatches array with swatchName, imageUrl, and sku per color option. For technical depth, get_product_specs parses the specs tab and returns a flat key-value specs object. get_product_overview provides the meta description and a features array of marketing descriptions. get_product_in_the_box returns an items string array listing everything included in the package.

Comparisons, Accessories, and Promotions

compare_products accepts a comma-separated list of product_ids and returns a comparison array — each element mirrors the get_product_detail shape with productId, productName, sku, pricing, and swatches. This makes model-to-model comparison straightforward without multiple round trips. get_product_accessories fetches compatible accessories for a product, returning associationProducts with displayName, partNumber, productId, and mainImageUrl. get_sales_and_promotions retrieves all currently discounted items with full pagination, and get_new_products surfaces recently added catalog entries, both returning the same product array shape as search_products.

Homepage and Featured Content

get_homepage_featured_products extracts whatever Garmin is currently featuring on their main page, returning product name, url, and id for each highlighted item. Because Garmin rotates homepage content, results from this endpoint will vary over time and should not be treated as a stable product list.

Reliability & maintenanceVerified

The Garmin API is a managed, monitored endpoint for garmin.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when garmin.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official garmin.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
1d ago
Latest check
12/12 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a Garmin product comparison tool using compare_products to surface side-by-side specs, pricing, and color options for GPS watches
  • Aggregate Garmin sale listings via get_sales_and_promotions for a deal-tracking or price-alert application
  • Populate a structured product database by iterating categories with get_subcategories and get_category_products
  • Generate accessory upsell recommendations by calling get_product_accessories for any given device product ID
  • Monitor new Garmin device launches by polling get_new_products and diffing the returned catalog entries
  • Build a spec comparison sheet for fitness trackers by extracting specs key-value pairs from get_product_specs
  • Track which products Garmin features on its homepage over time using get_homepage_featured_products
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Garmin have an official developer API?+
Garmin offers the Garmin Health API and the Connect IQ SDK for fitness data and app development (developer.garmin.com), but there is no official public API for browsing the product catalog, retrieving specs, or comparing device pricing.
What does `get_product_detail` return versus `get_product_specs`?+
get_product_detail returns commercial data: productName, sku, a pricing object with pricedSkus, and a swatches array with color options. get_product_specs returns the technical specification tab as a flat key-value specs object — things like display resolution, battery life, and connectivity fields. They are separate calls and complement each other.
How do I find the numeric category key needed for `get_category_products`?+
Call get_subcategories first. It returns the full navigation tree with category names and URLs. The numeric key appears in the URL path of each subcategory — extract it from the url field and pass it as the category_key parameter. Unrecognized keys return an empty product list.
Does the API return user reviews or star ratings for products?+
Not currently. The API covers product specs, pricing, color swatches, package contents, accessories, and search results. User review text and star ratings are not included in any current endpoint response. You can fork the API on Parse and revise it to add an endpoint targeting the reviews section of a product page.
Is coverage limited to the US Garmin catalog?+
Yes, the search and product data endpoints target the Garmin US catalog. Regional pricing, availability, or product listings specific to other country storefronts are not currently covered. You can fork the API on Parse and revise it to point at a different regional Garmin domain.
Page content last updated . Spec covers 12 endpoints from garmin.com.
Related APIs in EcommerceSee all →
rei.com API
Search and browse REI's full catalog of outdoor gear and clothing, compare detailed product specifications, check real-time store availability, and read customer reviews to find the perfect equipment for your adventures. Explore products by category or use targeted searches to discover gear that matches your needs, all with instant access to pricing and local stock information.
getfpv.com API
Search and browse products from GetFPV's catalog of FPV drone components and accessories. Retrieve listings by keyword or category, view detailed product specifications, pricing, and stock status, and explore new arrivals and current sales.
gap.com API
Search and browse Gap's product catalog by keyword or category, retrieve detailed product information including pricing, available sizes, colors, and customer reviews, get product recommendations, locate nearby Gap retail stores, and explore the full site navigation and category tree.
corsair.com API
Search and filter Corsair's gaming peripherals and PC components catalog by keywords, category, and product attributes like price and specs. Browse detailed product information, compare options, and easily navigate through results with sorting and pagination to find exactly what you need.
backcountry.com API
backcountry.com API
argos.co.uk API
argos.co.uk API
verkkokauppa.com API
Search and browse products from Verkkokauppa.com to find items across categories, check real-time prices and availability, read customer reviews, and discover deals in outlet and clearance sections. Filter products by your preferences and get detailed product information including specifications and store stock levels.
lowes.com API
Search and browse products from Lowe's, including product listings by category, detailed product information, and pricing. Retrieve comprehensive details on specific items to compare options and make informed purchasing decisions.
Garmin Product Catalog API | garmin API · Parse