Discover/Trek Bikes API
live

Trek Bikes APItrekbikes.com

Access Trek Bikes product catalog, specs, customer reviews, and store locator via 6 API endpoints. Search models, browse categories, and find nearby dealers.

Endpoint health
verified 2d ago
get_bike_categories
list_bikes_by_category
search_bikes
get_bike_details
find_bike_shops
6/6 passing latest checkself-healing
Endpoints
6
Updated
26d ago

What is the Trek Bikes API?

The Trek Bikes API provides 6 endpoints covering Trek's full bike catalog, dealer locator, and customer reviews. Use list_bikes_by_category to paginate through hundreds of models in categories like Electric, Mountain, and Gravel, each returning price, stock status, and image data. Other endpoints handle keyword search, detailed specs, proximity-based shop lookup, and PowerReviews-sourced customer ratings — all in structured JSON.

Try it

No input parameters required.

api.parse.bot/scraper/2e90137f-b0a8-40af-829c-8882d4701140/<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/2e90137f-b0a8-40af-829c-8882d4701140/get_bike_categories' \
  -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 trekbikes-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.

"""Trek Bikes API — search bikes, browse categories, get details, find shops."""
from parse_apis.trek_bikes_api import TrekBikes, Sort, BikeNotFound

client = TrekBikes()

# Search for bikes by keyword — limit caps total items fetched.
for bike in client.bikes.search(query="Madone", limit=3):
    print(bike.name, bike.formatted_price)

# Drill into a single search result for full specs and stock status.
bike = client.bikes.search(query="Domane", limit=1).first()
if bike:
    detail = bike.details()
    print(detail.name, detail.stock_status, detail.formatted_price)

# Browse categories and list bikes in a category with sorting.
for cat_bike in client.categorybikes.list(category_code="B338", sort=Sort.PRICE_ASC, limit=3):
    print(cat_bike.name, cat_bike.formatted_price, cat_bike.currency)

# Find nearby Trek-authorized shops.
for store in client.stores.find_nearby(latitude="40.7128", longitude="-74.0060", radius=50, limit=3):
    print(store.display_name, store.formatted_distance)

# Browse all bike categories to discover subcategory codes.
category = client.categories.list(limit=1).first()
if category:
    for sub in category.subcategories:
        print(sub.name, sub.category_code)

# Typed error handling — catch BikeNotFound on a bad product drill-down.
try:
    detail = bike.details()
    print(detail.name)
except BikeNotFound as exc:
    print(f"Not found: {exc.product_id}")

print("exercised: bikes.search / bike.details / categorybikes.list / stores.find_nearby / categories.list")
All endpoints · 6 totalmissing one? ·

Retrieve the complete category tree for bikes including Electric, Mountain, Road, Gravel, City, and Kids sections. Each category includes subcategories with optional category codes for use in list_bikes_by_category. Returns all sections in a single call with no parameters.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "categories": "array of category objects with section, name, uid, url, and subcategories"
  },
  "sample": {
    "data": {
      "categories": [
        {
          "uid": "Tier2Node_b2cElectricMTB",
          "url": "/bikes/mountain-bikes/electric-mountain-bikes/c/B512/",
          "name": "Tier2Node_b2cElectricMTB",
          "section": "Electric",
          "subcategories": [
            {
              "uid": "Tier3Link_b2cElectricMTBFullSuspPowerflyPlusFS",
              "url": "/bikes/mountain-bikes/electric-mountain-bikes/powerfly/powerfly-full-suspension/c/B338/",
              "name": "Powerfly+ FS",
              "category_code": "B338"
            }
          ]
        }
      ]
    },
    "status": "success"
  }
}

About the Trek Bikes API

Catalog Browsing and Search

get_bike_categories returns the complete category tree — sections like Electric, Mountain, Road, Gravel, City, and Kids — including nested subcategories with uid, name, and url fields. Each subcategory carries a category code (e.g. B213-2, B338) that feeds directly into list_bikes_by_category. That endpoint accepts a category_code, an optional 0-based page integer, page_size, and a sort parameter. Its response includes a products array (each with code, name, formattedPrice, currency, and image) and a pagination object showing totalResults and totalPages. For ad-hoc lookup, search_bikes accepts a free-text query and returns matching products plus an array of suggestions strings for autocomplete-style interfaces.

