holts.com APIholts.com ↗
Access Holts.com cigar product catalog, brand listings, customer reviews, and staff scores via 5 endpoints. Search products, paginate reviews, and pull brand data.
curl -X GET 'https://api.parse.bot/scraper/bfbba235-bb92-44cf-bc25-b0c351fd6209/search_cigars?query=montecristo' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for cigar product lines and accessories by keyword. Returns matching products with name, price, rating, and image information.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword (e.g. 'montecristo', 'romeo'). |
{
"type": "object",
"fields": {
"query": "string — the search term used",
"products": "array of product objects with name, url, price_range, review_count, rating, and image_url"
},
"sample": {
"data": {
"query": "montecristo",
"products": [
{
"url": "https://www.holts.com/cigars/all-cigar-brands/montecristo.html",
"name": "Montecristo",
"rating": null,
"image_url": "https://www.holts.com/media//categoryimage//thumb/135x135/m/o/montecristo-robusto-larga_13.png",
"price_range": "$2.91-$29.87",
"review_count": 0
}
]
},
"status": "success"
}
}About the holts.com API
The Holts.com API exposes 5 endpoints covering the full cigar catalog at holts.com, including product search, brand listings, and both customer and editorial reviews. The search_cigars endpoint returns product name, price range, rating, review count, and image URL for any keyword query. Customer reviews include verified-purchase status, geographic data, and quality ratings, while staff reviews include a numeric score out of 100 and full author metadata.
Product Search and Brand Catalog
The search_cigars endpoint accepts a query string and returns an array of matching products, each with name, url, price_range, review_count, rating, and image_url. This covers both cigar product lines and accessories. The get_all_brands endpoint requires no inputs and returns a full list of brands with name and url, along with a count of total brands available on the site.
Brand Pages and ID Extraction
The get_brand_products endpoint takes a full brand page url and returns a products array (each item with name, price, and optional size), plus the brand_name, category_id, and product_line_id fields. These two IDs are required inputs for the review endpoints — category_id feeds into get_product_reviews and product_line_id feeds into get_staff_review. This makes get_brand_products a natural first step when building review-focused workflows.
Customer Reviews
The get_product_reviews endpoint accepts a category_id and returns up to 10 reviews per page. Each review object includes nickname, title, detail, rating_quality, created_at, city, state, and a verified flag. Pagination is supported via the page parameter. Sorting is available by created_at or rating_quality in either asc or desc direction. The response also includes total_pages, current_page, visible_pages, and total_individual_reviews for full pagination control.
Staff Reviews
The get_staff_review endpoint takes a product_line_id and returns a single editorial review with body (HTML), date, score (numeric, out of 100), title, and an author object containing first_name, last_name, cigar_preference, favorite_cigar, portrait, and a link to the reviewer's profile page. This is distinct from customer reviews and reflects Holts staff editorial opinion.
- Build a cigar recommendation tool using
search_cigarsresults filtered byratingandprice_range. - Aggregate brand catalogs by iterating
get_all_brandsand callingget_brand_productsfor each URL. - Display side-by-side customer and staff scores by combining
get_product_reviewsandget_staff_reviewfor the same product line. - Monitor review sentiment over time by paginating
get_product_reviewssorted bycreated_atdescending. - Build a geo-tagged review dataset using the
cityandstatefields returned byget_product_reviews. - Surface verified-purchase reviews exclusively by filtering on the
verifiedflag in customer review responses. - Populate a cigar database with product sizes and prices by crawling brand pages via
get_brand_products.
| 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 | 250 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 Holts.com have an official developer API?+
What does the `get_product_reviews` endpoint return and how can I sort or paginate it?+
nickname, title, detail, rating_quality, created_at, city, state, and a verified flag. Use the page parameter to paginate and the sort and direction parameters to order by created_at or rating_quality in ascending or descending order. The response includes total_pages and total_individual_reviews for full pagination tracking.How do staff reviews differ from customer reviews?+
get_staff_review returns a single editorial review per product line, authored by a named Holts staff member. It includes a numeric score out of 100, a full HTML body, and an author object with fields like cigar_preference and favorite_cigar. Customer reviews via get_product_reviews are crowd-sourced, paginated, and include a verified purchase flag and geographic data — but no 100-point score.Does the API return individual cigar SKUs, inventory levels, or real-time stock status?+
get_brand_products, but does not expose individual SKU-level inventory, in-stock status, or add-to-cart availability. You can fork this API on Parse and revise it to add an endpoint targeting individual product pages where that data may appear.Is there a limitation on how I get the `category_id` and `product_line_id` needed for review endpoints?+
get_brand_products, so you must supply a valid brand page URL to that endpoint first. There is no standalone lookup by product name or SKU. The typical workflow is: call get_all_brands to get brand URLs, pass one to get_brand_products, then use the returned IDs with the review endpoints.