Boot Barn APIbootbarn.com ↗
Access Boot Barn's western wear catalog via API. Search products, get detailed listings with prices and reviews, and fetch autocomplete suggestions.
What is the Boot Barn API?
The Boot Barn API exposes 3 endpoints covering product search, product details, and search suggestions across Boot Barn's catalog of western wear, cowboy boots, and apparel. The search_products endpoint returns up to 24 products per page with fields including brand, price, list_price, rating, review_count, silhouette, and gender, and supports filtering by brand, gender, and sort order.
curl -X GET 'https://api.parse.bot/scraper/4709c7cb-9a7e-4f39-905a-3e78b9d7af64/search_products?page=1&sort=best-sellers&brand=Ariat&query=cowboy+boots&gender=Men%27s' \ -H 'X-API-Key: $PARSE_API_KEY'
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 bootbarn-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.
"""Boot Barn Product Search — search western wear, drill into details, autocomplete."""
from parse_apis.boot_barn_product_search_api import BootBarn, Sort, ProductNotFound
client = BootBarn()
# Search for cowboy boots sorted by price, capped at 5 results.
for product in client.productsummaries.search(query="cowboy boots", sort=Sort.PRICE_LOW_TO_HIGH, limit=5):
print(product.name, product.brand, product.price, product.discount)
# Drill into the first result's full details via the typed navigation op.
summary = client.productsummaries.search(query="western hat", limit=1).first()
if summary:
detail = summary.details()
print(detail.name, detail.brand, detail.price, detail.description[:100])
print("Images:", len(detail.images), "Colors:", detail.colors)
# Fetch a product directly by ID.
try:
boot = client.products.get(product_id="038A96")
print(boot.name, boot.brand, boot.price, boot.rating)
except ProductNotFound as exc:
print(f"Product not found: {exc.product_id}")
# Autocomplete suggestions for a partial query.
ac = client.autocompletes.get(query="west")
for s in ac.suggestions:
print(s.text, s.url)
print("exercised: productsummaries.search / summary.details / products.get / autocompletes.get")
Full-text search over Boot Barn's product catalog. Returns paginated results (24 per page) with product summaries including price, brand, rating, and discount info. Supports filtering by brand and gender, and sorting by various criteria. Pagination via page number; total_results may be null when the site omits the count.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (1-based) |
| sort | string | Sort order for results |
| brand | string | Filter by brand name (e.g., 'Ariat', 'Cody James', 'Wrangler') |
| queryrequired | string | Search keyword (e.g., 'cowboy boots', 'western hat', 'jeans') |
| gender | string | Filter by gender (e.g., "Men's", "Women's", "Boys'", "Girls'") |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"query": "string, the search query used",
"products": "array of product summary objects with id, name, brand, price, list_price, category, gender, silhouette, rating, review_count, image_url, product_url, color_count, discount",
"page_size": "integer, number of products returned on this page",
"total_results": "integer or null, total number of matching products"
},
"sample": {
"data": {
"page": 1,
"query": "cowboy boots",
"products": [
{
"id": "038A96",
"name": "Roper Men's Faux Ostrich Cowboy Boots - Broad Square Toe",
"brand": "Roper",
"price": 109.99,
"gender": "Men's",
"rating": null,
"category": "Shop Your Store!",
"discount": 0,
"image_url": "https://www.bootbarn.com/dw/image/v2/BCCF_PRD/on/demandware.static/-/Sites-master-product-catalog-shp/default/dw51b6d6aa/images/A96/038A96_22_P1.JPG?sw=600&sh=600&sm=fit&q=50",
"list_price": 109.99,
"silhouette": "Boot",
"color_count": null,
"product_url": "https://www.bootbarn.com/roper-mens-faux-ostrich-cowboy-boots---broad-square-toe/038A96.html?dwvar_038A96_color=7049",
"review_count": null
}
],
"page_size": 24,
"total_results": 571
},
"status": "success"
}
}About the Boot Barn API
Search and Filter Products
The search_products endpoint accepts a required query parameter and optional filters for brand (e.g., Ariat, Wrangler, Cody James), gender (e.g., Men's, Women's), sort order (Featured, best-sellers, newest, price-low-to-high, price-high-to-low), and page for pagination. Each product object in the response includes id, name, brand, price, list_price, category, gender, silhouette, rating, review_count, and image_url. The response also surfaces total_results and page_size for building pagination logic.
Product Details
The get_product_details endpoint retrieves full information for a single product. You can supply either a product_url (the full URL string from search results, which is the more reliable path) or a product_id (an alphanumeric identifier such as 038A96). The response adds fields not present in search results: description (full text of features and product copy), colors (array of available color names), and images (array of all product image URLs), along with rating and review_count.
Search Suggestions and Autocomplete
The get_search_suggestions endpoint takes a partial query string and returns two arrays: suggestions (each with type, text, and url) and products (each with name, url, image_url, and price). This is useful for building type-ahead interfaces or discovering how Boot Barn's catalog interprets partial terms before committing to a full search.
The Boot Barn API is a managed, monitored endpoint for bootbarn.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bootbarn.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 bootbarn.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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a price-comparison tool for western boots using
priceandlist_pricefields across multiple brands - Track in-catalog availability and pricing changes for specific brands like Ariat or Wrangler over time
- Populate a gift-recommendation engine filtered by
genderand sorted bybest-sellers - Implement a type-ahead search bar using
get_search_suggestionswith partial queries - Aggregate product ratings and review counts from
get_product_detailsto benchmark brand reputation - Scrape full product descriptions and color options for a catalog app or size-guide integration
- Monitor sale pricing by comparing
priceagainstlist_priceacross paginated search results
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 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.
Does Boot Barn have an official developer API?+
What does `get_product_details` return beyond what search results include?+
get_product_details endpoint adds description (full product feature text), colors (all available color variants), and images (the complete array of product image URLs). Search results only return a single image_url. Prefer passing a product_url from search results over a bare product_id, since the ID-based lookup uses a search fallback that may not locate every product.Does the API return size or inventory availability data?+
How does pagination work in `search_products`?+
page parameter (1-based) to step through results. The response includes total_results (which can be null for some queries) and page_size so you can calculate how many pages exist when total_results is populated.Are customer reviews or review text accessible through the API?+
rating and review_count fields on both search results and product detail responses, but individual review text and reviewer details are not returned. You can fork this API on Parse and revise it to add a reviews endpoint that retrieves per-review content for a product.