Introduction to Heaters
Heaters are essential for maintaining comfortable indoor temperatures during cold weather. With numerous models available from brands like Lasko, Honeywell, De'Longhi, Vornado, and Dyson, finding the right heater with the right heating capacity can be overwhelming. Whether you're a homeowner looking for a space heater, a renter needing a portable model, or a developer building an HVAC marketplace, having structured heater product data is crucial.
Imagine being able to search for heaters and instantly get detailed information about each unit - from heating capacity and fuel type to safety features and room coverage, from dimensions to smart connectivity. This is exactly what a specialized Heater Product API can provide.
What Makes a Heater API Special?
A Heater Product API goes beyond basic product listings. It understands the unique characteristics that matter to heater buyers:
- Type: Space heater, radiator, ceramic, infrared, or oil-filled
- Fuel Type: Electric, propane, natural gas, or kerosene
- Heating Capacity: BTU or wattage rating for room size
- Safety Features: Tip-over protection, overheat protection, and cool-touch exterior
- Controls: Thermostat, temperature control, and timer
- Size: Dimensions and portability
- Smart Features: Wi-Fi connectivity and app control
With this structured data, you can build powerful features like filtering by room size, comparing safety features, or recommending heaters based on fuel type.
Try It Out: Search for Heaters
Use the search bar below to search for heaters. Try queries like "Lasko ceramic space heater", "Honeywell oil-filled radiator", or "Dyson hot cool fan heater". The results will include detailed specifications automatically extracted from product information across the web.
Try the Heater API
Search for heaters and see detailed specifications automatically extracted from product information.
How It Works: Technical Implementation
Now that you've seen the API in action, let's dive into how it's implemented. This specialized Heater API is built on top of The Product API which is an AI-based product search API that works with any product and any type of query. It responds with structured JSON and supports custom structured responses, allowing you to build specialized APIs for any product category.
The Product API's powerful custom_data_schema feature allows you to define additional structured fields specific to your product category, enabling you to create category-specific APIs like this Heater API. For more details on how the API works, see the full documentation.
Understanding APIs for Product Data
An API (Application Programming Interface) enables different software applications to communicate. For product data:
- Input: You send a search query (e.g., "heater Lasko ceramic 1500W")
- Processing: The API searches across multiple sources and uses AI to extract relevant information
- Output: You receive structured product data in JSON format
The flexibility of a product API means you can customize it for specific categories by defining additional data fields through JSON Schema.
Creating a Heater-Specific JSON Schema to pass as custom_data_schema of search request
Here's the JSON Schema we use for heater products:
{ "type": "object", "properties": { "heater_type": { "type": "string", "enum": ["space_heater", "radiator", "ceramic", "infrared", "oil_filled", "baseboard", "wall_mounted", "portable"], "description": "Type of heater" }, "fuel_type": { "type": "string", "enum": ["electric", "propane", "natural_gas", "kerosene", "oil"], "description": "Fuel source type" }, "heating_capacity": { "type": "string", "description": "Heating capacity in BTUs or watts (e.g., '1500W', '5100 BTU')" }, "room_coverage": { "type": "string", "description": "Recommended room coverage in square feet (e.g., '150-200 sq ft')" }, "wattage": { "type": "string", "description": "Power consumption in watts (e.g., '1500W', '750W')" }, "voltage": { "type": "string", "description": "Voltage requirement (e.g., '120V', '240V')" }, "safety_features": { "type": "array", "items": { "type": "string" }, "description": "Safety features (e.g., ['tip-over protection', 'overheat protection', 'cool-touch exterior', 'auto shut-off'])" }, "thermostat": { "type": "boolean", "description": "Built-in thermostat" }, "temperature_control": { "type": "string", "enum": ["manual", "digital", "programmable", "smart"], "description": "Temperature control type" }, "fan_speeds": { "type": "number", "description": "Number of fan speed settings" }, "oscillation": { "type": "boolean", "description": "Oscillating feature" }, "timer": { "type": "boolean", "description": "Timer function" }, "remote_control": { "type": "boolean", "description": "Remote control included" }, "eco_mode": { "type": "boolean", "description": "Energy-saving eco mode" }, "noise_level": { "type": "string", "description": "Noise level in decibels (e.g., '45 dB', '50 dB')" }, "smart_features": { "type": "boolean", "description": "Smart connectivity features (Wi-Fi, app control)" }, "width": { "type": "string", "description": "Width in inches" }, "height": { "type": "string", "description": "Height in inches" }, "depth": { "type": "string", "description": "Depth in inches" }, "weight": { "type": "string", "description": "Weight in pounds" }, "portable": { "type": "boolean", "description": "Portable design" }, "price_range": { "type": "string", "description": "Price range category (budget, mid-range, premium)" } }, "required": ["heater_type", "fuel_type", "heating_capacity"] }
Using the Category Prefix
When searching for heaters, we prefix the search query with "heater" to help the AI understand the context and return more relevant results.
Example Search Queries:
heater Lasko ceramic 1500Wheater Honeywell oil-filled radiatorheater Dyson hot cool fanheater Vornado space heater
The prefix "heater" ensures the API understands you're looking specifically for heating devices and not other products.
Complete Example: Making a Request
Here's how to make a request to The Product API with a heater-specific schema. For complete API reference including authentication, endpoints, and all parameters, see the documentation:
const response = await fetch('https://api.example.com/api?search=heater%20Lasko%20ceramic&with_image=true', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_API_KEY' }, body: JSON.stringify({ custom_data_schema: { type: "object", properties: { heater_type: { type: "string", enum: ["space_heater", "radiator", "ceramic", "infrared", "oil_filled", "baseboard", "wall_mounted", "portable"], description: "Type of heater" }, fuel_type: { type: "string", enum: ["electric", "propane", "natural_gas", "kerosene", "oil"], description: "Fuel source type" }, heating_capacity: { type: "string", description: "Heating capacity in BTUs or watts" }, room_coverage: { type: "string", description: "Recommended room coverage in square feet" }, wattage: { type: "string", description: "Power consumption in watts" }, voltage: { type: "string", description: "Voltage requirement" }, safety_features: { type: "array", items: { type: "string" }, description: "Safety features" }, thermostat: { type: "boolean", description: "Built-in thermostat" }, temperature_control: { type: "string", enum: ["manual", "digital", "programmable", "smart"], description: "Temperature control type" }, fan_speeds: { type: "number", description: "Number of fan speed settings" }, oscillation: { type: "boolean", description: "Oscillating feature" }, timer: { type: "boolean", description: "Timer function" }, remote_control: { type: "boolean", description: "Remote control included" }, eco_mode: { type: "boolean", description: "Energy-saving eco mode" }, noise_level: { type: "string", description: "Noise level in decibels" }, smart_features: { type: "boolean", description: "Smart connectivity features" }, width: { type: "string", description: "Width in inches" }, height: { type: "string", description: "Height in inches" }, depth: { type: "string", description: "Depth in inches" }, weight: { type: "string", description: "Weight in pounds" }, portable: { type: "boolean", description: "Portable design" }, price_range: { type: "string", description: "Price range category" } }, required: ["heater_type", "fuel_type", "heating_capacity"] } }) }); const data = await response.json(); console.log(data.products);
Expected Response
The API will return products with standard fields plus your custom custom_data field:
{ "status": "success", "products": [ { "name": "Lasko 755320 Ceramic Space Heater", "description": "The Lasko 755320 features 1500W of heating power...", "brand": "Lasko", "image": "https://example.com/image.jpg", "custom_data": { "heater_type": "ceramic", "fuel_type": "electric", "heating_capacity": "1500W", "room_coverage": "150-200 sq ft", "wattage": "1500W", "voltage": "120V", "safety_features": ["tip-over protection", "overheat protection", "cool-touch exterior"], "thermostat": true, "temperature_control": "digital", "fan_speeds": 2, "oscillation": true, "timer": true, "remote_control": true, "eco_mode": true, "noise_level": "45 dB", "smart_features": false, "width": "7.5 inches", "height": "9.5 inches", "depth": "6.5 inches", "weight": "3.5 lbs", "portable": true, "price_range": "budget" } } ] }
Conclusion
By combining the flexible Product API with a heater-specific JSON Schema, you can create a powerful, specialized API for heater products. The key is:
- Define your schema based on what heater data matters to your application
- Use category prefixes in search queries for better context
- Leverage the custom_data field to build rich, category-specific features
The same approach works for any product category - you just need to define the right schema for your needs!
Ready to get started? Create your own product API on The Product API and start building your own category-specific APIs today!
Ready to build your own category-specific API? Check out our other API preset guides for air conditioners, ovens, refrigerators, and more!