hvacdirect.com APIhvacdirect.com ↗
Access HVACDirect's HVAC catalog via API. Search products by keyword or model number, browse categories, retrieve specs, pricing, images, and accessories.
curl -X GET 'https://api.parse.bot/scraper/d2d47dfb-b8e0-4aeb-8d1e-f8ac25696787/search_products?sort=price_min_to_max&query=furnace' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by keyword using the FastSimon search engine. Returns a list of matching products with name, sku, price, and url. For common search terms that map to categories, results come from the autocomplete API with a category_url field. Pagination via the page parameter is not reliably supported by the upstream search API.
| Param | Type | Description |
|---|---|---|
| sort | string | Sort order. Accepted values: relevency, price_min_to_max, price_max_to_min. |
| queryrequired | string | Search keyword (e.g. 'thermostat wifi', 'heat pump') |
{
"type": "object",
"fields": {
"page": "integer current page number",
"items": "array of product objects with name, sku, price, sale_price, url, image, brand, review_score, review_count",
"total": "integer total number of matching products",
"category_url": "string (optional) category URL when search term maps to a category"
},
"sample": {
"data": {
"page": 1,
"items": [
{
"sku": "BP101WA",
"url": "https://hvacdirect.com/smart-controller-thermostat-with-wifi-for-perfect-aire-systems-pajs1.html",
"name": "Smart Controller Thermostat with WiFi for Perfect Aire Systems",
"brand": null,
"image": "https://assets.instantsearchplus.com/thumbs/hvacdirect.com/8e206c096fe945230ea6c6327370e8be",
"price": "159.00",
"sale_price": "0.00",
"review_count": null,
"review_score": null
}
],
"total": 11
},
"status": "success"
}
}About the hvacdirect.com API
The HVACDirect API exposes 9 endpoints covering product search, category navigation, and detailed product data from hvacdirect.com's HVAC equipment catalog. Use get_product_specifications to pull technical spec sheets as key-value pairs, search_by_model_number to look up exact SKUs, or browse_category to paginate through category listings — all returning structured fields like price, sku, brand, rating, and image URLs.
Search and Discovery
The search_products endpoint accepts a query string and an optional sort parameter (relevency, price_min_to_max, or price_max_to_min), returning paginated results with fields including name, sku, price, sale_price, brand, review_score, and review_count. When a search term maps directly to a category, results include a category_url field pointing to the matching category. For SKU or model-number lookups, search_by_model_number targets exact matches and falls back to full-text search if no exact result is found.
Category Browsing
get_categories returns the full site navigation tree — main categories with nested subcategories and their URL slugs. Those slugs feed into browse_category, which accepts a category slug (e.g. air-conditioner-condensers) and an optional page integer for pagination. The endpoint returns items arrays with name, url, price, image, and sku. Note that not every slug from get_categories is guaranteed to return products; subcategory-level slugs are the reliable inputs.
Product Detail Endpoints
Four endpoints operate on a specific product URL. get_product_details returns the fullest picture: name, brand, price, old_price, description, images, rating, review_count, and sku. get_product_pricing is a lighter call returning only sku, price, and old_price. get_product_specifications returns dynamic key-value pairs drawn from the product's spec sheet — fields vary by product type (e.g., BTU rating, SEER rating, voltage). get_product_images returns an array of full-resolution image URLs. get_product_accessories returns an accessories array with name, url, and price for compatible add-ons listed on the product page.
- Build a price-comparison tool for HVAC equipment using
get_product_pricingacross multiple model numbers. - Populate a contractor quoting app with technical specs via
get_product_specificationsfor a given unit URL. - Create a model-number lookup service for field technicians using
search_by_model_number. - Aggregate category-level inventory snapshots with
browse_categoryfor air conditioner condensers or furnaces. - Track sale prices and discount depth by comparing
priceandold_pricefields fromget_product_details. - Generate accessory upsell recommendations in an e-commerce integration using
get_product_accessories. - Sync HVAC product listings into an internal procurement catalog using
get_categoriesto walk the full site taxonomy.
| 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 HVACDirect have an official developer API?+
What does `get_product_specifications` actually return, and does it have consistent fields across products?+
Does `browse_category` work with any slug from `get_categories`?+
get_categories endpoint returns both top-level and subcategory slugs, but only subcategory-level slugs reliably return product listings in browse_category. Top-level category slugs may return null totals or empty item arrays. Use subcategory URLs from the nested subcategories array for reliable results.Does the API expose customer review text or just aggregate ratings?+
review_score and review_count from search endpoints, and rating (as a percentage string) plus review_count text from get_product_details. Individual review text is not included. You can fork this API on Parse and revise it to add a dedicated reviews endpoint that retrieves per-review content.