Product Details and Reviews

get_bike_details accepts a product_id from any product listing and returns a richer object: description, stockStatus, specs, and a isBike boolean alongside the standard price and URL fields. get_bike_reviews takes the same product_id and returns PowerReviews data — a results array where each entry contains a page_id and a reviews list, plus a configuration object with display localizations and feature flags. Review content and ratings are available without separate authentication.

Store Locator

find_bike_shops accepts latitude, longitude, and an optional radius in miles, returning up to 15 Trek-authorized stores sorted by proximity. The stores response object includes each location's address, hours, and distance, along with pagination metadata and the source coordinates used for the query. This makes it straightforward to build dealer-finder features tied to any geolocation input.

Reliability & maintenanceVerified

The Trek Bikes API is a managed, monitored endpoint for trekbikes.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when trekbikes.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 trekbikes.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
2d ago
Latest check
6/6 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 bike comparison tool using get_bike_details to surface specs and stock status side-by-side for multiple models.
  • Power a category browser with get_bike_categories to render Trek's full navigation tree and link each node to paginated list_bikes_by_category results.
  • Implement an autocomplete search bar using search_bikes query suggestions and returned product names.
  • Show nearest Trek dealers on a map by passing user coordinates to find_bike_shops and rendering the address and hours fields.
  • Aggregate customer sentiment for specific models by pulling get_bike_reviews results and averaging rating data from the PowerReviews payload.
  • Sync Trek product inventory into an internal catalog by polling list_bikes_by_category pages and tracking stockStatus changes from get_bike_details.
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 Trek Bikes have an official public developer API?+
Trek does not publish a public developer API or offer API keys for third-party access to its catalog or store data.
What does `get_bike_details` return beyond what the listing endpoints provide?+
get_bike_details returns a specs object with technical specifications, a description field with full model copy, a stockStatus value, and an isBike boolean — fields that are absent from the products array returned by list_bikes_by_category or search_bikes.
How does pagination work in `list_bikes_by_category`?+
The endpoint uses 0-based page numbering via the page parameter. The response pagination object returns currentPage, pageSize, totalPages, and totalResults, so you can calculate how many requests are needed to fetch a full category before making them.
Does the API cover Trek accessories, components, or apparel — not just bikes?+
The current endpoints focus on the bike catalog: categories, bike listings, and bike product details. Accessories, components, and apparel are not covered by the existing endpoints. You can fork this API on Parse and revise it to add an endpoint targeting those product types.
Is review data available for all bike models?+
Review availability depends on whether a given product_id has PowerReviews data attached to it. Models with no customer reviews will return an empty reviews list. Aggregate rating summaries beyond individual review text are not broken out as separate fields in the current response shape. You can fork the API on Parse and revise it to extract and surface summary statistics if needed.
Page content last updated . Spec covers 6 endpoints from trekbikes.com.
Related APIs in EcommerceSee all →
giant-bicycles.com API
Shop Giant Bicycles with ease by browsing categories, searching specific models, viewing detailed specs and pricing, and checking real-time inventory across retail locations. Find nearby stores and discover clearance deals all in one place.
bike-discount.de API
Search and browse e-bikes from Bike-Discount.de to retrieve detailed specs, motor information, frame geometry, pricing, and stock availability. Access comprehensive product data across multiple brands and categories for research, comparison, and market analysis.
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.
99bikes.com.au API
Search and browse 99 Bikes' complete product catalog, find nearby store locations, and discover workshop services all in one place. Get instant access to product collections, store details, and help centre information from Australia's leading bike retailer.
cannondale.com API
Find detailed Cannondale bicycle and gear information including specs, geometry, and variants, then locate authorized dealers near you. Search across bikes, electric bikes, and accessories to compare products and check local availability in real-time.
fahrrad.de API
Search and browse e-bikes and bicycles from fahrrad.de to compare technical specifications, prices, and real-time availability across their store network. Find products by brand, view detailed product information, and locate inventory at specific store locations.
backcountry.com API
backcountry.com API
patagonia.com API
Access Patagonia's full product catalog via search and category browsing. Retrieve detailed product information including variants, pricing, specs, and materials. Fetch customer reviews, locate nearby stores and authorized dealers, and browse the Worn Wear used and refurbished gear selection.