{"openapi":"3.1.0","info":{"title":"Arkivo API","version":"1","description":"Free, read-only product specs as JSON. No key needed. Limits per IP: 60 requests per minute, enforced. 10,000 requests per day as fair use. Every response has CORS open to all origins."},"servers":[{"url":"https://arkivo.dev"}],"externalDocs":{"url":"https://arkivo.dev/api"},"paths":{"/v1/products":{"get":{"summary":"Search and list products","parameters":[{"name":"q","in":"query","schema":{"type":"string"},"description":"Search words. Matches brand, name, aliases and model numbers. A word for a product type, like \"screen\" or \"phone\", also returns that type's products, after the products that have the word in their own name. Without q, newest first."},{"name":"type","in":"query","schema":{"type":"string","enum":["cordless_vacuum","cpu","cpu_cooler","desktop_pc","earbuds","game_console","game_controller","graphics_card","handheld_console","headset","keyboard","laptop","microphone","monitor","motherboard","mouse","power_supply","ram","robot_vacuum","router","smartphone","smartwatch","soundbar","ssd","streaming_device","tablet","tv","webcam","wireless_speaker"]},"description":"Only products of this type"},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0}}],"responses":{"200":{"description":"Product summaries","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProductSummary"}},"meta":{"$ref":"#/components/schemas/ListMeta"}},"required":["data","meta"]}}}},"400":{"description":"A parameter is invalid. The message names it and the allowed values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Nothing at this path","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"More than 60 requests in a minute. Retry-After says when to try again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"schema":{"type":"integer"},"description":"Seconds to wait"}}}}}},"/v1/products/{slug}":{"get":{"summary":"One product with every field","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The product","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Product"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"]}}}},"404":{"description":"Nothing at this path","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"More than 60 requests in a minute. Retry-After says when to try again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"schema":{"type":"integer"},"description":"Seconds to wait"}}}}}},"/v1/categories":{"get":{"summary":"Categories and their product types","responses":{"200":{"description":"Categories","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Category"}},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"]}}}},"429":{"description":"More than 60 requests in a minute. Retry-After says when to try again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"schema":{"type":"integer"},"description":"Seconds to wait"}}}}}},"/v1/schemas/{type}":{"get":{"summary":"The field list for one product type","parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string","enum":["cordless_vacuum","cpu","cpu_cooler","desktop_pc","earbuds","game_console","game_controller","graphics_card","handheld_console","headset","keyboard","laptop","microphone","monitor","motherboard","mouse","power_supply","ram","robot_vacuum","router","smartphone","smartwatch","soundbar","ssd","streaming_device","tablet","tv","webcam","wireless_speaker"]}}],"responses":{"200":{"description":"The schema","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"]}}}},"404":{"description":"Nothing at this path","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"More than 60 requests in a minute. Retry-After says when to try again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"schema":{"type":"integer"},"description":"Seconds to wait"}}}}}}},"components":{"schemas":{"Meta":{"type":"object","properties":{"api_version":{"type":"string"},"docs":{"type":"string","format":"uri"}},"required":["api_version","docs"]},"ListMeta":{"type":"object","properties":{"api_version":{"type":"string"},"total":{"type":"integer"},"limit":{"type":"integer"},"offset":{"type":"integer"},"docs":{"type":"string","format":"uri"}},"required":["api_version","total","limit","offset","docs"]},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited"]},"message":{"type":"string"}},"required":["code","message"]}},"required":["error"]},"ProductSummary":{"type":"object","properties":{"slug":{"type":"string"},"type":{"type":"string","enum":["cordless_vacuum","cpu","cpu_cooler","desktop_pc","earbuds","game_console","game_controller","graphics_card","handheld_console","headset","keyboard","laptop","microphone","monitor","motherboard","mouse","power_supply","ram","robot_vacuum","router","smartphone","smartwatch","soundbar","ssd","streaming_device","tablet","tv","webcam","wireless_speaker"]},"brand":{"type":"string"},"name":{"type":"string"},"release_date":{"type":"string"},"url":{"type":"string","format":"uri"},"api_url":{"type":"string","format":"uri"}},"required":["slug","type","brand","name","release_date","url","api_url"]},"Product":{"type":"object","properties":{"slug":{"type":"string"},"type":{"type":"string","enum":["cordless_vacuum","cpu","cpu_cooler","desktop_pc","earbuds","game_console","game_controller","graphics_card","handheld_console","headset","keyboard","laptop","microphone","monitor","motherboard","mouse","power_supply","ram","robot_vacuum","router","smartphone","smartwatch","soundbar","ssd","streaming_device","tablet","tv","webcam","wireless_speaker"]},"brand":{"type":"string"},"name":{"type":"string"},"aliases":{"type":"array","items":{"type":"string"}},"release_date":{"type":"string"},"url":{"type":"string","format":"uri"},"specs":{"anyOf":[{"$ref":"#/components/schemas/CordlessVacuumSpecs"},{"$ref":"#/components/schemas/CpuSpecs"},{"$ref":"#/components/schemas/CpuCoolerSpecs"},{"$ref":"#/components/schemas/DesktopPcSpecs"},{"$ref":"#/components/schemas/EarbudsSpecs"},{"$ref":"#/components/schemas/GameConsoleSpecs"},{"$ref":"#/components/schemas/GameControllerSpecs"},{"$ref":"#/components/schemas/GraphicsCardSpecs"},{"$ref":"#/components/schemas/HandheldConsoleSpecs"},{"$ref":"#/components/schemas/HeadsetSpecs"},{"$ref":"#/components/schemas/KeyboardSpecs"},{"$ref":"#/components/schemas/LaptopSpecs"},{"$ref":"#/components/schemas/MicrophoneSpecs"},{"$ref":"#/components/schemas/MonitorSpecs"},{"$ref":"#/components/schemas/MotherboardSpecs"},{"$ref":"#/components/schemas/MouseSpecs"},{"$ref":"#/components/schemas/PowerSupplySpecs"},{"$ref":"#/components/schemas/RamSpecs"},{"$ref":"#/components/schemas/RobotVacuumSpecs"},{"$ref":"#/components/schemas/RouterSpecs"},{"$ref":"#/components/schemas/SmartphoneSpecs"},{"$ref":"#/components/schemas/SmartwatchSpecs"},{"$ref":"#/components/schemas/SoundbarSpecs"},{"$ref":"#/components/schemas/SsdSpecs"},{"$ref":"#/components/schemas/StreamingDeviceSpecs"},{"$ref":"#/components/schemas/TabletSpecs"},{"$ref":"#/components/schemas/TvSpecs"},{"$ref":"#/components/schemas/WebcamSpecs"},{"$ref":"#/components/schemas/WirelessSpeakerSpecs"}]},"variants":{"type":"array","items":{"type":"object"},"description":"Sold configurations. Each row lists only what differs from the base."},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"}},"fields_filled":{"type":"integer"},"updated":{"type":"string"}},"required":["slug","type","brand","name","aliases","release_date","url","specs","variants","sources","fields_filled","updated"]},"Source":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"kind":{"type":"string"},"accessed":{"type":"string"},"fields":{"type":"array","items":{"type":"string"},"description":"Field ids this source backs"},"notes":{"type":"object","additionalProperties":{"type":"string"}}},"required":["url","kind","accessed","fields"]},"Category":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"types":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"label":{"type":"string"},"url":{"type":"string","format":"uri"},"schema_url":{"type":"string","format":"uri"},"product_count":{"type":"integer"}},"required":["type","label","url","schema_url","product_count"]}}},"required":["id","label","types"]},"CordlessVacuumSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"form_factor":{"type":["string","null"],"enum":["stick_2_in_1","stick","handheld",null],"description":"Form factor. Options: stick_2_in_1 (Stick, converts to handheld), stick (Stick only), handheld (Handheld). A 2-in-1 stick converts to a handheld vacuum. A stick does not. Handheld means a handheld vacuum sold without a long wand.."},"wet_cleaning":{"type":["string","null"],"enum":["included","optional_accessory","none",null],"description":"Wet cleaning head. Options: included (Included), optional_accessory (Optional accessory), none (None). A floor head that mops or washes the floor with water. Optional accessory means the maker sells a compatible wet head separately. Optional accessory only when the maker's page for this exact model lists a wet head as compatible. A separate Submarine edition does not make the base model optional accessory. A kit sold with the wet head, such as an Aqua kit, is included in its variant row.."},"suction_power_aw":{"type":["number","null"],"description":"Suction power (claimed). Unit: AW. The maker's highest suction power claim in air watts. Some makers write W for suction power. Test standard, mode and tool differ by maker. Regional pages can state different figures.."},"suction_pa":{"type":["integer","null"],"description":"Max suction pressure (claimed). Unit: Pa. The maker's highest suction pressure claim in pascals. A claim in kPa is multiplied by 1000. Air watts are a different measure.."},"rated_power_w":{"type":["number","null"],"description":"Rated power. Unit: W. Electrical power of the vacuum as the maker publishes it, called motor power, rated power or wattage. It is not suction power in air watts. It is the maximum input power of the motor unit. A nozzle's own power is not added. The power of the charger or the dock does not count. When the maker states a rated figure and a higher maximum, such as LG's 350 W rated and 650 W in Turbo mode, the maximum is stored and the rated figure goes in the source note.."},"motor_speed_rpm":{"type":["integer","null"],"description":"Motor speed (claimed). Unit: rpm. Highest motor speed the maker claims.."},"power_modes":{"type":["array","null"],"items":{"type":"string"},"description":"Power modes. The maker's names for the power settings, such as \"Eco\", \"Auto\" and \"Boost\".."},"auto_suction_adjustment":{"type":["boolean","null"],"description":"Automatic power adjustment. The vacuum changes suction by itself based on floor type or the amount of dirt.."},"dirt_detection":{"type":["boolean","null"],"description":"Dirt detection. A sensor measures the dust passing through or finds dirtier spots.."},"noise_dba":{"type":["number","null"],"description":"Noise level (claimed). Unit: dB(A). The maker's published noise level, usually the sound power level at the highest setting. A reviewer's sound meter reading is a different measure. Only a figure the maker states, never a retailer feed. When the maker prints dB without the A, store it and say so in the source note.."},"floor_heads":{"type":["array","null"],"items":{"type":"string"},"description":"Floor heads included. The maker's names of the motorized floor heads in the box, such as \"Fluffy Optic\". Small tools are listed in the box contents.."},"floor_head_light":{"type":["string","null"],"enum":["led","laser","none",null],"description":"Floor head light. Options: led (LED), laser (Laser), none (None). A light on the floor head that shows dust. Laser is the narrow line of light the maker calls a laser. LED covers other headlights.."},"pivoting_wand":{"type":["boolean","null"],"description":"Bending wand. The wand bends at a hinge to reach under furniture. A telescopic wand that only changes length does not count.."},"self_standing":{"type":["boolean","null"],"description":"Stands on its own. The vacuum stands upright without a dock or wall mount.."},"dustbin_capacity_l":{"type":["number","null"],"description":"Dustbin capacity. Unit: l. Capacity of the bin on the vacuum. Makers state the gross volume or the volume up to the max line. When both are given, the max-line volume is stored and the gross volume goes in the source note. A compaction claim, such as \"holds three times more\", is not stored. A dock bag that the maker calls the dust bin goes in the dock dust capacity.."},"filter_type":{"type":["string","null"],"description":"Filter. Published filter type or grade, such as \"HEPA\".."},"whole_machine_filtration":{"type":["boolean","null"],"description":"Sealed filtration. The maker states that the whole machine is sealed, so all air passes the filter before it leaves.."},"filter_capture_efficiency_pct":{"type":["number","null"],"description":"Particle capture (claimed). Unit: %. Share of particles the maker says the vacuum captures, such as 99.99, at the particle size in the next row. Keep the test standard in the source note, such as ASTM F1977 or ASTM F3150. Compare only values with the same particle size. A claim with no particle size is left out.."},"filter_capture_particle_size_um":{"type":["number","null"],"description":"Smallest captured particle (claimed). Unit: um. Particle size that goes with the capture claim, such as 0.1.."},"washable_filter":{"type":["boolean","null"],"description":"Washable filter. The maker says the filter can be rinsed with water.."},"battery_voltage_v":{"type":["number","null"],"description":"Battery voltage. Unit: V. Nominal pack voltage, such as 25.2 V. A full-charge voltage, such as 29.4 V for seven cells, is not nominal.."},"battery_capacity_mah":{"type":["integer","null"],"description":"Battery capacity. Unit: mAh. Published pack capacity at the nominal battery voltage. A cell count times a cell capacity, such as \"8 x 3,200mAh\", is not a pack capacity. The cell capacity is the pack capacity only when all cells are in series. That holds when the pack voltage divided by the cell count is one lithium-ion cell voltage, 3.6 or 3.7 V, such as 8 x 2,200mAh at 29.6 V. The source note shows the check. When the maker gives a rated and a nominal capacity, the one that matches its stated Wh at the pack voltage is stored.."},"replaceable_battery":{"type":["boolean","null"],"description":"Removable battery. The user can remove and swap the battery without tools, such as a click-in battery. Service replacement does not qualify.."},"batteries_included":{"type":["integer","null"],"description":"Batteries included. Number of batteries in the box.."},"runtime_claimed":{"type":["array","null"],"items":{"type":"object","properties":{"power_level":{"type":["string","null"],"enum":["lowest","middle","highest","auto",null],"description":"Power level. Options: lowest (Lowest), middle (Middle), highest (Highest), auto (Auto)."},"mode_name":{"type":["string","null"],"description":"Mode."},"tool":{"type":["string","null"],"enum":["non_motorized_tool","motorized_floor_head","motorized_hand_tool",null],"description":"Tool. Options: non_motorized_tool (Non-motorized tool), motorized_floor_head (Motorized floor head), motorized_hand_tool (Motorized hand tool)."},"minutes":{"type":["number","null"],"description":"Run time. Unit: min."}},"required":["power_level","mode_name","tool","minutes"]},"description":"Run time (claimed). One row per maker run time claim on one battery. Power level puts the maker's mode on a common scale. Lowest is the weakest setting, such as Eco or Min. Highest is the strongest, such as Boost, Max or Jet. Middle covers every setting between them. Claims that add a second battery are not stored. A handheld configuration without a motorized head counts as non-motorized tool. On hard floor with the main head counts as motorized floor head. Leave the tool out when the maker says neither or its own pages disagree, and name them in the source note. A machine with one power setting uses highest. When the maker gives a range, such as 20 to 25 min, the top of the range is stored and the range goes in the source note. A boost button or trigger counts as a setting, so a machine with one setting and a boost has a lowest and a highest row. A wet cleaning mode, such as Dyson Wet or Samsung WET, is not a power level, so it is not stored.."},"runtime_max_min":{"type":["number","null"],"description":"Max run time (claimed). Unit: min. Longest maker run time claim on one battery. It is usually on the lowest setting with a non-motorized tool.. Calculated from other fields."},"runtime_highest_power_min":{"type":["number","null"],"description":"Run time at highest power (claimed). Unit: min. Longest maker claim on the highest setting, such as Boost. The tool is in the run time table.. Calculated from other fields."},"charge_time_0_100_min":{"type":["integer","null"],"description":"Full charge time (claimed). Unit: min. The maker's claim for charging an empty battery to full. A partial charge is not stored. Makers state different times per market for the same model, so it is per variant. Between the manual and a product page, the manual wins. When the maker gives a range, store the top of the range and keep the range in the source note.."},"auto_empty_dock":{"type":["boolean","null"],"description":"Auto-empty dock. A dock that empties the vacuum's bin into a bag or bin of its own. A charging dock or wall mount alone does not qualify.."},"dock_dust_container":{"type":["string","null"],"enum":["bag","bagless",null],"description":"Dock dust container. Options: bag (Bag), bagless (Bagless). What the dock empties the vacuum's dust into.."},"dock_dust_capacity_l":{"type":["number","null"],"description":"Dock dust capacity. Unit: l. Capacity of the dust bag or bin in the dock.."},"dock_dust_storage_days":{"type":["integer","null"],"description":"Days between dock emptying (claimed). Unit: days. The maker's estimate of how long the dock holds dust before it must be emptied. Makers assume different homes and schedules.."},"display":{"type":["string","null"],"enum":["screen","led_indicators","none",null],"description":"Display. Options: screen (Screen), led_indicators (LED indicators), none (None). Screen means an LCD or similar screen that shows text or numbers, such as the run time left. LED indicators are status lights only. The maker's word does not decide. A panel that shows numbers or text is a screen, even when the maker calls it an LED display. A panel of fixed icons or bars is LED indicators, even when the maker calls it a smart display.."},"wifi":{"type":["boolean","null"],"description":"Wi-Fi. The maker names Wi-Fi for the vacuum or its dock. An app that pairs over Bluetooth is not Wi-Fi. Left out when the maker names no connection.."},"companion_app":{"type":["string","null"],"description":"Companion app. The maker's phone app for the vacuum, by name. Only an app that connects to this vacuum. A registration or tutorial app does not count.."},"measured_airflow_wand_cfm":{"type":["number","null"],"description":"Airflow at the wand (measured). Unit: CFM. Airflow at the end of the wand with the floor head removed, on the highest setting, measured by a reviewer with an anemometer.."},"measured_sealed_suction_inh2o":{"type":["number","null"],"description":"Sealed suction (measured). Unit: inH2O. Maximum suction with the intake fully sealed, in inches of water lift, measured by a reviewer with a manometer on the highest setting.."},"measured_unsealed_suction_kpa":{"type":["number","null"],"description":"Suction at the floor head (measured). Unit: kPa. Suction measured through a small hole in a test board under the running floor head, on the highest setting.."},"measured_carpet_sand_pickup_pct":{"type":["number","null"],"description":"Embedded sand pickup on carpet (measured). Unit: %. Share of 100 g of sand worked into medium-pile carpet that the vacuum removed with a fixed number of passes on the highest setting. The reviewer weighs the bin before and after.."},"measured_runtime_max_power_min":{"type":["number","null"],"description":"Run time at highest power (measured). Unit: min. Continuous run time on the highest setting with the standard floor head, until the battery is empty.."},"measured_noise_max_db":{"type":["number","null"],"description":"Noise at highest power (measured). Unit: dB. Sound level on the highest setting, measured by a reviewer with a sound level meter at a fixed distance. It is not comparable to the maker's sound power figure. Distance and weighting go in the source note when the reviewer states them.."},"measured_handle_weight_g":{"type":["number","null"],"description":"Handle weight (measured). Unit: g. Weight of the handle assembly with battery, without wand or floor head, on a reviewer's scale.."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Dimensions. The assembled stick standing upright. Height is the full length from floor head to handle. Width is across the floor head. Depth is front to back. For a handheld vacuum, height is its longest side.."},"weight_kg":{"type":["number","null"],"description":"Weight. Unit: kg. Ready-to-use stick with battery, wand and main floor head, without a dock. For a handheld vacuum, the vacuum with battery.."},"handheld_weight_kg":{"type":["number","null"],"description":"Handheld weight. Unit: kg. Handheld unit with battery, without wand or floor head.."},"docked_dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Dimensions in the dock. The vacuum standing in its auto-empty dock, as makers publish it. When a maker lists one size and weight for a docked model and the weight is about twice the stick weight, both describe the stick in its dock. Treat the size and the weight the same way, never one without the other.."},"docked_weight_kg":{"type":["number","null"],"description":"Weight with dock. Unit: kg. The vacuum and its auto-empty dock together. When a maker lists one size and weight for a docked model and the weight is about twice the stick weight, both describe the stick in its dock. Treat the size and the weight the same way, never one without the other.."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications. Named certifications, verbatim, such as an allergy certification.."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box. Items supplied with this exact model, verbatim. When the boxes of the variants differ, leave the base out and list each box in its variant row.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","form_factor","wet_cleaning","suction_power_aw","suction_pa","rated_power_w","motor_speed_rpm","power_modes","auto_suction_adjustment","dirt_detection","noise_dba","floor_heads","floor_head_light","pivoting_wand","self_standing","dustbin_capacity_l","filter_type","whole_machine_filtration","filter_capture_efficiency_pct","filter_capture_particle_size_um","washable_filter","battery_voltage_v","battery_capacity_mah","replaceable_battery","batteries_included","runtime_claimed","runtime_max_min","runtime_highest_power_min","charge_time_0_100_min","auto_empty_dock","dock_dust_container","dock_dust_capacity_l","dock_dust_storage_days","display","wifi","companion_app","measured_airflow_wand_cfm","measured_sealed_suction_inh2o","measured_unsealed_suction_kpa","measured_carpet_sand_pickup_pct","measured_runtime_max_power_min","measured_noise_max_db","measured_handle_weight_g","dimensions_mm","weight_kg","handheld_weight_kg","docked_dimensions_mm","docked_weight_kg","other_certifications","in_the_box"],"description":"Every cordless vacuum field in schema order. Unknown values are null."},"CpuSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"segment":{"type":["string","null"],"enum":["desktop","laptop",null],"description":"Segment. Options: desktop (Desktop), laptop (Laptop). The segment the chip maker sells it in. Intel calls laptop chips Mobile. AMD laptop chips that also list Desktops, for mini PCs, stay laptop.."},"instruction_set":{"type":["string","null"],"enum":["x86_64","arm64",null],"description":"Instruction set. Options: x86_64 (x86-64), arm64 (Arm64). Apple and Qualcomm chips are Arm64. Intel and AMD chips are x86-64.."},"cpu_codename":{"type":["string","null"],"description":"Codename. The chip maker's codename. Intel: the Code Name row without \"Products formerly\". AMD: the Former Codename row without the socket.."},"process_node_name":{"type":["string","null"],"description":"CPU process (as published). Verbatim name of the process the CPU cores are made on, e.g. TSMC N3B or Intel 18A.."},"process_node_nm":{"type":["number","null"],"description":"CPU process node. Unit: nm. The nm class of the named CPU-core process, as on laptops and desktop PCs: TSMC N3B is 3, Intel 7 is 10, Intel 4 is 7 and Intel 18A is 1.8. The exact name is in CPU process (as published). I/O and graphics dies may use other nodes.."},"avx512_support":{"type":["boolean","null"],"description":"AVX-512. The chip maker lists AVX-512 among the supported instruction extensions.."},"cpu_clusters":{"type":["array","null"],"items":{"type":"object","properties":{"core_type":{"type":["string","null"],"enum":["performance","efficiency","low_power_efficiency","super","prime",null],"description":"Core type. Options: performance (Performance), efficiency (Efficiency), low_power_efficiency (Low-power efficiency), super (Super), prime (Prime). The chip maker's own role label. Left out when the maker gives none, as AMD does. Never inferred from clock speed or core size.."},"count":{"type":["integer","null"],"description":"Count. Physical cores in this group, not threads.."},"core_name":{"type":["string","null"],"description":"Core. Architecture or core name, e.g. Lion Cove, Zen 5c or Oryon.."},"base_ghz":{"type":["number","null"],"description":"Base clock. Unit: GHz."},"max_ghz":{"type":["number","null"],"description":"Max clock. Unit: GHz. Max turbo or boost clock the chip maker states for this core group. When the maker gives one group a multi-core and a single-core maximum, as Qualcomm does, the single-core figure is stored.."}},"required":["core_type","count","core_name","base_ghz","max_ghz"]},"description":"Core configuration. One row per core group the chip maker names. Intel names performance, efficient and low-power efficient cores. AMD names Zen 5 and Zen 5c cores. Qualcomm names prime and performance cores.."},"cpu_core_count":{"type":["integer","null"],"description":"Cores. Physical cores, not threads.. Calculated from other fields."},"cpu_performance_core_count":{"type":["integer","null"],"description":"Cores labelled performance. Counts only cores the chip maker labels performance. Not available when the maker labels no roles, as on AMD chips. Qualcomm and Apple use other labels for their fastest cores.. Calculated from other fields."},"cpu_efficiency_core_count":{"type":["integer","null"],"description":"Cores labelled efficiency. Counts efficient and low-power efficient cores. Not available when the maker labels no roles.. Calculated from other fields."},"cpu_thread_count":{"type":["integer","null"],"description":"Threads. Hardware threads, including simultaneous multithreading where the chip has it.."},"max_boost_clock_ghz":{"type":["number","null"],"description":"Max boost clock. Unit: GHz. Highest clock the chip maker states for the processor, Intel Max Turbo Frequency or AMD Max. Boost Clock. Often reached on one or two cores only. It can be higher than every core group's max clock.."},"cpu_unlocked":{"type":["boolean","null"],"description":"Unlocked for overclocking. The core multiplier is unlocked, as on Intel K models and AMD chips listed as Unlocked for Overclocking. Memory profiles such as XMP or EXPO alone do not count.."},"cpu_cache_l2_mb":{"type":["number","null"],"description":"L2 cache. Unit: MB. Total L2 cache of all cores.."},"cpu_cache_l3_mb":{"type":["number","null"],"description":"L3 cache. Unit: MB. Total L3 cache, including 3D V-Cache. Intel Smart Cache is L3. L2 is not added. A total cache figure from Qualcomm or Apple is not L3.."},"has_3d_vcache":{"type":["boolean","null"],"description":"AMD 3D V-Cache. Extra L3 cache stacked on a compute die. Yes when at least one compute die has it.."},"cpu_base_power_w":{"type":["integer","null"],"description":"Base power (TDP). Unit: W. Intel Processor Base Power or AMD Default TDP. A rating for cooler and board design, not measured power draw. A Default TDP printed as a range, such as 35-54 W, is not stored.."},"max_turbo_power_w":{"type":["integer","null"],"description":"Max turbo power. Unit: W. Highest package power limit at stock settings. Intel Maximum Turbo Power, or AMD's package power tracking (PPT) limit. The source note says which. Only a source that names this exact chip counts. A database value applied to a whole class of chips does not.."},"configurable_tdp_w":{"type":["object","null"],"properties":{"min_w":{"type":["integer","null"],"description":"Minimum. Unit: W."},"max_w":{"type":["integer","null"],"description":"Maximum. Unit: W."}},"required":["min_w","max_w"],"description":"Configurable power range. The sustained power range a PC or laptop maker may set. AMD cTDP. Intel Minimum and Maximum Assured Power.."},"tjmax_c":{"type":["integer","null"],"description":"Max operating temperature. Unit: °C. Highest die temperature the chip maker allows, called Tjmax or Tjunction. The chip lowers its clocks to stay below it.."},"memory_support":{"type":["array","null"],"items":{"type":"object","properties":{"ram_type":{"type":["string","null"],"enum":["ddr4","ddr5","lpddr4x","lpddr5","lpddr5x",null],"description":"Memory type. Options: ddr4 (DDR4), ddr5 (DDR5), lpddr4x (LPDDR4X), lpddr5 (LPDDR5), lpddr5x (LPDDR5X)."},"module_type":{"type":["string","null"],"enum":["udimm","cudimm","sodimm","csodimm","on_package","soldered",null],"description":"Module type. Options: udimm (UDIMM), cudimm (CUDIMM), sodimm (SO-DIMM), csodimm (CSODIMM), on_package (On package), soldered (Soldered)."},"config":{"type":["string","null"],"description":"Modules. Modules times ranks, e.g. 2x1R for two single-rank modules or 4x2R for four dual-rank modules. Intel's 1DPC is two modules in dual channel, so 1DPC with single-rank modules is 2x1R. Chip widths such as x8 go in the source note. On-package memory has no modules, so config is left out and the maker's size and rank, such as 32 GB/2R, go in the source note.."},"max_mts":{"type":["integer","null"],"description":"Max speed. Unit: MT/s. Official speed. Overclocked memory profiles do not count.."}},"required":["ram_type","module_type","config","max_mts"]},"description":"Memory support. Official memory speeds per memory type, module type and module configuration, as the chip maker states them.."},"memory_speed_max_mts":{"type":["integer","null"],"description":"Max memory speed (official). Unit: MT/s. Highest official speed in the memory support table, for any module type. Four modules or plain UDIMMs can run slower. Intel quotes some chips with CUDIMM speeds only.. Calculated from other fields."},"memory_channels":{"type":["integer","null"],"description":"Memory channels. Counted in 64-bit channels, as Intel and AMD count them. A DDR5 module has two 32-bit subchannels and makers count it as one channel. A maker that counts narrower channels and states their width is converted by the total bus width, so Qualcomm's 8 channels of 16 bits are 2. A total bus width alone is divided by 64, so AMD's 256-bit interface is 4. The maker's own count goes in the source note.."},"memory_bandwidth_gbs":{"type":["number","null"],"description":"Memory bandwidth (claimed). Unit: GB/s. Peak memory bandwidth the chip maker states. Not a measurement.."},"ram_max_gb":{"type":["integer","null"],"description":"Max memory. Unit: GB. Most memory the chip maker says the processor supports. When the limit depends on the device, as for Apple chips, the highest limit the maker states for this chip in any device. The device goes in the source note. When Intel's documents differ, such as 192 GB in a launch brief and 256 GB on its spec page, the current spec page wins, since newer memory modules can raise the limit.."},"ram_ecc":{"type":["boolean","null"],"description":"ECC memory support. The chip maker says the processor supports ECC memory. Most need a board that supports it too. DDR5 on-die ECC does not count.."},"cpu_socket":{"type":["string","null"],"description":"Socket or package. Desktop socket, e.g. AM5 or LGA1851. Laptop chips are soldered, so this is the package the maker names, e.g. FP8. When the maker names several packages, in the socket row or the product IDs, list them all separated by commas, such as \"FP7, FP7r2\".."},"compatible_chipsets":{"type":["array","null"],"items":{"type":"string"},"description":"Compatible chipsets. Desktop chipsets the chip maker lists, with the brand and without the word chipset, e.g. AMD X870E, AMD B850 or Intel Z890. Same form as the motherboard chipset.."},"cpu_pcie_lanes":{"type":["array","null"],"items":{"type":"object","properties":{"pcie_gen":{"type":["integer","null"],"description":"PCIe generation."},"lanes":{"type":["integer","null"],"description":"Lanes."}},"required":["pcie_gen","lanes"]},"description":"CPU PCIe lanes. Usable PCIe lanes from the processor, one row per PCIe generation. Lanes that link the CPU to the chipset are not counted. If the maker gives only a total, a review that lists the split may be used, and the source note names it. When the package also holds the chipset, as on Intel Raptor Lake U and H chips, ARK's total includes the chipset lanes. Those are not counted, so the datasheet split is used. On Intel Core Ultra chips, such as Panther Lake, the platform controller or SoC tile is part of the processor, so its lanes count.."},"pcie_lane_count":{"type":["integer","null"],"description":"CPU PCIe lanes in total. Usable lanes from the processor. Lanes to the chipset are not counted.. Calculated from other fields."},"pcie_gen_max":{"type":["integer","null"],"description":"Highest PCIe generation. Highest PCIe generation of the processor's own lanes. Chipset lanes are not counted.. Calculated from other fields."},"native_usb_ports":{"type":["array","null"],"items":{"type":"object","properties":{"standard":{"type":["string","null"],"enum":["thunderbolt_5","thunderbolt_4","usb4","usb_3_2_gen_2","usb_3_2_gen_1","usb_2_0","eusb2",null],"description":"Standard. Options: thunderbolt_5 (Thunderbolt 5), thunderbolt_4 (Thunderbolt 4), usb4 (USB4), usb_3_2_gen_2 (USB 3.2 Gen 2 (10 Gbps)), usb_3_2_gen_1 (USB 3.2 Gen 1 (5 Gbps)), usb_2_0 (USB 2.0), eusb2 (eUSB2)."},"count":{"type":["integer","null"],"description":"Count."}},"required":["standard","count"]},"description":"Native USB ports. USB ports the processor itself provides, as the chip maker lists them. The board or laptop decides which ones reach a connector. Chipset ports are not counted. eUSB2 is the embedded USB 2.0 link that Qualcomm lists. It needs a repeater on the board to become a USB 2.0 port.."},"has_native_usb4":{"type":["boolean","null"],"description":"Native USB4 or Thunderbolt. The processor itself provides USB4 or Thunderbolt. The board or laptop must still wire it to a port.. Calculated from other fields."},"has_integrated_gpu":{"type":["boolean","null"],"description":"Integrated graphics. No for chips that need a graphics card, such as Intel F models.."},"integrated_gpu":{"type":["string","null"],"description":"Integrated GPU. As the chip maker names it.."},"igpu_core_count":{"type":["integer","null"],"description":"GPU cores. As the chip maker counts them: AMD compute units, Intel Xe-cores, Apple GPU cores. Counts from different makers are not comparable. Intel execution units (EUs) are not Xe-cores and are not stored here. Apple sells some chips with two GPU core counts under one name, so it is per variant.."},"igpu_max_clock_mhz":{"type":["integer","null"],"description":"Max GPU clock. Unit: MHz. Intel Graphics Max Dynamic Frequency or AMD Graphics Frequency.."},"igpu_max_displays":{"type":["integer","null"],"description":"Max displays. Displays the integrated GPU drives at the same time. The chip maker's total. Intel counts a built-in laptop panel in it. A count of external displays only, as Qualcomm gives, is left out and goes in the source note.."},"igpu_displayport_version":{"type":["string","null"],"description":"DisplayPort version. Highest DisplayPort version the integrated GPU outputs, with the UHBR rate when stated.."},"igpu_hdmi_version":{"type":["string","null"],"description":"HDMI version. Highest HDMI version the integrated GPU outputs, as published.."},"igpu_video_encode":{"type":["array","null"],"items":{"type":"string","enum":["h264","h265","av1","vp9"]},"description":"Hardware video encode. Options: h264 (H.264), h265 (H.265 (HEVC)), av1 (AV1), vp9 (VP9). Codecs the chip maker states the integrated GPU encodes in hardware.."},"igpu_video_decode":{"type":["array","null"],"items":{"type":"string","enum":["h264","h265","vp9","av1","h266"]},"description":"Hardware video decode. Options: h264 (H.264), h265 (H.265 (HEVC)), vp9 (VP9), av1 (AV1), h266 (H.266 (VVC)). Codecs the chip maker states the integrated GPU decodes in hardware.."},"npu_tops":{"type":["number","null"],"description":"NPU performance. Unit: TOPS. NPU only, as the chip maker states it. CPU and GPU AI throughput are not included. Precision, usually INT8, belongs in the source note.."},"platform_tops":{"type":["number","null"],"description":"Total AI performance. Unit: TOPS. The chip maker's combined AI figure for CPU, GPU and NPU together, e.g. Intel Overall Peak TOPS or AMD Overall TOPS.."},"benchmark_cinebench_2024_single":{"type":["number","null"],"description":"Cinebench 2024 single-core. Unit: points. Measured by a reviewer, not claimed by the maker. Compare only results from the same reviewer.."},"benchmark_cinebench_2024_multi":{"type":["integer","null"],"description":"Cinebench 2024 multi-core. Unit: points. Measured by a reviewer, not claimed by the maker. Compare only results from the same reviewer.."},"benchmark_cinebench_2026_single":{"type":["integer","null"],"description":"Cinebench 2026 single-thread. Unit: points. Measured by a reviewer, not claimed by the maker. The CPU (Single Thread) test, not the CPU (Single Core) test with the core's second thread. Compare only results from the same reviewer.."},"benchmark_cinebench_2026_multi":{"type":["integer","null"],"description":"Cinebench 2026 multi-core. Unit: points. Measured by a reviewer, not claimed by the maker. The CPU (Multiple Threads) test. Not comparable with Cinebench 2024. Compare only results from the same reviewer.."},"benchmark_geekbench_6_single":{"type":["integer","null"],"description":"Geekbench 6 single-core. Unit: points. Measured by a reviewer, not claimed by the maker. Geekbench 6 only. Geekbench 7 has another scale and is not stored here. Intel Binary Optimization on or off goes in the source note. Store results with it off. Compare only results from the same reviewer.."},"benchmark_geekbench_6_multi":{"type":["integer","null"],"description":"Geekbench 6 multi-core. Unit: points. Measured by a reviewer, not claimed by the maker. Geekbench 6 only. Geekbench 7 has another scale and is not stored here. Intel Binary Optimization on or off goes in the source note. Store results with it off. Compare only results from the same reviewer.."},"game_fps_measured":{"type":["array","null"],"items":{"type":"object","properties":{"game":{"type":["string","null"],"description":"Game."},"gpu":{"type":["string","null"],"description":"Graphics card."},"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"preset":{"type":["string","null"],"description":"Preset."},"avg_fps":{"type":["number","null"],"description":"Average FPS. Unit: fps."},"low_1pct_fps":{"type":["number","null"],"description":"1 % low FPS. Unit: fps."}},"required":["game","gpu","width_px","height_px","preset","avg_fps","low_1pct_fps"]},"description":"Game frame rates. Reviewer game results with this processor and the named graphics card, at native resolution with no upscaling and ray tracing off unless the source note says otherwise. Intel Binary Optimization or APO on or off goes in the source note. Store only results with it off. Compare only results from the same reviewer. A 99th percentile frame rate, as Tom's Hardware prints it, is stored as the 1 % low.."},"measured_cpu_sustained_power_w":{"type":["number","null"],"description":"CPU power in multi-thread load (measured). Unit: W. Measured by a reviewer, not claimed by the maker. CPU package power in a sustained all-core load such as Cinebench multi-core. Not wall power. Compare only results from the same reviewer.."},"measured_cpu_gaming_power_w":{"type":["number","null"],"description":"CPU power while gaming (measured). Unit: W. Measured by a reviewer, not claimed by the maker. Average CPU package power while gaming. Not wall power. Compare only results from the same reviewer. Intel Binary Optimization or APO on or off goes in the source note. A geomean that mixes games with it on and off is left out.."},"measured_cpu_idle_power_w":{"type":["number","null"],"description":"CPU power at idle (measured). Unit: W. Measured by a reviewer, not claimed by the maker. CPU package power at the reviewer's idle state. Not wall power. Compare only results from the same reviewer.."},"measured_cpu_stress_temp_c":{"type":["number","null"],"description":"CPU temperature in stress test. Unit: °C. Measured by a reviewer, not claimed by the maker. Highest absolute CPU temperature in a sustained all-core load. A delta over room temperature is not stored. It depends on the cooler. Compare only results from the same reviewer.."},"measured_cpu_stress_clock_ghz":{"type":["number","null"],"description":"All-core clock in stress test. Unit: GHz. Measured by a reviewer, not claimed by the maker. Sustained clock under an all-core load. On chips with several core groups, the clock of the group with the highest rated clock, such as Intel P-cores, even when another group measures higher. Compare only results from the same reviewer.."},"cooler_included":{"type":["boolean","null"],"description":"Cooler in the box. A cooler comes in the retail box. Tray versions have none.."},"included_cooler_model":{"type":["string","null"],"description":"Included cooler."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","segment","instruction_set","cpu_codename","process_node_name","process_node_nm","avx512_support","cpu_clusters","cpu_core_count","cpu_performance_core_count","cpu_efficiency_core_count","cpu_thread_count","max_boost_clock_ghz","cpu_unlocked","cpu_cache_l2_mb","cpu_cache_l3_mb","has_3d_vcache","cpu_base_power_w","max_turbo_power_w","configurable_tdp_w","tjmax_c","memory_support","memory_speed_max_mts","memory_channels","memory_bandwidth_gbs","ram_max_gb","ram_ecc","cpu_socket","compatible_chipsets","cpu_pcie_lanes","pcie_lane_count","pcie_gen_max","native_usb_ports","has_native_usb4","has_integrated_gpu","integrated_gpu","igpu_core_count","igpu_max_clock_mhz","igpu_max_displays","igpu_displayport_version","igpu_hdmi_version","igpu_video_encode","igpu_video_decode","npu_tops","platform_tops","benchmark_cinebench_2024_single","benchmark_cinebench_2024_multi","benchmark_cinebench_2026_single","benchmark_cinebench_2026_multi","benchmark_geekbench_6_single","benchmark_geekbench_6_multi","game_fps_measured","measured_cpu_sustained_power_w","measured_cpu_gaming_power_w","measured_cpu_idle_power_w","measured_cpu_stress_temp_c","measured_cpu_stress_clock_ghz","cooler_included","included_cooler_model"],"description":"Every CPU field in schema order. Unknown values are null."},"CpuCoolerSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"cpu_cooler":{"type":["string","null"],"enum":["air","aio_liquid",null],"description":"Cooler type. Options: air (Air), aio_liquid (AIO liquid). Air is a heatsink with fans that sits on the CPU. AIO liquid is a sealed all-in-one liquid cooler with a pump block, tubes and a radiator.."},"air_cooler_layout":{"type":["string","null"],"enum":["single_tower","dual_tower","top_flow",null],"description":"Air cooler layout. Options: single_tower (Single tower), dual_tower (Dual tower), top_flow (Top-flow). Air coolers only. Top-flow covers low-profile coolers whose fan blows down onto the board.."},"rated_tdp_w":{"type":["number","null"],"description":"Rated TDP (claimed). Unit: W. The heat load the maker says the cooler handles. Makers do not share one test method, so this is not a measured result. A maker's maximum heat dissipation power counts. Check the maker's CPU compatibility page too.."},"base_material":{"type":["string","null"],"enum":["copper","nickel_plated_copper","aluminium",null],"description":"Base material. Options: copper (Copper), nickel_plated_copper (Nickel-plated copper), aluminium (Aluminium). The surface that touches the CPU: the heatsink base or the AIO cold plate. Plating counts, so nickel-plated copper is not copper. Direct-touch heat pipes are the contact surface, so they count as copper unless plating is stated. The direct-contact heat pipes field records the design.."},"thermal_paste":{"type":["string","null"],"enum":["pre_applied","included","none",null],"description":"Thermal paste. Options: pre_applied (Pre-applied), included (Included), none (None). Pre-applied means paste is already on the base or cold plate. Included means a separate tube or syringe in the box.."},"sockets":{"type":["array","null"],"items":{"type":"string"},"description":"CPU sockets. Sockets the maker lists as supported in its spec table, compatibility list or guide, written as cpu_socket writes them, e.g. AM5 or LGA1851. List each socket on its own, so LGA115x becomes LGA1150, LGA1151, LGA1155 and LGA1156. When the maker names the sockets of such a family, list only the ones it names. A socket that needs a separately sold or requested mounting kit is left out. A new socket that the maker lists with no extra kit counts. LGA2011-v3 and 2011(V3) are written LGA2011-3. Threadripper sockets use AMD's names, so TR4 is written sTR4 and TR5 is written sTR5. sTRX4 and sWRX8 are sockets of their own.."},"ram_clearance_mm":{"type":["number","null"],"description":"RAM height clearance. Unit: mm. Air coolers only. The tallest memory module that fits under the cooler with all included fans in their standard position. When the maker gives different values per socket, store the lowest and name the others in the source note. A heatsink that does not reach over the memory slots has no height limit, so the field is left out and the maker's statement goes in the source note.."},"offset_mounting":{"type":["boolean","null"],"description":"Offset mounting. The included mount can shift the base or cold plate off the socket centre, for example toward the AM5 hotspot. An asymmetric heatsink on a centred base does not count.."},"heatpipe_count":{"type":["integer","null"],"description":"Heat pipes. Air coolers only. Number of heat pipes. A U-shaped pipe with two ends in the fins counts as one. A T-shaped pipe with three ends, such as Cooler Master's 3DHP, also counts as one. The maker's count wins over a review or Cybenetics count.."},"heatpipe_diameter_mm":{"type":["number","null"],"description":"Heat pipe diameter. Unit: mm. Air coolers only. Outer diameter, such as 6 or 8.."},"direct_contact_heatpipes":{"type":["boolean","null"],"description":"Direct-contact heat pipes. Air coolers only. The heat pipes touch the CPU directly instead of sitting in a solid base plate.."},"radiator_mm":{"type":["integer","null"],"description":"Radiator size. Unit: mm. AIO coolers only. The nominal size class from the fan positions, such as 240, 280, 360 or 420.."},"radiator_dimensions_mm":{"type":["object","null"],"properties":{"length_mm":{"type":["number","null"],"description":"Length. Unit: mm."},"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"thickness_mm":{"type":["number","null"],"description":"Thickness. Unit: mm."}},"required":["length_mm","width_mm","thickness_mm"],"description":"Radiator dimensions. Radiator without fans. Length runs along the row of fans. Width runs across it. Thickness is the depth the airflow passes through, such as 27 or 38.."},"radiator_material":{"type":["string","null"],"enum":["aluminium","copper",null],"description":"Radiator material. Options: aluminium (Aluminium), copper (Copper)."},"tube_length_mm":{"type":["integer","null"],"description":"Tube length. Unit: mm. Length of each tube between the pump block and the radiator, as published. When the two tubes differ, the shorter is stored and the other goes in the source note.."},"pump_speed_max_rpm":{"type":["integer","null"],"description":"Max pump speed. Unit: rpm. Highest rated pump speed. When the maker gives a range, this is its top.."},"pump_connector":{"type":["string","null"],"enum":["pwm_4_pin","dc_3_pin","sata_power","proprietary",null],"description":"Pump power connector. Options: pwm_4_pin (4-pin PWM fan header), dc_3_pin (3-pin fan header), sata_power (SATA power), proprietary (Proprietary hub or cable). How the pump gets power. A pump wired through a supplied hub or cable uses the plug at the motherboard or PSU end. A pump powered from SATA with a separate 3-pin speed lead is SATA power.."},"vrm_fan":{"type":["boolean","null"],"description":"VRM fan. A small fan on the pump block that blows over the motherboard voltage regulators.."},"fans":{"type":["array","null"],"items":{"type":"object","properties":{"model":{"type":["string","null"],"description":"Model. The fan name the maker or a review gives. Left out when no source names the fan. A name made from the cooler name is not stored.."},"size_mm":{"type":["integer","null"],"description":"Size. Unit: mm."},"count":{"type":["integer","null"],"description":"Fans."},"speed_min_rpm":{"type":["integer","null"],"description":"Min speed. Unit: rpm."},"speed_max_rpm":{"type":["integer","null"],"description":"Max speed. Unit: rpm."},"airflow_cfm":{"type":["number","null"],"description":"Airflow. Unit: CFM."},"static_pressure_mmh2o":{"type":["number","null"],"description":"Static pressure. Unit: mmH2O."},"noise_dba":{"type":["number","null"],"description":"Noise (claimed). Unit: dB(A)."},"bearing":{"type":["string","null"],"enum":["fluid_dynamic","hydrodynamic","hydraulic","rifle","sleeve","ball","dual_ball","magnetic_levitation","magnetic_dome","sso","loop_dynamic","other",null],"description":"Bearing. Options: fluid_dynamic (Fluid dynamic (FDB)), hydrodynamic (Hydrodynamic (HDB)), hydraulic (Hydraulic), rifle (Rifle), sleeve (Sleeve), ball (Ball), dual_ball (Dual ball), magnetic_levitation (Magnetic levitation), magnetic_dome (Magnetic dome), sso (SSO or SSO2), loop_dynamic (Loop dynamic (LDB)), other (Other)."},"connector":{"type":["string","null"],"enum":["pwm_4_pin","dc_3_pin","proprietary",null],"description":"Connector. Options: pwm_4_pin (4-pin PWM), dc_3_pin (3-pin), proprietary (Proprietary)."}},"required":["model","size_mm","count","speed_min_rpm","speed_max_rpm","airflow_cfm","static_pressure_mmh2o","noise_dba","bearing","connector"]},"description":"Included fans. Fans in the box that cool the heatsink or radiator, one row per fan model. A VRM fan on the pump block is left out. Speed, airflow, pressure and noise are the maker's figures for one fan at full speed, in the fastest mode and without a low-noise adapter. When a range is published, the top of the range is stored. Count is the number of rotors, so a unified frame with three 120 mm rotors counts 3 with size 120. Min speed is the lowest speed while spinning. A zero RPM stop is not stored. FDB and S-FDB are fluid dynamic. HDB is hydrodynamic. Cooler Master's Loop Dynamic Bearing is loop dynamic. If the maker gives airflow only in m³/h, convert with 1 m³/h = 0.5886 CFM, round to one decimal and say so in the source note. Connector is the fan's power lead. A separate lighting lead is not counted, and a maker cable or adapter in the box that ends in a 4-pin PWM plug counts as 4-pin PWM, even when the fan's own lead is proprietary. For an air cooler with one fan, the maker's noise figure for the cooler is the fan noise. A figure the maker does not label per fan or in total counts as per fan. When a maker table prints noise for the whole cooler with no per-fan label and the maker's own data sheet for the same fan gives a figure, the fan data sheet figure is stored.."},"fan_count":{"type":["integer","null"],"description":"Fans. Number of included heatsink or radiator fans.. Calculated from other fields."},"rgb_lighting":{"type":["boolean","null"],"description":"RGB lighting. Lighting on the fans, the heatsink or the pump block.."},"lighting_standard":{"type":["string","null"],"enum":["argb_5v","rgb_12v","proprietary",null],"description":"Lighting standard. Options: argb_5v (ARGB 5 V), rgb_12v (RGB 12 V), proprietary (Proprietary). The named lighting connection. ARGB lighting alone does not prove a 5 V header. Proprietary means the maker's own hub or cable system.."},"display_type":{"type":["string","null"],"enum":["none","lcd","oled","segment",null],"description":"Built-in screen. Options: none (None), lcd (LCD), oled (OLED), segment (Segment readout). A screen on the pump block or the heatsink. LCD and OLED screens show images. A segment readout shows digits only, such as the CPU temperature.."},"display_size_in":{"type":["number","null"],"description":"Screen size. Unit: in. Diagonal of the built-in screen.."},"display_resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Screen resolution."},"software_name":{"type":["string","null"],"description":"Software. The maker's software for lighting, the screen or the pump. Software that works with the cooler out of the box. Software that needs a separately sold controller is left out.."},"usb_header_required":{"type":["boolean","null"],"description":"Needs a USB header. The cooler needs an internal USB 2.0 header on the motherboard for software control, sensors or the screen. A wireless receiver that plugs into any USB port does not count.."},"cybenetics_theta_am5":{"type":["string","null"],"enum":["bronze","silver","gold","platinum","titanium","diamond","none",null],"description":"Cybenetics THETA, AMD AM5. Options: bronze (Bronze), silver (Silver), gold (Gold), platinum (Platinum), titanium (Titanium), diamond (Diamond), none (No level). The THETA level for this cooler's class on the Cybenetics AMD AM5 platform with a Ryzen 9 7900X. It is rated at 30 dB(A) normalized noise, or at 25 dB(A) for a cooler that cannot reach 30 dB(A). No level means tested without a level. A cooler that Cybenetics did not test on this platform is left out. A report with a heading for this platform but no results counts as not tested.."},"cybenetics_theta_lga1851":{"type":["string","null"],"enum":["bronze","silver","gold","platinum","titanium","diamond","none",null],"description":"Cybenetics THETA, Intel LGA1851. Options: bronze (Bronze), silver (Silver), gold (Gold), platinum (Platinum), titanium (Titanium), diamond (Diamond), none (No level). The same rating on the Cybenetics Intel LGA1851 platform with a Core Ultra 9 285K. A cooler that Cybenetics did not test on this platform is left out. A report with a heading for this platform but no results counts as not tested.."},"measured_op_30dba_am5":{"type":["integer","null"],"description":"Overall performance at 30 dB(A), AM5 (measured). The Cybenetics Overall Performance score at 30 dB(A) normalized noise on the AMD AM5 platform. It is average CPU power times average CPU frequency divided by average CPU temperature. Higher is better. A cooler rated only at 25 dB(A) has no value here.."},"measured_op_30dba_lga1851":{"type":["integer","null"],"description":"Overall performance at 30 dB(A), LGA1851 (measured). The same score on the Cybenetics Intel LGA1851 platform. Scores from the two platforms are not comparable with each other.."},"measured_noise_max_dba":{"type":["number","null"],"description":"Noise at 100% fan setting (Cybenetics). Unit: dB(A). The Cybenetics noise at the 100% fan setting, measured 1 m from the cooler in a hemi-anechoic chamber, with the pump of an AIO at full speed. Other reviewers' noise goes in the thermal test rows.."},"measured_thermal_tests":{"type":["array","null"],"items":{"type":"object","properties":{"test_cpu":{"type":["string","null"],"description":"Test CPU."},"load":{"type":["string","null"],"description":"Load."},"cpu_power_w":{"type":["number","null"],"description":"CPU power. Unit: W."},"fan_setting":{"type":["string","null"],"description":"Fan setting."},"noise_dba":{"type":["number","null"],"description":"Noise. Unit: dB(A)."},"cpu_temp_c":{"type":["number","null"],"description":"CPU temperature. Unit: °C."},"temp_over_ambient_c":{"type":["number","null"],"description":"Above ambient. Unit: °C."}},"required":["test_cpu","load","cpu_power_w","fan_setting","noise_dba","cpu_temp_c","temp_over_ambient_c"]},"description":"Thermal tests (measured). Reviewer results, one row per test condition. Rows compare only when the test CPU, load, power and noise level match. The source note names the reviewer, ambient temperature, case or open bench, and thermal paste. Test CPU is the CPU name only, such as AMD Ryzen 9 7900X. The power limit and mode go in the load. Above ambient is stored only when the reviewer publishes it, never computed from the ambient.."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Dimensions. Air coolers only. The cooler with its included fans in the standard position, without the mounting kit. Height runs from the bottom of the base to the top. Depth runs along the airflow, fans included. Width runs across the fins. Map by direction, not by letter. Width runs across the fins, depth runs along the airflow. DeepCool's 129 x 138 x 160 mm (L x W x H) is width 129, depth 138, height 160.."},"heatsink_dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Heatsink dimensions. Air coolers only. The heatsink without fans, as the maker lists it. Map by direction, not by letter. Width runs across the fins, depth runs along the airflow. DeepCool's 129 x 138 x 160 mm (L x W x H) is width 129, depth 138, height 160. A heatsink depth that equals the depth with fans includes the fan, so that axis is not stored.."},"weight_g":{"type":["number","null"],"description":"Weight. Unit: g. An air cooler with its included fans. An AIO cooler as one unit with pump block, tubes, radiator and fans. Mounting hardware is left out when the maker states it separately. When one maker figure may include the mounting kit, such as a press release net weight above the product page figure, the product page figure is stored. An RGB edition can weigh a little more or less, so it is per variant.."},"heatsink_weight_g":{"type":["number","null"],"description":"Heatsink weight. Unit: g. Air coolers only. The heatsink without fans.."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box. Items supplied with this exact model, verbatim.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","cpu_cooler","air_cooler_layout","rated_tdp_w","base_material","thermal_paste","sockets","ram_clearance_mm","offset_mounting","heatpipe_count","heatpipe_diameter_mm","direct_contact_heatpipes","radiator_mm","radiator_dimensions_mm","radiator_material","tube_length_mm","pump_speed_max_rpm","pump_connector","vrm_fan","fans","fan_count","rgb_lighting","lighting_standard","display_type","display_size_in","display_resolution","software_name","usb_header_required","cybenetics_theta_am5","cybenetics_theta_lga1851","measured_op_30dba_am5","measured_op_30dba_lga1851","measured_noise_max_dba","measured_thermal_tests","dimensions_mm","heatsink_dimensions_mm","weight_g","heatsink_weight_g","in_the_box"],"description":"Every CPU cooler field in schema order. Unknown values are null."},"DesktopPcSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"segment":{"type":["string","null"],"enum":["gaming","creator","business","mainstream","workstation","mini_pc",null],"description":"Segment. Options: gaming (Gaming), creator (Creator), business (Business), mainstream (Mainstream), workstation (Workstation), mini_pc (Mini PC). Use the maker's product category. Do not assign a use case from performance or appearance alone.."},"form_factor":{"type":["string","null"],"enum":["full_tower","mid_tower","mini_tower","small_form_factor","mini_pc","all_in_one","tower",null],"description":"Form factor. Options: full_tower (Full tower), mid_tower (Mid tower), mini_tower (Mini tower), small_form_factor (Small form factor), mini_pc (Mini PC), all_in_one (All-in-one), tower (Tower (size tier not specified)). The maker's stated chassis class. Generic tower does not imply a full, mid or mini tower tier.."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Case dimensions. Chassis width, height and depth in the stated orientation. Source notes identify feet, handles or brackets excluded by the maker. An all-in-one is measured with its included stand when the maker gives both sizes.."},"case_volume_l":{"type":["number","null"],"description":"Case volume. Unit: l. Volume published by the maker. It may differ from the outer dimensions multiplied together.."},"weight_kg":{"type":["number","null"],"description":"Weight. Unit: kg. Published system weight for the stated configuration. Source notes distinguish maximum, approximate and starting weights. An all-in-one is weighed with its included stand when the maker gives both weights.."},"case_model":{"type":["string","null"],"description":"Case model."},"case_materials":{"type":["array","null"],"items":{"type":"string","enum":["steel","aluminium","plastic","tempered_glass","wood","other","glass"]},"description":"Case materials. Options: steel (Steel), aluminium (Aluminium), plastic (Plastic), tempered_glass (Tempered glass), wood (Wood), other (Other), glass (Glass (type not specified)). Published materials of the enclosure and panels, not every internal component. An edition with other panels, such as a wood front, can differ, so it is per variant.."},"side_panel":{"type":["string","null"],"enum":["tempered_glass","acrylic","mesh","solid","glass",null],"description":"Side panel. Options: tempered_glass (Tempered glass), acrylic (Acrylic), mesh (Mesh), solid (Solid), glass (Glass (type not specified))."},"front_panel":{"type":["string","null"],"enum":["mesh","glass","solid",null],"description":"Front panel. Options: mesh (Mesh), glass (Glass), solid (Solid)."},"tool_less_access":{"type":["boolean","null"],"description":"Tool-less side panel. Whether the side panel can be opened without a tool after any shipping or security screw is removed. Conditions belong in the source note.."},"dust_filters":{"type":["boolean","null"],"description":"Dust filters."},"vesa_mount":{"type":["string","null"],"enum":["75x75","100x100","none",null],"description":"VESA mount. Options: 75x75 (75 x 75), 100x100 (100 x 100), none (None)."},"screen_size_in":{"type":["number","null"],"description":"Screen size. Unit: in. Actual diagonal of the primary built-in all-in-one display. Do not substitute a rounded marketed size. External bundled monitors and chassis status screens are excluded.."},"native_resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Native resolution. Physical pixel resolution of the primary built-in all-in-one display. External video-output limits, bundled monitors and chassis status screens do not qualify.."},"panel_type":{"type":["string","null"],"enum":["ips","oled","va","tn","other","ips_level",null],"description":"Panel type. Options: ips (IPS), oled (OLED), va (VA), tn (TN), other (Other), ips_level (IPS-level). Published panel technology of the primary built-in all-in-one display. A display brand name alone does not establish panel technology. External bundled monitors and chassis status screens are excluded.."},"max_refresh_rate_hz":{"type":["integer","null"],"description":"Max refresh rate. Unit: Hz. Highest published refresh rate of the primary built-in display at native resolution. External video-output limits do not qualify.."},"is_touchscreen":{"type":["boolean","null"],"description":"Touchscreen. Published touch-input support of the primary built-in display. A touchscreen status panel does not qualify.."},"brightness_typical_nits":{"type":["number","null"],"description":"Brightness (SDR, claimed). Unit: nits. Manufacturer ordinary brightness rating of the primary built-in display. Preserve published conditions in source notes. Not HDR peak, outdoor peak or a reviewer measurement.."},"motherboard_model":{"type":["string","null"],"description":"Motherboard."},"motherboard_chipset":{"type":["string","null"],"description":"Chipset."},"motherboard_form_factor":{"type":["string","null"],"enum":["atx","micro_atx","mini_itx","e_atx","proprietary",null],"description":"Motherboard form factor. Options: atx (ATX), micro_atx (Micro-ATX), mini_itx (Mini-ITX), e_atx (E-ATX), proprietary (Proprietary). Motherboard dimensions class, not the size of the computer case.."},"cpu_socket":{"type":["string","null"],"description":"CPU socket."},"expansion_slots":{"type":["array","null"],"items":{"type":"object","properties":{"slot_type":{"type":["string","null"],"enum":["pcie_x16","pcie_x8","pcie_x4","pcie_x1","m2_e_key",null],"description":"Mechanical slot type. Options: pcie_x16 (PCIe x16), pcie_x8 (PCIe x8), pcie_x4 (PCIe x4), pcie_x1 (PCIe x1), m2_e_key (M.2 E-key). Physical connector shape. It does not state the active electrical lane count.."},"electrical_lanes":{"type":["integer","null"],"description":"Electrical lanes. Active PCIe lanes available to this slot, independent of its physical length.."},"pcie_gen":{"type":["integer","null"],"description":"PCIe generation."},"count":{"type":["integer","null"],"description":"Count."},"occupied":{"type":["boolean","null"],"description":"Occupied."}},"required":["slot_type","electrical_lanes","pcie_gen","count","occupied"]},"description":"Expansion slots. Physical card slots and WLAN M.2 slots. Storage M.2 slots belong in storage_slots. Mechanical slot shape and electrical lane width are separate.."},"pcie_x16_slot_count":{"type":["integer","null"],"description":"PCIe x16 slots. Counts mechanically x16 card slots, including occupied slots. A slot may have fewer electrical lanes.. Calculated from other fields."},"free_expansion_slot_count":{"type":["integer","null"],"description":"Free expansion slots. Counts slots documented as unoccupied. GPU thickness can block access to an unoccupied slot.. Calculated from other fields."},"fan_header_count":{"type":["integer","null"],"description":"Fan headers. Physical connectors for fans on the motherboard, not the number of installed fans.."},"bios_overclocking":{"type":["boolean","null"],"description":"Overclocking in BIOS. True when BIOS permits CPU or memory tuning. Source notes must distinguish XMP or EXPO memory tuning from CPU multiplier overclocking.."},"cpu":{"type":["string","null"],"description":"Processor."},"cpu_brand":{"type":["string","null"],"enum":["intel","amd","apple","qualcomm","mediatek","nvidia",null],"description":"Processor brand. Options: intel (Intel), amd (AMD), apple (Apple), qualcomm (Qualcomm), mediatek (MediaTek), nvidia (NVIDIA)."},"cpu_codename":{"type":["string","null"],"description":"Processor codename. Chip maker's processor or platform codename. This is separate from each core's architecture name.."},"cpu_clusters":{"type":["array","null"],"items":{"type":"object","properties":{"core_type":{"type":["string","null"],"enum":["performance","efficiency","low_power_efficiency","super",null],"description":"Core type. Options: performance (Performance), efficiency (Efficiency), low_power_efficiency (Low-power efficiency), super (Super)."},"count":{"type":["integer","null"],"description":"Count. Physical cores in this stated category, not threads.."},"core_name":{"type":["string","null"],"description":"Core."},"base_ghz":{"type":["number","null"],"description":"Base clock. Unit: GHz."},"max_ghz":{"type":["number","null"],"description":"Max core turbo clock. Unit: GHz. Published turbo or boost clock for this core category. Separate favored-core boost ratings are excluded.."}},"required":["core_type","count","core_name","base_ghz","max_ghz"]},"description":"Core configuration. One row per stated core category. Apple super cores are distinct from performance cores. Clock values describe that category.."},"cpu_core_count":{"type":["integer","null"],"description":"CPU cores. Calculated from other fields."},"cpu_performance_core_count":{"type":["integer","null"],"description":"Performance cores. Counts rows explicitly classified as performance cores. Apple super cores are stored separately and excluded.. Calculated from other fields."},"cpu_efficiency_core_count":{"type":["integer","null"],"description":"Efficiency cores. Counts efficiency and low-power efficiency cores. Zero means a complete stated core configuration has no such cores.. Calculated from other fields."},"cpu_thread_count":{"type":["integer","null"],"description":"Threads."},"cpu_max_ghz":{"type":["number","null"],"description":"Max core turbo clock. Unit: GHz. Highest core-category turbo or boost clock in cpu_clusters. Separate favored-core or processor-level boost ratings are not substituted for a category's published turbo clock.. Calculated from other fields."},"cpu_cache_l3_mb":{"type":["number","null"],"description":"L3 cache. Unit: MB."},"process_node_nm":{"type":["number","null"],"description":"CPU core process node. Unit: nm. Published CPU-core fabrication node. Package components and I/O dies may use other nodes. Maker node name belongs in the source note.."},"cpu_base_power_w":{"type":["integer","null"],"description":"CPU base power (chip rating). Unit: W. Chip maker's base-power or default-TDP rating. It is not measured wall power or the PC maker's configured power limit.."},"cpu_power_max_w":{"type":["integer","null"],"description":"Peak CPU power (configured). Unit: W. Power limit configured by the PC maker, such as PL2 or PPT. Do not substitute the chip maker's maximum turbo-power rating.."},"cpu_unlocked":{"type":["boolean","null"],"description":"Unlocked multiplier."},"npu_tops":{"type":["number","null"],"description":"NPU performance. Unit: TOPS. Published NPU throughput only. GPU, total-system AI throughput and different precision modes are separate. Precision belongs in the source note.."},"integrated_gpu":{"type":["string","null"],"description":"Integrated GPU."},"cpu_cooler":{"type":["string","null"],"enum":["air","aio_liquid","custom_loop","passive",null],"description":"CPU cooler. Options: air (Air), aio_liquid (AIO liquid), custom_loop (Custom loop), passive (Passive)."},"cpu_cooler_model":{"type":["string","null"],"description":"CPU cooler model."},"radiator_mm":{"type":["integer","null"],"description":"Radiator size. Unit: mm."},"radiator_position":{"type":["string","null"],"enum":["top","front","side","bottom",null],"description":"Radiator position. Options: top (Top), front (Front), side (Side), bottom (Bottom)."},"fans":{"type":["array","null"],"items":{"type":"object","properties":{"position":{"type":["string","null"],"enum":["front","top","rear","bottom","side",null],"description":"Position. Options: front (Front), top (Top), rear (Rear), bottom (Bottom), side (Side)."},"size_mm":{"type":["integer","null"],"description":"Size. Unit: mm."},"count":{"type":["integer","null"],"description":"Fan rotors. Count rotors, not single-frame housings or fans supported by an empty mount.."},"on_radiator":{"type":["boolean","null"],"description":"On radiator."},"rgb":{"type":["boolean","null"],"description":"RGB."},"pwm":{"type":["boolean","null"],"description":"PWM."}},"required":["position","size_mm","count","on_radiator","rgb","pwm"]},"description":"Case fans. Installed chassis airflow fans, including radiator fans. Excludes GPU, PSU and standalone CPU-cooler fans. Count fan rotors, including multiple rotors in a single-frame assembly. A mini PC whose only fan cools the processor and moves the air through the case counts that fan.."},"fan_count":{"type":["integer","null"],"description":"Number of case fans. Sum of documented chassis and radiator fan rotors. Excludes GPU, PSU and standalone CPU-cooler fans.. Calculated from other fields."},"has_discrete_gpu":{"type":["boolean","null"],"description":"Discrete GPU."},"gpu":{"type":["string","null"],"description":"GPU. Discrete graphics chip. Integrated graphics belong in integrated_gpu.."},"gpu_brand":{"type":["string","null"],"enum":["nvidia","amd","intel",null],"description":"GPU brand. Options: nvidia (NVIDIA), amd (AMD), intel (Intel)."},"gpu_board_model":{"type":["string","null"],"description":"Graphics card."},"gpu_vram_gb":{"type":["integer","null"],"description":"VRAM. Unit: GB."},"gpu_vram_type":{"type":["string","null"],"description":"VRAM type."},"gpu_tgp_max_w":{"type":["integer","null"],"description":"GPU board power. Unit: W. Configured total board power of the installed card. A chip-family reference rating is not proof of an OEM card limit.."},"gpu_boost_clock_mhz":{"type":["integer","null"],"description":"GPU boost clock. Unit: MHz. Published boost clock for the installed graphics card and mode. Do not use a measured transient clock or another board model's rating.."},"gpu_length_mm":{"type":["number","null"],"description":"Graphics card length. Unit: mm."},"gpu_slot_width":{"type":["number","null"],"description":"Graphics card thickness. Unit: slots. Card thickness in PCIe bracket-slot units, such as 2.5. This is not the number of connectors or motherboard slots.."},"gpu_power_connector":{"type":["string","null"],"enum":["12v_2x6","12vhpwr","pcie_16pin","pcie_6pin_x1","pcie_8pin_6pin","pcie_8pin_x1","pcie_8pin_x2","pcie_8pin_x3","none",null],"description":"GPU power connector. Options: 12v_2x6 (12V-2x6), 12vhpwr (12VHPWR), pcie_16pin (16-pin (revision not stated)), pcie_6pin_x1 (1 x 6-pin PCIe), pcie_8pin_6pin (1 x 8-pin and 1 x 6-pin PCIe), pcie_8pin_x1 (1 x 8-pin PCIe), pcie_8pin_x2 (2 x 8-pin PCIe), pcie_8pin_x3 (3 x 8-pin PCIe), none (None)."},"ram_gb":{"type":["integer","null"],"description":"RAM. Unit: GB."},"ram_type":{"type":["string","null"],"enum":["ddr4","ddr5","lpddr5","lpddr5x","other",null],"description":"RAM type. Options: ddr4 (DDR4), ddr5 (DDR5), lpddr5 (LPDDR5), lpddr5x (LPDDR5X), other (Other)."},"ram_speed_mts":{"type":["integer","null"],"description":"Configured RAM speed. Unit: MT/s. Memory transfer rate configured on delivery. A rated XMP or EXPO profile may be faster when it is disabled.."},"ram_rated_speed_mts":{"type":["integer","null"],"description":"Rated kit speed. Unit: MT/s. Rated memory-kit or profile speed. This can differ from the speed configured on delivery.."},"ram_module_model":{"type":["string","null"],"description":"Memory kit."},"ram_upgradeable":{"type":["string","null"],"enum":["soldered","slots","mixed","integrated",null],"description":"RAM upgrade. Options: soldered (Soldered), slots (Slots), mixed (Mixed), integrated (Integrated into chip package). How installed memory is physically attached. Purchase-time capacity choices do not mean memory can be upgraded later.."},"memory_slots":{"type":["array","null"],"items":{"type":"object","properties":{"slot_type":{"type":["string","null"],"enum":["dimm","sodimm","camm2","lpcamm2",null],"description":"Slot. Options: dimm (DIMM), sodimm (SO-DIMM), camm2 (CAMM2), lpcamm2 (LPCAMM2)."},"count":{"type":["integer","null"],"description":"Count."},"occupied":{"type":["boolean","null"],"description":"Occupied."},"module_gb":{"type":["integer","null"],"description":"Module size. Unit: GB."}},"required":["slot_type","count","occupied","module_gb"]},"description":"Memory slots. Physical replaceable memory connectors, with one row per occupancy state. Package-integrated memory is not a DIMM slot.."},"ram_slot_count":{"type":["integer","null"],"description":"RAM slots. Calculated from other fields."},"ram_free_slot_count":{"type":["integer","null"],"description":"Free RAM slots. Calculated from other fields."},"ram_max_gb":{"type":["integer","null"],"description":"Max RAM for this CPU and GPU. Unit: GB. Maximum stated capacity without changing the CPU or GPU configuration represented by this product. For integrated memory this is a purchase-time limit. For slot-based RAM it is the maker's supported upgrade limit.."},"ram_ecc":{"type":["boolean","null"],"description":"ECC memory. System-level ECC memory support or configuration. DDR5 on-die ECC alone does not establish this field.."},"storage_gb":{"type":["integer","null"],"description":"Storage. Unit: GB. Calculated from other fields."},"storage":{"type":["array","null"],"items":{"type":"object","properties":{"capacity_gb":{"type":["integer","null"],"description":"Capacity. Unit: GB."},"type":{"type":["string","null"],"enum":["nvme_ssd","sata_ssd","ssd","hdd",null],"description":"Type. Options: nvme_ssd (NVMe SSD), sata_ssd (SATA SSD), ssd (SSD, protocol not stated), hdd (HDD)."},"pcie_gen":{"type":["integer","null"],"description":"PCIe generation."},"drive_model":{"type":["string","null"],"description":"Drive."}},"required":["capacity_gb","type","pcie_gen","drive_model"]},"description":"Installed drives. Installed drives, one row per physical drive. Capacity is in decimal GB. Use the generic SSD option when its protocol is not published. It does not establish an interface or socket. Do not represent alternative purchase capacities as installed drives.."},"storage_slots":{"type":["array","null"],"items":{"type":"object","properties":{"form_factor":{"type":["string","null"],"enum":["m2_2230","m2_2242","m2_2280","m2_22110","bay_2_5","bay_3_5",null],"description":"Form factor. Options: m2_2230 (M.2 2230), m2_2242 (M.2 2242), m2_2280 (M.2 2280), m2_22110 (M.2 22110), bay_2_5 (2.5-inch bay), bay_3_5 (3.5-inch bay). One supported physical drive size for this connector. Alternative sizes do not add to the slot count.."},"interface":{"type":["string","null"],"enum":["pcie_nvme","sata",null],"description":"Interface. Options: pcie_nvme (PCIe NVMe), sata (SATA). A slot that takes NVMe and SATA drives is PCIe NVMe, and the source note says it takes SATA too.."},"pcie_gen":{"type":["integer","null"],"description":"PCIe generation."},"pcie_lanes":{"type":["integer","null"],"description":"PCIe lanes."},"count":{"type":["integer","null"],"description":"Count."},"occupied":{"type":["boolean","null"],"description":"Occupied."}},"required":["form_factor","interface","pcie_gen","pcie_lanes","count","occupied"]},"description":"Storage slots and bays. Physical SSD connectors and drive bays, counted once each. Multiple supported M.2 lengths or alternative bay uses do not create extra slots.."},"m2_slot_count":{"type":["integer","null"],"description":"M.2 slots. Calculated from other fields."},"m2_slots_free":{"type":["integer","null"],"description":"Free M.2 slots. Calculated from other fields."},"drive_bays_free":{"type":["integer","null"],"description":"Free drive bays. Calculated from other fields."},"storage_pcie_gen_max":{"type":["integer","null"],"description":"Fastest storage-slot PCIe generation. Highest documented PCIe generation of a storage slot. This does not identify the installed drive's generation.. Calculated from other fields."},"psu_w":{"type":["number","null"],"description":"PSU rated output. Unit: W. Power supply's rated output, or an external adapter's output rating. Maximum system consumption, peak PSU power and wall draw are separate.."},"psu_standard":{"type":["string","null"],"enum":["atx","sfx","sfx_l","tfx","flex_atx","external_adapter","proprietary",null],"description":"PSU form factor. Options: atx (ATX), sfx (SFX), sfx_l (SFX-L), tfx (TFX), flex_atx (Flex ATX), external_adapter (External adapter), proprietary (Proprietary). Replacement PSU dimensions class. Electrical standards such as ATX12VO belong in psu_atx_version. A supply built into an all-in-one is proprietary unless the maker names a standard size.."},"psu_efficiency":{"type":["string","null"],"enum":["80_plus_white","80_plus_bronze","80_plus_silver","80_plus_gold","80_plus_platinum","80_plus_titanium","cybenetics_gold","cybenetics_platinum","cybenetics_titanium","none",null],"description":"PSU efficiency. Options: 80_plus_white (80 PLUS White), 80_plus_bronze (80 PLUS Bronze), 80_plus_silver (80 PLUS Silver), 80_plus_gold (80 PLUS Gold), 80_plus_platinum (80 PLUS Platinum), 80_plus_titanium (80 PLUS Titanium), cybenetics_gold (Cybenetics Gold), cybenetics_platinum (Cybenetics Platinum), cybenetics_titanium (Cybenetics Titanium), none (None). When an 80 PLUS and a Cybenetics level are both published, the 80 PLUS level is stored and the Cybenetics level goes in the source note.."},"psu_modular":{"type":["string","null"],"enum":["full","semi","none",null],"description":"Modular cables. Options: full (Fully modular), semi (Semi-modular), none (None)."},"psu_model":{"type":["string","null"],"description":"PSU model."},"psu_atx_version":{"type":["string","null"],"description":"ATX version."},"psu_12v_2x6_native":{"type":["boolean","null"],"description":"Native 12V-2x6 cable. The supplied PSU has a native 12V-2x6 GPU cable. A generic 16-pin connector description alone does not establish its revision.."},"front_io_position":{"type":["string","null"],"enum":["front","top","side","bottom",null],"description":"User-facing I/O position. Options: front (Front), top (Top), side (Side), bottom (Bottom). Location of the accessible front, top, side or bottom port panel.."},"front_ports":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["usb_c","usb_a","audio_3_5mm","mic_in","sd_card","microsd_card","other",null],"description":"Type. Options: usb_c (USB-C), usb_a (USB-A), audio_3_5mm (3.5 mm audio), mic_in (Mic in), sd_card (SD card), microsd_card (microSD card), other (Other)."},"version":{"type":["string","null"],"description":"Version."},"count":{"type":["integer","null"],"description":"Count. Physical connectors with these same properties.."},"max_gbps":{"type":["number","null"],"description":"Max stated link rate. Unit: Gbps. Published data-link rate for this connector. A Thunderbolt value may be a directional display-bandwidth mode, as noted in the source.."},"tb_usb4":{"type":["string","null"],"enum":["thunderbolt_4","thunderbolt_5","usb4",null],"description":"Thunderbolt or USB4. Options: thunderbolt_4 (Thunderbolt 4), thunderbolt_5 (Thunderbolt 5), usb4 (USB4)."},"power_out_w":{"type":["number","null"],"description":"Power out. Unit: W."}},"required":["type","version","count","max_gbps","tb_usb4","power_out_w"]},"description":"User-facing ports. Accessible front, top, side and bottom ports at the stated I/O position. Counts refer to physical connectors.."},"rear_ports":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["usb_c","usb_a","audio_3_5mm","mic_in","sd_card","microsd_card","hdmi","displayport","mini_displayport","rj45","line_out","optical_spdif","oculink","ps2","dc_in","ac_in","wifi_antenna","other",null],"description":"Type. Options: usb_c (USB-C), usb_a (USB-A), audio_3_5mm (3.5 mm audio), mic_in (Mic in), sd_card (SD card), microsd_card (microSD card), hdmi (HDMI), displayport (DisplayPort), mini_displayport (Mini DisplayPort), rj45 (Ethernet (RJ45)), line_out (Line out), optical_spdif (Optical S/PDIF), oculink (OCuLink), ps2 (PS/2), dc_in (DC in), ac_in (AC power input), wifi_antenna (Wi-Fi antenna), other (Other)."},"version":{"type":["string","null"],"description":"Version."},"count":{"type":["integer","null"],"description":"Count. Physical connectors with these same properties.."},"max_gbps":{"type":["number","null"],"description":"Max stated link rate. Unit: Gbps. Published data-link rate for this connector. A Thunderbolt value may be a directional display-bandwidth mode, as noted in the source.."},"tb_usb4":{"type":["string","null"],"enum":["thunderbolt_4","thunderbolt_5","usb4",null],"description":"Thunderbolt or USB4. Options: thunderbolt_4 (Thunderbolt 4), thunderbolt_5 (Thunderbolt 5), usb4 (USB4)."},"power_out_w":{"type":["number","null"],"description":"Power out. Unit: W."},"dp_alt_mode":{"type":["boolean","null"],"description":"DP Alt Mode."},"source":{"type":["string","null"],"enum":["motherboard","gpu","add_in_card",null],"description":"Connected to. Options: motherboard (Motherboard), gpu (Graphics card), add_in_card (Add-in card)."}},"required":["type","version","count","max_gbps","tb_usb4","power_out_w","dp_alt_mode","source"]},"description":"Rear ports. Physical rear connectors, including motherboard and discrete-GPU outputs. Source notes identify disabled onboard video ports and any incomplete GPU output evidence. A video input, such as HDMI in on an all-in-one, is Other. AC power input is a mains inlet, such as C14, for a built-in power supply. DC in is for an external adapter.."},"front_usb_count":{"type":["integer","null"],"description":"User-facing USB ports. Physical USB-A and USB-C connectors on the accessible front, top, side or bottom panel.. Calculated from other fields."},"front_usb_c_count":{"type":["integer","null"],"description":"User-facing USB-C ports. Physical USB-C connectors on the accessible front, top, side or bottom panel, including Thunderbolt and USB4 sockets.. Calculated from other fields."},"rear_usb_count":{"type":["integer","null"],"description":"Rear USB ports. Calculated from other fields."},"has_thunderbolt":{"type":["boolean","null"],"description":"Thunderbolt. Thunderbolt documented in the rear-port table. Front-panel-only Thunderbolt is not covered by this derived field.. Calculated from other fields."},"ethernet_max_gbps":{"type":["number","null"],"description":"Ethernet speed. Unit: Gbps. Calculated from other fields."},"gpu_display_output_count":{"type":["integer","null"],"description":"Discrete GPU output ports. Counts rear connectors explicitly attributed to the discrete graphics card. A partial rear-port table cannot establish the card's complete output count.. Calculated from other fields."},"wifi_standard":{"type":["string","null"],"enum":["wifi_5","wifi_6","wifi_6e","wifi_7",null],"description":"Wi-Fi. Options: wifi_5 (Wi-Fi 5), wifi_6 (Wi-Fi 6), wifi_6e (Wi-Fi 6E), wifi_7 (Wi-Fi 7)."},"wifi_bands":{"type":["array","null"],"items":{"type":"string","enum":["2.4ghz","5ghz","6ghz"]},"description":"Wi-Fi bands. Options: 2.4ghz (2.4 GHz), 5ghz (5 GHz), 6ghz (6 GHz). Bands explicitly supported by the installed radio and product region. Do not infer 6GHz use solely from a Wi-Fi version.."},"wifi_module":{"type":["string","null"],"description":"Wi-Fi module."},"wifi_antenna":{"type":["string","null"],"enum":["internal","external_included","none",null],"description":"Wi-Fi antenna. Options: internal (Internal), external_included (External, included), none (None)."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth."},"ethernet_controller":{"type":["string","null"],"description":"Ethernet controller."},"webcam_resolution":{"type":["string","null"],"description":"Webcam. Published built-in camera description and resolution. Keep sensor megapixels, video resolution and named camera features distinct in the source note. External bundled cameras do not qualify.."},"speaker_count":{"type":["integer","null"],"description":"Built-in speaker drivers. Physical built-in acoustic drivers, including separate tweeters and woofers. Audio channels, system beepers and external bundled speakers do not count. Do not infer driver count from speaker assemblies.."},"speaker_total_power_w":{"type":["number","null"],"description":"Total speaker power. Unit: W. Manufacturer stated combined output of the built-in speakers. Preserve power basis in source notes. PSU ratings and external speaker output do not qualify.."},"microphone_count":{"type":["integer","null"],"description":"Microphones. Physical built-in microphones. Beamforming channels and microphone modes do not count.."},"audio_features":{"type":["array","null"],"items":{"type":"string"},"description":"Audio features. Published built-in audio capabilities and their required software or accessories. Do not infer hardware from an audio brand name.."},"rgb_lighting":{"type":["boolean","null"],"description":"RGB lighting."},"lighting_zones":{"type":["array","null"],"items":{"type":"string","enum":["case_fans","case_strip","front_panel","cpu_cooler","ram","gpu","motherboard"]},"description":"Lit parts. Options: case_fans (Case fans), case_strip (Case strip), front_panel (Front panel), cpu_cooler (CPU cooler), ram (RAM), gpu (Graphics card), motherboard (Motherboard)."},"lighting_standard":{"type":["string","null"],"enum":["argb_5v","rgb_12v","proprietary",null],"description":"Lighting standard. Options: argb_5v (ARGB 5 V), rgb_12v (RGB 12 V), proprietary (Proprietary). Named physical RGB control or connector standard. ARGB lighting alone does not prove a 5V header or a standard connector.."},"lighting_software":{"type":["string","null"],"description":"Lighting software."},"os":{"type":["string","null"],"description":"Operating system."},"os_family":{"type":["string","null"],"enum":["windows","macos","chromeos","linux","none",null],"description":"OS family. Options: windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), none (None)."},"control_software":{"type":["string","null"],"description":"Control software."},"proprietary_parts":{"type":["array","null"],"items":{"type":"string","enum":["motherboard","psu","case","cpu_cooler","fan_connectors","front_io_cable","drive_mounts"]},"description":"Proprietary parts. Options: motherboard (Motherboard), psu (PSU), case (Case), cpu_cooler (CPU cooler), fan_connectors (Fan connectors), front_io_cable (Front I/O cable), drive_mounts (Drive mounts). Parts or interfaces the maker or teardown identifies as requiring nonstandard replacements. Do not infer from a brand label alone.."},"max_gpu_length_mm":{"type":["integer","null"],"description":"Max graphics card length. Unit: mm."},"max_cpu_cooler_height_mm":{"type":["integer","null"],"description":"Max CPU cooler height. Unit: mm."},"warranty_kept_after_upgrade":{"type":["boolean","null"],"description":"Warranty kept after upgrade. Whether the maker keeps the warranty after a user upgrade under the stated terms and market. Damage exclusions alone do not mean all warranty is void.."},"benchmark_cinebench_2024_single":{"type":["number","null"],"description":"Cinebench 2024 single-core. Unit: points. Measured by a reviewer, not claimed by the maker."},"benchmark_cinebench_2024_multi":{"type":["integer","null"],"description":"Cinebench 2024 multi-core. Unit: points. Measured by a reviewer, not claimed by the maker."},"benchmark_geekbench_single":{"type":["integer","null"],"description":"Geekbench single-core. Unit: points. Measured by a reviewer, not claimed by the maker."},"benchmark_geekbench_multi":{"type":["integer","null"],"description":"Geekbench multi-core. Unit: points. Measured by a reviewer, not claimed by the maker."},"benchmark_3dmark_time_spy_graphics":{"type":["integer","null"],"description":"3DMark Time Spy graphics. Unit: points. Measured by a reviewer, not claimed by the maker."},"benchmark_3dmark_steel_nomad":{"type":["integer","null"],"description":"3DMark Steel Nomad. Unit: points. Measured by a reviewer, not claimed by the maker."},"measured_ssd_read_mbs":{"type":["integer","null"],"description":"SSD sequential read (measured). Unit: MB/s. Reviewer's sequential read test. A file-copy rate or maker's SSD rating is not a sequential read measurement. Test method belongs in the source note.."},"game_fps_measured":{"type":["array","null"],"items":{"type":"object","properties":{"game":{"type":["string","null"],"description":"Game."},"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"preset":{"type":["string","null"],"description":"Preset."},"upscaling":{"type":["string","null"],"description":"Upscaling."},"ray_tracing":{"type":["boolean","null"],"description":"Ray tracing."},"avg_fps":{"type":["number","null"],"description":"Average FPS. Unit: fps."},"low_1pct_fps":{"type":["number","null"],"description":"1 % low FPS. Unit: fps."}},"required":["game","width_px","height_px","preset","upscaling","ray_tracing","avg_fps","low_1pct_fps"]},"description":"Game frame rates. Reviewer measurements for this CPU, GPU, memory, storage and cooling configuration. Resolution, preset, ray tracing, upscaling and frame generation conditions belong in rows or source notes.."},"fan_noise_measured":{"type":["array","null"],"items":{"type":"object","properties":{"profile":{"type":["string","null"],"description":"Profile."},"load":{"type":["string","null"],"enum":["idle","gaming","max_load",null],"description":"Load. Options: idle (Idle), gaming (Gaming), max_load (Max load)."},"distance_cm":{"type":["number","null"],"description":"Distance. Unit: cm."},"noise_dba":{"type":["number","null"],"description":"Noise. Unit: dB(A)."}},"required":["profile","load","distance_cm","noise_dba"]},"description":"Fan noise per load. Measured by a reviewer, not claimed by the maker."},"measured_noise_max_dba":{"type":["number","null"],"description":"Highest measured fan noise. Unit: dB(A). Highest measured row in fan_noise_measured, not a theoretical maximum. Compare only at the same distance and test conditions.. Calculated from other fields."},"measured_noise_idle_dba":{"type":["number","null"],"description":"Measured fan noise at idle. Unit: dB(A). Highest documented idle row in fan_noise_measured. Distance and ambient noise floor belong in the source note.. Calculated from other fields."},"measured_cpu_stress_temp_c":{"type":["number","null"],"description":"CPU temperature in stress test. Unit: °C. CPU temperature measured during the named sustained load. Source notes distinguish gaming loops from synthetic CPU or combined stress tests.."},"measured_cpu_stress_clock_ghz":{"type":["number","null"],"description":"CPU clock in stress test. Unit: GHz. Sustained all-core CPU clock under the stated test. A P-core-only average is not a whole-CPU all-core clock.."},"measured_gpu_gaming_temp_c":{"type":["number","null"],"description":"GPU temperature while gaming. Unit: °C. Measured by a reviewer, not claimed by the maker."},"measured_power_idle_w":{"type":["number","null"],"description":"Power draw idle. Unit: W. Measured system power at the wall at idle. Certification or maker claims are not reviewer measurements.."},"measured_power_gaming_w":{"type":["number","null"],"description":"Power draw gaming. Unit: W. Measured system power at the wall during the stated game and settings.."},"measured_power_max_w":{"type":["number","null"],"description":"Power draw max. Unit: W. Measured power at the wall during combined CPU and GPU stress. A PSU rating or game-only load is not this value.."},"measured_power_standby_w":{"type":["number","null"],"description":"Power draw sleep or off. Unit: W. Measured power at the wall with the stated sleep or off mode. These modes must be identified in the source note.."},"measured_cpu_sustained_power_w":{"type":["number","null"],"description":"Sustained CPU power (measured). Unit: W. Measured by a reviewer, not claimed by the maker."},"measured_gpu_gaming_power_w":{"type":["number","null"],"description":"GPU power while gaming (measured). Unit: W. Measured by a reviewer, not claimed by the maker."},"energy_star":{"type":["boolean","null"],"description":"ENERGY STAR. Explicit certification status for the model or defined configuration scope. Absence from a search result is not proof of false.."},"epeat":{"type":["string","null"],"enum":["bronze","silver","gold","none",null],"description":"EPEAT. Options: bronze (Bronze), silver (Silver), gold (Gold), none (None). Published registration level. Missing registration evidence is not proof of none.."},"copilot_plus_pc":{"type":["boolean","null"],"description":"Copilot+ PC."},"typical_energy_consumption_kwh":{"type":["number","null"],"description":"Typical annual energy consumption (TEC). Unit: kWh. Standardized TEC from the named ENERGY STAR or EU product-information record. It is not a prediction of an individual user's annual energy use.."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box. Items supplied with this exact configuration. Optional accessories and configurator add-ons are not guaranteed included.."},"peripherals_included":{"type":["array","null"],"items":{"type":"string","enum":["keyboard","mouse","headset","wifi_antennas","vesa_bracket","vertical_stand","gpu_support_bracket"]},"description":"Included extras. Options: keyboard (Keyboard), mouse (Mouse), headset (Headset), wifi_antennas (Wi-Fi antennas), vesa_bracket (VESA bracket), vertical_stand (Vertical stand), gpu_support_bracket (GPU support bracket). Extras confirmed supplied with the exact configuration. Optional bundles are excluded.."},"warranty_service_type":{"type":["array","null"],"items":{"type":"string","enum":["carry_in","mail_in","collect_and_return","onsite"]},"description":"Warranty service. Options: carry_in (Carry-in), mail_in (Mail-in), collect_and_return (Collect and return), onsite (On-site)."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","segment","form_factor","dimensions_mm","case_volume_l","weight_kg","case_model","case_materials","side_panel","front_panel","tool_less_access","dust_filters","vesa_mount","screen_size_in","native_resolution","panel_type","max_refresh_rate_hz","is_touchscreen","brightness_typical_nits","motherboard_model","motherboard_chipset","motherboard_form_factor","cpu_socket","expansion_slots","pcie_x16_slot_count","free_expansion_slot_count","fan_header_count","bios_overclocking","cpu","cpu_brand","cpu_codename","cpu_clusters","cpu_core_count","cpu_performance_core_count","cpu_efficiency_core_count","cpu_thread_count","cpu_max_ghz","cpu_cache_l3_mb","process_node_nm","cpu_base_power_w","cpu_power_max_w","cpu_unlocked","npu_tops","integrated_gpu","cpu_cooler","cpu_cooler_model","radiator_mm","radiator_position","fans","fan_count","has_discrete_gpu","gpu","gpu_brand","gpu_board_model","gpu_vram_gb","gpu_vram_type","gpu_tgp_max_w","gpu_boost_clock_mhz","gpu_length_mm","gpu_slot_width","gpu_power_connector","ram_gb","ram_type","ram_speed_mts","ram_rated_speed_mts","ram_module_model","ram_upgradeable","memory_slots","ram_slot_count","ram_free_slot_count","ram_max_gb","ram_ecc","storage_gb","storage","storage_slots","m2_slot_count","m2_slots_free","drive_bays_free","storage_pcie_gen_max","psu_w","psu_standard","psu_efficiency","psu_modular","psu_model","psu_atx_version","psu_12v_2x6_native","front_io_position","front_ports","rear_ports","front_usb_count","front_usb_c_count","rear_usb_count","has_thunderbolt","ethernet_max_gbps","gpu_display_output_count","wifi_standard","wifi_bands","wifi_module","wifi_antenna","bluetooth_version","ethernet_controller","webcam_resolution","speaker_count","speaker_total_power_w","microphone_count","audio_features","rgb_lighting","lighting_zones","lighting_standard","lighting_software","os","os_family","control_software","proprietary_parts","max_gpu_length_mm","max_cpu_cooler_height_mm","warranty_kept_after_upgrade","benchmark_cinebench_2024_single","benchmark_cinebench_2024_multi","benchmark_geekbench_single","benchmark_geekbench_multi","benchmark_3dmark_time_spy_graphics","benchmark_3dmark_steel_nomad","measured_ssd_read_mbs","game_fps_measured","fan_noise_measured","measured_noise_max_dba","measured_noise_idle_dba","measured_cpu_stress_temp_c","measured_cpu_stress_clock_ghz","measured_gpu_gaming_temp_c","measured_power_idle_w","measured_power_gaming_w","measured_power_max_w","measured_power_standby_w","measured_cpu_sustained_power_w","measured_gpu_gaming_power_w","energy_star","epeat","copilot_plus_pc","typical_energy_consumption_kwh","other_certifications","in_the_box","peripherals_included","warranty_service_type"],"description":"Every desktop PC field in schema order. Unknown values are null."},"EarbudsSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"segment":{"type":["string","null"],"enum":["music","gaming","sport","office","sleep",null],"description":"Segment. Options: music (Music), gaming (Gaming), sport (Sport), office (Office), sleep (Sleep)."},"form_factor":{"type":["string","null"],"enum":["in_ear","semi_in_ear","open_ear",null],"description":"Form factor. Options: in_ear (In-ear), semi_in_ear (Semi-in-ear), open_ear (Open-ear). In-ear seals the ear canal with a tip. Semi-in-ear rests in the outer ear without a seal. Open-ear leaves the ear canal unobstructed.."},"bud_shape":{"type":["string","null"],"enum":["stem","stemless","ear_hook","ear_cuff","clip",null],"description":"Bud shape. Options: stem (Stem), stemless (Stemless), ear_hook (Ear hook), ear_cuff (Ear cuff), clip (Clip). Stem describes an extending control or microphone stalk. Stemless describes a compact body without a stalk.."},"single_bud_use":{"type":["string","null"],"enum":["either","primary_only","none",null],"description":"Use one bud alone. Options: either (Either bud), primary_only (Primary bud only), none (No). Which earbud can operate alone. This does not mean two earbuds can play from different sources.."},"rgb_lighting":{"type":["boolean","null"],"description":"RGB lighting."},"drivers":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["dynamic","balanced_armature","planar_magnetic","mems","bone_conduction","other","piezoelectric",null],"description":"Type. Options: dynamic (Dynamic), balanced_armature (Balanced armature), planar_magnetic (Planar magnetic), mems (MEMS), bone_conduction (Bone conduction), other (Other), piezoelectric (Piezoelectric)."},"role":{"type":["string","null"],"enum":["full_range","woofer","mid","tweeter",null],"description":"Role. Options: full_range (Full range), woofer (Woofer), mid (Mid), tweeter (Tweeter)."},"size_mm":{"type":["number","null"],"description":"Diameter. Unit: mm. Published circular transducer diameter. Do not use rectangular width or thickness.."},"count":{"type":["integer","null"],"description":"Count per earbud. Physical transducers of this type and role in one earbud.."}},"required":["type","role","size_mm","count"]},"description":"Drivers per bud. Audio transducers in one earbud. Rows distinguish their type, acoustic role and published diameter. Do not count microphones.."},"driver_type":{"type":["string","null"],"enum":["dynamic","balanced_armature","planar_magnetic","mems","hybrid","bone_conduction","other","piezoelectric",null],"description":"Driver type. Options: dynamic (Dynamic), balanced_armature (Balanced armature), planar_magnetic (Planar magnetic), mems (MEMS), hybrid (Hybrid), bone_conduction (Bone conduction), other (Other), piezoelectric (Piezoelectric). Published transducer technology. High-excursion, composite and neodymium do not by themselves establish a driver type.."},"driver_size_mm":{"type":["number","null"],"description":"Driver size. Unit: mm. Largest explicitly published circular driver diameter in one earbud. A rectangular driver width is not a diameter.. Calculated from other fields."},"drivers_per_side":{"type":["integer","null"],"description":"Drivers per bud. Total audio transducers in one earbud, summed from explicit driver quantities. A row with an unknown quantity makes the total unknown.. Calculated from other fields."},"driver_diaphragm_material":{"type":["string","null"],"description":"Diaphragm material."},"frequency_response_hz":{"type":["object","null"],"properties":{"min_hz":{"type":["number","null"],"description":"Min. Unit: Hz."},"max_hz":{"type":["number","null"],"description":"Max. Unit: Hz."}},"required":["min_hz","max_hz"],"description":"Frequency response. Published acoustic frequency response of the earbuds. Codec transmission bandwidth alone does not qualify. Conditions belong in the source note.."},"impedance_ohm":{"type":["number","null"],"description":"Impedance. Unit: ohm."},"sensitivity_db":{"type":["number","null"],"description":"Sensitivity. Unit: dB. Published acoustic sensitivity. The electrical reference and frequency must be stated in sensitivity_reference or the source note.."},"sensitivity_reference":{"type":["string","null"],"enum":["per_1mw","per_1v",null],"description":"Sensitivity reference. Options: per_1mw (Per 1 mW), per_1v (Per 1 V)."},"max_sample_rate_khz":{"type":["number","null"],"description":"Max sample rate. Unit: kHz. Highest supported audio sample rate under the codec and source-device conditions in the source note. This does not establish lossless playback.."},"max_bit_depth_bits":{"type":["integer","null"],"description":"Max bit depth. Unit: bits. Highest supported audio bit depth under the codec and source-device conditions in the source note. Bluetooth version alone does not establish this.."},"adaptive_eq":{"type":["boolean","null"],"description":"Adaptive EQ. An inner mic tunes the sound to your ear in real time."},"sound_personalization":{"type":["boolean","null"],"description":"Personalised sound. A profile from a hearing test or ear scan."},"onboard_eq":{"type":["boolean","null"],"description":"Onboard EQ."},"eq_bands":{"type":["integer","null"],"description":"Custom EQ bands. Number of independently adjustable custom equalizer frequency bands. Availability may require current firmware, an app or a compatible device.."},"eq_presets":{"type":["array","null"],"items":{"type":"string"},"description":"EQ presets. Named equalizer sound presets. Noise-control modes and spatial-audio modes are separate features.."},"volume_limit_db":{"type":["number","null"],"description":"Volume limit. Unit: dB."},"virtual_surround":{"type":["array","null"],"items":{"type":"string"},"description":"Spatial audio. Named spatial or surround audio processing supported with the source and platform conditions stated in the source note.."},"head_tracking":{"type":["boolean","null"],"description":"Head tracking. Spatial audio changes with head movement. Static spatial processing alone does not qualify. Compatible device or content requirements belong in the source note.."},"anc":{"type":["boolean","null"],"description":"Active noise cancelling."},"anc_type":{"type":["string","null"],"enum":["feedforward","feedback","hybrid",null],"description":"ANC type. Options: feedforward (Feedforward), feedback (Feedback), hybrid (Hybrid). Feedforward uses exterior microphones. Feedback uses interior microphones. Hybrid uses both. Adaptive control is separate from microphone placement.."},"anc_mic_count":{"type":["integer","null"],"description":"ANC microphones in both earbuds. Physical microphones used by ANC across the pair. A shared call and ANC microphone counts once. Case microphones and vibration sensors are excluded.."},"anc_adaptive":{"type":["boolean","null"],"description":"Adaptive ANC. ANC strength or calibration adjusts automatically to noise, fit or ear acoustics. The source note states the adjustment conditions.."},"anc_levels":{"type":["integer","null"],"description":"ANC levels. Number of selectable ANC strength levels. Excludes ANC off, transparency and activity profiles unless they explicitly set distinct strength levels.."},"anc_claimed_attenuation_db":{"type":["number","null"],"description":"ANC attenuation (claimed). Unit: dB. Manufacturer maximum claimed noise attenuation. Frequency and measurement conditions belong in the source note. This is not reviewer-measured overall attenuation.."},"transparency_mode":{"type":["boolean","null"],"description":"Transparency mode."},"transparency_adjustable":{"type":["boolean","null"],"description":"Adjustable transparency."},"adaptive_audio_mode":{"type":["boolean","null"],"description":"Automatic ANC and transparency blend. Automatically blends active cancellation with ambient sound. Automatic activity-based switching between separate modes alone does not qualify.."},"conversation_detection":{"type":["boolean","null"],"description":"Conversation detection."},"wind_noise_reduction":{"type":["boolean","null"],"description":"Wind noise reduction. A documented physical design or processing feature for reducing wind noise. The source note distinguishes mesh or shape changes from selectable processing.."},"measured_frequency_response_notes":{"type":["string","null"],"description":"Frequency response notes (measured). Measured by a reviewer, not claimed by the maker."},"measured_bass_amount_db":{"type":["number","null"],"description":"Bass amount (measured). Unit: dB. Deviation from the review source target in the bass range. Positive means more bass. Target, test method and settings belong in the source note.."},"measured_treble_amount_db":{"type":["number","null"],"description":"Treble amount (measured). Unit: dB. Deviation from the review source target in the treble range. Positive means more treble. Values from different targets may not be directly comparable.."},"measured_target_deviation_db":{"type":["number","null"],"description":"Deviation from target (measured). Unit: dB. Measured by a reviewer, not claimed by the maker."},"measured_response_consistency_db":{"type":["number","null"],"description":"Consistency between fittings (measured). Unit: dB. Measured by a reviewer, not claimed by the maker."},"measured_thd_pct":{"type":["number","null"],"description":"Harmonic distortion (measured). Unit: %. Measured by a reviewer, not claimed by the maker."},"measured_leakage_db_spl":{"type":["number","null"],"description":"Sound leakage (measured). Unit: dB SPL. Measured by a reviewer, not claimed by the maker."},"measured_noise_isolation":{"type":["array","null"],"items":{"type":"object","properties":{"anc_on":{"type":["boolean","null"],"description":"ANC on."},"overall_db":{"type":["number","null"],"description":"Overall. Unit: dB."},"bass_db":{"type":["number","null"],"description":"Bass. Unit: dB."},"mid_db":{"type":["number","null"],"description":"Mids. Unit: dB."},"treble_db":{"type":["number","null"],"description":"Treble. Unit: dB."}},"required":["anc_on","overall_db","bass_db","mid_db","treble_db"]},"description":"Noise isolation (measured). Measured by a reviewer, not claimed by the maker."},"measured_attenuation_overall_db":{"type":["number","null"],"description":"Noise isolation, best (measured). Unit: dB. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_attenuation_passive_db":{"type":["number","null"],"description":"Passive isolation (measured). Unit: dB. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_microphone_notes":{"type":["string","null"],"description":"Call quality notes (measured). Measured by a reviewer, not claimed by the maker."},"measured_microphone_lfe_hz":{"type":["number","null"],"description":"Mic low-frequency extension (measured). Unit: Hz. Measured by a reviewer, not claimed by the maker."},"measured_microphone_hfe_hz":{"type":["number","null"],"description":"Mic high-frequency extension (measured). Unit: Hz. Measured by a reviewer, not claimed by the maker."},"measured_microphone_noise_handling_db":{"type":["number","null"],"description":"Mic speech-to-noise ratio (measured). Unit: dB. Measured by a reviewer, not claimed by the maker."},"measured_latency":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["analog","usb","2_4ghz","bluetooth",null],"description":"Connection. Options: analog (Analog), usb (USB), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"platform":{"type":["string","null"],"enum":["xbox_series","xbox_one","ps5","ps4","nintendo_switch","nintendo_switch_2","windows","macos","chromeos","linux","steamos","android","ios","meta_quest","other",null],"description":"Platform. Options: xbox_series (Xbox Series X|S), xbox_one (Xbox One), ps5 (PS5), ps4 (PS4), nintendo_switch (Nintendo Switch), nintendo_switch_2 (Nintendo Switch 2), windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), steamos (SteamOS), android (Android), ios (iOS), meta_quest (Meta Quest), other (Other)."},"codec":{"type":["string","null"],"description":"Codec."},"low_latency_mode":{"type":["boolean","null"],"description":"Low latency mode."},"latency_ms":{"type":["number","null"],"description":"Latency. Unit: ms."}},"required":["connection","platform","codec","low_latency_mode","latency_ms"]},"description":"Latency (measured). Measured by a reviewer, not claimed by the maker."},"measured_latency_bluetooth_ms":{"type":["number","null"],"description":"Bluetooth latency, worst (measured). Unit: ms. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_latency_2_4ghz_ms":{"type":["number","null"],"description":"2.4 GHz latency, worst (measured). Unit: ms. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_latency_game_mode_ms":{"type":["number","null"],"description":"Latency in game mode (measured). Unit: ms. The best case the buds can reach. Measured by a reviewer. Calculated from other fields."},"measured_battery_life":{"type":["array","null"],"items":{"type":"object","properties":{"anc":{"type":["boolean","null"],"description":"ANC."},"codec":{"type":["string","null"],"description":"Codec."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."}},"required":["anc","codec","hours"]},"description":"Battery life (measured). Reviewer-tested operation from one full charge of the earbuds. Excludes case recharges. ANC, codec, connection, volume and tested edition belong in the row or source note.."},"measured_battery_life_h":{"type":["number","null"],"description":"Longest tested use per charge. Unit: h. Highest earbuds-only duration among stored reviewer tests. Modes and settings may differ between tests and products.. Calculated from other fields."},"measured_battery_life_with_case_h":{"type":["number","null"],"description":"Battery life with case (measured). Unit: h. Reviewer-tested total including earbuds and case recharges. Do not calculate this by multiplying one-charge runtime by claimed recharge count.."},"measured_charge_time_min":{"type":["integer","null"],"description":"Full charge time (measured). Unit: min. Buds in the case, 0 to 100 %. Measured by a reviewer."},"measured_weight_g":{"type":["number","null"],"description":"Weight per bud (measured). Unit: g. Measured by a reviewer, not claimed by the maker."},"microphone_count":{"type":["integer","null"],"description":"Voice microphones in both earbuds. Physical call and beamforming microphones across the pair. Excludes case microphones and vibration sensors. Shared ANC microphones can also count here when used for calls.."},"microphone_count_total":{"type":["integer","null"],"description":"All microphones in both earbuds. Every physical microphone across the pair, including call and ANC microphones. Shared microphones count once. Excludes the charging case and voice vibration sensors.."},"voice_pickup_sensor":{"type":["boolean","null"],"description":"Bone conduction voice sensor. A dedicated bone or jaw conduction sensor for detecting speech vibrations. A microphone or speech-detecting accelerometer alone does not prove this architecture.."},"microphone_noise_reduction":{"type":["string","null"],"enum":["none","dsp","ai",null],"description":"Mic noise reduction. Options: none (None), dsp (DSP), ai (AI)."},"voice_call_bandwidth":{"type":["string","null"],"enum":["narrowband","wideband","super_wideband","fullband",null],"description":"Call audio bandwidth. Options: narrowband (Narrowband), wideband (Wideband), super_wideband (Super wideband), fullband (Fullband). Highest supported call-audio bandwidth. Compatible phone, operating system, call app or network requirements belong in the source note.."},"mute_button":{"type":["boolean","null"],"description":"Mic mute control. An earbud control that mutes the microphone during calls. Includes touch or pressure gestures and physical buttons. Phone/app-only controls do not qualify.."},"sidetone":{"type":["boolean","null"],"description":"Sidetone. Hear your own voice in calls."},"chipset":{"type":["string","null"],"description":"Chip."},"connection_types":{"type":["array","null"],"items":{"type":"string","enum":["analog","usb","2_4ghz","bluetooth"]},"description":"Connections. Options: analog (Analog), usb (USB), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth."},"bluetooth_codecs":{"type":["array","null"],"items":{"type":"string"},"description":"Bluetooth codecs."},"bluetooth_profiles":{"type":["array","null"],"items":{"type":"string"},"description":"Bluetooth profiles."},"bluetooth_le_audio":{"type":["boolean","null"],"description":"LE Audio."},"auracast":{"type":["boolean","null"],"description":"Auracast."},"multipoint":{"type":["boolean","null"],"description":"Multipoint. Concurrent Bluetooth connections to multiple source devices. Pairing memory and switching through a manufacturer account alone do not qualify.."},"multipoint_device_count":{"type":["integer","null"],"description":"Multipoint devices. Maximum source devices concurrently connected by Bluetooth, not the number remembered in pairing history.."},"multipoint_ldac":{"type":["boolean","null"],"description":"Multipoint with LDAC. Many buds turn multipoint off on LDAC."},"paired_device_memory":{"type":["integer","null"],"description":"Paired devices remembered. Maximum remembered Bluetooth source pairings. This is separate from simultaneous multipoint connections.."},"automatic_device_switching":{"type":["boolean","null"],"description":"Automatic switching between own devices. Through the maker's account."},"fast_pair":{"type":["array","null"],"items":{"type":"string","enum":["google_fast_pair","microsoft_swift_pair","apple_one_tap"]},"description":"Fast pairing. Options: google_fast_pair (Google Fast Pair), microsoft_swift_pair (Microsoft Swift Pair), apple_one_tap (Apple one-tap setup)."},"audio_sharing":{"type":["boolean","null"],"description":"Audio sharing. Share one stream with a second pair."},"wireless_range_m":{"type":["number","null"],"description":"Wireless range (claimed). Unit: m."},"wireless_receiver":{"type":["string","null"],"enum":["included","sold_separately","none",null],"description":"Wireless receiver. Options: included (Included), sold_separately (Sold separately), none (None). 2.4 GHz dongle."},"receiver_connector":{"type":["string","null"],"enum":["usb_a","usb_c","both",null],"description":"Receiver connector. Options: usb_a (USB-A), usb_c (USB-C), both (Both)."},"simultaneous_2_4ghz_bluetooth":{"type":["boolean","null"],"description":"Simultaneous 2.4 GHz and Bluetooth audio. Both connection types can play audio together. Quick switching between independent modes does not qualify.."},"low_latency_mode":{"type":["boolean","null"],"description":"Low latency mode."},"latency_claimed":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["analog","usb","2_4ghz","bluetooth",null],"description":"Connection. Options: analog (Analog), usb (USB), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"mode":{"type":["string","null"],"description":"Mode."},"latency_ms":{"type":["number","null"],"description":"Latency. Unit: ms."}},"required":["connection","mode","latency_ms"]},"description":"Claimed latency."},"latency_claimed_min_ms":{"type":["number","null"],"description":"Lowest claimed latency. Unit: ms. Calculated from other fields."},"compatible_platforms":{"type":["array","null"],"items":{"type":"string","enum":["xbox_series","xbox_one","ps5","ps4","nintendo_switch","nintendo_switch_2","windows","macos","chromeos","linux","steamos","android","ios","meta_quest","other"]},"description":"Platforms. Options: xbox_series (Xbox Series X|S), xbox_one (Xbox One), ps5 (PS5), ps4 (PS4), nintendo_switch (Nintendo Switch), nintendo_switch_2 (Nintendo Switch 2), windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), steamos (SteamOS), android (Android), ios (iOS), meta_quest (Meta Quest), other (Other). Platforms with documented audio support. App availability and advanced features can be more limited. Edition-specific support is listed in variants.."},"platform_connections":{"type":["array","null"],"items":{"type":"object","properties":{"platform":{"type":["string","null"],"enum":["xbox_series","xbox_one","ps5","ps4","nintendo_switch","nintendo_switch_2","windows","macos","chromeos","linux","steamos","android","ios","meta_quest","other",null],"description":"Platform. Options: xbox_series (Xbox Series X|S), xbox_one (Xbox One), ps5 (PS5), ps4 (PS4), nintendo_switch (Nintendo Switch), nintendo_switch_2 (Nintendo Switch 2), windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), steamos (SteamOS), android (Android), ios (iOS), meta_quest (Meta Quest), other (Other)."},"connection":{"type":["string","null"],"enum":["analog","usb","2_4ghz","bluetooth",null],"description":"Connection. Options: analog (Analog), usb (USB), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"microphone_works":{"type":["boolean","null"],"description":"Microphone works."}},"required":["platform","connection","microphone_works"]},"description":"Connection per platform. Documented audio connection for each platform. USB-C phone routes require a compatible port. Platform edition and microphone restrictions belong in source notes or feature requirements.."},"feature_requirements":{"type":["array","null"],"items":{"type":"object","properties":{"feature":{"type":["string","null"],"description":"Feature."},"requirement":{"type":["string","null"],"description":"Needs."}},"required":["feature","requirement"]},"description":"Features that need a specific device. Device, operating system, firmware, codec, content, account or region requirements for a named feature.."},"official_license":{"type":["array","null"],"items":{"type":"string"},"description":"Official licence."},"battery_capacity_mah":{"type":["integer","null"],"description":"Battery per bud. Unit: mAh. Battery cell capacity of one earbud. The source note states typical or rated capacity. Charging input current is not capacity.."},"battery_user_replaceable":{"type":["boolean","null"],"description":"User-replaceable earbud battery. The maker documents normal battery replacement by the user with its approved procedure and tools. Service or recycling disassembly does not count.."},"battery_life_claimed":{"type":["array","null"],"items":{"type":"object","properties":{"mode":{"type":["string","null"],"enum":["anc_on","anc_off","transparency","adaptive_audio","hearing_aid","heart_rate","call",null],"description":"Mode. Options: anc_on (ANC on), anc_off (ANC off), transparency (Transparency), adaptive_audio (Adaptive audio), hearing_aid (Hearing aid), heart_rate (Heart rate), call (Call). Operating condition for the claimed duration. call does not encode whether ANC was enabled, which must be stated in source notes.."},"codec":{"type":["string","null"],"description":"Codec. Bluetooth audio codec used for this battery claim. Omit if the maker does not state it.."},"spatial_audio":{"type":["boolean","null"],"description":"Spatial audio. True or false means the source explicitly enables or disables its named spatial or immersive audio processing mode for this runtime. Name the processing mode and its conditions in the source note. Omit if unstated. This is separate from codec and ANC.."},"with_case":{"type":["boolean","null"],"description":"Includes case recharges. False is one earbud charge. True is total runtime including earbud charge and case recharges.."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."}},"required":["mode","codec","spatial_audio","with_case","hours"]},"description":"Claimed battery life. Manufacturer maximum runtime under the stated mode, codec and spatial processing state. Name the spatial or immersive processing mode and other conditions in source notes. Omit unspecified settings. with_case false means one charge of the earbuds. true means earbuds plus case recharges.."},"battery_life_max_h":{"type":["number","null"],"description":"Longest claimed use per charge. Unit: h. Highest earbuds-only runtime among all stored modes. This can be ANC off, Hearing Aid, heart-rate or call use. Read the battery table and source conditions.. Calculated from other fields."},"battery_life_anc_on_h":{"type":["number","null"],"description":"Playback per charge with ANC (claimed). Unit: h. Highest claimed earbuds-only playback with ANC enabled. Codec and spatial-audio conditions belong in the source note.. Calculated from other fields."},"battery_life_anc_off_h":{"type":["number","null"],"description":"Playback per charge without ANC (claimed). Unit: h. Highest claimed earbuds-only playback with ANC disabled. Codec and volume conditions belong in the source note.. Calculated from other fields."},"battery_life_with_case_h":{"type":["number","null"],"description":"Total with case (claimed). Unit: h. Highest claimed runtime including the initial earbud charge and all case recharges. It is not the case recharge runtime alone.. Calculated from other fields."},"battery_life_with_case_anc_on_h":{"type":["number","null"],"description":"Total with case and ANC (claimed). Unit: h. Claimed total playback with ANC, including the initial earbud charge and case recharges.. Calculated from other fields."},"talk_time_h":{"type":["number","null"],"description":"Talk time (claimed). Unit: h. Calculated from other fields."},"charge_time_0_100_min":{"type":["integer","null"],"description":"Full charge time, buds. Unit: min. Time to charge discharged earbuds to full in the case. Excludes charging the case itself or a combined buds-and-case result.."},"charging_notes":{"type":["string","null"],"description":"Charging guidance. Published charging guidance or estimates that do not separate earbuds and case. Preserve the maker’s component scope and limits. Do not assign an unspecified or combined estimate to a component-specific numeric field.."},"quick_charge_min":{"type":["integer","null"],"description":"Quick charge time. Unit: min. Charge duration corresponding to quick_charge_playback_h. Source note states earbuds-only or case-inclusive charging and playback settings.."},"quick_charge_playback_h":{"type":["number","null"],"description":"Earbud playback after quick charge. Unit: h. Earbuds-only runtime after quick_charge_min of charging. A claimed case-inclusive total does not qualify. ANC, codec and volume conditions belong in the source note.."},"case_battery_capacity_mah":{"type":["integer","null"],"description":"Case battery. Unit: mAh. Charging-case battery cell capacity. The source note distinguishes typical, rated and output capacity. USB output capacity alone does not qualify.."},"case_battery_user_replaceable":{"type":["boolean","null"],"description":"User-replaceable case battery. The maker documents normal case battery replacement by the user with its approved procedure and tools. Service or recycling disassembly does not count.."},"charging_port":{"type":["string","null"],"enum":["usb_c","micro_usb","lightning",null],"description":"Case charging port. Options: usb_c (USB-C), micro_usb (Micro-USB), lightning (Lightning)."},"case_charge_time_min":{"type":["integer","null"],"description":"Case full charge time. Unit: min. By cable, 0 to 100 %. A time the maker gives with the earbuds inside the case counts, and the source note says so.."},"wireless_charging":{"type":["boolean","null"],"description":"Wireless charging."},"wireless_charging_standards":{"type":["array","null"],"items":{"type":"string","enum":["qi","qi2","qi2_2","magsafe","apple_watch_charger","proprietary"]},"description":"Wireless standards. Options: qi (Qi), qi2 (Qi2), qi2_2 (Qi2.2), magsafe (MagSafe), apple_watch_charger (Apple Watch charger), proprietary (Proprietary). Documented case charging standards or supported chargers. Magnetic alignment alone does not establish Qi2 certification.."},"wireless_charging_max_w":{"type":["number","null"],"description":"Wireless charging power. Unit: W. Highest wireless charging input the maker states for the case. The output of a charging pad does not count.."},"case_speaker":{"type":["boolean","null"],"description":"Speaker in case. An audio speaker physically in the charging case, for locating or status sounds. A microphone in the case is separate.."},"case_screen":{"type":["boolean","null"],"description":"Screen on case."},"case_audio_transmitter":{"type":["boolean","null"],"description":"Case works as audio transmitter. Case relays external source audio through USB or an analog audio input. A case microphone for recording or calls does not qualify.."},"control_types":{"type":["array","null"],"items":{"type":"string","enum":["touch","pressure","button","swipe","head_gestures","voice_commands","app_only"]},"description":"Controls. Options: touch (Touch), pressure (Pressure), button (Button), swipe (Swipe), head_gestures (Head gestures), voice_commands (Voice commands), app_only (App only). Pressure is a force sensor that does not move, such as a stem you squeeze. Button is a key that moves when pressed.."},"volume_control":{"type":["string","null"],"enum":["swipe","touch","pressure","buttons","voice","none",null],"description":"Earbud volume control. Options: swipe (Swipe), touch (Touch), pressure (Pressure), buttons (Buttons), voice (Voice), none (None). How earbud controls adjust volume, including a voice command if supported. Phone or app controls alone do not qualify.."},"gesture_controls":{"type":["array","null"],"items":{"type":"string"},"description":"Gestures."},"customizable_controls":{"type":["boolean","null"],"description":"Remappable controls."},"voice_assistant":{"type":["array","null"],"items":{"type":"string"},"description":"Voice assistant."},"wear_detection":{"type":["boolean","null"],"description":"In-ear detection."},"sensors":{"type":["array","null"],"items":{"type":"string"},"description":"Sensors."},"heart_rate_sensor":{"type":["string","null"],"description":"Heart rate sensor."},"skin_temperature":{"type":["boolean","null"],"description":"Skin temperature sensing. A documented skin temperature sensor. This is separate from the operating temperature range or a heart-rate sensor.."},"hearing_aid_feature":{"type":["boolean","null"],"description":"Hearing aid feature. Amplification for mild to moderate hearing loss."},"medical_clearances":{"type":["array","null"],"items":{"type":"string"},"description":"Medical clearances."},"hearing_test":{"type":["boolean","null"],"description":"Hearing test. A documented hearing assessment feature, including consumer sound-personalization tests. Medical diagnostic clearance must be stated separately.."},"loud_sound_reduction":{"type":["boolean","null"],"description":"Hearing protection. Limits sudden loud sounds."},"health_features":{"type":["array","null"],"items":{"type":"string"},"description":"Health features."},"ear_tip_sizes":{"type":["array","null"],"items":{"type":"string"},"description":"Ear tips included. Tip sizes supplied with the product, including the pair fitted to the earbuds. Do not list separately sold sizes as included.."},"ear_tip_materials":{"type":["array","null"],"items":{"type":"string","enum":["silicone","foam","hybrid"]},"description":"Ear tip materials. Options: silicone (Silicone), foam (Foam), hybrid (Hybrid)."},"stabilizers":{"type":["array","null"],"items":{"type":"string","enum":["wing_tips","fins","ear_hook","none","stability_bands"]},"description":"Stabilisers. Options: wing_tips (Wing tips), fins (Fins), ear_hook (Ear hook), none (None), stability_bands (Stability bands). Physical stabilizing fittings or structures. Stability bands are separate from fins, wings and ear hooks.."},"fit_test":{"type":["boolean","null"],"description":"Ear tip fit test."},"ip_rating":{"type":["array","null"],"items":{"type":"string"},"description":"Dust and water rating, buds."},"case_ip_rating":{"type":["array","null"],"items":{"type":"string"},"description":"Dust and water rating, case."},"water_resistance_depth_m":{"type":["number","null"],"description":"Water resistance depth. Unit: m."},"companion_app":{"type":["string","null"],"description":"Companion app."},"companion_app_platforms":{"type":["array","null"],"items":{"type":"string","enum":["xbox_series","xbox_one","ps5","ps4","nintendo_switch","nintendo_switch_2","windows","macos","chromeos","linux","steamos","android","ios","meta_quest","other"]},"description":"App platforms. Options: xbox_series (Xbox Series X|S), xbox_one (Xbox One), ps5 (PS5), ps4 (PS4), nintendo_switch (Nintendo Switch), nintendo_switch_2 (Nintendo Switch 2), windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), steamos (SteamOS), android (Android), ios (iOS), meta_quest (Meta Quest), other (Other)."},"firmware_updatable":{"type":["boolean","null"],"description":"User firmware updates."},"find_my_networks":{"type":["array","null"],"items":{"type":"string","enum":["apple_find_my","google_find_hub","samsung_find","app_last_location"]},"description":"Finding network. Options: apple_find_my (Apple Find My), google_find_hub (Google Find Hub), samsung_find (Samsung Find), app_last_location (Last location in the app)."},"precision_finding":{"type":["boolean","null"],"description":"Precision finding. UWB in the case."},"live_translation":{"type":["boolean","null"],"description":"Live translation."},"weight_g":{"type":["number","null"],"description":"Weight per bud. Unit: g. Mass of one earbud. Tip size and approximate values belong in the source note. Do not store pair or case-inclusive mass.."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Bud dimensions. Dimensions of one earbud on the explicitly identified width, height and depth axes. An unlabeled tuple cannot establish those axes.."},"case_weight_g":{"type":["number","null"],"description":"Case weight. Unit: g. Charging case mass excluding earbuds. Case-inclusive product mass does not qualify unless the source explicitly gives the empty-case figure.."},"case_dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Case dimensions. Charging-case width, height and depth on explicitly identified source axes. Report conflicting axis labels rather than reorder a tuple by appearance.."},"hi_res_audio":{"type":["array","null"],"items":{"type":"string","enum":["hi_res_audio","hi_res_audio_wireless"]},"description":"Hi-Res Audio. Options: hi_res_audio (Hi-Res Audio), hi_res_audio_wireless (Hi-Res Audio Wireless). The Japan Audio Society logos. Hi-Res Audio Wireless is also written Hi-Res Wireless Audio.."},"communication_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Communication certifications."},"fcc_ids":{"type":["array","null"],"items":{"type":"string"},"description":"FCC IDs."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."},"cables_included":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"description":"Type."},"length_m":{"type":["number","null"],"description":"Length. Unit: m."},"count":{"type":["integer","null"],"description":"Count."}},"required":["type","length_m","count"]},"description":"Cables included."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","segment","form_factor","bud_shape","single_bud_use","rgb_lighting","drivers","driver_type","driver_size_mm","drivers_per_side","driver_diaphragm_material","frequency_response_hz","impedance_ohm","sensitivity_db","sensitivity_reference","max_sample_rate_khz","max_bit_depth_bits","adaptive_eq","sound_personalization","onboard_eq","eq_bands","eq_presets","volume_limit_db","virtual_surround","head_tracking","anc","anc_type","anc_mic_count","anc_adaptive","anc_levels","anc_claimed_attenuation_db","transparency_mode","transparency_adjustable","adaptive_audio_mode","conversation_detection","wind_noise_reduction","measured_frequency_response_notes","measured_bass_amount_db","measured_treble_amount_db","measured_target_deviation_db","measured_response_consistency_db","measured_thd_pct","measured_leakage_db_spl","measured_noise_isolation","measured_attenuation_overall_db","measured_attenuation_passive_db","measured_microphone_notes","measured_microphone_lfe_hz","measured_microphone_hfe_hz","measured_microphone_noise_handling_db","measured_latency","measured_latency_bluetooth_ms","measured_latency_2_4ghz_ms","measured_latency_game_mode_ms","measured_battery_life","measured_battery_life_h","measured_battery_life_with_case_h","measured_charge_time_min","measured_weight_g","microphone_count","microphone_count_total","voice_pickup_sensor","microphone_noise_reduction","voice_call_bandwidth","mute_button","sidetone","chipset","connection_types","bluetooth_version","bluetooth_codecs","bluetooth_profiles","bluetooth_le_audio","auracast","multipoint","multipoint_device_count","multipoint_ldac","paired_device_memory","automatic_device_switching","fast_pair","audio_sharing","wireless_range_m","wireless_receiver","receiver_connector","simultaneous_2_4ghz_bluetooth","low_latency_mode","latency_claimed","latency_claimed_min_ms","compatible_platforms","platform_connections","feature_requirements","official_license","battery_capacity_mah","battery_user_replaceable","battery_life_claimed","battery_life_max_h","battery_life_anc_on_h","battery_life_anc_off_h","battery_life_with_case_h","battery_life_with_case_anc_on_h","talk_time_h","charge_time_0_100_min","charging_notes","quick_charge_min","quick_charge_playback_h","case_battery_capacity_mah","case_battery_user_replaceable","charging_port","case_charge_time_min","wireless_charging","wireless_charging_standards","wireless_charging_max_w","case_speaker","case_screen","case_audio_transmitter","control_types","volume_control","gesture_controls","customizable_controls","voice_assistant","wear_detection","sensors","heart_rate_sensor","skin_temperature","hearing_aid_feature","medical_clearances","hearing_test","loud_sound_reduction","health_features","ear_tip_sizes","ear_tip_materials","stabilizers","fit_test","ip_rating","case_ip_rating","water_resistance_depth_m","companion_app","companion_app_platforms","firmware_updatable","find_my_networks","precision_finding","live_translation","weight_g","dimensions_mm","case_weight_g","case_dimensions_mm","hi_res_audio","communication_certifications","fcc_ids","other_certifications","in_the_box","cables_included"],"description":"Every earbuds field in schema order. Unknown values are null."},"GameConsoleSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"hardware_revision":{"type":["string","null"],"description":"Hardware revision. The exact hardware family researched. Later revisions can change storage, ports, dimensions, weight and power.."},"platform":{"type":["string","null"],"description":"Platform."},"operating_system":{"type":["string","null"],"description":"Operating system."},"backward_compatibility":{"type":["array","null"],"items":{"type":"string"},"description":"Backward compatibility. Supported earlier console game libraries. Source notes state disc, download and subscription restrictions. Compatibility with a library does not mean every title works.."},"game_services":{"type":["array","null"],"items":{"type":"string"},"description":"Game services. Named game subscription or cloud services. Availability and required subscription belong in source notes.."},"remote_play":{"type":["boolean","null"],"description":"Remote Play. Streams games running on this console to a compatible device. Cloud gaming is a separate service.."},"soc":{"type":["string","null"],"description":"System on chip."},"cpu":{"type":["string","null"],"description":"CPU."},"cpu_cores":{"type":["integer","null"],"description":"CPU cores. Physical CPU cores, including any cores reserved for the operating system. These are not logical threads.."},"cpu_threads":{"type":["integer","null"],"description":"CPU threads. Hardware-supported logical CPU threads, including any threads reserved for the operating system. Simultaneous multithreading can depend on the operating mode.."},"cpu_clock_max_ghz":{"type":["number","null"],"description":"Max CPU clock. Unit: GHz. Highest published CPU clock for this hardware. State variable clock, SMT and mode conditions in the source note.."},"gpu":{"type":["string","null"],"description":"GPU."},"gpu_compute_units":{"type":["integer","null"],"description":"GPU compute units."},"gpu_clock_max_ghz":{"type":["number","null"],"description":"Max GPU clock. Unit: GHz. Highest published GPU clock for this hardware. Variable clock and mode conditions belong in the source note.."},"gpu_compute_tflops":{"type":["number","null"],"description":"GPU compute (FP32). Unit: TFLOPS. Published single-precision compute rating. This does not measure game performance. Different GPU architectures can count operations differently.."},"hardware_ray_tracing":{"type":["boolean","null"],"description":"Hardware ray tracing."},"upscaling_technologies":{"type":["array","null"],"items":{"type":"string"},"description":"Upscaling technologies. Named image reconstruction or upscaling methods supported by the console. Supported games and firmware requirements belong in source notes.."},"ram_gb":{"type":["number","null"],"description":"Main RAM. Unit: GB. Physical main CPU/GPU shared memory, including the portion reserved for the operating system. Separate auxiliary system memory is excluded.."},"ram_type":{"type":["string","null"],"description":"Main RAM type."},"auxiliary_ram_gb":{"type":["number","null"],"description":"Auxiliary system RAM. Unit: GB. Separate physical system memory outside the main CPU/GPU shared memory pool. This is not a reserved portion of main RAM.."},"auxiliary_ram_type":{"type":["string","null"],"description":"Auxiliary system RAM type."},"memory_bus_width_bits":{"type":["integer","null"],"description":"Memory bus width. Unit: bits."},"memory_bandwidth":{"type":["array","null"],"items":{"type":"object","properties":{"pool":{"type":["string","null"],"description":"Memory pool."},"capacity_gb":{"type":["number","null"],"description":"Capacity. Unit: GB."},"bandwidth_gbps":{"type":["number","null"],"description":"Bandwidth. Unit: GB/s."}},"required":["pool","capacity_gb","bandwidth_gbps"]},"description":"Memory bandwidth. Published bandwidth for each memory pool. A split pool is recorded in separate rows, not combined into one bandwidth.."},"storage_gb":{"type":["array","null"],"items":{"type":"number"},"description":"Storage. Unit: GB. Marketed built-in storage in decimal GB. 1 TB is 1000 GB. Usable free space is separate.."},"storage_type":{"type":["string","null"],"description":"Storage type."},"storage_read_raw_gbps":{"type":["number","null"],"description":"SSD read bandwidth (raw). Unit: GB/s. Published uncompressed internal SSD throughput. Compressed throughput is separate.."},"storage_read_compressed_gbps":{"type":["number","null"],"description":"SSD read bandwidth (compressed). Unit: GB/s. Published compressed internal SSD throughput. Compression assumptions belong in the source note.."},"storage_expansion_methods":{"type":["array","null"],"items":{"type":"string"},"description":"Storage expansion methods. Supported internal or external storage. Source notes distinguish storing current-generation games from playing them directly.."},"internal_expansion_slot":{"type":["string","null"],"description":"Internal storage expansion slot."},"internal_expansion_max_gb":{"type":["number","null"],"description":"Max internal storage expansion. Unit: GB. Largest supported added internal drive under the stated firmware. Built-in storage is excluded.."},"max_output_resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Max output resolution. Highest explicitly supported video signal resolution. This is not native game rendering resolution. State game, app and firmware requirements in source notes.."},"max_output_refresh_rate_hz":{"type":["number","null"],"description":"Max output refresh rate. Unit: Hz. Highest published output signal refresh rate. Resolution and connection conditions belong in source notes. Game rendering performance is separate.."},"max_game_frame_rate_fps":{"type":["integer","null"],"description":"Max game frame rate (claimed). Unit: fps. Maker-published maximum frame rate supported in compatible games. It is not a measured result or a promise that every game runs at this rate. Resolution and mode restrictions belong in source notes.."},"game_resolution_target":{"type":["string","null"],"description":"Game resolution target. The maker's game-resolution target. Native rendering, dynamic resolution and upscaled output are distinct.."},"video_output_modes":{"type":["array","null"],"items":{"type":"object","properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"refresh_rate_hz":{"type":["number","null"],"description":"Refresh rate. Unit: Hz."},"notes":{"type":["string","null"],"description":"Conditions."}},"required":["width_px","height_px","refresh_rate_hz","notes"]},"description":"Video output modes. Explicitly supported signal combinations. Rows do not prove a maximum at every resolution or the native resolution of a game.."},"hdr_formats":{"type":["array","null"],"items":{"type":"string","enum":["hdr10","dolby_vision","hlg","hdr10_plus"]},"description":"HDR formats. Options: hdr10 (HDR10), dolby_vision (Dolby Vision), hlg (HLG), hdr10_plus (HDR10+). Supported output HDR formats. Games, disc playback and streaming apps can support different formats. State those routes in source notes.."},"hdmi_version":{"type":["string","null"],"description":"HDMI version. Published HDMI output revision. It does not establish every optional HDMI feature.."},"variable_refresh_rate":{"type":["boolean","null"],"description":"Variable refresh rate. Published support for variable refresh rate output. Connection, display, game and firmware requirements belong in source notes.."},"auto_low_latency_mode":{"type":["boolean","null"],"description":"Auto low latency mode."},"hdmi_cec":{"type":["boolean","null"],"description":"HDMI-CEC."},"audio_formats":{"type":["array","null"],"items":{"type":"string"},"description":"Audio formats. Published output or decoding formats. State games, discs, streaming and passthrough routes in source notes.."},"spatial_audio":{"type":["array","null"],"items":{"type":"string"},"description":"Spatial audio. Named spatial audio systems. State headset, TV, receiver and supported game requirements in source notes.."},"bluetooth_audio":{"type":["boolean","null"],"description":"Bluetooth audio output. Built-in support for sending game audio directly to Bluetooth headphones. Controller wireless support does not establish Bluetooth audio.."},"wifi_standard":{"type":["string","null"],"enum":["wifi_4","wifi_5","wifi_6","wifi_6e","wifi_7","none",null],"description":"Wi-Fi. Options: wifi_4 (Wi-Fi 4), wifi_5 (Wi-Fi 5), wifi_6 (Wi-Fi 6), wifi_6e (Wi-Fi 6E), wifi_7 (Wi-Fi 7), none (None)."},"wifi_bands":{"type":["array","null"],"items":{"type":"string","enum":["2_4ghz","5ghz","6ghz"]},"description":"Wi-Fi bands. Options: 2_4ghz (2.4 GHz), 5ghz (5 GHz), 6ghz (6 GHz)."},"wifi_mimo":{"type":["string","null"],"description":"Wi-Fi MIMO."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth version. Published console Bluetooth version. The supplied controller can use a different version.."},"ethernet_speed_mbps":{"type":["integer","null"],"description":"Ethernet speed. Unit: Mbps."},"ports":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["hdmi","usb_a","usb_c","ethernet","storage_expansion","ac","audio_optical","audio_3_5mm","other",null],"description":"Type. Options: hdmi (HDMI), usb_a (USB-A), usb_c (USB-C), ethernet (Ethernet), storage_expansion (Storage expansion), ac (AC power), audio_optical (Optical audio), audio_3_5mm (3.5 mm audio), other (Other)."},"count":{"type":["integer","null"],"description":"Count."},"version":{"type":["string","null"],"description":"Version."},"speed_gbps":{"type":["number","null"],"description":"Speed. Unit: Gbps."},"location":{"type":["string","null"],"description":"Location."},"role":{"type":["string","null"],"description":"Role."}},"required":["type","count","version","speed_gbps","location","role"]},"description":"Ports. Physical connectors on the console only. Excludes the supplied controller, optional accessories and drive slots. Count each connector once, grouping identical ports by location and role.."},"disc_drive":{"type":["string","null"],"enum":["built_in","optional","none",null],"description":"Disc drive. Options: built_in (Built in), optional (Optional add-on), none (None). Whether a disc drive is supplied with this exact model. A separately sold compatible drive is optional, not built in.."},"optical_disc_formats":{"type":["array","null"],"items":{"type":"string"},"description":"Optical disc formats. Supported disc formats for the supplied drive. Optional-drive support belongs in disc_drive_requirements instead.."},"disc_drive_requirements":{"type":["string","null"],"description":"Disc drive requirements. Requirements for a separately sold compatible disc drive, including supported hardware and online pairing.."},"included_controller":{"type":["string","null"],"description":"Included controller."},"included_controller_count":{"type":["integer","null"],"description":"Included controller count."},"controller_connection":{"type":["array","null"],"items":{"type":"string"},"description":"Controller connections. Supported connections from the supplied controller to this console. A controller's connections to phones or PCs do not establish console support.."},"controller_features":{"type":["array","null"],"items":{"type":"string"},"description":"Controller features."},"controller_power":{"type":["string","null"],"description":"Controller power."},"power_supply":{"type":["string","null"],"enum":["internal_ac","external_dc",null],"description":"Power supply. Options: internal_ac (Internal AC), external_dc (External DC)."},"power_input":{"type":["string","null"],"description":"Rated power input. Console electrical input rating as published. A power supply output rating is separate from wall consumption.."},"power_consumption_max_w":{"type":["number","null"],"description":"Max power consumption (claimed). Unit: W. Maker-published maximum console power consumption. Test or hardware revision restrictions belong in the source note.."},"power_consumption_standby_w":{"type":["number","null"],"description":"Standby power (claimed). Unit: W. Published standby consumption under the stated network, USB and software settings. A range is not reduced to a single value.."},"measured_power_consumption_gaming_w":{"type":["number","null"],"description":"Gaming power (measured). Unit: W. Reviewer-measured wall consumption. Record game, mode, hardware revision, resolution and measurement method. A range or approximate figure is not stored as an exact result.."},"measured_power_consumption_idle_w":{"type":["number","null"],"description":"Idle power (measured). Unit: W. Reviewer-measured consumption at the home screen. Hardware revision, connected accessories and measurement method belong in source notes.."},"measured_power_consumption_standby_w":{"type":["number","null"],"description":"Standby power (measured). Unit: W. Reviewer-measured standby consumption. Record firmware, network, USB, download settings and measurement point.."},"measured_noise_dba":{"type":["number","null"],"description":"Gaming noise (measured). Unit: dB(A). Reviewer-measured A-weighted sound pressure. Record distance, background level, game, position and exact hardware revision.."},"measured_usable_storage_gb":{"type":["number","null"],"description":"Usable storage (measured). Unit: GB. Reviewer-reported available storage after the system reservation. Software version and GB versus GiB convention belong in source notes.."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Dimensions. Console body in its upright orientation, excluding the stand, attached optional drive, feet and protrusions unless the source explicitly includes them. Width is left-to-right, height is bottom-to-top and depth is front-to-back. Source notes preserve maker conditions.."},"weight_kg":{"type":["number","null"],"description":"Weight. Unit: kg. Console only. State stand, optional disc drive and reference hardware revision conditions in source notes.."},"supported_orientations":{"type":["array","null"],"items":{"type":"string","enum":["vertical","horizontal"]},"description":"Supported orientations. Options: vertical (Vertical), horizontal (Horizontal). Published supported placement orientations. Stand or feet requirements belong in source notes.."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."},"hdmi_cable_included":{"type":["boolean","null"],"description":"HDMI cable included."},"vertical_stand_included":{"type":["boolean","null"],"description":"Vertical stand included. A supplied vertical stand. Built-in feet are not a separate stand.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","hardware_revision","platform","operating_system","backward_compatibility","game_services","remote_play","soc","cpu","cpu_cores","cpu_threads","cpu_clock_max_ghz","gpu","gpu_compute_units","gpu_clock_max_ghz","gpu_compute_tflops","hardware_ray_tracing","upscaling_technologies","ram_gb","ram_type","auxiliary_ram_gb","auxiliary_ram_type","memory_bus_width_bits","memory_bandwidth","storage_gb","storage_type","storage_read_raw_gbps","storage_read_compressed_gbps","storage_expansion_methods","internal_expansion_slot","internal_expansion_max_gb","max_output_resolution","max_output_refresh_rate_hz","max_game_frame_rate_fps","game_resolution_target","video_output_modes","hdr_formats","hdmi_version","variable_refresh_rate","auto_low_latency_mode","hdmi_cec","audio_formats","spatial_audio","bluetooth_audio","wifi_standard","wifi_bands","wifi_mimo","bluetooth_version","ethernet_speed_mbps","ports","disc_drive","optical_disc_formats","disc_drive_requirements","included_controller","included_controller_count","controller_connection","controller_features","controller_power","power_supply","power_input","power_consumption_max_w","power_consumption_standby_w","measured_power_consumption_gaming_w","measured_power_consumption_idle_w","measured_power_consumption_standby_w","measured_noise_dba","measured_usable_storage_gb","dimensions_mm","weight_kg","supported_orientations","in_the_box","hdmi_cable_included","vertical_stand_included"],"description":"Every game console field in schema order. Unknown values are null."},"GameControllerSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"form_factor":{"type":["string","null"],"enum":["gamepad","mobile_clamp","detachable_pair","fight_pad","adaptive","other",null],"description":"Form factor. Options: gamepad (Gamepad), mobile_clamp (Mobile clamp), detachable_pair (Detachable pair), fight_pad (Fight pad), adaptive (Adaptive), other (Other)."},"stick_layout":{"type":["string","null"],"enum":["offset","symmetric","swappable",null],"description":"Stick layout. Options: offset (Offset), symmetric (Symmetric), swappable (Swappable)."},"face_button_labels":{"type":["string","null"],"enum":["xbox","nintendo","playstation","swappable","other",null],"description":"Face button labels. Options: xbox (Xbox), nintendo (Nintendo), playstation (PlayStation), swappable (Swappable), other (Other)."},"first_party":{"type":["boolean","null"],"description":"Made by the platform holder."},"compatible_platforms":{"type":["array","null"],"items":{"type":"string","enum":["xbox_series","xbox_one","ps5","ps4","nintendo_switch","nintendo_switch_2","windows","macos","chromeos","linux","steamos","android","ios","meta_quest","other"]},"description":"Platforms. Options: xbox_series (Xbox Series X|S), xbox_one (Xbox One), ps5 (PS5), ps4 (PS4), nintendo_switch (Nintendo Switch), nintendo_switch_2 (Nintendo Switch 2), windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), steamos (SteamOS), android (Android), ios (iOS), meta_quest (Meta Quest), other (Other)."},"platform_connections":{"type":["array","null"],"items":{"type":"object","properties":{"platform":{"type":["string","null"],"enum":["xbox_series","xbox_one","ps5","ps4","nintendo_switch","nintendo_switch_2","windows","macos","chromeos","linux","steamos","android","ios","meta_quest","other",null],"description":"Platform. Options: xbox_series (Xbox Series X|S), xbox_one (Xbox One), ps5 (PS5), ps4 (PS4), nintendo_switch (Nintendo Switch), nintendo_switch_2 (Nintendo Switch 2), windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), steamos (SteamOS), android (Android), ios (iOS), meta_quest (Meta Quest), other (Other)."},"connection":{"type":["string","null"],"enum":["usb_wired","2_4ghz","xbox_wireless","bluetooth",null],"description":"Connection. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), xbox_wireless (Xbox Wireless), bluetooth (Bluetooth)."},"full_features":{"type":["boolean","null"],"description":"All features."}},"required":["platform","connection","full_features"]},"description":"Connection per platform."},"official_license":{"type":["array","null"],"items":{"type":"string"},"description":"Official licence."},"input_modes":{"type":["array","null"],"items":{"type":"string","enum":["xinput","gip","dinput","switch_pro","ps4_mode","ps5_mode","android_hid","apple_gamepad","keyboard_mouse","sony","steam"]},"description":"Input modes. Options: xinput (XInput), gip (Xbox GIP), dinput (DirectInput), switch_pro (Switch Pro), ps4_mode (PS4 mode), ps5_mode (PS5 mode), android_hid (Android HID), apple_gamepad (Apple gamepad), keyboard_mouse (Keyboard and mouse), sony (Sony controller mode), steam (Steam controller mode)."},"input_mode_switch":{"type":["string","null"],"enum":["hardware_switch","button_combo","automatic","app","on_device_menu",null],"description":"Mode switching. Options: hardware_switch (Hardware switch), button_combo (Button combo), automatic (Automatic), app (App), on_device_menu (On-device menu)."},"steam_input_native":{"type":["boolean","null"],"description":"Native Steam Input support. Official Steam Input integration that exposes controller-specific inputs. This does not mean a game uses the Steam Input API or that the controller has only one input protocol.."},"wake_console":{"type":["boolean","null"],"description":"Wakes the supported console. Whether the controller can wake a supported console from sleep. The applicable console or Steam Machine is identified in source notes.."},"phone_max_length_mm":{"type":["number","null"],"description":"Max phone length. Unit: mm."},"phone_case_compatible":{"type":["boolean","null"],"description":"Works with phone case."},"connection_types":{"type":["array","null"],"items":{"type":"string","enum":["usb_wired","2_4ghz","xbox_wireless","bluetooth"]},"description":"Connections. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), xbox_wireless (Xbox Wireless), bluetooth (Bluetooth)."},"bluetooth_version":{"type":["string","null"],"description":"Controller Bluetooth version. Bluetooth version implemented by the controller. Host device minimum requirements are not the controller’s Bluetooth version.."},"wireless_receiver":{"type":["string","null"],"enum":["included","sold_separately","none",null],"description":"Wireless receiver. Options: included (Included), sold_separately (Sold separately), none (None)."},"receiver_connector":{"type":["string","null"],"enum":["usb_a","usb_c",null],"description":"Receiver connector. Options: usb_a (USB-A), usb_c (USB-C)."},"wireless_range_m":{"type":["number","null"],"description":"Wireless range (claimed). Unit: m."},"paired_device_slots":{"type":["integer","null"],"description":"Paired device slots."},"wired_connector":{"type":["string","null"],"enum":["usb_c","micro_usb","lightning","fixed_cable","none",null],"description":"Wired connector. Options: usb_c (USB-C), micro_usb (Micro-USB), lightning (Lightning), fixed_cable (Fixed cable), none (None)."},"usb_version":{"type":["string","null"],"description":"USB."},"cable_detachable":{"type":["boolean","null"],"description":"Detachable cable."},"cable_length_m":{"type":["number","null"],"description":"Cable length. Unit: m."},"cable_type":{"type":["string","null"],"description":"Cable type."},"polling_rate_modes":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["usb_wired","2_4ghz","xbox_wireless","bluetooth",null],"description":"Connection. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), xbox_wireless (Xbox Wireless), bluetooth (Bluetooth)."},"platform":{"type":["string","null"],"enum":["xbox_series","xbox_one","ps5","ps4","nintendo_switch","nintendo_switch_2","windows","macos","chromeos","linux","steamos","android","ios","meta_quest","other",null],"description":"Platform. Options: xbox_series (Xbox Series X|S), xbox_one (Xbox One), ps5 (PS5), ps4 (PS4), nintendo_switch (Nintendo Switch), nintendo_switch_2 (Nintendo Switch 2), windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), steamos (SteamOS), android (Android), ios (iOS), meta_quest (Meta Quest), other (Other)."},"polling_rate_hz":{"type":["integer","null"],"description":"Polling rate. Unit: Hz."}},"required":["connection","platform","polling_rate_hz"]},"description":"Claimed polling rate by connection. Maker-claimed report rate for the stated connection and platform. Tournament modes or protocol requirements go in source notes. This is not input latency or a reviewer measurement.."},"polling_rate_wired_hz":{"type":["integer","null"],"description":"Polling rate wired. Unit: Hz. Calculated from other fields."},"polling_rate_wireless_hz":{"type":["integer","null"],"description":"Polling rate wireless. Unit: Hz. Calculated from other fields."},"polling_rate_bluetooth_hz":{"type":["integer","null"],"description":"Polling rate Bluetooth. Unit: Hz. Calculated from other fields."},"stick_technology":{"type":["string","null"],"enum":["potentiometer","hall_effect","tmr","capacitive","other",null],"description":"Stick sensor. Options: potentiometer (Potentiometer), hall_effect (Hall effect), tmr (TMR), capacitive (Capacitive), other (Other)."},"stick_module_model":{"type":["string","null"],"description":"Stick module name. Published module part number or maker-branded stick mechanism. A brand name does not establish the component manufacturer.."},"stick_resolution_bits":{"type":["integer","null"],"description":"Stick resolution (claimed). Unit: bits."},"stick_dead_zone_default_pct":{"type":["number","null"],"description":"Default dead zone (claimed). Unit: %."},"stick_dead_zone_adjustable":{"type":["boolean","null"],"description":"Adjustable dead zone. True when the stick dead zone can be changed on the controller or in an app. A switch between the default and a zero dead zone counts.."},"stick_curve_adjustable":{"type":["boolean","null"],"description":"Adjustable response curve."},"stick_tension_adjustable":{"type":["boolean","null"],"description":"Adjustable stick tension."},"stick_tension_levels":{"type":["integer","null"],"description":"Tension levels."},"stick_throw_deg":{"type":["number","null"],"description":"Stick throw. Unit: deg."},"stick_gate_shape":{"type":["string","null"],"enum":["circular","octagonal","swappable",null],"description":"Stick gate. Options: circular (Circular), octagonal (Octagonal), swappable (Swappable)."},"stick_click":{"type":["boolean","null"],"description":"Stick click (L3/R3)."},"swappable_sticks":{"type":["boolean","null"],"description":"Swappable stick tops."},"stick_cap_options":{"type":["array","null"],"items":{"type":"string"},"description":"Stick tops included. Stick cap styles included in this configuration. Counts fitted caps as well as spare caps. Optional caps sold separately are not included.."},"stick_modules_replaceable":{"type":["string","null"],"enum":["user_swappable","solder_free_service","soldered",null],"description":"Replaceable stick modules. Options: user_swappable (User-swappable), solder_free_service (Service without soldering), soldered (Soldered)."},"stick_calibration":{"type":["array","null"],"items":{"type":"string","enum":["on_device","app","system_settings","none"]},"description":"Stick calibration. Options: on_device (On the device), app (App), system_settings (System settings), none (None)."},"trigger_technology":{"type":["string","null"],"enum":["potentiometer","hall_effect","tmr","digital","analog","other",null],"description":"Trigger sensor. Options: potentiometer (Potentiometer), hall_effect (Hall effect), tmr (TMR), digital (Digital), analog (Analog, sensor not stated), other (Other). Digital is on or off. Analog is for analog triggers whose sensor no source names.."},"trigger_resolution_bits":{"type":["integer","null"],"description":"Trigger resolution. Unit: bits."},"trigger_travel_mm":{"type":["number","null"],"description":"Trigger travel. Unit: mm."},"trigger_stops":{"type":["boolean","null"],"description":"Trigger stops."},"trigger_stop_positions":{"type":["integer","null"],"description":"Trigger stop positions."},"trigger_stop_type":{"type":["string","null"],"enum":["mechanical","mechanical_click","software",null],"description":"Trigger stop type. Options: mechanical (Mechanical), mechanical_click (Mechanical click), software (Software)."},"trigger_travel_short_mm":{"type":["number","null"],"description":"Shortest trigger travel. Unit: mm."},"trigger_dead_zone_adjustable":{"type":["boolean","null"],"description":"Adjustable trigger dead zone."},"trigger_hair_mode":{"type":["boolean","null"],"description":"Hair trigger mode."},"adaptive_triggers":{"type":["boolean","null"],"description":"Adaptive triggers."},"face_button_switch_type":{"type":["string","null"],"enum":["membrane","mecha_tactile","micro_switch","optical","other",null],"description":"Face button switches. Options: membrane (Membrane), mecha_tactile (Mecha-tactile), micro_switch (Micro switch), optical (Optical), other (Other)."},"face_button_switch_model":{"type":["string","null"],"description":"Face button switch name. Published switch or mechanism name. May be the maker’s branded design rather than a component part number.."},"face_buttons_swappable":{"type":["boolean","null"],"description":"Swappable face buttons."},"bumper_switch_type":{"type":["string","null"],"enum":["membrane","mecha_tactile","micro_switch","optical","other",null],"description":"Bumper switches. Options: membrane (Membrane), mecha_tactile (Mecha-tactile), micro_switch (Micro switch), optical (Optical), other (Other)."},"dpad_type":{"type":["string","null"],"enum":["cross","split_cross","four_button","disc","swappable","hybrid","other",null],"description":"D-pad. Options: cross (Cross), split_cross (Split cross), four_button (Four buttons), disc (Disc), swappable (Swappable), hybrid (Hybrid), other (Other)."},"dpad_switch_type":{"type":["string","null"],"enum":["membrane","mecha_tactile","micro_switch","optical","other",null],"description":"D-pad switches. Options: membrane (Membrane), mecha_tactile (Mecha-tactile), micro_switch (Micro switch), optical (Optical), other (Other)."},"back_buttons":{"type":["integer","null"],"description":"Rear grip buttons or paddles. Maximum number of additional rear grip inputs the controller supports. Excludes standard shoulder buttons and triggers (L1/R1/L2/R2 or LB/RB/LT/RT), extra shoulder buttons and front buttons. Removable paddles are counted when fitted. Check the box contents for included paddles.."},"back_button_type":{"type":["string","null"],"enum":["paddles","buttons","mixed","swappable",null],"description":"Rear grip input type. Options: paddles (Paddles), buttons (Buttons), mixed (Mixed), swappable (Swappable buttons or paddles). Physical form of the additional rear grip inputs. Swappable means the same slots accept alternative button and lever or paddle shapes.."},"back_paddles_removable":{"type":["boolean","null"],"description":"Removable rear paddles. Whether rear paddles or lever-shaped back buttons can be removed by the user. This does not count the standard shoulder buttons or triggers.."},"extra_shoulder_buttons":{"type":["integer","null"],"description":"Additional shoulder buttons. Additional physical shoulder or bumper buttons. Excludes standard L1/R1/L2/R2 or LB/RB/LT/RT controls and rear grip inputs.."},"programmable_buttons":{"type":["integer","null"],"description":"Additional remappable buttons. Counts additional remappable controls across the rear, shoulders and front. Excludes normal face buttons, D-pad directions, stick clicks, standard shoulders and triggers, and system or profile buttons. Optional removable paddles count when fitted.."},"on_device_remapping":{"type":["boolean","null"],"description":"On-controller remapping. At least one configurable gameplay button can be remapped using controller controls without a companion app. Does not imply that every button is remappable without software.."},"onboard_profiles":{"type":["integer","null"],"description":"Custom onboard profiles. Number of additional named or custom profiles stored on the controller, beyond any separate default bank identified by the maker. Excludes app-only profiles. Does not assume the default bank is immutable.."},"profile_button":{"type":["boolean","null"],"description":"Profile switch control. A dedicated button, or a dedicated function button used in a combination, that switches saved controller profiles.."},"turbo_function":{"type":["boolean","null"],"description":"Turbo."},"macro_support":{"type":["boolean","null"],"description":"Macros."},"share_button":{"type":["boolean","null"],"description":"Share or capture button."},"rumble":{"type":["array","null"],"items":{"type":"string","enum":["rumble","impulse_triggers","hd_haptics"]},"description":"Rumble. Options: rumble (Rumble), impulse_triggers (Trigger rumble (impulse triggers)), hd_haptics (HD haptics). Feedback features as published. Trigger rumble means dedicated trigger-vibration feedback, separate from motor-driven adaptive trigger resistance. HD haptics follows the maker’s stated high-definition feedback feature.."},"rumble_motor_type":{"type":["string","null"],"enum":["erm","lra","voice_coil","mixed",null],"description":"Rumble motor type. Options: erm (ERM), lra (LRA), voice_coil (Voice coil), mixed (Mixed)."},"rumble_motor_count":{"type":["integer","null"],"description":"Rumble motors in grips."},"trigger_rumble_motor_count":{"type":["integer","null"],"description":"Trigger rumble motors."},"rumble_intensity_adjustable":{"type":["boolean","null"],"description":"Adjustable rumble."},"gyro":{"type":["boolean","null"],"description":"Gyroscope."},"motion_sensor_axes":{"type":["integer","null"],"description":"Combined motion sensor axes. Total gyroscope and accelerometer axes. A three-axis gyroscope plus a three-axis accelerometer is a six-axis motion sensor.."},"gyro_mouse_mode":{"type":["boolean","null"],"description":"Gyro as mouse."},"touchpad":{"type":["boolean","null"],"description":"Touchpad."},"touchpad_count":{"type":["integer","null"],"description":"Touchpads."},"touchpad_clickable":{"type":["boolean","null"],"description":"Clickable touchpad. Supports a press-to-click action, including pressure-sensed haptic clicks. Does not imply a mechanically moving switch.."},"nfc":{"type":["boolean","null"],"description":"NFC."},"ir_camera":{"type":["boolean","null"],"description":"IR camera."},"built_in_display":{"type":["boolean","null"],"description":"Built-in display."},"light_bar":{"type":["boolean","null"],"description":"Light bar."},"rgb_lighting":{"type":["boolean","null"],"description":"RGB lighting."},"lighting_zones":{"type":["integer","null"],"description":"Lighting zones."},"measured_latency":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["usb_wired","2_4ghz","xbox_wireless","bluetooth",null],"description":"Connection. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), xbox_wireless (Xbox Wireless), bluetooth (Bluetooth)."},"input":{"type":["string","null"],"enum":["button","stick","trigger",null],"description":"Input. Options: button (Button), stick (Stick), trigger (Trigger)."},"avg_ms":{"type":["number","null"],"description":"Average. Unit: ms."},"min_ms":{"type":["number","null"],"description":"Min. Unit: ms."},"max_ms":{"type":["number","null"],"description":"Max. Unit: ms."},"jitter_ms":{"type":["number","null"],"description":"Jitter. Unit: ms."},"polling_rate_hz":{"type":["number","null"],"description":"Polling rate. Unit: Hz."},"test_platform":{"type":["string","null"],"enum":["xbox_series","xbox_one","ps5","ps4","nintendo_switch","nintendo_switch_2","windows","macos","chromeos","linux","steamos","android","ios","meta_quest","other",null],"description":"Tested on. Options: xbox_series (Xbox Series X|S), xbox_one (Xbox One), ps5 (PS5), ps4 (PS4), nintendo_switch (Nintendo Switch), nintendo_switch_2 (Nintendo Switch 2), windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), steamos (SteamOS), android (Android), ios (iOS), meta_quest (Meta Quest), other (Other)."}},"required":["connection","input","avg_ms","min_ms","max_ms","jitter_ms","polling_rate_hz","test_platform"]},"description":"Measured input latency. Hardware-measured latency for the documented stock setup. Connection, input, operating system, input mode, firmware, tester and settings are recorded in source notes. Polling rate is a separate report-rate measurement. Different setups are separate rows.."},"measured_button_latency_wired_ms":{"type":["number","null"],"description":"Button latency wired (measured, highest average). Unit: ms. Highest average latency among the stored reviewer setups for this connection and input. It is not the maximum individual event or a guaranteed result for every platform. See source notes for each setup.. Calculated from other fields."},"measured_button_latency_wireless_ms":{"type":["number","null"],"description":"Button latency wireless (measured, highest average). Unit: ms. Highest average latency among the stored reviewer setups for this connection and input. It is not the maximum individual event or a guaranteed result for every platform. See source notes for each setup.. Calculated from other fields."},"measured_button_latency_bluetooth_ms":{"type":["number","null"],"description":"Button latency Bluetooth (measured, highest average). Unit: ms. Highest average latency among the stored reviewer setups for this connection and input. It is not the maximum individual event or a guaranteed result for every platform. See source notes for each setup.. Calculated from other fields."},"measured_stick_latency_wired_ms":{"type":["number","null"],"description":"Stick latency wired (measured, highest average). Unit: ms. Highest average latency among the stored reviewer setups for this connection and input. It is not the maximum individual event or a guaranteed result for every platform. See source notes for each setup.. Calculated from other fields."},"measured_stick_latency_wireless_ms":{"type":["number","null"],"description":"Stick latency wireless (measured, highest average). Unit: ms. Highest average latency among the stored reviewer setups for this connection and input. It is not the maximum individual event or a guaranteed result for every platform. See source notes for each setup.. Calculated from other fields."},"measured_stick_latency_bluetooth_ms":{"type":["number","null"],"description":"Stick latency Bluetooth (measured, highest average). Unit: ms. Highest average latency among the stored reviewer setups for this connection and input. It is not the maximum individual event or a guaranteed result for every platform. See source notes for each setup.. Calculated from other fields."},"measured_stick_tests":{"type":["array","null"],"items":{"type":"object","properties":{"stick":{"type":["string","null"],"enum":["left","right",null],"description":"Stick. Options: left (Left), right (Right)."},"inner_dead_zone_pct":{"type":["number","null"],"description":"Inner dead zone. Unit: %."},"outer_dead_zone_pct":{"type":["number","null"],"description":"Outer dead zone. Unit: %."},"circularity_error_pct":{"type":["number","null"],"description":"Circularity error. Unit: %."},"resolution_steps":{"type":["integer","null"],"description":"Resolution steps."},"centering_error_pct":{"type":["number","null"],"description":"Centring error. Unit: %."}},"required":["stick","inner_dead_zone_pct","outer_dead_zone_pct","circularity_error_pct","resolution_steps","centering_error_pct"]},"description":"Measured stick tests. Reviewer measurements for each stick under the connection, input mode, firmware and calibration settings documented in source notes. Inner dead zone reported as absent is stored as zero. Outer dead zones in mm are not converted to percent.."},"measured_stick_inner_dead_zone_pct":{"type":["number","null"],"description":"Inner dead zone (measured, worst stick). Unit: %. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_stick_circularity_error_pct":{"type":["number","null"],"description":"Circularity error (measured, worst stick). Unit: %. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_battery_life":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["usb_wired","2_4ghz","xbox_wireless","bluetooth",null],"description":"Connection. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), xbox_wireless (Xbox Wireless), bluetooth (Bluetooth)."},"rumble":{"type":["boolean","null"],"description":"Rumble."},"lighting":{"type":["boolean","null"],"description":"Lighting."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."}},"required":["connection","rumble","lighting","hours"]},"description":"Measured battery life. Reviewer-measured runtime under the connection, activity, rumble and lighting settings stated in source notes. Missing setup cells are unknown, not disabled.."},"measured_charge_time_min":{"type":["integer","null"],"description":"Full charge time (measured). Unit: min. Reviewer measurement from an empty battery to full. Source notes identify the power source, connection, controller operating state and test method when published. Partial charges and maker claims are excluded.."},"measured_weight_g":{"type":["number","null"],"description":"Weight (measured). Unit: g. Measured by a reviewer, not claimed by the maker."},"headphone_jack":{"type":["boolean","null"],"description":"3.5 mm jack."},"headphone_jack_connections":{"type":["array","null"],"items":{"type":"string","enum":["usb_wired","2_4ghz","xbox_wireless","bluetooth"]},"description":"Jack works over. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), xbox_wireless (Xbox Wireless), bluetooth (Bluetooth)."},"built_in_speaker":{"type":["boolean","null"],"description":"Speaker."},"built_in_microphone":{"type":["boolean","null"],"description":"Microphone."},"mic_mute_button":{"type":["boolean","null"],"description":"Microphone mute control. Dedicated physical button or switch on the controller that mutes a built-in or connected headset microphone. Excludes a normal gameplay button assigned to mute through software.."},"expansion_port":{"type":["string","null"],"description":"Expansion port."},"battery_type":{"type":["string","null"],"enum":["built_in","aa","aa_or_pack","swappable_pack","none",null],"description":"Battery type. Options: built_in (Built-in), aa (AA), aa_or_pack (AA or battery pack), swappable_pack (Swappable battery pack), none (None)."},"battery_count":{"type":["integer","null"],"description":"Batteries."},"battery_included":{"type":["boolean","null"],"description":"Batteries included."},"battery_capacity_mah":{"type":["integer","null"],"description":"Battery capacity. Unit: mAh."},"battery_capacity_wh":{"type":["number","null"],"description":"Battery energy. Unit: Wh."},"battery_life_claimed":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["usb_wired","2_4ghz","xbox_wireless","bluetooth",null],"description":"Connection. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), xbox_wireless (Xbox Wireless), bluetooth (Bluetooth)."},"rumble":{"type":["boolean","null"],"description":"Rumble."},"lighting":{"type":["boolean","null"],"description":"Lighting."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."}},"required":["connection","rumble","lighting","hours"]},"description":"Claimed battery life. Maker-claimed runtime. Missing connection, rumble or lighting cells mean that the maker did not state that condition. A plus sign or up-to qualifier is preserved in source notes.."},"battery_life_max_h":{"type":["number","null"],"description":"Longest claimed battery life. Unit: h. Largest numerical runtime figure in the stored maker claims. A 35+ hour claim is a lower-bound figure, not an upper limit. Up-to, approximate and plus qualifiers are preserved in source notes.. Calculated from other fields."},"charging_port":{"type":["string","null"],"enum":["usb_c","micro_usb","lightning","none",null],"description":"Charging connector. Options: usb_c (USB-C), micro_usb (Micro-USB), lightning (Lightning), none (None). Connector used for charging a rechargeable battery. On AA-powered controllers, USB charging requires a compatible rechargeable pack and does not recharge ordinary AA cells.."},"charge_time_0_100_min":{"type":["integer","null"],"description":"Full charge time (claimed). Unit: min. Maker-claimed charging time from an empty battery to full. Charger, cable and controller power state are noted when published.."},"charging_dock":{"type":["string","null"],"enum":["included","sold_separately","none",null],"description":"Charging dock. Options: included (Included), sold_separately (Sold separately), none (None)."},"charging_dock_name":{"type":["string","null"],"description":"Dock."},"play_while_charging":{"type":["boolean","null"],"description":"Play while charging."},"battery_indicator":{"type":["array","null"],"items":{"type":"string","enum":["led","display","app","on_screen"]},"description":"Battery indicator. Options: led (LED), display (Display), app (App), on_screen (On screen)."},"shell_material":{"type":["string","null"],"description":"Shell material."},"grip_texture":{"type":["string","null"],"description":"Grip texture."},"grips_swappable":{"type":["boolean","null"],"description":"Swappable grips."},"faceplate_swappable":{"type":["boolean","null"],"description":"Swappable faceplate."},"user_replaceable_parts":{"type":["array","null"],"items":{"type":"string"},"description":"User-replaceable parts."},"companion_app":{"type":["string","null"],"description":"Companion app."},"companion_app_platforms":{"type":["array","null"],"items":{"type":"string","enum":["xbox_series","xbox_one","ps5","ps4","nintendo_switch","nintendo_switch_2","windows","macos","chromeos","linux","steamos","android","ios","meta_quest","other"]},"description":"App platforms. Options: xbox_series (Xbox Series X|S), xbox_one (Xbox One), ps5 (PS5), ps4 (PS4), nintendo_switch (Nintendo Switch), nintendo_switch_2 (Nintendo Switch 2), windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), steamos (SteamOS), android (Android), ios (iOS), meta_quest (Meta Quest), other (Other)."},"firmware_updatable":{"type":["boolean","null"],"description":"User firmware updates."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Body dimensions. Controller body dimensions, excluding packaging and dock. Width is side to side across the front face. Height is top to bottom across the front face. Depth is front-to-back thickness. Maker axes are reordered when needed without changing the published lengths.."},"weight_g":{"type":["number","null"],"description":"Weight (claimed). Unit: g. Maker-published controller weight with its battery. Fitted sticks, paddles or other accessories and any published tolerance are stated in the source notes. Excludes packaging and dock.."},"fcc_id":{"type":["string","null"],"description":"FCC ID."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."},"cables_included":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"description":"Type."},"length_m":{"type":["number","null"],"description":"Length. Unit: m."},"count":{"type":["integer","null"],"description":"Count."}},"required":["type","length_m","count"]},"description":"Cables included."},"carrying_case":{"type":["string","null"],"enum":["hard","soft","none",null],"description":"Carrying case. Options: hard (Hard), soft (Soft), none (None)."},"stick_drift_warranty_years":{"type":["number","null"],"description":"Stick drift warranty. Unit: years."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","form_factor","stick_layout","face_button_labels","first_party","compatible_platforms","platform_connections","official_license","input_modes","input_mode_switch","steam_input_native","wake_console","phone_max_length_mm","phone_case_compatible","connection_types","bluetooth_version","wireless_receiver","receiver_connector","wireless_range_m","paired_device_slots","wired_connector","usb_version","cable_detachable","cable_length_m","cable_type","polling_rate_modes","polling_rate_wired_hz","polling_rate_wireless_hz","polling_rate_bluetooth_hz","stick_technology","stick_module_model","stick_resolution_bits","stick_dead_zone_default_pct","stick_dead_zone_adjustable","stick_curve_adjustable","stick_tension_adjustable","stick_tension_levels","stick_throw_deg","stick_gate_shape","stick_click","swappable_sticks","stick_cap_options","stick_modules_replaceable","stick_calibration","trigger_technology","trigger_resolution_bits","trigger_travel_mm","trigger_stops","trigger_stop_positions","trigger_stop_type","trigger_travel_short_mm","trigger_dead_zone_adjustable","trigger_hair_mode","adaptive_triggers","face_button_switch_type","face_button_switch_model","face_buttons_swappable","bumper_switch_type","dpad_type","dpad_switch_type","back_buttons","back_button_type","back_paddles_removable","extra_shoulder_buttons","programmable_buttons","on_device_remapping","onboard_profiles","profile_button","turbo_function","macro_support","share_button","rumble","rumble_motor_type","rumble_motor_count","trigger_rumble_motor_count","rumble_intensity_adjustable","gyro","motion_sensor_axes","gyro_mouse_mode","touchpad","touchpad_count","touchpad_clickable","nfc","ir_camera","built_in_display","light_bar","rgb_lighting","lighting_zones","measured_latency","measured_button_latency_wired_ms","measured_button_latency_wireless_ms","measured_button_latency_bluetooth_ms","measured_stick_latency_wired_ms","measured_stick_latency_wireless_ms","measured_stick_latency_bluetooth_ms","measured_stick_tests","measured_stick_inner_dead_zone_pct","measured_stick_circularity_error_pct","measured_battery_life","measured_charge_time_min","measured_weight_g","headphone_jack","headphone_jack_connections","built_in_speaker","built_in_microphone","mic_mute_button","expansion_port","battery_type","battery_count","battery_included","battery_capacity_mah","battery_capacity_wh","battery_life_claimed","battery_life_max_h","charging_port","charge_time_0_100_min","charging_dock","charging_dock_name","play_while_charging","battery_indicator","shell_material","grip_texture","grips_swappable","faceplate_swappable","user_replaceable_parts","companion_app","companion_app_platforms","firmware_updatable","dimensions_mm","weight_g","fcc_id","other_certifications","in_the_box","cables_included","carrying_case","stick_drift_warranty_years"],"description":"Every controller field in schema order. Unknown values are null."},"GraphicsCardSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"gpu":{"type":["string","null"],"description":"GPU. The graphics chip as the chip maker names it, without the card maker's name or the memory size, e.g. \"NVIDIA GeForce RTX 5070 Ti\", \"AMD Radeon RX 9070 XT\", \"Intel Arc B580\". The memory size is in VRAM.."},"gpu_brand":{"type":["string","null"],"enum":["nvidia","amd","intel",null],"description":"GPU brand. Options: nvidia (NVIDIA), amd (AMD), intel (Intel). The chip maker, not the card maker.."},"reference_launch_price_usd":{"type":["number","null"],"description":"Reference launch price (US). Unit: USD. The chip maker's launch price for this GPU in USD, excluding tax. It repeats in every card with this GPU and is not the card's own price. A price the card maker states goes in the launch price field.."},"gpu_architecture":{"type":["string","null"],"description":"GPU architecture. As the chip maker names it, e.g. \"Blackwell\", \"RDNA 4\", \"Xe2\".."},"gpu_die":{"type":["string","null"],"description":"GPU die. The die name, e.g. \"GB203\", \"Navi 48\", \"BMG-G21\". Cards with the same GPU name can use different dies.."},"process_node_name":{"type":["string","null"],"description":"Process. Foundry process name as the chip maker writes it, e.g. \"TSMC 4N\". When the chip maker names none, a spec table in a trusted review counts, and the source note says so. Node names are marketing names, not a physical size. Write the foundry and its node name with no unit, such as \"Samsung 8N\", not \"Samsung 8 nm\".."},"transistor_count_billion":{"type":["number","null"],"description":"Transistors. Unit: billion. Transistors on the whole die, in billions. A cut-down GPU keeps the full count of its die.."},"die_size_mm2":{"type":["number","null"],"description":"Die size. Unit: mm². Area of the whole die.."},"gpu_compute_units":{"type":["integer","null"],"description":"Compute units. NVIDIA streaming multiprocessors (SM), AMD compute units (CU) or Intel Xe-cores, enabled on this GPU. The blocks differ between makers, so compare within one maker.."},"gpu_shader_count":{"type":["integer","null"],"description":"Shader cores. NVIDIA CUDA cores or AMD stream processors, as published. For Intel only a shader count a trusted source states, not a count of Xe Vector Engines. Makers count differently, so compare within one maker.."},"gpu_rt_core_count":{"type":["integer","null"],"description":"Ray tracing cores. NVIDIA RT cores, AMD Ray Accelerators or Intel Ray Tracing Units, enabled on this GPU.."},"gpu_ai_core_count":{"type":["integer","null"],"description":"AI cores. NVIDIA Tensor cores, AMD AI Accelerators or Intel XMX engines, enabled on this GPU.."},"gpu_rop_count":{"type":["integer","null"],"description":"ROPs. Render output units enabled on this GPU.."},"gpu_cache_l2_mb":{"type":["number","null"],"description":"L2 cache. Unit: MB. L2 cache enabled on this GPU.."},"gpu_cache_l3_mb":{"type":["number","null"],"description":"Infinity Cache (L3). Unit: MB. AMD Infinity Cache, a last-level cache behind L2. Left out for a GPU whose maker states no such cache.."},"gpu_tflops_fp32":{"type":["number","null"],"description":"FP32 compute (claimed). Unit: TFLOPS. Peak single-precision shader throughput the chip maker publishes. Makers count operations differently. AMD includes dual-issue rates. Not a game performance figure.."},"ai_performance":{"type":["array","null"],"items":{"type":"object","properties":{"precision":{"type":["string","null"],"enum":["fp16","fp8","fp4","int8","int4",null],"description":"Precision. Options: fp16 (FP16), fp8 (FP8), fp4 (FP4), int8 (INT8), int4 (INT4)."},"sparse":{"type":["boolean","null"],"description":"With sparsity."},"tops":{"type":["number","null"],"description":"Throughput. Unit: TOPS. Trillions of operations per second. Floating-point figures in TFLOPS are stored here unchanged.."}},"required":["precision","sparse","tops"]},"description":"AI performance (claimed). Peak AI throughput the maker publishes, one row per precision and sparsity. A figure without a stated precision stays out. Compare rows with the same precision and sparsity only. NVIDIA: store the headline rows (FP8 and FP16 with FP16 accumulate, FP4 as listed) and name the accumulate precision in the source note. When a maker does not say whether a figure uses sparsity, leave the sparse key out of that row. The chip maker's figures are stored, the same in every card with that GPU. A card maker's higher figure for its own clocks, such as an OC mode, goes in the source note.."},"gpu_base_clock_mhz":{"type":["integer","null"],"description":"Base clock. Unit: MHz. Lowest rated clock under load that the card maker states for this card in MHz. NVIDIA's base clock in GHz is a chip value, and a figure such as 2.33 GHz gives no exact MHz value, so it is not converted. A row labelled only \"Clock Speed\" next to a boost clock row, as on PNY, is the base clock. On an NVIDIA card, a row labelled Graphics Clock next to a Boost Clock row, as on Palit, is the base clock too. A retail or distributor feed that repeats NVIDIA's reference base clock does not count. A card maker's own page that states the reference base clock for a card at reference clocks counts.."},"gpu_game_clock_mhz":{"type":["integer","null"],"description":"Game clock. Unit: MHz. AMD Game Clock or Intel Graphics Clock of this card. Both are a typical clock in games, below the peak boost. On an Intel card, a card maker figure labelled Graphics Clock or Engine Clock is this clock, also with \"up to\". A figure the card maker labels Boost Clock stays a boost clock.."},"gpu_boost_clock_mhz":{"type":["integer","null"],"description":"Boost clock. Unit: MHz. Rated boost clock of this card out of the box, e.g. ASUS \"Default mode\" or MSI \"Boost\". Not a measured clock, the OC mode clock or another card's rating. AMD's boost clock is a maximum burst clock. NVIDIA's is its rated boost clock. Compare within one chip maker only. When the card ships in its OC BIOS position, as the PowerColor Hellhound does, that BIOS clock is stored here and the OC mode field stays empty. The other BIOS clock goes in the source note.."},"gpu_boost_clock_oc_mode_mhz":{"type":["integer","null"],"description":"Boost clock in OC mode. Unit: MHz. Boost clock the card maker states for its OC mode, set in its software or with a BIOS switch, e.g. ASUS \"OC mode\" or MSI \"Extreme Performance\".."},"reference_boost_clock_mhz":{"type":["integer","null"],"description":"Reference boost clock. Unit: MHz. The chip maker's boost clock for this GPU. It shows how far the card is factory overclocked.."},"gpu_vram_gb":{"type":["integer","null"],"description":"VRAM. Unit: GB. Graphics memory on the card. A card with another memory size is another product.."},"gpu_vram_type":{"type":["string","null"],"description":"VRAM type."},"memory_bus_width_bits":{"type":["integer","null"],"description":"Memory bus width. Unit: bits."},"memory_speed_gbps":{"type":["number","null"],"description":"Memory speed. Unit: Gbps. Effective data rate per pin, e.g. 28 for GDDR7 at 28 Gbps. A memory clock published as 28000 MHz effective is 28 Gbps.."},"memory_bandwidth_gbs":{"type":["number","null"],"description":"Memory bandwidth. Unit: GB/s. Peak bandwidth between the GPU and its VRAM, as published. Effective bandwidth figures that include the cache do not count.."},"pcie_gen":{"type":["integer","null"],"description":"PCIe generation. Highest PCIe generation the card supports. In an older slot it runs at that slot's generation.."},"pcie_lanes":{"type":["integer","null"],"description":"PCIe lanes. Electrical lanes the card uses. Many 8-lane cards have a full-length x16 connector. In a PCIe 4.0 slot an 8-lane card has half the link bandwidth of a 16-lane card.."},"display_outputs":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["hdmi","displayport","dvi","vga","usb_c",null],"description":"Type. Options: hdmi (HDMI), displayport (DisplayPort), dvi (DVI), vga (VGA), usb_c (USB-C)."},"version":{"type":["string","null"],"description":"Version. A DisplayPort version includes the UHBR class when stated, e.g. \"2.1b UHBR20\". The card maker's version wins. The UHBR class comes from the card maker or the chip maker. When neither states it, a trusted review counts when it names the class for this card or for every DisplayPort output of its GPU. The source note names the review. A chip maker's class list with no count per port, as Intel gives, is not split over the ports. DVI and VGA rows leave the version out. A link type such as DVI-D single link goes in the source note.."},"count":{"type":["integer","null"],"description":"Count. Number of physical connectors of this type and version.."},"max_bandwidth_gbps":{"type":["number","null"],"description":"Max bandwidth. Unit: Gbps. Stated link rate. UHBR20 is 80, UHBR13.5 is 54, UHBR10 is 40 and DisplayPort 1.4 HBR3 is 32.4. HDMI only when a source states it. A rate per lane is multiplied by the four lanes, so HBR3 at 8.1 Gbps is 32.4 and HDMI FRL at 12 Gbps is 48.."}},"required":["type","version","count","max_bandwidth_gbps"]},"description":"Display outputs. Physical video connectors on the card, one row per type and version. USB-C is a USB Type-C port that carries video.."},"gpu_display_output_count":{"type":["integer","null"],"description":"Display outputs in total. Physical video connectors on the card.. Calculated from other fields."},"hdmi_port_count":{"type":["integer","null"],"description":"HDMI ports. Calculated from other fields."},"displayport_port_count":{"type":["integer","null"],"description":"DisplayPort ports. Calculated from other fields."},"hdmi_version_max":{"type":["string","null"],"description":"Highest HDMI version. Calculated from other fields."},"displayport_version_max":{"type":["string","null"],"description":"Highest DisplayPort version. Calculated from other fields."},"displayport_max_bandwidth_gbps":{"type":["number","null"],"description":"Fastest DisplayPort link. Unit: Gbps. Highest stated DisplayPort link rate on the card.. Calculated from other fields."},"max_external_displays":{"type":["integer","null"],"description":"Max displays. Displays the card drives at the same time.."},"display_output_max":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"refresh_hz":{"type":["integer","null"],"description":"Refresh rate. Unit: Hz."}},"required":["width_px","height_px","refresh_hz"],"description":"Max output resolution. Highest stated output resolution and its refresh rate at that resolution. Do not combine a resolution and a refresh rate from different modes. DSC and port conditions belong in the source note. When the card maker states only the resolution, take the refresh rate at that resolution from the chip maker. When two ports differ, store the highest mode and name the port in the source note.."},"hdcp_version":{"type":["string","null"],"description":"HDCP version."},"video_encoder_count":{"type":["integer","null"],"description":"Video encoders. Hardware encode engines, e.g. 3 for \"3x NVENC\". Intel multi-format codec engines both encode and decode and count here and in video decoders. AMD publishes no engine counts. Leave it empty until an AMD document gives them.."},"video_decoder_count":{"type":["integer","null"],"description":"Video decoders. Hardware decode engines, e.g. 2 for \"2x NVDEC\". AMD publishes no engine counts. Leave it empty until an AMD document gives them.."},"video_encode":{"type":["array","null"],"items":{"type":"string","enum":["h264","h265","av1"]},"description":"Hardware video encode. Options: h264 (H.264), h265 (H.265 (HEVC)), av1 (AV1). Codecs the maker states the GPU encodes in hardware.."},"video_decode":{"type":["array","null"],"items":{"type":"string","enum":["h264","h265","vp9","av1","h266"]},"description":"Hardware video decode. Options: h264 (H.264), h265 (H.265 (HEVC)), vp9 (VP9), av1 (AV1), h266 (H.266 (VVC)). Codecs the maker states the GPU decodes in hardware.."},"directx_version":{"type":["string","null"],"description":"DirectX. As published, e.g. \"12 Ultimate\".."},"vulkan_version":{"type":["string","null"],"description":"Vulkan. As published. It can rise with drivers.."},"opengl_version":{"type":["string","null"],"description":"OpenGL. As published.."},"upscaling_technologies":{"type":["array","null"],"items":{"type":"string"},"description":"Upscaling technologies. The maker's upscaling names with version, e.g. \"DLSS 4\", \"FSR 4\", \"XeSS 2\". Game support varies. A bundle name such as FSR Redstone is not an upscaler name, so its upscaler is written with its version, such as FSR 4. When the card maker and the chip maker write different versions, the chip maker's spec table wins. When the chip maker names no version, as NVIDIA writes DLSS for RTX 30 cards, the name is stored without one.."},"frame_generation_technologies":{"type":["array","null"],"items":{"type":"string"},"description":"Frame generation. The maker's frame generation names, e.g. \"DLSS Multi Frame Generation\", \"FSR Frame Generation\", \"AMD Fluid Motion Frames 2\". Driver-level features count. Game support varies. Chip-level lists are copied the same way into every card with that GPU. Versions are written with the major number only, so AMD Fluid Motion Frames 2.1 is AMD Fluid Motion Frames 2.."},"gpu_tgp_max_w":{"type":["integer","null"],"description":"Board power. Unit: W. Default board power or power limit of this card. Use the card maker's figure first: NVIDIA Total Graphics Power, AMD Total or Typical Board Power, Intel TBP. A row on the card maker's own page counts under any label, such as Power Consumption or TDP. When the card maker states none, a reviewer's reading of the default power limit counts, and the source note names the reader and the tool. Retail feed fields such as \"Power consumption (typical)\" do not count. AMD's Typical Board Power and the power limit can differ. When both are known, store the default-mode power limit. The reference figure is not proof of a partner card's power. Other BIOS modes go in the source note. A reviewer who only relays a maker figure has not read the power limit.."},"reference_board_power_w":{"type":["integer","null"],"description":"Reference board power. Unit: W. The chip maker's board power for this GPU. It is a chip spec and repeats in every card with this GPU.."},"recommended_psu_w":{"type":["integer","null"],"description":"PSU wattage (card maker). Unit: W. The PSU wattage the card maker lists for a full system with this card, whether it calls it Recommended, Minimum or Required. NVIDIA calls it Required System Power, AMD Minimum PSU Recommendation. When a maker lists both a recommendation and a lower minimum, store the recommendation and note the minimum. Makers differ for the same GPU, so compare cards of one maker only.."},"gpu_power_connector":{"type":["string","null"],"enum":["12v_2x6","12vhpwr","pcie_16pin","pcie_6pin_x1","pcie_8pin_6pin","pcie_8pin_x1","pcie_8pin_x2","pcie_8pin_x3","none",null],"description":"Power connector. Options: 12v_2x6 (12V-2x6), 12vhpwr (12VHPWR), pcie_16pin (16-pin (revision not stated)), pcie_6pin_x1 (1 x 6-pin PCIe), pcie_8pin_6pin (1 x 8-pin and 1 x 6-pin PCIe), pcie_8pin_x1 (1 x 8-pin PCIe), pcie_8pin_x2 (2 x 8-pin PCIe), pcie_8pin_x3 (3 x 8-pin PCIe), none (None). Supplementary power inputs on the card. 16-pin with no revision means the maker does not say 12V-2x6 or 12VHPWR. Use 12V-2x6 or 12VHPWR only when the card maker's page or manual names it. Do not infer it from the GPU generation or from a reviewer's or retailer's wording.."},"cooler_type":{"type":["string","null"],"enum":["open_air","blower","aio_liquid","water_block","passive",null],"description":"Cooler type. Options: open_air (Open air), blower (Blower), aio_liquid (All-in-one liquid), water_block (Water block), passive (Passive (no fan)). Open air covers axial fans that blow onto the heatsink, including flow-through designs. All-in-one liquid is a card with an attached radiator. A water block needs a custom loop. Passive means no fan, and the fan count is 0.."},"fan_count":{"type":["integer","null"],"description":"Fans. Fans mounted on the card. Radiator fans of an all-in-one cooler are not counted.."},"radiator_mm":{"type":["integer","null"],"description":"Radiator size. Unit: mm. Liquid-cooled cards only. The nominal size class from the fan positions, e.g. 240 or 360.."},"fan_stop_idle":{"type":["boolean","null"],"description":"Fan stop at low load. The fans stop below a temperature or load threshold, e.g. ASUS 0dB or MSI Zero Frozr. A maker's semi-passive or 0dB text counts. A threshold goes in the source note.."},"dual_bios":{"type":["boolean","null"],"description":"Dual BIOS. A switch on the card selects between two factory firmware profiles, e.g. Performance and Quiet.."},"gpu_length_mm":{"type":["number","null"],"description":"Length. Unit: mm. Card length along the PCIe connector, from the bracket to the far end. Makers write it as L. Makers write L x W x H. W is the card height and H is the thickness. NVIDIA calls the height Width. Retail feeds relabel the sides as Height, Width or Depth, so decide by size: length is the longest side and thickness the shortest. When the maker lists sizes with and without the bracket, store the size with the bracket.."},"gpu_height_mm":{"type":["number","null"],"description":"Height. Unit: mm. From the PCIe connector edge to the top of the card. The source note says when the bracket or the power plug is included. Makers write L x W x H. W is the card height and H is the thickness. NVIDIA calls the height Width. Retail feeds relabel the sides as Height, Width or Depth, so decide by size: length is the longest side and thickness the shortest. When the maker lists sizes with and without the bracket, store the size with the bracket.."},"gpu_thickness_mm":{"type":["number","null"],"description":"Thickness. Unit: mm. From the bracket face to the back of the cooler. Makers often write it as H. Makers write L x W x H. W is the card height and H is the thickness. NVIDIA calls the height Width. Retail feeds relabel the sides as Height, Width or Depth, so decide by size: length is the longest side and thickness the shortest. When the maker lists sizes with and without the bracket, store the size with the bracket.."},"gpu_slot_width":{"type":["number","null"],"description":"Slot width. Unit: slots. Thickness in expansion-slot units as the card maker states it, e.g. 2.5 or 3.125. Not the number of slots the card covers in a case. Only a slot figure the card maker states. Do not compute it from the thickness. Retail feeds give different values for the same card. A slot figure in a row labelled Height, as on Palit, counts.."},"low_profile":{"type":["boolean","null"],"description":"Low profile. The maker states the card fits low-profile slots, usually with a half-height bracket in the box. False when a data sheet says full-height bracket (FH/FL or FH/HL). Left out otherwise.."},"sff_ready":{"type":["boolean","null"],"description":"NVIDIA SFF-Ready. The card is on NVIDIA's SFF-Ready Enthusiast GeForce list. Only GeForce cards can qualify. For a GPU class the list covers, the list decides, and a card missing from it is false. Below the 70 class, which the list does not cover, the card maker's own SFF-Ready claim counts. A retail title does not.."},"weight_g":{"type":["number","null"],"description":"Weight. Unit: g. The card alone, without support bracket, adapter or packaging. A liquid-cooled card includes its attached radiator and tubes. A weight rounded to whole kilograms, as some retail and distributor feeds print it, is not stored. A colour edition can state its own weight, so it is per variant. A feed weight that does not say whether it is the card or the package is not stored.."},"package_weight_g":{"type":["number","null"],"description":"Package weight. Unit: g. One retail box with its contents. A weight rounded to whole kilograms in a retail or distributor feed is not stored. A feed weight that does not say whether it is the card or the package is not stored. A feed's gross weight is the package weight, and the same rounding rule applies.."},"rgb_lighting":{"type":["boolean","null"],"description":"RGB lighting. Decorative lighting with selectable colours. A white logo or a single fixed colour does not count.."},"lighting_ecosystems":{"type":["array","null"],"items":{"type":"string"},"description":"Lighting sync. Sync standards the maker names, as a short name without a version, e.g. \"ASUS Aura Sync\", \"MSI Mystic Light\", \"Gigabyte RGB Fusion\". Leave it empty when the maker names only its own app. That goes in Software.."},"software_name":{"type":["string","null"],"description":"Software. The card maker's tuning software, not the chip maker's driver.."},"measured_gpu_gaming_clock_mhz":{"type":["integer","null"],"description":"GPU clock while gaming (measured). Unit: MHz. Average GPU clock a reviewer logged in a game at the card's default settings, after warm-up. Game, resolution and BIOS mode are in the source note.."},"benchmark_3dmark_time_spy_graphics":{"type":["integer","null"],"description":"3DMark Time Spy graphics. Unit: points. Graphics score, not the overall score. Measured by a reviewer, not claimed by the maker. A score the review does not label as graphics is left out.."},"benchmark_3dmark_steel_nomad":{"type":["integer","null"],"description":"3DMark Steel Nomad. Unit: points. Measured by a reviewer, not claimed by the maker.."},"benchmark_3dmark_port_royal":{"type":["integer","null"],"description":"3DMark Port Royal. Unit: points. Measured by a reviewer, not claimed by the maker.."},"benchmark_3dmark_speed_way":{"type":["integer","null"],"description":"3DMark Speed Way. Unit: points. Measured by a reviewer, not claimed by the maker.."},"game_fps_measured":{"type":["array","null"],"items":{"type":"object","properties":{"game":{"type":["string","null"],"description":"Game."},"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"preset":{"type":["string","null"],"description":"Preset."},"upscaling":{"type":["string","null"],"description":"Upscaling."},"ray_tracing":{"type":["boolean","null"],"description":"Ray tracing."},"avg_fps":{"type":["number","null"],"description":"Average FPS. Unit: fps."},"low_1pct_fps":{"type":["number","null"],"description":"1 % low FPS. Unit: fps."}},"required":["game","width_px","height_px","preset","upscaling","ray_tracing","avg_fps","low_1pct_fps"]},"description":"Game frame rates. Reviewer frame rates for this card. The test CPU, memory and driver, frame generation, and whether the card ran at factory or reference clocks are in the source note.."},"fan_noise_measured":{"type":["array","null"],"items":{"type":"object","properties":{"profile":{"type":["string","null"],"description":"Profile."},"load":{"type":["string","null"],"enum":["idle","gaming","max_load",null],"description":"Load. Options: idle (Idle), gaming (Gaming), max_load (Max load)."},"distance_cm":{"type":["number","null"],"description":"Distance. Unit: cm."},"noise_dba":{"type":["number","null"],"description":"Noise. Unit: dB(A)."}},"required":["profile","load","distance_cm","noise_dba"]},"description":"Fan noise per load. Sound pressure a reviewer measured from the card. Profile is the BIOS mode or fan profile as the reviewer names it. Fixed fan-speed tests are not a load. Compare only at the same distance. A row needs a distance. Take it from the review or from the site's test-method page. Leave the row out when neither states it. A synthetic or render load, such as a 3DMark loop or FurMark, is max load. Sone values are not converted. When a review gives two distances for one test, the row is left out.."},"measured_noise_gaming_dba":{"type":["number","null"],"description":"Fan noise while gaming. Unit: dB(A). Loudest gaming row, so the loudest BIOS mode tested. Compare only at the same distance.. Calculated from other fields."},"measured_gpu_gaming_temp_c":{"type":["number","null"],"description":"GPU temperature while gaming. Unit: °C. GPU core sensor after warm-up in a game, at default fan settings. Not the hot spot. A synthetic stress test does not count. The average or plateau reading after the card has warmed up, never the peak. A run of a few minutes does not count. The run length goes in the source note.."},"measured_hotspot_gaming_temp_c":{"type":["number","null"],"description":"Hot spot temperature while gaming. Unit: °C. Hottest sensor on the GPU die under the same game load. The average or plateau reading after the card has warmed up, never the peak. A run of a few minutes does not count. The run length goes in the source note.."},"measured_memory_gaming_temp_c":{"type":["number","null"],"description":"Memory temperature while gaming. Unit: °C. VRAM sensor under the same game load. The average or plateau reading after the card has warmed up, never the peak. A run of a few minutes does not count. The run length goes in the source note.."},"measured_gpu_idle_power_w":{"type":["number","null"],"description":"Card power at idle (measured). Unit: W. Power of the card alone at the desktop with one display. A hardware capture of slot and cable power comes first, a software reading of total board power second. The method is in the source note. Wall power does not count.."},"measured_gpu_gaming_power_w":{"type":["number","null"],"description":"GPU power while gaming (measured). Unit: W. Average power of the card alone in a game at default settings. Same method rule as idle power. A mix of games, synthetic loads or stress tests does not count. Total board power, such as PCGH's Boardpower, not the GPU chip or Graphics Power reading alone.."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."},"power_adapter_included":{"type":["boolean","null"],"description":"Power adapter cable included. An adapter from PCIe 8-pin cables to the card's 16-pin input is in the box.."},"support_bracket_included":{"type":["boolean","null"],"description":"Support bracket included. An anti-sag holder or support bracket is in the box.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","gpu","gpu_brand","reference_launch_price_usd","gpu_architecture","gpu_die","process_node_name","transistor_count_billion","die_size_mm2","gpu_compute_units","gpu_shader_count","gpu_rt_core_count","gpu_ai_core_count","gpu_rop_count","gpu_cache_l2_mb","gpu_cache_l3_mb","gpu_tflops_fp32","ai_performance","gpu_base_clock_mhz","gpu_game_clock_mhz","gpu_boost_clock_mhz","gpu_boost_clock_oc_mode_mhz","reference_boost_clock_mhz","gpu_vram_gb","gpu_vram_type","memory_bus_width_bits","memory_speed_gbps","memory_bandwidth_gbs","pcie_gen","pcie_lanes","display_outputs","gpu_display_output_count","hdmi_port_count","displayport_port_count","hdmi_version_max","displayport_version_max","displayport_max_bandwidth_gbps","max_external_displays","display_output_max","hdcp_version","video_encoder_count","video_decoder_count","video_encode","video_decode","directx_version","vulkan_version","opengl_version","upscaling_technologies","frame_generation_technologies","gpu_tgp_max_w","reference_board_power_w","recommended_psu_w","gpu_power_connector","cooler_type","fan_count","radiator_mm","fan_stop_idle","dual_bios","gpu_length_mm","gpu_height_mm","gpu_thickness_mm","gpu_slot_width","low_profile","sff_ready","weight_g","package_weight_g","rgb_lighting","lighting_ecosystems","software_name","measured_gpu_gaming_clock_mhz","benchmark_3dmark_time_spy_graphics","benchmark_3dmark_steel_nomad","benchmark_3dmark_port_royal","benchmark_3dmark_speed_way","game_fps_measured","fan_noise_measured","measured_noise_gaming_dba","measured_gpu_gaming_temp_c","measured_hotspot_gaming_temp_c","measured_memory_gaming_temp_c","measured_gpu_idle_power_w","measured_gpu_gaming_power_w","in_the_box","power_adapter_included","support_bracket_included"],"description":"Every graphics card field in schema order. Unknown values are null."},"HandheldConsoleSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"device_class":{"type":["string","null"],"enum":["dedicated_console","handheld_pc","android_handheld","retro_handheld","streaming_handheld",null],"description":"Device class. Options: dedicated_console (Dedicated console), handheld_pc (Handheld PC), android_handheld (Android handheld), retro_handheld (Retro handheld), streaming_handheld (Streaming handheld). A streaming handheld only plays remote or cloud games."},"form_factor":{"type":["string","null"],"enum":["slate","detachable_controllers","clamshell","vertical","other",null],"description":"Form factor. Options: slate (Slate), detachable_controllers (Detachable controllers), clamshell (Clamshell), vertical (Vertical), other (Other)."},"os_family":{"type":["string","null"],"enum":["windows","steamos","nintendo_switch_os","android","linux_other","other",null],"description":"OS family. Options: windows (Windows), steamos (SteamOS), nintendo_switch_os (Nintendo Switch OS), android (Android), linux_other (Other Linux), other (Other)."},"os_at_launch":{"type":["string","null"],"description":"OS at launch."},"os_latest":{"type":["string","null"],"description":"Latest OS."},"game_stores":{"type":["array","null"],"items":{"type":"string"},"description":"Built-in game stores."},"physical_game_media":{"type":["string","null"],"enum":["game_card","umd","none",null],"description":"Physical games. Options: game_card (Game card), umd (UMD), none (None)."},"backward_compatibility":{"type":["string","null"],"description":"Backward compatibility."},"upscaling_technologies":{"type":["array","null"],"items":{"type":"string","enum":["fsr_1","fsr_3","fsr_4","rsr","afmf","dlss","xess","other"]},"description":"Upscaling and frame generation. Options: fsr_1 (FSR 1), fsr_3 (FSR 3), fsr_4 (FSR 4), rsr (RSR), afmf (AFMF), dlss (DLSS), xess (XeSS), other (Other). Support at system or driver level."},"chipset":{"type":["string","null"],"description":"Chip."},"cpu_brand":{"type":["string","null"],"enum":["amd","intel","nvidia","qualcomm","mediatek","other",null],"description":"Chip brand. Options: amd (AMD), intel (Intel), nvidia (NVIDIA), qualcomm (Qualcomm), mediatek (MediaTek), other (Other)."},"cpu_clusters":{"type":["array","null"],"items":{"type":"object","properties":{"core_type":{"type":["string","null"],"enum":["performance","efficiency","low_power_efficiency","zen5","zen5c","prime",null],"description":"Core type. Options: performance (Performance), efficiency (Efficiency), low_power_efficiency (Low-power efficiency), zen5 (Zen 5), zen5c (Zen 5c), prime (Prime). Use the chip maker core classification. Zen 5c is not relabelled as Intel efficiency. Qualcomm's Prime core is Prime, its Gold or Performance cores are Performance and its Silver or Efficiency cores are Efficiency.."},"count":{"type":["integer","null"],"description":"Physical core count. Includes physical cores reserved for the operating system. Threads are not counted.."},"core_name":{"type":["string","null"],"description":"Core."},"base_ghz":{"type":["number","null"],"description":"Base clock. Unit: GHz."},"max_ghz":{"type":["number","null"],"description":"Max clock. Unit: GHz."}},"required":["core_type","count","core_name","base_ghz","max_ghz"]},"description":"Core configuration. Physical CPU cores, including cores reserved by the operating system. P/E labels describe the maker architecture. Source notes identify clocks used only in specific operating modes.."},"cpu_core_count":{"type":["integer","null"],"description":"CPU cores. Calculated from other fields."},"cpu_max_ghz":{"type":["number","null"],"description":"Max CPU clock. Unit: GHz. Calculated from other fields."},"process_node_nm":{"type":["number","null"],"description":"Process. Unit: nm."},"gpu":{"type":["string","null"],"description":"GPU."},"gpu_architecture":{"type":["string","null"],"description":"GPU architecture."},"gpu_compute_units":{"type":["integer","null"],"description":"GPU compute units. AMD compute units, NVIDIA streaming multiprocessors or Intel Xe-cores. These counts use different architectures and are not directly comparable. The source note names the unit.."},"gpu_boost_clock_mhz":{"type":["integer","null"],"description":"GPU max clock. Unit: MHz. Highest documented GPU operating clock for this device. Source notes say when a value applies only in docked or mains-powered mode.."},"gpu_tflops_fp32":{"type":["number","null"],"description":"GPU compute (claimed). Unit: TFLOPS. Maker-rated FP32 throughput. Mode is named in the source note. Not a game performance benchmark.."},"tdp_modes":{"type":["array","null"],"items":{"type":"object","properties":{"mode_name":{"type":["string","null"],"description":"Mode."},"power_source":{"type":["string","null"],"enum":["battery","mains","docked",null],"description":"Power source. Options: battery (Battery), mains (Mains), docked (Docked)."},"tdp_w":{"type":["number","null"],"description":"TDP. Unit: W."},"cpu_max_ghz":{"type":["number","null"],"description":"Max CPU clock. Unit: GHz."},"gpu_max_mhz":{"type":["integer","null"],"description":"Max GPU clock. Unit: MHz."}},"required":["mode_name","power_source","tdp_w","cpu_max_ghz","gpu_max_mhz"]},"description":"Power modes. Documented device APU power limits or per-mode clocks. A continuous range may be represented by its two endpoints, identified in source notes. Transient boost power is not substituted for sustained TDP.."},"tdp_min_w":{"type":["number","null"],"description":"Lowest TDP. Unit: W. Calculated from other fields."},"tdp_max_w":{"type":["number","null"],"description":"Highest TDP. Unit: W. Calculated from other fields."},"tdp_max_battery_w":{"type":["number","null"],"description":"Highest TDP on battery. Unit: W. Calculated from other fields."},"tdp_user_adjustable":{"type":["boolean","null"],"description":"Custom TDP. You can set a TDP value, not only presets."},"ram_gb":{"type":["array","null"],"items":{"type":"integer"},"description":"RAM. Unit: GB."},"ram_type":{"type":["string","null"],"description":"RAM type."},"ram_speed_mts":{"type":["integer","null"],"description":"RAM speed. Unit: MT/s. Effective memory transfer rate, not a clock stated in MHz. Source notes identify mode or platform speed limits.."},"memory_bandwidth_gb_s":{"type":["number","null"],"description":"Memory bandwidth. Unit: GB/s. Published memory bandwidth in decimal GB/s. Source notes identify handheld or docked mode. Do not calculate from rounded speed and bus-width claims.."},"storage_gb":{"type":["array","null"],"items":{"type":"integer"},"description":"Storage. Unit: GB. Advertised internal storage tiers in decimal GB. Convert a published 1 TB or 2 TB tier to 1000 or 2000 GB. Keep a literal published GB number as given. Do not infer usable formatted capacity.."},"storage_type":{"type":["string","null"],"enum":["nvme_ssd","ufs","emmc","other",null],"description":"Storage type. Options: nvme_ssd (NVMe SSD), ufs (UFS), emmc (eMMC), other (Other). Type of the built-in storage. eMCP is a package that holds eMMC flash and RAM, so it is eMMC.."},"storage_pcie_gen":{"type":["integer","null"],"description":"Installed drive PCIe generation. PCIe generation of the installed storage module, not the maximum supported by the connector.."},"storage_slots":{"type":["array","null"],"items":{"type":"object","properties":{"form_factor":{"type":["string","null"],"enum":["m2_2230","m2_2242","m2_2280",null],"description":"Form factor. Options: m2_2230 (M.2 2230), m2_2242 (M.2 2242), m2_2280 (M.2 2280)."},"interface":{"type":["string","null"],"enum":["pcie_nvme","sata",null],"description":"Interface. Options: pcie_nvme (PCIe NVMe), sata (SATA)."},"pcie_gen":{"type":["integer","null"],"description":"PCIe generation."},"pcie_lanes":{"type":["integer","null"],"description":"PCIe lanes."},"count":{"type":["integer","null"],"description":"Count."},"occupied":{"type":["boolean","null"],"description":"Occupied."}},"required":["form_factor","interface","pcie_gen","pcie_lanes","count","occupied"]},"description":"Storage slots. Internal physical storage sockets, including occupied sockets. Interface describes compatible storage. Source notes distinguish the installed drive from slot capability.."},"m2_slot_count":{"type":["integer","null"],"description":"M.2 slots. Calculated from other fields."},"memory_card_slot":{"type":["string","null"],"enum":["none","microsd","microsd_express",null],"description":"Memory card. Options: none (None), microsd (microSD), microsd_express (microSD Express)."},"memory_card_bus":{"type":["string","null"],"description":"Card speed class."},"memory_card_max_gb":{"type":["integer","null"],"description":"Max card size. Unit: GB. Largest card capacity explicitly supported for games. Decimal storage units: 1 TB is 1000 GB. Support for screenshots only does not establish game-storage support.."},"screen_size_in":{"type":["number","null"],"description":"Screen size. Unit: in."},"native_resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Native resolution."},"pixel_density_ppi":{"type":["number","null"],"description":"Pixel density. Unit: ppi. Calculated from other fields."},"aspect_ratio":{"type":["string","null"],"description":"Aspect ratio."},"panel_type":{"type":["string","null"],"enum":["ips","oled","va","tn","other","lcd","ips_level",null],"description":"Panel type. Options: ips (IPS), oled (OLED), va (VA), tn (TN), other (Other), lcd (LCD (subtype not stated)), ips_level (IPS-level LCD). Use the panel type explicitly stated by the source. IPS-level is a maker comparison term. LCD means the maker does not name the LCD subtype.."},"native_panel_orientation":{"type":["string","null"],"enum":["landscape","portrait",null],"description":"Native panel orientation. Options: landscape (Landscape), portrait (Portrait). Portrait panels break some games."},"screen_surface":{"type":["string","null"],"enum":["matte","semi_glossy","glossy","etched_glass",null],"description":"Screen surface. Options: matte (Matte), semi_glossy (Semi-glossy), glossy (Glossy), etched_glass (Etched anti-glare glass). Surface finish or treatment stated by the maker or reviewer. Etched anti-glare glass is not automatically classified as matte.."},"is_touchscreen":{"type":["boolean","null"],"description":"Touchscreen."},"refresh_rate_modes":{"type":["array","null"],"items":{"type":"object","properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"max_hz":{"type":["integer","null"],"description":"Max. Unit: Hz."},"vrr":{"type":["boolean","null"],"description":"VRR."}},"required":["width_px","height_px","max_hz","vrr"]},"description":"Built-in display refresh modes. Maximum built-in display refresh rate for each documented resolution and mode. External displays and dock output have separate fields. Do not copy supported input timings as proven maxima.."},"max_refresh_rate_hz":{"type":["integer","null"],"description":"Max refresh rate. Unit: Hz. Calculated from other fields."},"vrr_technologies":{"type":["array","null"],"items":{"type":"string","enum":["vesa_adaptive_sync","freesync","freesync_premium","freesync_premium_pro","gsync","windows_drr","other"]},"description":"Adaptive sync. Options: vesa_adaptive_sync (VESA Adaptive-Sync), freesync (FreeSync), freesync_premium (FreeSync Premium), freesync_premium_pro (FreeSync Premium Pro), gsync (G-SYNC), windows_drr (Windows DRR), other (Other)."},"vrr_min_hz":{"type":["integer","null"],"description":"VRR lower limit. Unit: Hz."},"brightness_typical_nits":{"type":["number","null"],"description":"Brightness (SDR, claimed). Unit: nits."},"brightness_hdr_peak_nits":{"type":["number","null"],"description":"Peak brightness (HDR, claimed). Unit: nits."},"dci_p3_coverage_pct":{"type":["number","null"],"description":"DCI-P3 coverage (claimed). Unit: %. Percentage of the DCI-P3 colour space covered, from 0 to 100. Gamut volume, Display P3 and unspecified P3 are different measurements.."},"hdr_formats":{"type":["array","null"],"items":{"type":"string","enum":["hdr10","hdr10_plus","dolby_vision","hlg"]},"description":"HDR formats. Options: hdr10 (HDR10), hdr10_plus (HDR10+), dolby_vision (Dolby Vision), hlg (HLG)."},"secondary_display":{"type":["object","null"],"properties":{"screen_size_in":{"type":["number","null"],"description":"Screen size. Unit: in."},"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"is_touchscreen":{"type":["boolean","null"],"description":"Touchscreen."}},"required":["screen_size_in","width_px","height_px","is_touchscreen"],"description":"Second display."},"stick_technology":{"type":["string","null"],"enum":["potentiometer","hall_effect","tmr","capacitive","other",null],"description":"Stick sensor. Options: potentiometer (Potentiometer), hall_effect (Hall effect), tmr (TMR), capacitive (Capacitive), other (Other). How the stick measures its position. Capacitive is only for a stick that senses its position by capacitance. Maker wording such as capacitive sticks often means the sticks sense a resting thumb, which is Touch-sensitive sticks.."},"stick_layout":{"type":["string","null"],"enum":["offset","symmetric",null],"description":"Stick layout. Options: offset (Offset), symmetric (Symmetric)."},"stick_capacitive_touch":{"type":["boolean","null"],"description":"Touch-sensitive sticks. The sticks sense a resting thumb. It says nothing about how the stick measures its position, which is Stick sensor.."},"stick_modules_replaceable":{"type":["string","null"],"enum":["user_swappable","solder_free_service","soldered",null],"description":"Replaceable stick modules. Options: user_swappable (User-swappable), solder_free_service (Service without soldering), soldered (Soldered)."},"trigger_technology":{"type":["string","null"],"enum":["potentiometer","hall_effect","tmr","digital","other",null],"description":"Trigger sensor. Options: potentiometer (Potentiometer), hall_effect (Hall effect), tmr (TMR), digital (Digital), other (Other)."},"trigger_stops":{"type":["boolean","null"],"description":"Trigger stops."},"dpad_type":{"type":["string","null"],"enum":["cross","split_cross","four_button","disc","other",null],"description":"D-pad. Options: cross (Cross), split_cross (Split cross), four_button (Four buttons), disc (Disc), other (Other)."},"face_button_labels":{"type":["string","null"],"enum":["xbox","nintendo","playstation","other",null],"description":"Face button labels. Options: xbox (Xbox), nintendo (Nintendo), playstation (PlayStation), other (Other)."},"back_buttons":{"type":["integer","null"],"description":"Extra rear and grip buttons. Extra rear or grip buttons and paddles. Excludes shoulder bumpers and triggers (L1/R1/L2/R2), Joy-Con rail SL/SR and system/menu controls.."},"touchpad_count":{"type":["integer","null"],"description":"Trackpads."},"on_device_remapping":{"type":["boolean","null"],"description":"System-level remapping. Remap buttons without support in the game."},"hardware_buttons":{"type":["array","null"],"items":{"type":"string"},"description":"System buttons."},"detached_controller_connection":{"type":["array","null"],"items":{"type":"string","enum":["bluetooth","2_4ghz","proprietary"]},"description":"Detached controller connection. Options: bluetooth (Bluetooth), 2_4ghz (2.4 GHz), proprietary (Proprietary). Wireless connection used after the controllers are detached. Does not describe the attached controller contacts.."},"optical_mouse_sensor":{"type":["boolean","null"],"description":"Controller mouse sensor. A controller works as a mouse on a desk."},"fingerprint_sensor":{"type":["string","null"],"enum":["power_button","separate","none",null],"description":"Fingerprint. Options: power_button (Power button), separate (Separate sensor), none (None)."},"gyro":{"type":["boolean","null"],"description":"Gyroscope."},"rumble":{"type":["array","null"],"items":{"type":"string","enum":["rumble","impulse_triggers","hd_haptics","haptic_feedback"]},"description":"Rumble. Options: rumble (Rumble), impulse_triggers (Impulse triggers), hd_haptics (HD haptics), haptic_feedback (Haptic feedback). Use the maker feedback wording. Generic haptic feedback is not automatically labelled HD haptics. Trigger rumble is separate from adaptive trigger resistance.."},"rgb_lighting":{"type":["boolean","null"],"description":"RGB lighting."},"measured_sdr_brightness_nits":{"type":["number","null"],"description":"Brightness (measured). Unit: nits. Centre, full white, SDR. Measured by a reviewer."},"measured_hdr_peak_nits":{"type":["number","null"],"description":"HDR peak brightness (measured). Unit: nits. Measured by a reviewer, not claimed by the maker."},"measured_contrast_ratio":{"type":["number","null"],"description":"Contrast ratio (measured). 1000 means 1000:1. Measured by a reviewer."},"measured_dci_p3_coverage_pct":{"type":["number","null"],"description":"DCI-P3 coverage (measured). Unit: %. Measured DCI-P3 area coverage, from 0 to 100. Do not substitute gamut volume, Display P3 or unspecified P3. Test method belongs in source notes.."},"measured_color_accuracy_delta_e":{"type":["number","null"],"description":"Colour accuracy (measured Delta E). Measured by a reviewer, not claimed by the maker."},"measured_pwm_frequency_hz":{"type":["integer","null"],"description":"PWM frequency (measured). Unit: Hz. Only when the reviewer found PWM flicker."},"benchmark_3dmark_time_spy_graphics":{"type":["integer","null"],"description":"3DMark Time Spy graphics (measured). Unit: points. Measured by a reviewer, not claimed by the maker."},"benchmark_3dmark_steel_nomad_light":{"type":["integer","null"],"description":"3DMark Steel Nomad Light (measured). Unit: points. Runs on Windows, Android and Arm. Measured by a reviewer."},"benchmark_3dmark_wild_life_extreme":{"type":["integer","null"],"description":"3DMark Wild Life Extreme (measured). Unit: points. Measured by a reviewer, not claimed by the maker."},"benchmark_cinebench_2024_single":{"type":["number","null"],"description":"Cinebench 2024 single-core (measured). Unit: points. Measured by a reviewer, not claimed by the maker."},"benchmark_cinebench_2024_multi":{"type":["integer","null"],"description":"Cinebench 2024 multi-core (measured). Unit: points. Measured by a reviewer, not claimed by the maker."},"benchmark_antutu":{"type":["integer","null"],"description":"AnTuTu (measured). Unit: points. Measured by a reviewer, not claimed by the maker."},"game_fps_measured":{"type":["array","null"],"items":{"type":"object","properties":{"game":{"type":["string","null"],"description":"Game."},"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"preset":{"type":["string","null"],"description":"Preset."},"upscaling":{"type":["string","null"],"description":"Upscaling."},"ray_tracing":{"type":["boolean","null"],"description":"Ray tracing."},"tdp_w":{"type":["number","null"],"description":"TDP. Unit: W."},"power_source":{"type":["string","null"],"enum":["battery","mains","docked",null],"description":"Power source. Options: battery (Battery), mains (Mains), docked (Docked)."},"avg_fps":{"type":["number","null"],"description":"Average FPS. Unit: fps."},"low_1pct_fps":{"type":["number","null"],"description":"1 % low FPS. Unit: fps."}},"required":["game","width_px","height_px","preset","upscaling","ray_tracing","tdp_w","power_source","avg_fps","low_1pct_fps"]},"description":"Game frame rates (measured). Reviewer measurements only. Each row preserves resolution, preset and power settings when stated. In-game and driver frame generation are identified in source notes.."},"measured_ssd_read_mbs":{"type":["integer","null"],"description":"SSD sequential read (measured). Unit: MB/s. Measured by a reviewer, not claimed by the maker."},"measured_memory_card_read_mbs":{"type":["integer","null"],"description":"Memory card read (measured). Unit: MB/s. Measured by a reviewer, not claimed by the maker."},"battery_runtime_measured":{"type":["array","null"],"items":{"type":"object","properties":{"test":{"type":["string","null"],"enum":["idle","wifi_websurfing","video_playback","gaming","max_load",null],"description":"Test. Options: idle (Idle), wifi_websurfing (Wi-Fi browsing), video_playback (Video playback), gaming (Gaming), max_load (Max load)."},"game":{"type":["string","null"],"description":"Game."},"tdp_w":{"type":["number","null"],"description":"TDP. Unit: W."},"brightness_nits":{"type":["integer","null"],"description":"Brightness. Unit: nits."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."}},"required":["test","game","tdp_w","brightness_nits","hours"]},"description":"Battery runtime per test (measured). Reviewer runtime tests only. Exact time conversions are allowed. Source notes identify brightness, game, power mode and settings. Missing conditions are not inferred.."},"measured_battery_gaming_min_h":{"type":["number","null"],"description":"Shortest gaming test runtime (measured). Unit: h. Shortest runtime among the stored gaming tests. This does not identify the globally heaviest game or worst possible use.. Calculated from other fields."},"measured_battery_gaming_max_h":{"type":["number","null"],"description":"Longest gaming test runtime (measured). Unit: h. Longest runtime among the stored gaming tests. This does not identify the globally lightest game or best possible use.. Calculated from other fields."},"measured_battery_video_h":{"type":["number","null"],"description":"Video runtime (measured). Unit: h. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_charge_time_min":{"type":["integer","null"],"description":"Full charge time (measured). Unit: min. Measured 0 to 100% charge time. Source notes identify the charger, device operating state and test conditions.."},"measured_power_gaming_w":{"type":["number","null"],"description":"Power draw gaming (measured). Unit: W. Measured by a reviewer, not claimed by the maker."},"fan_noise_measured":{"type":["array","null"],"items":{"type":"object","properties":{"power_mode":{"type":["string","null"],"description":"Power mode."},"load":{"type":["string","null"],"enum":["idle","medium_load","max_load","gaming",null],"description":"Load. Options: idle (Idle), medium_load (Medium load), max_load (Max load), gaming (Gaming)."},"noise_dba":{"type":["number","null"],"description":"Noise. Unit: dB(A)."}},"required":["power_mode","load","noise_dba"]},"description":"Fan noise per mode (measured). Measured by a reviewer, not claimed by the maker."},"measured_noise_max_dba":{"type":["number","null"],"description":"Max fan noise (measured). Unit: dB(A). Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_noise_gaming_dba":{"type":["number","null"],"description":"Fan noise while gaming (measured). Unit: dB(A). Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_temp_back_max_c":{"type":["number","null"],"description":"Back surface under load (measured). Unit: °C. Measured by a reviewer, not claimed by the maker."},"measured_temp_grip_c":{"type":["number","null"],"description":"Grips under load (measured). Unit: °C. Where the hands rest. Measured by a reviewer."},"measured_apu_gaming_temp_c":{"type":["number","null"],"description":"Chip temperature while gaming (measured). Unit: °C. Measured by a reviewer, not claimed by the maker."},"measured_stick_tests":{"type":["array","null"],"items":{"type":"object","properties":{"stick":{"type":["string","null"],"enum":["left","right",null],"description":"Stick. Options: left (Left), right (Right)."},"inner_dead_zone_pct":{"type":["number","null"],"description":"Inner dead zone. Unit: %."},"outer_dead_zone_pct":{"type":["number","null"],"description":"Outer dead zone. Unit: %."},"circularity_error_pct":{"type":["number","null"],"description":"Circularity error. Unit: %."},"resolution_steps":{"type":["integer","null"],"description":"Resolution steps."},"centering_error_pct":{"type":["number","null"],"description":"Centring error. Unit: %."}},"required":["stick","inner_dead_zone_pct","outer_dead_zone_pct","circularity_error_pct","resolution_steps","centering_error_pct"]},"description":"Stick tests (measured). Reviewer tests of the built-in sticks. Method, firmware, calibration and transport settings belong in source notes.."},"measured_speaker_loudness_dba":{"type":["number","null"],"description":"Speaker loudness (measured). Unit: dB(A). At max volume. Measured by a reviewer."},"measured_weight_g":{"type":["number","null"],"description":"Weight (measured). Unit: g. Measured by a reviewer, not claimed by the maker."},"speaker_count":{"type":["integer","null"],"description":"Speakers. Built-in speaker drivers on the handheld, with its controllers attached. Excludes speakers in a separate dock or headset.."},"speaker_direction":{"type":["string","null"],"enum":["front_facing","top_facing","bottom_firing","rear_facing","other",null],"description":"Speaker direction. Options: front_facing (Front-facing), top_facing (Top-facing), bottom_firing (Bottom-firing), rear_facing (Rear-facing), other (Other)."},"audio_features":{"type":["array","null"],"items":{"type":"string"},"description":"Audio features."},"microphone_count":{"type":["integer","null"],"description":"Microphones. Physical built-in microphones on the handheld. Mono audio or an array name alone does not prove a capsule count.."},"headphone_jack":{"type":["boolean","null"],"description":"3.5 mm jack."},"ports":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["usb_c","usb_a","hdmi","oculink","audio_3_5mm","microsd_card","dc_in","other",null],"description":"Type. Options: usb_c (USB-C), usb_a (USB-A), hdmi (HDMI), oculink (OCuLink), audio_3_5mm (3.5 mm audio), microsd_card (microSD card), dc_in (DC in), other (Other)."},"version":{"type":["string","null"],"description":"Version."},"count":{"type":["integer","null"],"description":"Count."},"side":{"type":["string","null"],"enum":["top","bottom","left","right",null],"description":"Side. Options: top (Top), bottom (Bottom), left (Left), right (Right)."},"max_gbps":{"type":["number","null"],"description":"Max speed. Unit: Gbps. Advertised maximum link rate. Not a measured file transfer speed.."},"tb_usb4":{"type":["string","null"],"enum":["thunderbolt_4","thunderbolt_5","usb4",null],"description":"Thunderbolt or USB4. Options: thunderbolt_4 (Thunderbolt 4), thunderbolt_5 (Thunderbolt 5), usb4 (USB4)."},"dp_alt_mode":{"type":["boolean","null"],"description":"DP Alt Mode."},"charging_in_w":{"type":["number","null"],"description":"Max charging input. Unit: W. Explicitly supported input at this connector, not the supplied adapter rating.."},"power_out_w":{"type":["number","null"],"description":"Max power output. Unit: W. Power supplied to a connected accessory from this connector.."}},"required":["type","version","count","side","max_gbps","tb_usb4","dp_alt_mode","charging_in_w","power_out_w"]},"description":"Ports. Physical connectors on the handheld and its attached controllers. Controller charging-only ports count. Separate dock connectors belong in dock_ports.."},"usb_c_port_count":{"type":["integer","null"],"description":"USB-C ports. Calculated from other fields."},"has_usb4":{"type":["boolean","null"],"description":"USB4 or Thunderbolt. Calculated from other fields."},"usb_c_charging_w":{"type":["number","null"],"description":"USB-C charging. Unit: W. Calculated from other fields."},"display_output":{"type":["boolean","null"],"description":"Video out. Video output available at a device connector with a direct cable or adapter. A console that requires its proprietary dock is documented through dock_output_max.."},"display_output_max":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"refresh_hz":{"type":["integer","null"],"description":"Refresh rate. Unit: Hz."}},"required":["width_px","height_px","refresh_hz"],"description":"Max external display. Highest documented external resolution and its maximum refresh rate. Do not combine a resolution and refresh rate taken from different modes.."},"external_gpu_support":{"type":["array","null"],"items":{"type":"string","enum":["usb4","thunderbolt","oculink","proprietary"]},"description":"External GPU. Options: usb4 (USB4), thunderbolt (Thunderbolt), oculink (OCuLink), proprietary (Proprietary)."},"dock":{"type":["string","null"],"enum":["included","sold_separately","third_party_only","none",null],"description":"Dock. Options: included (Included), sold_separately (Sold separately), third_party_only (Third-party only), none (None)."},"dock_output_max":{"type":["array","null"],"items":{"type":"object","properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"refresh_hz":{"type":["integer","null"],"description":"Refresh rate. Unit: Hz."},"hdr":{"type":["boolean","null"],"description":"HDR."}},"required":["width_px","height_px","refresh_hz","hdr"]},"description":"Max output through dock."},"dock_ports":{"type":["array","null"],"items":{"type":"string"},"description":"Dock ports."},"wifi_standard":{"type":["string","null"],"enum":["wifi_5","wifi_6","wifi_6e","wifi_7",null],"description":"Wi-Fi. Options: wifi_5 (Wi-Fi 5), wifi_6 (Wi-Fi 6), wifi_6e (Wi-Fi 6E), wifi_7 (Wi-Fi 7)."},"wifi_bands":{"type":["array","null"],"items":{"type":"string","enum":["2.4ghz","5ghz","6ghz"]},"description":"Wi-Fi bands. Options: 2.4ghz (2.4 GHz), 5ghz (5 GHz), 6ghz (6 GHz)."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth."},"nfc":{"type":["boolean","null"],"description":"NFC."},"cellular":{"type":["boolean","null"],"description":"Cellular."},"network_technologies":{"type":["array","null"],"items":{"type":"string","enum":["lte","5g"]},"description":"Network. Options: lte (LTE), 5g (5G)."},"battery_capacity_wh":{"type":["number","null"],"description":"Battery energy. Unit: Wh. Energy rating of the handheld battery. Excludes batteries in detachable controllers and docks. Source notes name hardware revisions.."},"battery_capacity_mah":{"type":["integer","null"],"description":"Battery capacity. Unit: mAh. Charge rating of the handheld battery. Excludes batteries in detachable controllers and docks. Different battery voltages are not directly comparable.."},"battery_life_claimed":{"type":["array","null"],"items":{"type":"object","properties":{"use_case":{"type":["string","null"],"enum":["gaming","video_playback","web_browsing","idle","mixed_use",null],"description":"Use. Options: gaming (Gaming), video_playback (Video playback), web_browsing (Web browsing), idle (Idle), mixed_use (Mixed use)."},"game":{"type":["string","null"],"description":"Game."},"tdp_w":{"type":["number","null"],"description":"TDP. Unit: W."},"hours_min":{"type":["number","null"],"description":"Hours (from). Unit: h."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."}},"required":["use_case","game","tdp_w","hours_min","hours"]},"description":"Claimed battery life. A range like 2 to 6.5 hours is one row with both values."},"battery_life_min_h":{"type":["number","null"],"description":"Battery life (claimed, min). Unit: h. Calculated from other fields."},"battery_life_max_h":{"type":["number","null"],"description":"Battery life (claimed, max). Unit: h. Calculated from other fields."},"wired_charging_max_w":{"type":["number","null"],"description":"Wired charging. Unit: W. Maximum supported charging input explicitly stated for the device. It is not automatically the wattage printed on the included adapter.."},"wired_charging_standards":{"type":["array","null"],"items":{"type":"string"},"description":"Charging standards."},"charge_time_0_100_min":{"type":["integer","null"],"description":"Charge 0 to 100 % (claimed). Unit: min."},"battery_charge_limit":{"type":["boolean","null"],"description":"Charge limit. Stops charging early to protect the battery."},"bypass_charging":{"type":["boolean","null"],"description":"Bypass charging. Runs from the charger without cycling the battery."},"charger_in_box":{"type":["boolean","null"],"description":"Charger in box."},"charger_in_box_w":{"type":["integer","null"],"description":"Included charger. Unit: W. Rated output power of the supplied adapter. This may exceed the handheld charging limit. Store per sold configuration when bundles differ.."},"fan_count":{"type":["integer","null"],"description":"Fans."},"vapor_chamber":{"type":["boolean","null"],"description":"Vapor chamber."},"fan_curve_adjustable":{"type":["boolean","null"],"description":"Custom fan curve. User can set fan speed against temperature. A fixed preset or manual fan-speed slider alone does not qualify.."},"kickstand":{"type":["boolean","null"],"description":"Built-in kickstand."},"ip_rating":{"type":["array","null"],"items":{"type":"string"},"description":"Dust and water rating."},"user_replaceable_parts":{"type":["array","null"],"items":{"type":"string"},"description":"User-replaceable parts."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Dimensions. External dimensions with supplied controllers attached. Width is left to right, height is top to bottom in handheld use and depth is the maximum front-to-back extent, including fixed protruding controls. Leave depth missing when only unqualified chassis thickness is published. A clamshell is measured closed, as makers publish it. Width is left to right, height is front to back of the closed device and depth is the closed thickness.."},"weight_g":{"type":["number","null"],"description":"Weight. Unit: g. Whole handheld with the supplied controllers attached, without a dock or carrying case. A detachable battery pack that ships with the handheld is attached. Approximate maker figures are identified in source notes.."},"weight_without_controllers_g":{"type":["number","null"],"description":"Weight without controllers. Unit: g. Handheld body only, without detachable controllers, dock or carrying case.."},"game_compatibility_program":{"type":["array","null"],"items":{"type":"string"},"description":"Game compatibility programme."},"fcc_id":{"type":["string","null"],"description":"FCC ID."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."},"carrying_case":{"type":["string","null"],"enum":["hard","soft","none",null],"description":"Carrying case. Options: hard (Hard), soft (Soft), none (None)."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","device_class","form_factor","os_family","os_at_launch","os_latest","game_stores","physical_game_media","backward_compatibility","upscaling_technologies","chipset","cpu_brand","cpu_clusters","cpu_core_count","cpu_max_ghz","process_node_nm","gpu","gpu_architecture","gpu_compute_units","gpu_boost_clock_mhz","gpu_tflops_fp32","tdp_modes","tdp_min_w","tdp_max_w","tdp_max_battery_w","tdp_user_adjustable","ram_gb","ram_type","ram_speed_mts","memory_bandwidth_gb_s","storage_gb","storage_type","storage_pcie_gen","storage_slots","m2_slot_count","memory_card_slot","memory_card_bus","memory_card_max_gb","screen_size_in","native_resolution","pixel_density_ppi","aspect_ratio","panel_type","native_panel_orientation","screen_surface","is_touchscreen","refresh_rate_modes","max_refresh_rate_hz","vrr_technologies","vrr_min_hz","brightness_typical_nits","brightness_hdr_peak_nits","dci_p3_coverage_pct","hdr_formats","secondary_display","stick_technology","stick_layout","stick_capacitive_touch","stick_modules_replaceable","trigger_technology","trigger_stops","dpad_type","face_button_labels","back_buttons","touchpad_count","on_device_remapping","hardware_buttons","detached_controller_connection","optical_mouse_sensor","fingerprint_sensor","gyro","rumble","rgb_lighting","measured_sdr_brightness_nits","measured_hdr_peak_nits","measured_contrast_ratio","measured_dci_p3_coverage_pct","measured_color_accuracy_delta_e","measured_pwm_frequency_hz","benchmark_3dmark_time_spy_graphics","benchmark_3dmark_steel_nomad_light","benchmark_3dmark_wild_life_extreme","benchmark_cinebench_2024_single","benchmark_cinebench_2024_multi","benchmark_antutu","game_fps_measured","measured_ssd_read_mbs","measured_memory_card_read_mbs","battery_runtime_measured","measured_battery_gaming_min_h","measured_battery_gaming_max_h","measured_battery_video_h","measured_charge_time_min","measured_power_gaming_w","fan_noise_measured","measured_noise_max_dba","measured_noise_gaming_dba","measured_temp_back_max_c","measured_temp_grip_c","measured_apu_gaming_temp_c","measured_stick_tests","measured_speaker_loudness_dba","measured_weight_g","speaker_count","speaker_direction","audio_features","microphone_count","headphone_jack","ports","usb_c_port_count","has_usb4","usb_c_charging_w","display_output","display_output_max","external_gpu_support","dock","dock_output_max","dock_ports","wifi_standard","wifi_bands","bluetooth_version","nfc","cellular","network_technologies","battery_capacity_wh","battery_capacity_mah","battery_life_claimed","battery_life_min_h","battery_life_max_h","wired_charging_max_w","wired_charging_standards","charge_time_0_100_min","battery_charge_limit","bypass_charging","charger_in_box","charger_in_box_w","fan_count","vapor_chamber","fan_curve_adjustable","kickstand","ip_rating","user_replaceable_parts","dimensions_mm","weight_g","weight_without_controllers_g","game_compatibility_program","fcc_id","other_certifications","in_the_box","carrying_case"],"description":"Every handheld console field in schema order. Unknown values are null."},"HeadsetSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"segment":{"type":["string","null"],"enum":["gaming","music","office","studio","sport",null],"description":"Segment. Options: gaming (Gaming), music (Music), office (Office), studio (Studio), sport (Sport)."},"form_factor":{"type":["string","null"],"enum":["over_ear","on_ear","in_ear","open_ear",null],"description":"Form factor. Options: over_ear (Over-ear), on_ear (On-ear), in_ear (In-ear), open_ear (Open-ear)."},"back_type":{"type":["string","null"],"enum":["closed","open","semi_open",null],"description":"Ear cup enclosure. Options: closed (Closed), open (Open), semi_open (Semi-open). Closed, open or semi-open acoustic enclosure. This does not describe how the headset folds.."},"wearing_style":{"type":["string","null"],"enum":["headband","neckband","cable","ear_hook",null],"description":"Wearing style. Options: headband (Headband), neckband (Neckband), cable (Cable), ear_hook (Ear hook)."},"foldable":{"type":["string","null"],"enum":["flat","inward","flat_and_inward","none",null],"description":"Folding. Options: flat (Flat), inward (Inward), flat_and_inward (Flat and inward), none (None). Flat means the ear cups rotate flat. Inward means the ear cups fold toward the headband.."},"ear_cups_swivel":{"type":["boolean","null"],"description":"Swivelling ear cups. Ear cups can rotate relative to the headband. Tilting alone does not count.."},"rgb_lighting":{"type":["boolean","null"],"description":"RGB lighting."},"lighting_zones":{"type":["integer","null"],"description":"Lighting zones. Number of independently controllable lighting areas across both ear cups.."},"driver_type":{"type":["string","null"],"enum":["dynamic","planar_magnetic","balanced_armature","hybrid","electrostatic","bone_conduction","other",null],"description":"Driver type. Options: dynamic (Dynamic), planar_magnetic (Planar magnetic), balanced_armature (Balanced armature), hybrid (Hybrid), electrostatic (Electrostatic), bone_conduction (Bone conduction), other (Other)."},"driver_size_mm":{"type":["number","null"],"description":"Driver size. Unit: mm. Diameter of the largest sound driver. Do not use the microphone capsule diameter.."},"drivers_per_side":{"type":["integer","null"],"description":"Drivers per side. Number of sound-producing transducers in one side, excluding microphones.."},"driver_diaphragm_material":{"type":["string","null"],"description":"Diaphragm material."},"driver_magnet":{"type":["string","null"],"description":"Magnet."},"frequency_response_hz":{"type":["object","null"],"properties":{"min_hz":{"type":["number","null"],"description":"Min. Unit: Hz."},"max_hz":{"type":["number","null"],"description":"Max. Unit: Hz."}},"required":["min_hz","max_hz"],"description":"Frequency response (wired or passive). Published acoustic range for wired listening, or the maker’s single range when no mode is distinguished. Power state and test standard belong in the source note.."},"frequency_response_wireless_hz":{"type":["object","null"],"properties":{"min_hz":{"type":["number","null"],"description":"Min. Unit: Hz."},"max_hz":{"type":["number","null"],"description":"Max. Unit: Hz."}},"required":["min_hz","max_hz"],"description":"Wireless audio transmission band. Frequency range of audio transmitted over the wireless connection, not the acoustic response of the driver. Codec, sampling rate and bitrate conditions belong in the source note. When the maker gives a range per codec, the widest range is stored and its codec goes in the source note.."},"impedance_ohm":{"type":["number","null"],"description":"Impedance (passive when specified). Unit: ohm. Use the headset-off value for a passive analog connection when the maker publishes both powered and passive values. Note the power state and test frequency.."},"sensitivity_db":{"type":["number","null"],"description":"Sensitivity (passive when specified). Unit: dB. Use the headset-off figure when both powered and passive values exist. The power or voltage reference, test distance and frequency belong in the source note.."},"sensitivity_reference":{"type":["string","null"],"enum":["per_1mw","per_1v",null],"description":"Sensitivity reference. Options: per_1mw (Per 1 mW), per_1v (Per 1 V). Published power or voltage reference for sensitivity. Do not assume 1 mW when the source gives only a dB value.."},"thd_pct":{"type":["number","null"],"description":"THD (claimed). Unit: %. Published distortion figure or numerical upper bound. The source note states any less-than sign and test level.."},"max_input_power_mw":{"type":["number","null"],"description":"Max input power. Unit: mW."},"max_sample_rate_khz":{"type":["number","null"],"description":"Max digital audio sample rate. Unit: kHz. Highest supported digital audio sample rate over a USB cable or wireless dongle. This is not the microphone rate or acoustic frequency response.."},"max_bit_depth_bits":{"type":["integer","null"],"description":"Max digital audio bit depth. Unit: bits. Highest published digital playback bit depth over a USB cable or wireless dongle.."},"dac_chip":{"type":["string","null"],"description":"DAC."},"sound_personalization":{"type":["boolean","null"],"description":"Personalised sound. A manufacturer-supported hearing test or ear scan creates a device sound profile tailored to the listener. Generic equalizer adjustments do not count.."},"onboard_eq":{"type":["boolean","null"],"description":"Onboard EQ. Custom playback EQ profiles stored in the headset and applied without the host app running. Note supported active connections. Receiver-only or software-only EQ does not count.."},"eq_bands":{"type":["integer","null"],"description":"Custom EQ bands. Number of bands in the custom playback equalizer. Microphone EQ bands are excluded.."},"eq_presets":{"type":["array","null"],"items":{"type":"string"},"description":"EQ presets."},"volume_limit_db":{"type":["number","null"],"description":"Volume limit. Unit: dB."},"virtual_surround":{"type":["array","null"],"items":{"type":"string"},"description":"Spatial audio support. Named headset or host spatial-audio systems that the maker or reviewer explicitly supports. A platform feature may require compatible hardware, software or a separate licence.."},"spatial_audio_licence_included":{"type":["boolean","null"],"description":"Spatial audio licence included. A paid spatial-audio licence is bundled or embedded. Compatibility with a separately purchased app does not count.."},"head_tracking":{"type":["boolean","null"],"description":"Head tracking."},"anc":{"type":["boolean","null"],"description":"Active noise cancelling."},"anc_type":{"type":["string","null"],"enum":["feedforward","feedback","hybrid",null],"description":"ANC type. Options: feedforward (Feedforward), feedback (Feedback), hybrid (Hybrid). Feedforward uses outside microphones. Feedback uses inside microphones. Hybrid uses both. Voice-call noise filtering is separate.."},"anc_mic_count":{"type":["integer","null"],"description":"ANC microphones. Total microphones used for active playback noise cancellation across both sides. Do not substitute the total physical or voice microphone count.."},"anc_adaptive":{"type":["boolean","null"],"description":"Adaptive ANC. Noise cancellation automatically changes with the environment or fit. Manually choosing a level does not count.."},"anc_levels":{"type":["integer","null"],"description":"ANC levels. Number of adjustable cancellation strength steps. Off and transparency modes are excluded.."},"anc_claimed_attenuation_db":{"type":["number","null"],"description":"ANC attenuation (claimed). Unit: dB."},"transparency_mode":{"type":["boolean","null"],"description":"Transparency mode."},"transparency_adjustable":{"type":["boolean","null"],"description":"Adjustable transparency."},"conversation_detection":{"type":["boolean","null"],"description":"Conversation detection. Audio pauses or lowers automatically when the wearer speaks. Voice assistant activation does not count.."},"wind_noise_reduction":{"type":["boolean","null"],"description":"Wind noise reduction."},"measured_frequency_response_notes":{"type":["string","null"],"description":"Frequency response notes. Measured by a reviewer, not claimed by the maker."},"measured_bass_amount_db":{"type":["number","null"],"description":"Bass amount. Unit: dB. Reviewer’s bass deviation from its stated target. Positive is more bass. Target and test method belong in the source note.."},"measured_treble_amount_db":{"type":["number","null"],"description":"Treble amount. Unit: dB. Reviewer’s treble deviation from its stated target. Positive is more treble. Target and test method belong in the source note.."},"measured_target_deviation_db":{"type":["number","null"],"description":"Deviation from target. Unit: dB. Reviewer’s full-range error from its target curve. Do not substitute a regional bass or treble error.."},"measured_response_consistency_db":{"type":["number","null"],"description":"Consistency between fittings. Unit: dB. Reviewer’s standard deviation across repeated fittings. Test rig and fitting procedure belong in the source note.."},"measured_thd_pct":{"type":["number","null"],"description":"Harmonic distortion. Unit: %. Independently measured harmonic distortion, with test level and method in the source note.."},"measured_leakage_db_spl":{"type":["number","null"],"description":"Sound leakage. Unit: dB SPL. Independently measured leakage at 30 cm. Playback level and method belong in the source note.."},"measured_noise_isolation":{"type":["array","null"],"items":{"type":"object","properties":{"anc_on":{"type":["boolean","null"],"description":"ANC on."},"overall_db":{"type":["number","null"],"description":"Overall. Unit: dB."},"bass_db":{"type":["number","null"],"description":"Bass. Unit: dB."},"mid_db":{"type":["number","null"],"description":"Mids. Unit: dB."},"treble_db":{"type":["number","null"],"description":"Treble. Unit: dB."}},"required":["anc_on","overall_db","bass_db","mid_db","treble_db"]},"description":"Measured noise isolation. Independently measured attenuation. Positive values mean more noise reduction. ANC state, rig and frequency bands belong in the source note.."},"measured_attenuation_overall_db":{"type":["number","null"],"description":"Noise isolation (measured, best). Unit: dB. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_attenuation_passive_db":{"type":["number","null"],"description":"Passive isolation (measured). Unit: dB. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_microphone_notes":{"type":["string","null"],"description":"Mic quality notes. Measured by a reviewer, not claimed by the maker."},"measured_microphone_lfe_hz":{"type":["number","null"],"description":"Mic low-frequency extension. Unit: Hz. Measured by a reviewer, not claimed by the maker."},"measured_microphone_hfe_hz":{"type":["number","null"],"description":"Mic high-frequency extension. Unit: Hz. Measured by a reviewer, not claimed by the maker."},"measured_microphone_noise_handling_db":{"type":["number","null"],"description":"Mic speech-to-noise ratio. Unit: dB. Measured by a reviewer, not claimed by the maker."},"measured_latency":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["analog","usb","2_4ghz","bluetooth",null],"description":"Connection. Options: analog (Analog), usb (USB), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"platform":{"type":["string","null"],"enum":["xbox_series","xbox_one","ps5","ps4","nintendo_switch","nintendo_switch_2","windows","macos","chromeos","linux","steamos","android","ios","meta_quest","other",null],"description":"Platform. Options: xbox_series (Xbox Series X|S), xbox_one (Xbox One), ps5 (PS5), ps4 (PS4), nintendo_switch (Nintendo Switch), nintendo_switch_2 (Nintendo Switch 2), windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), steamos (SteamOS), android (Android), ios (iOS), meta_quest (Meta Quest), other (Other)."},"codec":{"type":["string","null"],"description":"Codec. Codec used in this latency test, not the list of every supported codec.."},"latency_ms":{"type":["number","null"],"description":"Latency. Unit: ms."}},"required":["connection","platform","codec","latency_ms"]},"description":"Measured latency. End-to-end latency measured by a reviewer for a specific connection, platform and codec. Firmware, method and operating mode belong in the source note.."},"measured_latency_bluetooth_ms":{"type":["number","null"],"description":"Bluetooth latency (measured, worst). Unit: ms. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_latency_2_4ghz_ms":{"type":["number","null"],"description":"2.4 GHz latency (measured, worst). Unit: ms. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_battery_life":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["analog","usb","2_4ghz","bluetooth",null],"description":"Connection. Options: analog (Analog), usb (USB), 2_4ghz (2.4 GHz), bluetooth (Bluetooth). Playback connection used for this runtime claim or test.."},"anc":{"type":["boolean","null"],"description":"ANC. True means active noise cancellation enabled. Omitted means the source does not state it.."},"lighting":{"type":["boolean","null"],"description":"Lighting. True means decorative lighting enabled. Omitted means the source does not state it.."},"hours":{"type":["number","null"],"description":"Hours. Unit: h. Playback duration for this row’s stated settings.."}},"required":["connection","anc","lighting","hours"]},"description":"Measured battery life. Reviewer’s continuous playback test. State the connection, ANC and lighting where known. Unknown settings stay omitted and are described in the source note.."},"measured_battery_life_h":{"type":["number","null"],"description":"Battery life (measured, max). Unit: h. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_clamping_force_n":{"type":["number","null"],"description":"Clamping force. Unit: N. Measured by a reviewer, not claimed by the maker."},"measured_weight_g":{"type":["number","null"],"description":"Weight (measured). Unit: g. Independently weighed headset. A review that repeats the maker’s number does not qualify. Cable and microphone inclusion belong in the source note.."},"microphone_type":{"type":["string","null"],"enum":["boom_detachable","boom_retractable","boom_fixed","built_in","in_line","none",null],"description":"Microphone. Options: boom_detachable (Detachable boom), boom_retractable (Retractable boom), boom_fixed (Fixed boom), built_in (Built-in), in_line (In-line), none (None). Main microphone used for speech. Secondary internal microphones may be described in the source note.."},"microphone_element":{"type":["string","null"],"enum":["electret_condenser","mems","dynamic","other",null],"description":"Microphone element. Options: electret_condenser (Electret condenser), mems (MEMS), dynamic (Dynamic), other (Other)."},"microphone_pattern":{"type":["string","null"],"enum":["omnidirectional","cardioid","supercardioid","bidirectional","other","unidirectional","hypercardioid",null],"description":"Microphone pickup pattern. Options: omnidirectional (Omnidirectional), cardioid (Cardioid), supercardioid (Supercardioid), bidirectional (Bidirectional), other (Other), unidirectional (Unidirectional), hypercardioid (Hypercardioid). Use the maker’s exact named pattern. Unidirectional does not establish whether the capsule is cardioid, supercardioid or hypercardioid.."},"microphone_count":{"type":["integer","null"],"description":"Voice microphones. Total microphones used for voice pickup or beamforming across both sides. ANC-only microphones are excluded.."},"microphone_count_total":{"type":["integer","null"],"description":"Total microphones. Every physical microphone across the headset, including call, ANC and calibration microphones. Shared microphones count once. Excludes microphones in charging cases or receivers, and vibration sensors. Use an explicitly published physical total, never a sum of overlapping role counts.."},"microphone_frequency_response_hz":{"type":["object","null"],"properties":{"min_hz":{"type":["number","null"],"description":"Min. Unit: Hz."},"max_hz":{"type":["number","null"],"description":"Max. Unit: Hz."}},"required":["min_hz","max_hz"],"description":"Mic frequency response. Acoustic microphone response, not its digital sampling rate. Connection-specific ranges belong in the source note.."},"microphone_sensitivity_db":{"type":["number","null"],"description":"Mic sensitivity. Unit: dB. Published microphone sensitivity. Reference such as dBV/Pa or dBFS, frequency and distance belong in the source note.."},"microphone_snr_db":{"type":["number","null"],"description":"Mic signal-to-noise. Unit: dB. Published microphone signal-to-noise ratio. Minimum or typical conditions belong in the source note.."},"microphone_sample_rate_khz":{"type":["number","null"],"description":"Mic sample rate. Unit: kHz. Explicitly published digital microphone capture or speech sampling rate. State the audio route in the source note, or say it is unpublished. Internal capture does not prove the effective rate on every connection. Acoustic bandwidth, playback rate and generic microphone-chip capability do not qualify.."},"microphone_noise_reduction":{"type":["string","null"],"enum":["none","dsp","ai",null],"description":"Mic noise reduction. Options: none (None), dsp (DSP), ai (AI). Processing that removes noise from transmitted speech. Playback ANC and a directional microphone alone do not count.."},"flip_to_mute":{"type":["boolean","null"],"description":"Flip to mute."},"mute_button":{"type":["boolean","null"],"description":"Mute button."},"mute_indicator":{"type":["array","null"],"items":{"type":"string","enum":["led_on_mic","led_on_cup","led_on_controller","voice_prompt","mechanical_marker"]},"description":"Mute indicator. Options: led_on_mic (LED on mic), led_on_cup (LED on ear cup), led_on_controller (LED on in-line controller), voice_prompt (Voice prompt), mechanical_marker (Physical mute marker). Published indication of microphone mute. mechanical_marker is a visible physical marker showing the microphone's mute-switch position. LED options require an electronic light. The in-line controller option is for a mute light on a cable remote.."},"sidetone":{"type":["boolean","null"],"description":"Sidetone."},"sidetone_adjustable":{"type":["boolean","null"],"description":"Adjustable sidetone."},"mic_windscreen":{"type":["boolean","null"],"description":"Foam microphone windscreen. A foam cover for the voice microphone. An internal metal mesh pop filter does not count.."},"connection_types":{"type":["array","null"],"items":{"type":"string","enum":["analog","usb","2_4ghz","bluetooth"]},"description":"Audio connections. Options: analog (Analog), usb (USB), 2_4ghz (2.4 GHz), bluetooth (Bluetooth). Connections that carry playback audio. Charging or firmware USB alone does not count as USB audio.."},"analog_connectors":{"type":["array","null"],"items":{"type":"string","enum":["3_5mm_trrs","3_5mm_trs","6_35mm","4_4mm_balanced","2_5mm_balanced","xlr_4_pin","dual_3_5mm"]},"description":"Analog source plugs. Options: 3_5mm_trrs (3.5 mm TRRS), 3_5mm_trs (3.5 mm TRS), 6_35mm (6.35 mm), 4_4mm_balanced (4.4 mm balanced), 2_5mm_balanced (2.5 mm balanced), xlr_4_pin (4-pin XLR), dual_3_5mm (Dual 3.5 mm). Analog plug(s) supplied for the source device, including adapters. The headset-side jack is listed separately.."},"cable_connector_headset_side":{"type":["string","null"],"enum":["fixed_cable","3_5mm","2_5mm","mmcx","2_pin_0_78mm","mini_xlr","usb_c","proprietary",null],"description":"Cable connector on headset. Options: fixed_cable (Fixed cable), 3_5mm (3.5 mm), 2_5mm (2.5 mm), mmcx (MMCX), 2_pin_0_78mm (2-pin 0.78 mm), mini_xlr (Mini XLR), usb_c (USB-C), proprietary (Proprietary). Connection used by the playback cable at the headset. A fixed cable is not replaceable through a headset jack.."},"cable_length_m":{"type":["number","null"],"description":"Longest included cable. Unit: m. Length of the longest supplied cable, including charging and dongle cables. Individual cable lengths are listed in Cables included.."},"usb_connector":{"type":["string","null"],"enum":["usb_c","usb_a",null],"description":"Headset USB plug or port. Options: usb_c (USB-C), usb_a (USB-A). USB plug or port on the headset or its included wired audio adapter. A charging-only USB port can appear here.."},"usb_c_audio":{"type":["boolean","null"],"description":"Audio over USB-C cable. Playback through a USB-C cable or included wired USB-C audio adapter. A charging-only USB-C port does not count.."},"passive_wired_listening":{"type":["boolean","null"],"description":"Passive wired listening. Analog playback works with the headset powered off or its battery empty. An active analog converter that needs headset power does not count.."},"wireless_receiver":{"type":["string","null"],"enum":["included","sold_separately","none",null],"description":"Wireless receiver. Options: included (Included), sold_separately (Sold separately), none (None). Dedicated wireless audio receiver or dongle. A wired USB sound card does not count.."},"receiver_connector":{"type":["string","null"],"enum":["usb_a","usb_c","both",null],"description":"Wireless receiver connector. Options: usb_a (USB-A), usb_c (USB-C), both (Both). Physical USB connector on the receiver. Supplied extension cables and adapters are explained in the source note. Both means two native connector types.."},"wireless_range_m":{"type":["number","null"],"description":"Wireless range (claimed). Unit: m. Maker’s advertised wireless range. Connection and indoor or outdoor conditions belong in the source note. Measured distance is not stored here.."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth."},"bluetooth_codecs":{"type":["array","null"],"items":{"type":"string"},"description":"Bluetooth codecs. Named Bluetooth audio codecs supported by this exact model. Host, firmware and operating-mode restrictions belong in the source note.."},"bluetooth_le_audio":{"type":["boolean","null"],"description":"LE Audio. LE Audio playback support. Bluetooth Low Energy for app control alone does not count.."},"auracast":{"type":["boolean","null"],"description":"Auracast. Auracast broadcast audio support. Required phone, firmware and app conditions belong in the source note.."},"multipoint":{"type":["boolean","null"],"description":"Bluetooth multipoint. Can remain connected to multiple Bluetooth source devices at once. Mixing Bluetooth with a proprietary dongle is a separate field. A maker's dual connection to two Bluetooth devices at once counts.."},"multipoint_device_count":{"type":["integer","null"],"description":"Multipoint devices. Number of Bluetooth source devices connected at once, not the number remembered for later pairing.."},"paired_device_memory":{"type":["integer","null"],"description":"Paired devices remembered."},"simultaneous_2_4ghz_bluetooth":{"type":["boolean","null"],"description":"Mixes 2.4 GHz and Bluetooth audio. Plays both wireless audio streams at the same time. Automatic switching or Bluetooth standby does not count.."},"fast_pair":{"type":["array","null"],"items":{"type":"string","enum":["google_fast_pair","microsoft_swift_pair"]},"description":"Fast pairing. Options: google_fast_pair (Google Fast Pair), microsoft_swift_pair (Microsoft Swift Pair)."},"base_station":{"type":["string","null"],"description":"Base station."},"low_latency_mode":{"type":["boolean","null"],"description":"Low latency mode. A selectable mode intended to reduce audio delay. A low-latency connection without a distinct mode does not count.."},"latency_claimed":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["analog","usb","2_4ghz","bluetooth",null],"description":"Connection. Options: analog (Analog), usb (USB), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"mode":{"type":["string","null"],"description":"Mode."},"latency_ms":{"type":["number","null"],"description":"Latency. Unit: ms."}},"required":["connection","mode","latency_ms"]},"description":"Claimed latency. Maker’s claimed delay for the stated connection and mode. Minimum claims and host restrictions belong in the source note.."},"compatible_platforms":{"type":["array","null"],"items":{"type":"string","enum":["xbox_series","xbox_one","ps5","ps4","nintendo_switch","nintendo_switch_2","windows","macos","chromeos","linux","steamos","android","ios","meta_quest","other"]},"description":"Compatible platforms. Options: xbox_series (Xbox Series X|S), xbox_one (Xbox One), ps5 (PS5), ps4 (PS4), nintendo_switch (Nintendo Switch), nintendo_switch_2 (Nintendo Switch 2), windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), steamos (SteamOS), android (Android), ios (iOS), meta_quest (Meta Quest), other (Other). Platforms with a documented audio path. This does not imply every connection or microphone function works. Platform editions must be checked individually.."},"platform_connections":{"type":["array","null"],"items":{"type":"object","properties":{"platform":{"type":["string","null"],"enum":["xbox_series","xbox_one","ps5","ps4","nintendo_switch","nintendo_switch_2","windows","macos","chromeos","linux","steamos","android","ios","meta_quest","other",null],"description":"Platform. Options: xbox_series (Xbox Series X|S), xbox_one (Xbox One), ps5 (PS5), ps4 (PS4), nintendo_switch (Nintendo Switch), nintendo_switch_2 (Nintendo Switch 2), windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), steamos (SteamOS), android (Android), ios (iOS), meta_quest (Meta Quest), other (Other)."},"connection":{"type":["string","null"],"enum":["analog","usb","2_4ghz","bluetooth",null],"description":"Connection. Options: analog (Analog), usb (USB), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"microphone_works":{"type":["boolean","null"],"description":"Microphone works. Speech microphone works over this exact platform and connection. Omitted means not established.."}},"required":["platform","connection","microphone_works"]},"description":"Connection per platform. Only explicitly documented playback paths for the exact model. Microphone support is separate. Leave unknown microphone support omitted. An Xbox and a PlayStation edition of one headset can connect differently, so it is per variant.."},"official_license":{"type":["array","null"],"items":{"type":"string"},"description":"Official licence."},"battery_capacity_mah":{"type":["integer","null"],"description":"Battery capacity. Unit: mAh. Rated capacity of one headset battery. Do not use case, receiver or total multi-battery capacity.."},"swappable_battery":{"type":["boolean","null"],"description":"Swappable battery. Battery can be exchanged by the user as part of normal operation. Service or recycling disassembly does not count.."},"battery_count":{"type":["integer","null"],"description":"Batteries included. Number of headset batteries supplied, including the one already installed.."},"battery_life_claimed":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["analog","usb","2_4ghz","bluetooth",null],"description":"Connection. Options: analog (Analog), usb (USB), 2_4ghz (2.4 GHz), bluetooth (Bluetooth). Playback connection used for this runtime claim or test.."},"anc":{"type":["boolean","null"],"description":"ANC. True means active noise cancellation enabled. Omitted means the source does not state it.."},"codec":{"type":["string","null"],"description":"Codec. Bluetooth audio codec used for this battery claim. Omit if the maker does not state it.."},"spatial_audio":{"type":["boolean","null"],"description":"Spatial audio. True or false means the source explicitly enables or disables its named spatial or immersive audio processing mode for this runtime. Name the processing mode and its conditions in the source note. Omit if unstated. This is separate from codec and ANC.."},"lighting":{"type":["boolean","null"],"description":"Lighting. True means decorative lighting enabled. Omitted means the source does not state it.."},"hours":{"type":["number","null"],"description":"Hours. Unit: h. Playback duration for this row’s stated settings.."}},"required":["connection","anc","codec","spatial_audio","lighting","hours"]},"description":"Claimed battery life. Maker’s maximum playback time per stated connection, codec, ANC, spatial audio and lighting settings. Name the spatial processing mode and other conditions in the source note. Unknown settings stay omitted.."},"battery_life_max_h":{"type":["number","null"],"description":"Battery life (claimed, max). Unit: h. Calculated from other fields."},"battery_life_anc_on_h":{"type":["number","null"],"description":"Battery life with ANC (claimed). Unit: h. Calculated from other fields."},"battery_life_anc_off_h":{"type":["number","null"],"description":"Battery life without ANC (claimed). Unit: h. Calculated from other fields."},"charging_port":{"type":["string","null"],"enum":["usb_c","micro_usb","lightning","dock","none",null],"description":"Charging port. Options: usb_c (USB-C), micro_usb (Micro-USB), lightning (Lightning), dock (Dock), none (None)."},"charge_time_0_100_min":{"type":["integer","null"],"description":"Full charge time. Unit: min. Published time to fully charge a depleted headset. In-use charging can take longer.."},"quick_charge_min":{"type":["integer","null"],"description":"Quick charge time. Unit: min. Charge duration in the maker’s quick-charge claim. Read together with Quick charge playback.."},"quick_charge_playback_h":{"type":["number","null"],"description":"Quick charge playback. Unit: h. Playback gained from Quick charge time. Charger power, codec, volume and ANC conditions belong in the source note.."},"play_while_charging":{"type":["boolean","null"],"description":"Use while charging."},"charging_dock":{"type":["string","null"],"enum":["included","sold_separately","none",null],"description":"Charging dock or stand. Options: included (Included), sold_separately (Sold separately), none (None)."},"control_types":{"type":["array","null"],"items":{"type":"string","enum":["buttons","touch","volume_wheel","chat_mix_wheel","dial","slider","inline_remote","app_only"]},"description":"Controls. Options: buttons (Buttons), touch (Touch), volume_wheel (Volume wheel), chat_mix_wheel (Chat mix wheel), dial (Dial), slider (Slider), inline_remote (In-line remote), app_only (App only)."},"volume_control":{"type":["string","null"],"enum":["wheel","buttons","touch","inline_remote","none",null],"description":"Volume control. Options: wheel (Wheel), buttons (Buttons), touch (Touch), inline_remote (In-line remote), none (None)."},"game_chat_mix":{"type":["string","null"],"enum":["hardware_dial","buttons","software","none",null],"description":"Game and chat mix. Options: hardware_dial (Hardware dial), buttons (Buttons), software (Software), none (None). Balances separate game and chat audio streams. Mixing Bluetooth and dongle source volume alone does not count. Supported platforms belong in the source note.."},"customizable_controls":{"type":["boolean","null"],"description":"Remappable controls. On-device button, touch or dial functions can be reassigned. Changing EQ alone does not count.."},"wear_detection":{"type":["boolean","null"],"description":"Wear detection."},"voice_assistant":{"type":["array","null"],"items":{"type":"string"},"description":"Voice assistant."},"headband_type":{"type":["string","null"],"enum":["padded","suspension_strap","none",null],"description":"Headband type. Options: padded (Padded), suspension_strap (Suspension strap), none (None)."},"headband_material":{"type":["string","null"],"description":"Headband material."},"frame_material":{"type":["string","null"],"description":"Frame material."},"ear_cup_material":{"type":["string","null"],"description":"Ear cup material."},"earpad_material":{"type":["string","null"],"description":"Ear pad material."},"earpad_replaceable":{"type":["boolean","null"],"description":"Replaceable ear pads."},"earpad_attachment":{"type":["string","null"],"enum":["clip","magnetic","twist_lock","stretch_over",null],"description":"Ear pad attachment. Options: clip (Clip), magnetic (Magnetic), twist_lock (Twist lock), stretch_over (Stretch-over). How a replacement ear pad attaches to the ear cup, not how the decorative outer cover attaches. A press-fit or snap-on pad counts as clip.."},"earpad_inner_dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Ear pad opening. Usable opening inside an ear pad, excluding the outer cushion. Depth is the internal space between pad surface and driver cover.."},"ear_tip_sizes":{"type":["array","null"],"items":{"type":"string"},"description":"Ear tips included."},"ip_rating":{"type":["array","null"],"items":{"type":"string"},"description":"Dust and water rating."},"user_replaceable_parts":{"type":["array","null"],"items":{"type":"string"},"description":"User-replaceable parts."},"companion_app":{"type":["string","null"],"description":"Companion app."},"companion_app_platforms":{"type":["array","null"],"items":{"type":"string","enum":["xbox_series","xbox_one","ps5","ps4","nintendo_switch","nintendo_switch_2","windows","macos","chromeos","linux","steamos","android","ios","meta_quest","other"]},"description":"App platforms. Options: xbox_series (Xbox Series X|S), xbox_one (Xbox One), ps5 (PS5), ps4 (PS4), nintendo_switch (Nintendo Switch), nintendo_switch_2 (Nintendo Switch 2), windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), steamos (SteamOS), android (Android), ios (iOS), meta_quest (Meta Quest), other (Other)."},"firmware_updatable":{"type":["boolean","null"],"description":"User firmware updates."},"weight_g":{"type":["number","null"],"description":"Headset weight. Unit: g. Published headset mass without detachable cable or microphone when stated. A fixed cable remains included. Any unqualified maker weight is identified in the source note.."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Headset dimensions. Body size with headband upright and ear cups in their normal wearing position. Width is across the head, height is top to bottom, and depth is front to back. Folded or flat-swivel dimensions are not substituted.."},"hi_res_audio":{"type":["array","null"],"items":{"type":"string","enum":["hi_res_audio","hi_res_audio_wireless"]},"description":"Hi-Res Audio. Options: hi_res_audio (Hi-Res Audio), hi_res_audio_wireless (Hi-Res Audio Wireless)."},"communication_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Communication certifications."},"fcc_id":{"type":["string","null"],"description":"FCC ID."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."},"cables_included":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"description":"Type."},"length_m":{"type":["number","null"],"description":"Length. Unit: m."},"count":{"type":["integer","null"],"description":"Count."}},"required":["type","length_m","count"]},"description":"Cables included. Supplied playback, charging, dongle and adapter cables. A permanently attached headset cable is included and named as fixed.."},"carrying_case":{"type":["string","null"],"enum":["hard","soft","none",null],"description":"Carrying case. Options: hard (Hard), soft (Soft), none (None). Supplied carrying case or pouch. A retail carton does not count as a carrying case.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","segment","form_factor","back_type","wearing_style","foldable","ear_cups_swivel","rgb_lighting","lighting_zones","driver_type","driver_size_mm","drivers_per_side","driver_diaphragm_material","driver_magnet","frequency_response_hz","frequency_response_wireless_hz","impedance_ohm","sensitivity_db","sensitivity_reference","thd_pct","max_input_power_mw","max_sample_rate_khz","max_bit_depth_bits","dac_chip","sound_personalization","onboard_eq","eq_bands","eq_presets","volume_limit_db","virtual_surround","spatial_audio_licence_included","head_tracking","anc","anc_type","anc_mic_count","anc_adaptive","anc_levels","anc_claimed_attenuation_db","transparency_mode","transparency_adjustable","conversation_detection","wind_noise_reduction","measured_frequency_response_notes","measured_bass_amount_db","measured_treble_amount_db","measured_target_deviation_db","measured_response_consistency_db","measured_thd_pct","measured_leakage_db_spl","measured_noise_isolation","measured_attenuation_overall_db","measured_attenuation_passive_db","measured_microphone_notes","measured_microphone_lfe_hz","measured_microphone_hfe_hz","measured_microphone_noise_handling_db","measured_latency","measured_latency_bluetooth_ms","measured_latency_2_4ghz_ms","measured_battery_life","measured_battery_life_h","measured_clamping_force_n","measured_weight_g","microphone_type","microphone_element","microphone_pattern","microphone_count","microphone_count_total","microphone_frequency_response_hz","microphone_sensitivity_db","microphone_snr_db","microphone_sample_rate_khz","microphone_noise_reduction","flip_to_mute","mute_button","mute_indicator","sidetone","sidetone_adjustable","mic_windscreen","connection_types","analog_connectors","cable_connector_headset_side","cable_length_m","usb_connector","usb_c_audio","passive_wired_listening","wireless_receiver","receiver_connector","wireless_range_m","bluetooth_version","bluetooth_codecs","bluetooth_le_audio","auracast","multipoint","multipoint_device_count","paired_device_memory","simultaneous_2_4ghz_bluetooth","fast_pair","base_station","low_latency_mode","latency_claimed","compatible_platforms","platform_connections","official_license","battery_capacity_mah","swappable_battery","battery_count","battery_life_claimed","battery_life_max_h","battery_life_anc_on_h","battery_life_anc_off_h","charging_port","charge_time_0_100_min","quick_charge_min","quick_charge_playback_h","play_while_charging","charging_dock","control_types","volume_control","game_chat_mix","customizable_controls","wear_detection","voice_assistant","headband_type","headband_material","frame_material","ear_cup_material","earpad_material","earpad_replaceable","earpad_attachment","earpad_inner_dimensions_mm","ear_tip_sizes","ip_rating","user_replaceable_parts","companion_app","companion_app_platforms","firmware_updatable","weight_g","dimensions_mm","hi_res_audio","communication_certifications","fcc_id","other_certifications","in_the_box","cables_included","carrying_case"],"description":"Every headset field in schema order. Unknown values are null."},"KeyboardSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"segment":{"type":["string","null"],"enum":["gaming","office","enthusiast","ergonomic","portable",null],"description":"Segment. Options: gaming (Gaming), office (Office), enthusiast (Enthusiast), ergonomic (Ergonomic), portable (Portable)."},"kit_type":{"type":["string","null"],"enum":["complete","barebones","diy_kit","assembled_without_keycaps",null],"description":"Sold as. Options: complete (Complete), barebones (Barebones), diy_kit (DIY kit), assembled_without_keycaps (Assembled without keycaps). Parts fitted when sold. A complete keyboard includes switches and keycaps. Barebones includes neither.."},"form_factor":{"type":["string","null"],"enum":["1800","full_size","tkl","75_pct","65_pct","60_pct","40_pct","split","numpad","other",null],"description":"Form factor. Options: 1800 (96 % (1800)), full_size (Full size), tkl (TKL), 75_pct (75 %), 65_pct (65 %), 60_pct (60 %), 40_pct (40 %), split (Split), numpad (Numpad), other (Other). Layout size or shape. A percentage describes the layout, not the number of keys.."},"layout_standards":{"type":["array","null"],"items":{"type":"string","enum":["ansi","iso","jis","abnt2","ks","other"]},"description":"Layout standard. Options: ansi (ANSI), iso (ISO), jis (JIS), abnt2 (ABNT2), ks (KS), other (Other). Physical key layout standards sold for this model. Regional language names are listed separately.."},"layouts":{"type":["array","null"],"items":{"type":"string"},"description":"Regional layouts."},"key_count":{"type":["integer","null"],"description":"Keys in regional layout. Physical typing and function keys in the stated regional layout. Separate media buttons, macro buttons and rotary controls are excluded. A Touch ID or Lock key in a key row counts, as on Apple keyboards.."},"legend_os":{"type":["array","null"],"items":{"type":"string","enum":["windows","macos","chromeos"]},"description":"Key legends for. Options: windows (Windows), macos (macOS), chromeos (ChromeOS)."},"has_numpad":{"type":["boolean","null"],"description":"Numpad."},"has_function_row":{"type":["boolean","null"],"description":"Function row."},"has_arrow_keys":{"type":["boolean","null"],"description":"Dedicated arrow keys."},"navigation_cluster":{"type":["string","null"],"enum":["full","compact","fn_layer",null],"description":"Navigation keys. Options: full (Full), compact (Compact), fn_layer (Fn layer). Availability of Home, End, Page Up and Page Down as dedicated keys or through an Fn layer.."},"key_stagger":{"type":["string","null"],"enum":["row_staggered","ortholinear","column_staggered",null],"description":"Key stagger. Options: row_staggered (Row-staggered), ortholinear (Ortholinear), column_staggered (Column-staggered)."},"bottom_row":{"type":["string","null"],"description":"Bottom row."},"low_profile":{"type":["boolean","null"],"description":"Low profile."},"switch_technology":{"type":["string","null"],"enum":["mechanical","optical","magnetic_hall_effect","tmr","electro_capacitive","membrane","scissor","low_profile_mechanical","other","hybrid_hall_effect_mechanical",null],"description":"Switch sensing technology. Options: mechanical (Mechanical), optical (Optical), magnetic_hall_effect (Magnetic (Hall effect)), tmr (TMR), electro_capacitive (Electro-capacitive), membrane (Membrane), scissor (Scissor), low_profile_mechanical (Low-profile mechanical), other (Other), hybrid_hall_effect_mechanical (Hall effect and mechanical). Key sensing technology. Hall effect and TMR are different sensor types. A mixed board is identified explicitly. Magnetic switch housing alone does not identify the sensor.."},"switch_feel":{"type":["array","null"],"items":{"type":"string","enum":["linear","tactile","clicky","silent_linear","silent_tactile"]},"description":"Switch feel. Options: linear (Linear), tactile (Tactile), clicky (Clicky), silent_linear (Silent linear), silent_tactile (Silent tactile)."},"switch_brands":{"type":["array","null"],"items":{"type":"string"},"description":"Switch maker."},"switch_models":{"type":["array","null"],"items":{"type":"string"},"description":"Switch models."},"switch_stem":{"type":["string","null"],"enum":["mx_cross","choc_v1","choc_v2","alps","topre","other",null],"description":"Switch stem. Options: mx_cross (MX cross), choc_v1 (Choc V1), choc_v2 (Choc V2), alps (Alps), topre (Topre), other (Other)."},"actuation_force_g":{"type":["number","null"],"description":"Actuation force. Unit: gf. Force at the point where a key registers. Initial spring force is not actuation force. Adjustable switches require a stated actuation setting.."},"bottom_out_force_g":{"type":["number","null"],"description":"Bottom-out force. Unit: gf. Force at the end of the switch travel. It is not the initial spring force or the tactile peak.."},"tactile_force_g":{"type":["number","null"],"description":"Tactile bump force. Unit: gf. Peak force of the tactile bump. It is not the force at initial movement or at bottom-out.."},"actuation_point_mm":{"type":["number","null"],"description":"Actuation point. Unit: mm. Distance before a key registers. For adjustable boards, the default profile or setting is stated in the source note.."},"total_travel_mm":{"type":["number","null"],"description":"Total travel. Unit: mm."},"switch_rated_keystrokes_million":{"type":["number","null"],"description":"Rated keystrokes. Unit: million."},"switches_factory_lubed":{"type":["boolean","null"],"description":"Factory-lubed switches."},"actuation_adjustable":{"type":["boolean","null"],"description":"Adjustable actuation."},"actuation_adjustable_range_mm":{"type":["object","null"],"properties":{"min_mm":{"type":["number","null"],"description":"Min. Unit: mm."},"max_mm":{"type":["number","null"],"description":"Max. Unit: mm."}},"required":["min_mm","max_mm"],"description":"Actuation range. Selectable actuation distances. These are settings, not a measured usable travel range.."},"actuation_adjustment_step_mm":{"type":["number","null"],"description":"Actuation step. Unit: mm. Smallest documented increment between selectable actuation settings.."},"per_key_actuation":{"type":["boolean","null"],"description":"Per-key actuation. Actuation can be configured individually for supported keys. The source note identifies any excluded keys.."},"rapid_trigger":{"type":["boolean","null"],"description":"Rapid trigger."},"rapid_trigger_sensitivity_min_mm":{"type":["number","null"],"description":"Minimum rapid trigger movement. Unit: mm. Smallest selectable movement used to reset or reactivate a key. This is a setting, not measured accuracy.."},"multi_action_keys":{"type":["boolean","null"],"description":"Multi-action keys."},"socd_cleaning":{"type":["boolean","null"],"description":"SOCD handling."},"analog_input":{"type":["boolean","null"],"description":"Analog input. Can send variable gamepad or joystick input. Magnetic sensing or adjustable actuation alone does not establish analog output.."},"hot_swappable":{"type":["string","null"],"enum":["none","3_pin","5_pin","magnetic","other",null],"description":"Hot-swap sockets. Options: none (None), 3_pin (3-pin), 5_pin (5-pin), magnetic (Magnetic), other (Other). Switches can be replaced without soldering. Magnetic compatibility must be checked separately.."},"hot_swap_compatibility":{"type":["string","null"],"description":"Compatible switches."},"stabilizer_type":{"type":["string","null"],"enum":["plate_mounted","pcb_screw_in","pcb_snap_in","other",null],"description":"Stabilizers. Options: plate_mounted (Plate-mounted), pcb_screw_in (PCB screw-in), pcb_snap_in (PCB snap-in), other (Other)."},"stabilizers_lubed":{"type":["boolean","null"],"description":"Factory-lubed stabilizers."},"keycap_material":{"type":["string","null"],"enum":["abs","pbt","pom","other",null],"description":"Keycap material. Options: abs (ABS), pbt (PBT), pom (POM), other (Other)."},"keycap_legends":{"type":["string","null"],"enum":["doubleshot","dye_sub","laser_etched","printed","blank",null],"description":"Legend method. Options: doubleshot (Doubleshot), dye_sub (Dye-sub), laser_etched (Laser-etched), printed (Printed), blank (Blank)."},"keycap_profile":{"type":["string","null"],"enum":["oem","cherry","sa","xda","dsa","mda","osa","ksa","low_profile","other",null],"description":"Keycap profile. Options: oem (OEM), cherry (Cherry), sa (SA), xda (XDA), dsa (DSA), mda (MDA), osa (OSA), ksa (KSA), low_profile (Low profile), other (Other)."},"keycap_thickness_mm":{"type":["number","null"],"description":"Keycap thickness. Unit: mm."},"keycap_shine_through":{"type":["boolean","null"],"description":"Shine-through legends. Light passes through the legends. Translucent keycap sides alone do not count.."},"polling_rate_modes":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["usb_wired","2_4ghz","bluetooth",null],"description":"Connection. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"polling_rate_hz":{"type":["integer","null"],"description":"Polling rate. Unit: Hz."},"receiver":{"type":["string","null"],"description":"Receiver or adapter. Receiver or adapter required for this report rate. The source note identifies separately sold accessories.."}},"required":["connection","polling_rate_hz","receiver"]},"description":"Polling rate per connection. Documented report rates for each connection. Required receivers or optional adapters are identified in the row and source note.."},"polling_rate_max_hz":{"type":["integer","null"],"description":"Max polling rate. Unit: Hz. Calculated from other fields."},"polling_rate_wired_hz":{"type":["integer","null"],"description":"Polling rate (wired). Unit: Hz. Calculated from other fields."},"polling_rate_wireless_hz":{"type":["integer","null"],"description":"Polling rate (2.4 GHz). Unit: Hz. Calculated from other fields."},"polling_rate_bluetooth_hz":{"type":["integer","null"],"description":"Polling rate (Bluetooth). Unit: Hz. Calculated from other fields."},"scan_rate_hz":{"type":["integer","null"],"description":"Scan rate. Unit: Hz. How often the keyboard reads its switches. A USB report rate does not establish a scan rate.."},"claimed_latency_ms":{"type":["number","null"],"description":"Input latency (claimed). Unit: ms. Maker-published input or response latency with conditions in the source note. Do not calculate this from polling rate.."},"key_rollover":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["usb_wired","2_4ghz","bluetooth",null],"description":"Connection. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"rollover":{"type":["string","null"],"enum":["2kro","3kro","6kro","nkro",null],"description":"Rollover. Options: 2kro (2KRO), 3kro (3KRO), 6kro (6KRO), nkro (NKRO)."}},"required":["connection","rollover"]},"description":"Key rollover per connection. Keys registered simultaneously over the stated connection. Connection is omitted if the source does not specify it.."},"anti_ghosting":{"type":["boolean","null"],"description":"Anti-ghosting."},"debounce_adjustable":{"type":["boolean","null"],"description":"Adjustable debounce."},"debounce_time_min_ms":{"type":["number","null"],"description":"Minimum debounce. Unit: ms."},"measured_latency":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["usb_wired","2_4ghz","bluetooth",null],"description":"Connection. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"polling_rate_hz":{"type":["integer","null"],"description":"Polling rate. Unit: Hz."},"setting":{"type":["string","null"],"description":"Setting."},"single_key_ms":{"type":["number","null"],"description":"Single key. Unit: ms."},"multi_key_ms":{"type":["number","null"],"description":"Multiple keys. Unit: ms."},"chord_ms":{"type":["number","null"],"description":"Chord. Unit: ms."},"key_release_ms":{"type":["number","null"],"description":"Key release. Unit: ms."},"update_rate_hz":{"type":["number","null"],"description":"Update rate. Unit: Hz."}},"required":["connection","polling_rate_hz","setting","single_key_ms","multi_key_ms","chord_ms","key_release_ms","update_rate_hz"]},"description":"Latency per connection (measured). Reviewer measurements for one tested setup per row. Settings and test method are stated in the source note. Missing conditions are not inferred.."},"measured_actuation_point_mm":{"type":["number","null"],"description":"Actuation point (measured). Unit: mm. Measured by a reviewer, not claimed by the maker."},"measured_total_travel_mm":{"type":["number","null"],"description":"Total travel (measured). Unit: mm. Measured by a reviewer, not claimed by the maker."},"measured_operating_force_g":{"type":["number","null"],"description":"Operating force (measured). Unit: gf. Reviewer-measured force at actuation. The switch and actuation setting are stated in the source note.."},"measured_typing_noise_dba":{"type":["number","null"],"description":"Typing noise (measured). Unit: dB(A). Reviewer-measured A-weighted typing sound level. Measurement distance and conditions are stated in the source note.."},"measured_battery_life":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["usb_wired","2_4ghz","bluetooth",null],"description":"Connection. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"lighting":{"type":["string","null"],"enum":["off","on","max",null],"description":"Lighting. Options: off (Off), on (On), max (Max). On means enabled at the brightness in the source note. Max means maximum brightness. Off refers to key lighting, not necessarily an onboard display.."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."}},"required":["connection","lighting","hours"]},"description":"Battery life (measured). Measured by a reviewer, not claimed by the maker."},"measured_weight_g":{"type":["number","null"],"description":"Weight (measured). Unit: g. Reviewer-measured keyboard weight without cable or wrist rest. The tested configuration is stated in the source note.."},"connection_types":{"type":["array","null"],"items":{"type":"string","enum":["usb_wired","2_4ghz","bluetooth"]},"description":"Connections. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"wireless_technology_name":{"type":["string","null"],"description":"Wireless technology."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth."},"bluetooth_devices":{"type":["integer","null"],"description":"Bluetooth device slots."},"multi_device_count":{"type":["integer","null"],"description":"Devices it can switch between. Distinct device connections available for switching. Do not infer this by adding wireless modes or paired Bluetooth slots.."},"multi_device_switching":{"type":["string","null"],"enum":["keys","switch","button","software","knob",null],"description":"Device switching. Options: keys (Keys), switch (Switch), button (Button), software (Software), knob (Knob). Control used to switch between paired device hosts. Connection-mode and OS switches are described separately.."},"receiver_connector":{"type":["string","null"],"enum":["usb_a","usb_c","none",null],"description":"Receiver connector. Options: usb_a (USB-A), usb_c (USB-C), none (None)."},"receiver_storage":{"type":["boolean","null"],"description":"Receiver storage in keyboard."},"receiver_multi_device":{"type":["boolean","null"],"description":"Receiver shared with other devices."},"wireless_range_m":{"type":["number","null"],"description":"Wireless range. Unit: m."},"cable_detachable":{"type":["boolean","null"],"description":"Detachable cable."},"keyboard_port":{"type":["string","null"],"enum":["usb_c","micro_usb","mini_usb","none",null],"description":"Port on keyboard. Options: usb_c (USB-C), micro_usb (Micro-USB), mini_usb (Mini-USB), none (None)."},"cable_host_connector":{"type":["string","null"],"enum":["usb_a","usb_c",null],"description":"Cable plug. Options: usb_a (USB-A), usb_c (USB-C)."},"cable_type":{"type":["string","null"],"enum":["rubber","braided","coiled","other",null],"description":"Cable. Options: rubber (Rubber), braided (Braided), coiled (Coiled), other (Other)."},"cable_length_m":{"type":["number","null"],"description":"Cable length. Unit: m."},"usb_passthrough":{"type":["boolean","null"],"description":"USB passthrough."},"os_compatibility":{"type":["array","null"],"items":{"type":"string","enum":["windows","macos","linux","chromeos","ios","ipados","android"]},"description":"Works with. Options: windows (Windows), macos (macOS), linux (Linux), chromeos (ChromeOS), ios (iOS), ipados (iPadOS), android (Android). Systems on which the keyboard works. Configuration software may have narrower system support.."},"console_compatibility":{"type":["array","null"],"items":{"type":"string","enum":["playstation","xbox","switch"]},"description":"Consoles. Options: playstation (PlayStation), xbox (Xbox), switch (Nintendo Switch)."},"battery_type":{"type":["string","null"],"enum":["li_ion","li_po","aa","aaa",null],"description":"Battery type. Options: li_ion (Li-ion), li_po (Li-Po), aa (AA), aaa (AAA)."},"battery_count":{"type":["integer","null"],"description":"Number of batteries. Number of replaceable AA or AAA cells required. Internal rechargeable battery packs are not counted here.."},"battery_capacity_mah":{"type":["integer","null"],"description":"Battery capacity. Unit: mAh."},"battery_user_replaceable":{"type":["boolean","null"],"description":"User-replaceable battery."},"battery_life_claimed":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["usb_wired","2_4ghz","bluetooth",null],"description":"Connection. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"lighting":{"type":["string","null"],"enum":["off","on","max",null],"description":"Lighting. Options: off (Off), on (On), max (Max). On means enabled at the brightness in the source note. Max means maximum brightness. Off refers to key lighting, not necessarily an onboard display.."},"polling_rate_hz":{"type":["integer","null"],"description":"Polling rate. Unit: Hz."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."},"days":{"type":["number","null"],"description":"Days. Unit: days."},"months":{"type":["number","null"],"description":"Months. Unit: months."}},"required":["connection","lighting","polling_rate_hz","hours","days","months"]},"description":"Battery life per mode (claimed). Maker estimates. Store one published native duration unit per row: hours, days or months. Days and months describe calendar use including idle time, not continuous runtime. Do not convert calendar estimates into hours. Connection, lighting and polling rate are included only when published. Brightness, workload, screen status, sleep settings and up-to qualifiers go in the source note.."},"battery_life_max_h":{"type":["number","null"],"description":"Longest battery life (claimed). Unit: h. Longest maker estimate published in hours across the listed modes. Rows published in days or months do not contribute. Conditions can differ between products.. Calculated from other fields."},"battery_life_lighting_off_h":{"type":["number","null"],"description":"Battery life, lighting off. Unit: h. Longest maker estimate published in hours with lighting off. Calendar-day and calendar-month estimates are not converted and do not contribute.. Calculated from other fields."},"battery_life_lighting_on_h":{"type":["number","null"],"description":"Battery life, lighting on. Unit: h. Longest maker estimate published in hours with lighting enabled. Calendar-day and calendar-month estimates are not converted and do not contribute. Brightness and display conditions are stated in the source note.. Calculated from other fields."},"battery_life_lighting_on_days":{"type":["number","null"],"description":"Battery life, backlight on (claimed). Unit: days. Longest maker up-to estimate published in calendar days with backlighting enabled. Includes idle time and the source-defined usage pattern, not continuous runtime. Brightness, workload, connection and sleep conditions remain in the table and source note. Hours and months are not converted.. Calculated from other fields."},"battery_life_lighting_off_months":{"type":["number","null"],"description":"Battery life, backlight off (claimed). Unit: months. Longest maker up-to estimate published in calendar months with backlighting off. Includes idle time and the source-defined usage pattern, not continuous runtime. Workload, connection and sleep conditions remain in the table and source note. Hours and days are not converted.. Calculated from other fields."},"charging_port":{"type":["string","null"],"enum":["usb_c","micro_usb","none",null],"description":"Charging port. Options: usb_c (USB-C), micro_usb (Micro-USB), none (None)."},"charge_time_full_min":{"type":["integer","null"],"description":"Full charge time. Unit: min. Published time for a full charge. Approximate times remain qualified in the source note.."},"quick_charge":{"type":["object","null"],"properties":{"charge_min":{"type":["integer","null"],"description":"Charge time. Unit: min."},"use_h":{"type":["number","null"],"description":"Use time. Unit: h."}},"required":["charge_min","use_h"],"description":"Quick charge."},"use_while_charging":{"type":["boolean","null"],"description":"Use while charging."},"solar_charging":{"type":["boolean","null"],"description":"Solar charging."},"battery_indicator":{"type":["array","null"],"items":{"type":"string","enum":["led","key_lighting","software","os_report","display"]},"description":"Battery indicator. Options: led (LED), key_lighting (Key lighting), software (Software), os_report (Reported to the OS), display (Built-in display)."},"case_material":{"type":["string","null"],"description":"Case material."},"plate_material":{"type":["string","null"],"enum":["aluminium","steel","brass","polycarbonate","fr4","pom","pp","carbon_fiber","none","other",null],"description":"Plate material. Options: aluminium (Aluminium), steel (Steel), brass (Brass), polycarbonate (Polycarbonate), fr4 (FR4), pom (POM), pp (PP), carbon_fiber (Carbon fibre), none (None), other (Other)."},"mount_style":{"type":["string","null"],"enum":["tray","top","bottom","sandwich","gasket","leaf_spring","plateless","integrated_plate","other",null],"description":"Mount style. Options: tray (Tray), top (Top), bottom (Bottom), sandwich (Sandwich), gasket (Gasket), leaf_spring (Leaf spring), plateless (Plateless), integrated_plate (Integrated plate), other (Other)."},"pcb_flex_cuts":{"type":["boolean","null"],"description":"Flex cuts in PCB."},"sound_dampening":{"type":["array","null"],"items":{"type":"string","enum":["case_foam","plate_foam","pcb_foam","switch_pads","pe_sheet","tape_layer","silicone_bottom","foam","other"]},"description":"Sound dampening. Options: case_foam (Case foam), plate_foam (Plate foam), pcb_foam (PCB foam), switch_pads (Switch pads), pe_sheet (PE sheet), tape_layer (Tape layer), silicone_bottom (Silicone bottom), foam (Foam, position not stated), other (Other). Dampening layers the maker or a review names. Foam whose position in the stack is not stated is foam. Films, pads and silicone parts that fit no other option are other.."},"typing_angles_deg":{"type":["array","null"],"items":{"type":"number"},"description":"Typing angles. Unit: deg. Keyboard slope for each supported foot position, starting with the lowest. An adjustable-foot count does not establish angles. When the maker publishes only the angle with the feet out, that angle is stored alone.."},"spill_resistant":{"type":["boolean","null"],"description":"Spill resistant."},"ip_rating":{"type":["array","null"],"items":{"type":"string"},"description":"IP rating."},"backlight":{"type":["string","null"],"enum":["none","single_color","rgb_per_key","rgb_zone",null],"description":"Backlight. Options: none (None), single_color (Single colour), rgb_per_key (RGB per key), rgb_zone (RGB zones)."},"led_orientation":{"type":["string","null"],"enum":["north_facing","south_facing",null],"description":"LED position. Options: north_facing (North-facing), south_facing (South-facing)."},"lighting_zones":{"type":["integer","null"],"description":"Lighting zones."},"lighting_brightness_levels":{"type":["integer","null"],"description":"Brightness levels. Selectable onboard brightness steps. The source note states whether the off position is included.."},"side_lighting":{"type":["boolean","null"],"description":"Side or underglow lighting."},"backlight_sensors":{"type":["array","null"],"items":{"type":"string","enum":["ambient_light","proximity"]},"description":"Lighting sensors. Options: ambient_light (Ambient light), proximity (Proximity)."},"lighting_ecosystems":{"type":["array","null"],"items":{"type":"string"},"description":"Lighting sync."},"media_keys":{"type":["string","null"],"enum":["none","dedicated","fn_layer","multifunction_control",null],"description":"Media keys. Options: none (None), dedicated (Dedicated), fn_layer (Fn layer), multifunction_control (Multifunction control). Playback controlled by separate buttons, an Fn layer or a multifunction knob/rocker. Volume controls are listed separately, and knob presses are excluded from the separate media-button count.."},"dedicated_media_key_count":{"type":["integer","null"],"description":"Separate media buttons. Separate physical buttons for playback or mute, counted once each. Fn shortcuts, macro buttons, knob presses and roller presses are excluded.."},"volume_control":{"type":["string","null"],"enum":["none","knob","roller","keys","touch_slider",null],"description":"Volume control. Options: none (None), knob (Knob), roller (Roller), keys (Keys), touch_slider (Touch slider)."},"knob_count":{"type":["integer","null"],"description":"Knobs."},"knob_programmable":{"type":["boolean","null"],"description":"Programmable knob."},"knob_pressable":{"type":["boolean","null"],"description":"Knob press."},"dedicated_macro_keys":{"type":["integer","null"],"description":"Separate macro keys. Separate physical keys or buttons intended for macros. Excludes ordinary remappable keys, media buttons and a dedicated software-launch button.."},"display_type":{"type":["string","null"],"enum":["none","oled","lcd","e_ink",null],"description":"Built-in screen. Options: none (None), oled (OLED), lcd (LCD), e_ink (E Ink)."},"touchpad":{"type":["boolean","null"],"description":"Touchpad."},"fingerprint_reader":{"type":["boolean","null"],"description":"Fingerprint reader."},"os_mode_switch":{"type":["string","null"],"enum":["none","switch","key_combo",null],"description":"OS mode switch. Options: none (None), switch (Switch), key_combo (Key combination)."},"win_key_lock":{"type":["boolean","null"],"description":"Windows key lock."},"software_name":{"type":["string","null"],"description":"Software."},"software_platforms":{"type":["array","null"],"items":{"type":"string","enum":["windows","macos","linux","web"]},"description":"Software runs on. Options: windows (Windows), macos (macOS), linux (Linux), web (Web)."},"firmware_compatibility":{"type":["array","null"],"items":{"type":"string","enum":["qmk","via","vial","zmk","kmk","other"]},"description":"Open firmware. Options: qmk (QMK), via (VIA), vial (Vial), zmk (ZMK), kmk (KMK), other (Other)."},"onboard_memory":{"type":["boolean","null"],"description":"Onboard memory."},"onboard_profiles":{"type":["integer","null"],"description":"Onboard profiles. Profiles stored on the keyboard, including fixed defaults when the maker counts them. Software-only profiles are excluded.."},"macros":{"type":["boolean","null"],"description":"Macros."},"macros_onboard":{"type":["boolean","null"],"description":"Macros stored onboard. Recorded command sequences run from keyboard storage without the configuration app. Onboard lighting or remapping alone does not establish this.."},"key_remapping":{"type":["boolean","null"],"description":"Key remapping."},"layers":{"type":["integer","null"],"description":"Layers. Total key mapping layers including the base layer. Lighting effect layers and profile slots are excluded.."},"firmware_updatable":{"type":["boolean","null"],"description":"User firmware updates."},"wrist_rest":{"type":["string","null"],"enum":["none","detachable","integrated",null],"description":"Wrist rest. Options: none (None), detachable (Detachable), integrated (Integrated)."},"wrist_rest_material":{"type":["string","null"],"description":"Wrist rest material."},"tenting":{"type":["boolean","null"],"description":"Tenting."},"tenting_angles_deg":{"type":["array","null"],"items":{"type":"number"},"description":"Tenting angles. Unit: deg."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"front_height_mm":{"type":["number","null"],"description":"Front height. Unit: mm."}},"required":["width_mm","depth_mm","height_mm","front_height_mm"],"description":"Dimensions. Keyboard body dimensions with fitted keycaps, without wrist rest and with feet folded. Any different measurement condition is stated in the source note. Width is the longest side, depth runs front to back and height is the thickness. Map by size when the maker's labels differ.."},"dimensions_with_wrist_rest_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."}},"required":["width_mm","depth_mm","height_mm"],"description":"Dimensions with wrist rest."},"weight_g":{"type":["number","null"],"description":"Keyboard weight. Unit: g. Keyboard without cable or wrist rest. Weights that include accessories cannot be stored here. A cable that cannot be removed is included. Replaceable batteries are included, as built-in batteries are.."},"weight_with_wrist_rest_g":{"type":["number","null"],"description":"Weight including wrist rest. Unit: g. Keyboard plus supplied wrist rest, excluding packaging. The source note identifies any included cable.."},"package_dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Box dimensions."},"package_weight_g":{"type":["number","null"],"description":"Box weight. Unit: g. One retail package including its contents. A multi-unit shipping carton weight is excluded.."},"works_with_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Platform certifications."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."},"cables_included":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"description":"Type."},"count":{"type":["integer","null"],"description":"Count."}},"required":["type","count"]},"description":"Cables included."},"spare_switches_count":{"type":["integer","null"],"description":"Spare switches."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","segment","kit_type","form_factor","layout_standards","layouts","key_count","legend_os","has_numpad","has_function_row","has_arrow_keys","navigation_cluster","key_stagger","bottom_row","low_profile","switch_technology","switch_feel","switch_brands","switch_models","switch_stem","actuation_force_g","bottom_out_force_g","tactile_force_g","actuation_point_mm","total_travel_mm","switch_rated_keystrokes_million","switches_factory_lubed","actuation_adjustable","actuation_adjustable_range_mm","actuation_adjustment_step_mm","per_key_actuation","rapid_trigger","rapid_trigger_sensitivity_min_mm","multi_action_keys","socd_cleaning","analog_input","hot_swappable","hot_swap_compatibility","stabilizer_type","stabilizers_lubed","keycap_material","keycap_legends","keycap_profile","keycap_thickness_mm","keycap_shine_through","polling_rate_modes","polling_rate_max_hz","polling_rate_wired_hz","polling_rate_wireless_hz","polling_rate_bluetooth_hz","scan_rate_hz","claimed_latency_ms","key_rollover","anti_ghosting","debounce_adjustable","debounce_time_min_ms","measured_latency","measured_actuation_point_mm","measured_total_travel_mm","measured_operating_force_g","measured_typing_noise_dba","measured_battery_life","measured_weight_g","connection_types","wireless_technology_name","bluetooth_version","bluetooth_devices","multi_device_count","multi_device_switching","receiver_connector","receiver_storage","receiver_multi_device","wireless_range_m","cable_detachable","keyboard_port","cable_host_connector","cable_type","cable_length_m","usb_passthrough","os_compatibility","console_compatibility","battery_type","battery_count","battery_capacity_mah","battery_user_replaceable","battery_life_claimed","battery_life_max_h","battery_life_lighting_off_h","battery_life_lighting_on_h","battery_life_lighting_on_days","battery_life_lighting_off_months","charging_port","charge_time_full_min","quick_charge","use_while_charging","solar_charging","battery_indicator","case_material","plate_material","mount_style","pcb_flex_cuts","sound_dampening","typing_angles_deg","spill_resistant","ip_rating","backlight","led_orientation","lighting_zones","lighting_brightness_levels","side_lighting","backlight_sensors","lighting_ecosystems","media_keys","dedicated_media_key_count","volume_control","knob_count","knob_programmable","knob_pressable","dedicated_macro_keys","display_type","touchpad","fingerprint_reader","os_mode_switch","win_key_lock","software_name","software_platforms","firmware_compatibility","onboard_memory","onboard_profiles","macros","macros_onboard","key_remapping","layers","firmware_updatable","wrist_rest","wrist_rest_material","tenting","tenting_angles_deg","dimensions_mm","dimensions_with_wrist_rest_mm","weight_g","weight_with_wrist_rest_g","package_dimensions_mm","package_weight_g","works_with_certifications","other_certifications","in_the_box","cables_included","spare_switches_count"],"description":"Every keyboard field in schema order. Unknown values are null."},"LaptopSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"segment":{"type":["string","null"],"enum":["gaming","creator","ultraportable","business","mainstream","workstation",null],"description":"Segment. Options: gaming (Gaming), creator (Creator), ultraportable (Ultrabook), business (Business), mainstream (Mainstream), workstation (Workstation)."},"form_factor":{"type":["string","null"],"enum":["clamshell","convertible_360","detachable","dual_screen",null],"description":"Form factor. Options: clamshell (Clamshell), convertible_360 (360° convertible), detachable (Detachable), dual_screen (Dual screen)."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."},"thickness_min_mm":{"type":["number","null"],"description":"Thickness (min). Unit: mm."},"thickness_max_mm":{"type":["number","null"],"description":"Thickness (max). Unit: mm."}},"required":["width_mm","depth_mm","thickness_min_mm","thickness_max_mm"],"description":"Dimensions. Closed laptop body size. Minimum and maximum thickness describe the front and rear or other points stated by the maker.."},"weight_kg":{"type":["number","null"],"description":"Weight (published). Unit: kg. Published laptop weight without the charger. A starting weight is identified in the source note and may vary with configuration.."},"lid_material":{"type":["string","null"],"enum":["aluminium","magnesium_alloy","carbon_fibre","plastic","glass","other",null],"description":"Lid material. Options: aluminium (Aluminium), magnesium_alloy (Magnesium alloy), carbon_fibre (Carbon fibre), plastic (Plastic), glass (Glass), other (Other)."},"bottom_material":{"type":["string","null"],"enum":["aluminium","magnesium_alloy","carbon_fibre","plastic","glass","other",null],"description":"Bottom material. Options: aluminium (Aluminium), magnesium_alloy (Magnesium alloy), carbon_fibre (Carbon fibre), plastic (Plastic), glass (Glass), other (Other)."},"hinge_max_angle_deg":{"type":["integer","null"],"description":"Max hinge angle. Unit: deg."},"mil_std_810":{"type":["boolean","null"],"description":"MIL-STD-810 testing (claimed). Manufacturer claim of MIL-STD-810 testing. The revision and tested procedures belong in the source note. This is not proof of every standard test.."},"screen_size_in":{"type":["number","null"],"description":"Screen size. Unit: in. Diagonal of the main built-in display. Rounded-corner displays may be measured as a full rectangle.."},"native_resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Native resolution."},"pixel_density_ppi":{"type":["number","null"],"description":"Pixel density. Unit: ppi. Calculated from other fields."},"panel_type":{"type":["string","null"],"enum":["ips","oled","va","tn","other","ips_level",null],"description":"Panel type. Options: ips (IPS), oled (OLED), va (VA), tn (TN), other (Other), ips_level (IPS-level). Dell's WVA means wide viewing angle and names no panel technology, so it is stored as IPS only when Dell or a review names IPS.."},"backlight_type":{"type":["string","null"],"enum":["edge_lit_led","mini_led","none_self_emissive",null],"description":"Backlight. Options: edge_lit_led (Edge-lit LED), mini_led (Mini-LED), none_self_emissive (None (self-emissive))."},"local_dimming_zones":{"type":["integer","null"],"description":"Dimming zones. Independently controlled backlight zones, not the number of LEDs or screen pixels.."},"panel_model":{"type":["string","null"],"description":"Panel part number. Panel part number identified in a matching review unit. Suppliers may vary within the same laptop configuration.."},"screen_surface":{"type":["string","null"],"enum":["matte","semi_glossy","glossy",null],"description":"Screen surface. Options: matte (Matte), semi_glossy (Semi-glossy), glossy (Glossy). Surface of the stored display configuration. Anti-reflective coatings do not by themselves make a glossy display matte. A matte finish of the chassis is not the screen surface.."},"is_touchscreen":{"type":["boolean","null"],"description":"Touchscreen."},"stylus_support":{"type":["string","null"],"enum":["included","supported","none",null],"description":"Stylus. Options: included (Included), supported (Supported), none (None)."},"refresh_rate_modes":{"type":["array","null"],"items":{"type":"object","properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"max_hz":{"type":["integer","null"],"description":"Maximum operating refresh. Unit: Hz. Highest documented operating rate at this built-in display resolution.."},"vrr":{"type":["boolean","null"],"description":"VRR. Variable refresh operates in this mode. Manual fixed-rate switching does not qualify.."}},"required":["width_px","height_px","max_hz","vrr"]},"description":"Refresh rate modes. Highest confirmed operating refresh rate of the built-in display at each resolution. Add a second row only for a documented dual-mode panel, not an ordinary supported timing.."},"max_refresh_rate_hz":{"type":["integer","null"],"description":"Max refresh rate. Unit: Hz. Calculated from other fields."},"vrr_technologies":{"type":["array","null"],"items":{"type":"string","enum":["vesa_adaptive_sync","freesync","freesync_premium","freesync_premium_pro","gsync","gsync_compatible","windows_drr","promotion"]},"description":"Adaptive sync. Options: vesa_adaptive_sync (VESA Adaptive-Sync), freesync (FreeSync), freesync_premium (FreeSync Premium), freesync_premium_pro (FreeSync Premium Pro), gsync (G-SYNC), gsync_compatible (G-SYNC Compatible), windows_drr (Windows DRR), promotion (ProMotion). Named variable refresh technologies for the built-in display. Manual switching between 60Hz and 120Hz is not VRR.."},"response_time_gtg_ms":{"type":["number","null"],"description":"Gray-to-gray response time (claimed). Unit: ms. Manufacturer claim for a gray-to-gray pixel transition. Do not use generic response times, black-to-white values, or motion-picture response times.."},"color_depth_bits":{"type":["integer","null"],"description":"Native panel colour depth. Unit: bits. Physical panel colour depth per channel. Do not infer native bit depth or FRC from the number of supported colours.."},"brightness_typical_nits":{"type":["number","null"],"description":"Brightness (SDR, claimed). Unit: nits. Manufacturer typical SDR luminance. Outdoor maxima and an unspecified peak are not typical SDR brightness.."},"brightness_outdoor_peak_nits":{"type":["number","null"],"description":"Peak brightness (SDR outdoors, claimed). Unit: nits. Manufacturer maximum SDR luminance explicitly claimed for outdoor use. Ambient light, automatic brightness and other stated conditions belong in the source note. Not typical SDR or HDR brightness.."},"brightness_hdr_sustained_nits":{"type":["number","null"],"description":"Sustained brightness (HDR, claimed). Unit: nits. Manufacturer explicitly sustained HDR luminance. Screen area, duration, temperature and other stated conditions belong in the source note. Not a brief peak or SDR luminance.."},"brightness_hdr_peak_nits":{"type":["number","null"],"description":"Peak brightness (HDR, claimed). Unit: nits. Manufacturer peak luminance explicitly measured or claimed in HDR. Window size and duration belong in the source note.."},"srgb_coverage_pct":{"type":["number","null"],"description":"sRGB coverage (claimed). Unit: %. Manufacturer stated sRGB gamut percentage. The source note identifies coverage, volume, or an unspecified maker gamut claim.."},"dci_p3_coverage_pct":{"type":["number","null"],"description":"DCI-P3 coverage (claimed). Unit: %. Manufacturer stated DCI-P3 gamut percentage. The source note identifies coverage, volume, or an unspecified maker gamut claim.."},"adobe_rgb_coverage_pct":{"type":["number","null"],"description":"Adobe RGB coverage (claimed). Unit: %. Manufacturer stated Adobe RGB gamut percentage. The source note identifies coverage, volume, or an unspecified maker gamut claim.."},"hdr_certification":{"type":["string","null"],"enum":["displayhdr_400","displayhdr_500","displayhdr_600","displayhdr_1000","displayhdr_1400","displayhdr_true_black_400","displayhdr_true_black_500","displayhdr_true_black_600","none","displayhdr_true_black_1000",null],"description":"HDR certification. Options: displayhdr_400 (DisplayHDR 400), displayhdr_500 (DisplayHDR 500), displayhdr_600 (DisplayHDR 600), displayhdr_1000 (DisplayHDR 1000), displayhdr_1400 (DisplayHDR 1400), displayhdr_true_black_400 (DisplayHDR True Black 400), displayhdr_true_black_500 (DisplayHDR True Black 500), displayhdr_true_black_600 (DisplayHDR True Black 600), none (None), displayhdr_true_black_1000 (DisplayHDR True Black 1000)."},"factory_calibrated":{"type":["boolean","null"],"description":"Factory calibrated. The maker explicitly states factory colour calibration. Certification alone does not establish calibration.."},"secondary_display":{"type":["object","null"],"properties":{"screen_size_in":{"type":["number","null"],"description":"Screen size. Unit: in."},"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"is_touchscreen":{"type":["boolean","null"],"description":"Touchscreen."}},"required":["screen_size_in","width_px","height_px","is_touchscreen"],"description":"Second display."},"cpu":{"type":["string","null"],"description":"Processor."},"cpu_brand":{"type":["string","null"],"enum":["intel","amd","apple","qualcomm","mediatek","nvidia",null],"description":"Processor brand. Options: intel (Intel), amd (AMD), apple (Apple), qualcomm (Qualcomm), mediatek (MediaTek), nvidia (NVIDIA)."},"cpu_clusters":{"type":["array","null"],"items":{"type":"object","properties":{"core_type":{"type":["string","null"],"enum":["performance","efficiency","low_power_efficiency","super","big","zen2","zen3","zen4","zen5","zen5c","prime",null],"description":"Core type. Options: performance (Performance), efficiency (Efficiency), low_power_efficiency (Low-power efficiency), super (Super), big (Big), zen2 (Zen 2), zen3 (Zen 3), zen4 (Zen 4), zen5 (Zen 5), zen5c (Zen 5c), prime (Prime). Use the chip maker's stated core classification. Big records an explicitly named big-core role. The core_name column retains the microarchitecture. Do not infer a role from clock speed. Zen 3+ cores are Zen 3, with Zen 3+ in core_name. Qualcomm's Prime cores are Prime and its Performance cores are Performance.."},"count":{"type":["integer","null"],"description":"Count."},"core_name":{"type":["string","null"],"description":"Core."},"base_ghz":{"type":["number","null"],"description":"Base clock. Unit: GHz."},"max_ghz":{"type":["number","null"],"description":"Max clock. Unit: GHz."}},"required":["core_type","count","core_name","base_ghz","max_ghz"]},"description":"Core configuration. Processor core groups using the chip maker's names. MediaTek Big, Apple Super and AMD Zen architecture labels remain distinct from Intel P and E labels.."},"cpu_core_count":{"type":["integer","null"],"description":"CPU cores. Calculated from other fields."},"cpu_performance_core_count":{"type":["integer","null"],"description":"Cores labelled performance. Counts only rows classified as performance. Other labels, including Big, Super and AMD Zen architecture rows, are not included.. Calculated from other fields."},"cpu_efficiency_core_count":{"type":["integer","null"],"description":"Cores labelled efficiency. Counts only efficiency and low-power-efficiency rows. AMD Zen 5c and Apple super cores are not included.. Calculated from other fields."},"cpu_thread_count":{"type":["integer","null"],"description":"Threads. Maximum hardware threads of the processor, including simultaneous multithreading where supported.."},"cpu_max_ghz":{"type":["number","null"],"description":"Max boost clock. Unit: GHz. Calculated from other fields."},"cpu_cache_l3_mb":{"type":["number","null"],"description":"L3 cache. Unit: MB. L3 cache only. Do not copy a combined L2 plus L3 cache total. Qualcomm's total cache, such as 30 MB on Snapdragon X, is not L3, even when a laptop maker labels it L3.."},"process_node_nm":{"type":["number","null"],"description":"Process. Unit: nm. Process size class of the processor compute die in nm, as on CPUs: TSMC N3B is 3, Intel 7 is 10, Intel 4 is 7 and Intel 18A is 1.8. Marketing process names and other chiplet processes belong in the source note.."},"cpu_tdp_configured_w":{"type":["integer","null"],"description":"Sustained CPU power (configured). Unit: W. This laptop's sustained configured CPU power limit, such as PL1. A chip manufacturer's generic base power is not the laptop setting.."},"cpu_power_max_w":{"type":["integer","null"],"description":"Peak CPU power (configured). Unit: W. This laptop's configured short-duration CPU limit, such as PL2. Do not substitute generic processor maximum turbo power.."},"combined_power_max_w":{"type":["integer","null"],"description":"Combined CPU and GPU power. Unit: W. Maker stated simultaneous CPU plus discrete-GPU budget for the exact configuration and power mode.."},"npu_tops":{"type":["number","null"],"description":"NPU performance. Unit: TOPS. NPU-only claimed operations per second. Excludes combined CPU, GPU and platform AI throughput. Precision belongs in the source note.."},"has_discrete_gpu":{"type":["boolean","null"],"description":"Discrete GPU. A separate dedicated graphics processor is installed. Integrated or unified-memory graphics do not qualify.."},"gpu":{"type":["string","null"],"description":"GPU."},"gpu_brand":{"type":["string","null"],"enum":["nvidia","amd","intel",null],"description":"GPU brand. Options: nvidia (NVIDIA), amd (AMD), intel (Intel)."},"gpu_vram_gb":{"type":["integer","null"],"description":"VRAM. Unit: GB. Dedicated video memory of the installed discrete GPU. Shared system memory is excluded.."},"gpu_tgp_max_w":{"type":["integer","null"],"description":"Max GPU power (TGP). Unit: W. Maximum configured discrete-GPU power including Dynamic Boost. Mode and any maker qualification belong in the source note.."},"gpu_dynamic_boost_w":{"type":["integer","null"],"description":"Dynamic Boost. Unit: W. Maximum additional GPU power shifted from the CPU through NVIDIA Dynamic Boost. This is part of maximum TGP, not extra to it. A figure written as \"up to 115W Dynamic Boost\" is the total, so it goes in gpu_tgp_max_w.."},"gpu_boost_clock_mhz":{"type":["integer","null"],"description":"GPU boost clock. Unit: MHz. Highest maker configured GPU boost clock, including factory overclock where explicitly stated. Mode belongs in the source note.."},"gpu_switching":{"type":["array","null"],"items":{"type":"string","enum":["mux_switch","advanced_optimus","optimus","amd_smart_access_graphics","amd_smartshift"]},"description":"GPU switching. Options: mux_switch (MUX switch), advanced_optimus (Advanced Optimus), optimus (Optimus), amd_smart_access_graphics (AMD Smart Access Graphics), amd_smartshift (AMD SmartShift). Explicit GPU display-routing or power-sharing features. Advanced Optimus includes hardware display multiplexing.."},"integrated_gpu":{"type":["string","null"],"description":"Integrated GPU."},"ram_gb":{"type":["integer","null"],"description":"Installed RAM. Unit: GB. Total installed RAM in this product configuration, not the maximum purchase option.."},"ram_type":{"type":["string","null"],"enum":["ddr4","ddr5","lpddr4x","lpddr5","lpddr5x","lpddr6","other",null],"description":"RAM type. Options: ddr4 (DDR4), ddr5 (DDR5), lpddr4x (LPDDR4X), lpddr5 (LPDDR5), lpddr5x (LPDDR5X), lpddr6 (LPDDR6), other (Other)."},"ram_speed_mts":{"type":["integer","null"],"description":"RAM speed. Unit: MT/s. Configured memory data rate in transfers per second. Do not treat the DRAM clock in MHz as the data rate.."},"ram_channels":{"type":["integer","null"],"description":"Memory channels. Active memory channels of the installed configuration, not the number of RAM modules or slots. One installed module is one channel. This holds for DDR5 too, whose two 32-bit subchannels on one module do not count as two channels. Soldered LPDDR memory counts in 64-bit units, so a 128-bit bus is 2 channels, even when a maker calls it quad-channel.."},"ram_upgradeable":{"type":["string","null"],"enum":["soldered","slots","mixed",null],"description":"RAM upgrade. Options: soldered (Soldered), slots (Slots), mixed (Mixed). Whether the installed RAM is soldered, socketed in slots, or a mixture. Purchase-time configurations are not upgrades.."},"memory_slots":{"type":["array","null"],"items":{"type":"object","properties":{"slot_type":{"type":["string","null"],"enum":["sodimm","camm2","lpcamm2","csodimm",null],"description":"Slot. Options: sodimm (SO-DIMM), camm2 (CAMM2), lpcamm2 (LPCAMM2), csodimm (CSODIMM). CSODIMM is a clocked SO-DIMM socket and is distinct from ordinary SO-DIMM.."},"count":{"type":["integer","null"],"description":"Count."},"occupied":{"type":["boolean","null"],"description":"Occupied. Whether these physical sockets contain replaceable modules in the stored configuration.."},"module_gb":{"type":["integer","null"],"description":"Module size. Unit: GB. Capacity of each module in this row, not the combined capacity of all modules.."}},"required":["slot_type","count","occupied","module_gb"]},"description":"Memory slots. Physical replaceable RAM module sockets grouped by type and occupancy. Clocked SO-DIMM uses CSODIMM. Soldered memory is excluded.."},"ram_slot_count":{"type":["integer","null"],"description":"RAM slots. Calculated from other fields."},"ram_free_slot_count":{"type":["integer","null"],"description":"Free RAM slots. Calculated from other fields."},"ram_max_gb":{"type":["integer","null"],"description":"Maximum supported RAM. Unit: GB. Manufacturer supported maximum RAM, including purchase-time soldered options. Does not imply post-purchase upgradeability.."},"storage_gb":{"type":["integer","null"],"description":"Installed storage. Unit: GB. Total advertised installed storage in decimal GB. Convert 1TB to 1000GB, without changing an explicitly published 512GB value.."},"storage_type":{"type":["string","null"],"enum":["nvme_ssd","sata_ssd","ufs","emmc","hdd","ssd",null],"description":"Storage type. Options: nvme_ssd (NVMe SSD), sata_ssd (SATA SSD), ufs (UFS), emmc (eMMC), hdd (HDD), ssd (SSD (interface unspecified))."},"storage_pcie_gen":{"type":["integer","null"],"description":"Installed drive PCIe generation. PCIe generation of the installed drive. This may be lower than the slot capability.."},"storage_slots":{"type":["array","null"],"items":{"type":"object","properties":{"form_factor":{"type":["string","null"],"enum":["m2_2230","m2_2242","m2_2280","bay_2_5",null],"description":"Form factor. Options: m2_2230 (M.2 2230), m2_2242 (M.2 2242), m2_2280 (M.2 2280), bay_2_5 (2.5-inch bay). Longest supported module form factor named by the source. One slot supporting multiple lengths is still one slot.."},"interface":{"type":["string","null"],"enum":["pcie_nvme","sata",null],"description":"Interface. Options: pcie_nvme (PCIe NVMe), sata (SATA)."},"pcie_gen":{"type":["integer","null"],"description":"PCIe generation. Maximum generation supported by the physical slot, not necessarily the installed drive.."},"pcie_lanes":{"type":["integer","null"],"description":"PCIe lanes."},"count":{"type":["integer","null"],"description":"Count."},"occupied":{"type":["boolean","null"],"description":"Occupied."}},"required":["form_factor","interface","pcie_gen","pcie_lanes","count","occupied"]},"description":"Storage slots. Physical storage connectors grouped by capability and occupancy. A slot accepting several drive lengths is one slot, not one per length.."},"m2_slot_count":{"type":["integer","null"],"description":"M.2 slots. Calculated from other fields."},"storage_free_slot_count":{"type":["integer","null"],"description":"Free storage slots. Calculated from other fields."},"storage_pcie_gen_max":{"type":["integer","null"],"description":"Maximum slot PCIe generation. Calculated from other fields."},"ports":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["usb_c","usb_a","hdmi","displayport","mini_displayport","rj45","audio_3_5mm","sd_card","microsd_card","smart_card","dc_in","magsafe","other",null],"description":"Type. Options: usb_c (USB-C), usb_a (USB-A), hdmi (HDMI), displayport (DisplayPort), mini_displayport (Mini DisplayPort), rj45 (Ethernet (RJ45)), audio_3_5mm (3.5 mm audio), sd_card (SD card), microsd_card (microSD card), smart_card (Smart card), dc_in (DC in), magsafe (MagSafe), other (Other)."},"version":{"type":["string","null"],"description":"Version. Published interface protocol version. USB, Thunderbolt and DisplayPort capabilities may share one connector. An HDMI row writes the name and version, such as HDMI 2.1 or HDMI 2.1 FRL, so the highest HDMI version compares.."},"count":{"type":["integer","null"],"description":"Count. Physical connector count for this row, counted once even when multiple protocols share it.."},"side":{"type":["string","null"],"enum":["left","right","rear","front",null],"description":"Side. Options: left (Left), right (Right), rear (Rear), front (Front)."},"max_gbps":{"type":["number","null"],"description":"Maximum data rate. Unit: Gbps. Highest symmetric data-link rate. Thunderbolt 5 display Bandwidth Boost up to120Gbps is not a symmetric data rate.."},"tb_usb4":{"type":["string","null"],"enum":["thunderbolt_3","thunderbolt_4","thunderbolt_5","usb4",null],"description":"Thunderbolt or USB4. Options: thunderbolt_3 (Thunderbolt 3), thunderbolt_4 (Thunderbolt 4), thunderbolt_5 (Thunderbolt 5), usb4 (USB4)."},"dp_alt_mode":{"type":["boolean","null"],"description":"DP Alt Mode."},"charging_in_w":{"type":["number","null"],"description":"Maximum charging input. Unit: W. Power accepted by the laptop at this connector. Separate from the supplied adapter rating.."},"power_out_w":{"type":["number","null"],"description":"Maximum peripheral power. Unit: W. Power supplied by the laptop to a peripheral. Shared budgets and simultaneous-use limits belong in the source note.."},"gpu_connection":{"type":["string","null"],"enum":["igpu","dgpu",null],"description":"Wired to. Options: igpu (Integrated GPU), dgpu (Discrete GPU)."}},"required":["type","version","count","side","max_gbps","tb_usb4","dp_alt_mode","charging_in_w","power_out_w","gpu_connection"]},"description":"Ports. Physical laptop connectors grouped by type, protocol capability and side. One connector with several protocols is counted once.."},"usb_c_port_count":{"type":["integer","null"],"description":"USB-C ports. Calculated from other fields."},"has_thunderbolt":{"type":["boolean","null"],"description":"Thunderbolt. Calculated from other fields."},"hdmi_version_max":{"type":["string","null"],"description":"Highest HDMI version. Calculated from other fields."},"has_sd_card_reader":{"type":["boolean","null"],"description":"Card reader. Calculated from other fields."},"ethernet_max_gbps":{"type":["number","null"],"description":"Ethernet speed. Unit: Gbps. Calculated from other fields."},"usb_c_charging_w":{"type":["number","null"],"description":"Maximum USB-C charging input. Unit: W. Highest confirmed charging power accepted by a USB-C port. This is separate from adapter rating and power delivered to peripherals.. Calculated from other fields."},"wifi_standard":{"type":["string","null"],"enum":["wifi_5","wifi_6","wifi_6e","wifi_7",null],"description":"Wi-Fi. Options: wifi_5 (Wi-Fi 5), wifi_6 (Wi-Fi 6), wifi_6e (Wi-Fi 6E), wifi_7 (Wi-Fi 7)."},"wifi_bands":{"type":["array","null"],"items":{"type":"string","enum":["2.4ghz","5ghz","6ghz"]},"description":"Wi-Fi bands. Options: 2.4ghz (2.4 GHz), 5ghz (5 GHz), 6ghz (6 GHz). Supported radio frequency bands. Availability may be restricted by country or regulatory configuration.."},"wifi_module":{"type":["string","null"],"description":"Wi-Fi module."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth. The version as a number with one decimal, such as 5.4 or 6.0. A qualifier such as or above goes in the source note.."},"cellular":{"type":["boolean","null"],"description":"Cellular."},"keyboard_layouts":{"type":["array","null"],"items":{"type":"string"},"description":"Keyboard layouts. Documented layouts of the retained regional SKUs. Do not infer a layout solely from the sales country.."},"keyboard_switch_type":{"type":["string","null"],"enum":["scissor","mechanical","optical","other",null],"description":"Key switches. Options: scissor (Scissor), mechanical (Mechanical), optical (Optical), other (Other)."},"keyboard_backlight":{"type":["string","null"],"enum":["none","single_color","rgb_zone","rgb_per_key","backlit_unspecified",null],"description":"Keyboard backlight. Options: none (None), single_color (Single colour), rgb_zone (RGB zones), rgb_per_key (RGB per key), backlit_unspecified (Backlit, type not stated). A maker-confirmed backlight with no published type uses backlit_unspecified. Do not infer white lighting, a single colour or RGB from backlit alone. A single-zone RGB backlight is RGB zones.."},"numpad":{"type":["boolean","null"],"description":"Numpad. Dedicated physical numeric keypad. A virtual touchpad number pad is not counted.."},"key_travel_mm":{"type":["number","null"],"description":"Key travel. Unit: mm. Physical key travel distance, not actuation distance.."},"pointing_stick":{"type":["boolean","null"],"description":"Pointing stick. Dedicated stick pointing device such as TrackPoint. A touchpad does not qualify.."},"touchpad_size_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."}},"required":["width_mm","height_mm"],"description":"Touchpad size."},"touchpad_type":{"type":["string","null"],"enum":["mechanical","haptic",null],"description":"Touchpad mechanism. Options: mechanical (Mechanical), haptic (Haptic). A clickpad or glass touchpad that clicks when pressed down is mechanical. Haptic needs a source that says haptic or force feedback.."},"webcam_resolution":{"type":["string","null"],"description":"Webcam."},"windows_hello_ir":{"type":["boolean","null"],"description":"IR face login. An infrared camera suitable for Windows Hello face authentication. An ordinary webcam or fingerprint sensor does not qualify.."},"webcam_privacy":{"type":["string","null"],"enum":["physical_shutter","electronic_kill_switch","none",null],"description":"Webcam privacy. Options: physical_shutter (Physical shutter), electronic_kill_switch (Electronic kill switch), none (None)."},"speaker_count":{"type":["integer","null"],"description":"Built-in speaker drivers. Individual built-in acoustic drivers, including separate tweeters and woofers. Do not count audio channels or infer driver count from speaker assemblies.."},"speaker_total_power_w":{"type":["number","null"],"description":"Total speaker power. Unit: W. Combined published power of the built-in speaker drivers. RMS or peak classification belongs in the source note.."},"audio_features":{"type":["array","null"],"items":{"type":"string"},"description":"Audio features."},"microphone_count":{"type":["integer","null"],"description":"Microphones. Physical built-in microphones, not beamforming channels or microphone modes.."},"battery_wh":{"type":["number","null"],"description":"Battery energy. Unit: Wh. Published nominal energy capacity of the installed internal battery in watt-hours. Separate from measured runtime and charger output.."},"battery_life_claimed":{"type":["array","null"],"items":{"type":"object","properties":{"use_case":{"type":["string","null"],"enum":["video_playback","video_streaming","wireless_streaming","video_conferencing","web_browsing","mobilemark_2014","mobilemark_2018","mobilemark_25","mobilemark_30","productivity","idle","mixed_use",null],"description":"Use case. Options: video_playback (Video playback), video_streaming (Video streaming), wireless_streaming (Wireless streaming (content not stated)), video_conferencing (Video conferencing), web_browsing (Web browsing), mobilemark_2014 (MobileMark 2014), mobilemark_2018 (MobileMark 2018), mobilemark_25 (MobileMark 25), mobilemark_30 (MobileMark 30), productivity (Productivity), idle (Idle), mixed_use (Mixed use)."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."}},"required":["use_case","hours"]},"description":"Claimed battery life. Manufacturer maximum runtime for each explicitly named test. Display brightness, configuration and other conditions belong in the source note. Wireless streaming preserves an unnamed content type and does not imply video or audio. Video conferencing requires an explicit calling test, with application and participant setup in the source note. MobileMark versions use different workloads, so compare only rows of the same version.."},"charger_w":{"type":["integer","null"],"description":"Adapter rated output. Unit: W. Nominal rated output of the documented supplied or recommended adapter. A temporary dynamic maximum belongs in the source note. Not the laptop charging-input limit.."},"charger_connector":{"type":["string","null"],"enum":["usb_c","barrel","magsafe","proprietary",null],"description":"Laptop charging connector. Options: usb_c (USB-C), barrel (Barrel), magsafe (MagSafe), proprietary (Proprietary). Connector at the laptop end of the documented main charging cable, not the wall plug or adapter-end connector. HP's AC smart pin is a round DC plug, so it is barrel.."},"charge_time_0_50_min":{"type":["integer","null"],"description":"Charge 0 to 50 % (claimed). Unit: min. Manufacturer time to charge an empty battery to 50%. Adapter and powered-off conditions belong in the source note.."},"fan_count":{"type":["integer","null"],"description":"Fans. Physical cooling fans inside the laptop. Excludes fans in external coolers and the power adapter.."},"vapor_chamber":{"type":["boolean","null"],"description":"Vapor chamber. A vapor-chamber heat spreader is installed. Ordinary heatpipes alone do not qualify.."},"liquid_metal":{"type":["string","null"],"enum":["none","cpu","cpu_and_gpu",null],"description":"Liquid metal. Options: none (None), cpu (CPU), cpu_and_gpu (CPU and GPU). Components where the maker confirms liquid-metal thermal material. Ordinary thermal paste is excluded.."},"power_modes":{"type":["array","null"],"items":{"type":"object","properties":{"name":{"type":["string","null"],"description":"Name."},"cpu_power_w":{"type":["integer","null"],"description":"CPU power. Unit: W."},"gpu_power_w":{"type":["integer","null"],"description":"GPU power. Unit: W."}},"required":["name","cpu_power_w","gpu_power_w"]},"description":"Power modes. Published laptop operating modes and configured power limits. Do not place observed runtime power measurements in this table.."},"fingerprint_sensor":{"type":["string","null"],"enum":["power_button","keyboard_key","touchpad","separate","none",null],"description":"Fingerprint. Options: power_button (Power button), keyboard_key (Keyboard key), touchpad (Touchpad), separate (Separate), none (None)."},"tpm_version":{"type":["string","null"],"description":"TPM."},"enterprise_management":{"type":["array","null"],"items":{"type":"string","enum":["intel_vpro_enterprise","intel_vpro_essentials","amd_pro"]},"description":"Remote management. Options: intel_vpro_enterprise (Intel vPro Enterprise), intel_vpro_essentials (Intel vPro Essentials), amd_pro (AMD PRO)."},"kensington_lock":{"type":["boolean","null"],"description":"Security lock slot. A dedicated built-in physical security-cable slot. Security locks that occupy a USB-C port do not qualify.."},"os":{"type":["string","null"],"description":"Operating system."},"os_family":{"type":["string","null"],"enum":["windows","macos","chromeos","linux","none",null],"description":"OS family. Options: windows (Windows), macos (macOS), chromeos (ChromeOS), linux (Linux), none (None)."},"security_updates_until":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Security updates until. Published end date of OS/security updates promised for the exact device model. Preserve the source precision. Do not calculate it from years or substitute a generic OS-version lifecycle. Unknown when no device-specific promise is published.."},"measured_sdr_brightness_nits":{"type":["number","null"],"description":"Brightness (measured, centre). Unit: nits. Reviewer center-point SDR luminance for the matching display configuration. Do not substitute a review average or unspecified measurement.."},"measured_brightness_avg_nits":{"type":["number","null"],"description":"Brightness (measured, average). Unit: nits. Reviewer mean luminance across a documented display grid, normally nine points.."},"measured_contrast_ratio":{"type":["number","null"],"description":"Contrast ratio (measured). Measured by a reviewer, not claimed by the maker."},"measured_hdr_peak_nits":{"type":["number","null"],"description":"HDR peak brightness (measured). Unit: nits. Measured by a reviewer, not claimed by the maker."},"measured_srgb_coverage_pct":{"type":["number","null"],"description":"sRGB coverage (measured). Unit: %. Reviewer measured sRGB coverage, not gamut volume. Instrument and method belong in the source note.."},"measured_dci_p3_coverage_pct":{"type":["number","null"],"description":"DCI-P3 coverage (measured). Unit: %. Reviewer measured DCI-P3 coverage, not gamut volume. Display P3 measurements are identified in the source note.."},"measured_color_accuracy_delta_e":{"type":["number","null"],"description":"Colour accuracy (measured Delta E). Reviewer colour error before calibration. Delta-E formula, colour space and picture mode belong in the source note.."},"measured_pwm_detected":{"type":["boolean","null"],"description":"PWM flicker found. Whether a reviewer detected pulse-width-modulation flicker under the documented test conditions. False does not prove all frequency ranges were tested.."},"measured_pwm_frequency_hz":{"type":["integer","null"],"description":"PWM frequency (measured). Unit: Hz. Detected PWM frequency at the brightness setting stated by the reviewer.."},"measured_pwm_below_brightness_pct":{"type":["integer","null"],"description":"PWM at or below brightness. Unit: %. Highest display brightness setting at or below which the documented PWM is detected.."},"measured_response_black_white_ms":{"type":["number","null"],"description":"Response black to white (measured). Unit: ms. Reviewer combined rise and fall response for black-to-white-to-black, with test conditions in the source note.."},"measured_response_gray_gray_ms":{"type":["number","null"],"description":"Response grey to grey (measured). Unit: ms. Reviewer combined rise and fall response between specified grey levels. State the levels in the source note.."},"benchmark_cinebench_2024_single":{"type":["number","null"],"description":"Cinebench 2024 single-core. Unit: points. Measured by a reviewer, not claimed by the maker."},"benchmark_cinebench_2024_multi":{"type":["integer","null"],"description":"Cinebench 2024 multi-core. Unit: points. Measured by a reviewer, not claimed by the maker."},"benchmark_geekbench_single":{"type":["integer","null"],"description":"Geekbench 6 single-core. Unit: points. Measured by a reviewer, not claimed by the maker. Geekbench 6 only. Geekbench 5 and 7 use other scales, so their scores are not stored.."},"benchmark_geekbench_multi":{"type":["integer","null"],"description":"Geekbench 6 multi-core. Unit: points. Measured by a reviewer, not claimed by the maker. Geekbench 6 only. Geekbench 5 and 7 use other scales, so their scores are not stored.."},"benchmark_3dmark_time_spy_graphics":{"type":["integer","null"],"description":"3DMark Time Spy graphics. Unit: points. Measured by a reviewer, not claimed by the maker. Graphics score, not the overall score. A score the review does not label as graphics is left out.."},"benchmark_3dmark_steel_nomad":{"type":["integer","null"],"description":"3DMark Steel Nomad. Unit: points. Measured by a reviewer, not claimed by the maker."},"measured_ssd_read_mbs":{"type":["integer","null"],"description":"SSD sequential read (measured). Unit: MB/s. Measured by a reviewer, not claimed by the maker."},"game_fps_measured":{"type":["array","null"],"items":{"type":"object","properties":{"game":{"type":["string","null"],"description":"Game."},"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"preset":{"type":["string","null"],"description":"Preset."},"upscaling":{"type":["string","null"],"description":"Upscaling."},"ray_tracing":{"type":["boolean","null"],"description":"Ray tracing."},"avg_fps":{"type":["number","null"],"description":"Average FPS. Unit: fps."},"low_1pct_fps":{"type":["number","null"],"description":"1 % low FPS. Unit: fps."}},"required":["game","width_px","height_px","preset","upscaling","ray_tracing","avg_fps","low_1pct_fps"]},"description":"Game frame rates. Matching review-unit game results. Resolution, preset, upscaling, frame generation and ray tracing are stated only when documented.."},"fan_noise_measured":{"type":["array","null"],"items":{"type":"object","properties":{"power_mode":{"type":["string","null"],"description":"Power mode."},"load":{"type":["string","null"],"enum":["idle","medium_load","max_load","gaming",null],"description":"Load. Options: idle (Idle), medium_load (Medium load), max_load (Max load), gaming (Gaming)."},"noise_dba":{"type":["number","null"],"description":"Noise. Unit: dB(A)."}},"required":["power_mode","load","noise_dba"]},"description":"Fan noise per mode. Reviewer sound-pressure readings for the matching configuration and mode. Measurement distance and workload belong in the source note.."},"measured_noise_max_dba":{"type":["number","null"],"description":"Max fan noise. Unit: dB(A). Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_noise_gaming_dba":{"type":["number","null"],"description":"Fan noise while gaming. Unit: dB(A). Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_temp_top_max_c":{"type":["number","null"],"description":"Top surface under load. Unit: °C. Measured by a reviewer, not claimed by the maker."},"measured_temp_bottom_max_c":{"type":["number","null"],"description":"Bottom surface under load. Unit: °C. Measured by a reviewer, not claimed by the maker."},"measured_temp_palmrest_c":{"type":["number","null"],"description":"Palm rest under load. Unit: °C. Measured by a reviewer, not claimed by the maker."},"measured_cpu_stress_temp_c":{"type":["number","null"],"description":"CPU temperature in stress test. Unit: °C. Measured by a reviewer, not claimed by the maker."},"measured_cpu_stress_clock_ghz":{"type":["number","null"],"description":"CPU clock in stress test. Unit: GHz. Measured by a reviewer, not claimed by the maker."},"measured_gpu_gaming_temp_c":{"type":["number","null"],"description":"GPU temperature while gaming. Unit: °C. Measured by a reviewer, not claimed by the maker."},"battery_runtime_measured":{"type":["array","null"],"items":{"type":"object","properties":{"test":{"type":["string","null"],"enum":["idle","wifi_websurfing","video_playback","video_streaming","productivity","gaming","max_load","mixed_use",null],"description":"Test. Options: idle (Idle), wifi_websurfing (Wi-Fi browsing), video_playback (Video playback), video_streaming (Video streaming), productivity (Productivity), gaming (Gaming), max_load (Max load), mixed_use (Mixed use). The review's actual test workload. Mixed browsing, video and WebGL/OpenGL is not a pure Wi-Fi web test.."},"brightness_nits":{"type":["integer","null"],"description":"Brightness. Unit: nits."},"power_mode":{"type":["string","null"],"description":"Power mode."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."}},"required":["test","brightness_nits","power_mode","hours"]},"description":"Battery runtime per test. Reviewer runtime for the exact test and configuration. Mixed browsing, video and graphics workloads are classified as mixed use.."},"measured_battery_wifi_h":{"type":["number","null"],"description":"Wi-Fi browsing runtime. Unit: h. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_battery_video_h":{"type":["number","null"],"description":"Video runtime. Unit: h. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_charge_time_min":{"type":["integer","null"],"description":"Full charge time (measured). Unit: min. Measured by a reviewer, not claimed by the maker."},"measured_power_idle_w":{"type":["number","null"],"description":"Power draw idle. Unit: W. Highest reviewer idle AC power reading for the matching configuration and test conditions.."},"measured_power_gaming_w":{"type":["number","null"],"description":"Power draw gaming. Unit: W. Reviewer AC power draw during the named game and settings. Not GPU-only power.."},"measured_power_max_w":{"type":["number","null"],"description":"Power draw max. Unit: W. Maximum reviewer AC input power during the documented load or stress test. Not the adapter rating.."},"measured_cpu_sustained_power_w":{"type":["number","null"],"description":"Sustained CPU power (measured). Unit: W. Observed sustained CPU package power during the documented test. Not the configured PL1 limit.."},"measured_gpu_gaming_power_w":{"type":["number","null"],"description":"GPU power while gaming (measured). Unit: W. Observed GPU-only power while running the documented game and settings.."},"measured_weight_kg":{"type":["number","null"],"description":"Weight (measured). Unit: kg. Reviewer measured laptop mass without its power adapter unless the source note explicitly states otherwise.."},"intel_evo":{"type":["boolean","null"],"description":"Intel Evo. Manufacturer certification of the exact configuration as Intel Evo. Processor support alone does not establish certification.."},"copilot_plus_pc":{"type":["boolean","null"],"description":"Copilot+ PC. Manufacturer identifies the configuration as Copilot+ PC. A Copilot keyboard key alone is insufficient.."},"color_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Colour certifications."},"energy_star":{"type":["boolean","null"],"description":"ENERGY STAR."},"epeat":{"type":["string","null"],"enum":["bronze","silver","gold","none",null],"description":"EPEAT. Options: bronze (Bronze), silver (Silver), gold (Gold), none (None)."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box. Accessories confirmed for this exact SKU. Do not combine mutually exclusive regional bundles into one box.."},"charger_in_box":{"type":["boolean","null"],"description":"Power adapter included. Whether a power adapter is included with this exact regional SKU. A supported or recommended adapter does not prove inclusion.."},"warranty_service_type":{"type":["array","null"],"items":{"type":"string","enum":["carry_in","mail_in","collect_and_return","onsite"]},"description":"Warranty service. Options: carry_in (Carry-in), mail_in (Mail-in), collect_and_return (Collect and return), onsite (On-site). Documented manufacturer warranty service for the named market. Included paid service upgrades belong in the source note.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","segment","form_factor","dimensions_mm","weight_kg","lid_material","bottom_material","hinge_max_angle_deg","mil_std_810","screen_size_in","native_resolution","pixel_density_ppi","panel_type","backlight_type","local_dimming_zones","panel_model","screen_surface","is_touchscreen","stylus_support","refresh_rate_modes","max_refresh_rate_hz","vrr_technologies","response_time_gtg_ms","color_depth_bits","brightness_typical_nits","brightness_outdoor_peak_nits","brightness_hdr_sustained_nits","brightness_hdr_peak_nits","srgb_coverage_pct","dci_p3_coverage_pct","adobe_rgb_coverage_pct","hdr_certification","factory_calibrated","secondary_display","cpu","cpu_brand","cpu_clusters","cpu_core_count","cpu_performance_core_count","cpu_efficiency_core_count","cpu_thread_count","cpu_max_ghz","cpu_cache_l3_mb","process_node_nm","cpu_tdp_configured_w","cpu_power_max_w","combined_power_max_w","npu_tops","has_discrete_gpu","gpu","gpu_brand","gpu_vram_gb","gpu_tgp_max_w","gpu_dynamic_boost_w","gpu_boost_clock_mhz","gpu_switching","integrated_gpu","ram_gb","ram_type","ram_speed_mts","ram_channels","ram_upgradeable","memory_slots","ram_slot_count","ram_free_slot_count","ram_max_gb","storage_gb","storage_type","storage_pcie_gen","storage_slots","m2_slot_count","storage_free_slot_count","storage_pcie_gen_max","ports","usb_c_port_count","has_thunderbolt","hdmi_version_max","has_sd_card_reader","ethernet_max_gbps","usb_c_charging_w","wifi_standard","wifi_bands","wifi_module","bluetooth_version","cellular","keyboard_layouts","keyboard_switch_type","keyboard_backlight","numpad","key_travel_mm","pointing_stick","touchpad_size_mm","touchpad_type","webcam_resolution","windows_hello_ir","webcam_privacy","speaker_count","speaker_total_power_w","audio_features","microphone_count","battery_wh","battery_life_claimed","charger_w","charger_connector","charge_time_0_50_min","fan_count","vapor_chamber","liquid_metal","power_modes","fingerprint_sensor","tpm_version","enterprise_management","kensington_lock","os","os_family","security_updates_until","measured_sdr_brightness_nits","measured_brightness_avg_nits","measured_contrast_ratio","measured_hdr_peak_nits","measured_srgb_coverage_pct","measured_dci_p3_coverage_pct","measured_color_accuracy_delta_e","measured_pwm_detected","measured_pwm_frequency_hz","measured_pwm_below_brightness_pct","measured_response_black_white_ms","measured_response_gray_gray_ms","benchmark_cinebench_2024_single","benchmark_cinebench_2024_multi","benchmark_geekbench_single","benchmark_geekbench_multi","benchmark_3dmark_time_spy_graphics","benchmark_3dmark_steel_nomad","measured_ssd_read_mbs","game_fps_measured","fan_noise_measured","measured_noise_max_dba","measured_noise_gaming_dba","measured_temp_top_max_c","measured_temp_bottom_max_c","measured_temp_palmrest_c","measured_cpu_stress_temp_c","measured_cpu_stress_clock_ghz","measured_gpu_gaming_temp_c","battery_runtime_measured","measured_battery_wifi_h","measured_battery_video_h","measured_charge_time_min","measured_power_idle_w","measured_power_gaming_w","measured_power_max_w","measured_cpu_sustained_power_w","measured_gpu_gaming_power_w","measured_weight_kg","intel_evo","copilot_plus_pc","color_certifications","energy_star","epeat","other_certifications","in_the_box","charger_in_box","warranty_service_type"],"description":"Every laptop field in schema order. Unknown values are null."},"MicrophoneSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"transducer_type":{"type":["string","null"],"enum":["dynamic","condenser","ribbon","other",null],"description":"Microphone type. Options: dynamic (Dynamic), condenser (Condenser), ribbon (Ribbon), other (Other). Electret condensers count as condenser.."},"capsule_size_mm":{"type":["number","null"],"description":"Capsule size. Unit: mm. Diaphragm diameter of one capsule as published. A 1-inch capsule is 25.4 mm.."},"capsule_count":{"type":["integer","null"],"description":"Capsules. Number of capsules. Multi-pattern USB microphones often use three.."},"polar_patterns":{"type":["array","null"],"items":{"type":"string","enum":["cardioid","supercardioid","hypercardioid","omnidirectional","bidirectional","stereo","unidirectional","other"]},"description":"Polar patterns. Options: cardioid (Cardioid), supercardioid (Supercardioid), hypercardioid (Hypercardioid), omnidirectional (Omnidirectional), bidirectional (Bidirectional), stereo (Stereo), unidirectional (Unidirectional), other (Other). Every pattern the user can select. Unidirectional is used only when the maker names no exact pattern.."},"address_type":{"type":["string","null"],"enum":["end","side",null],"description":"Address type. Options: end (End address), side (Side address). End address means you speak into the top of the microphone. Side address means you speak into its side.."},"frequency_response_hz":{"type":["object","null"],"properties":{"min_hz":{"type":["number","null"],"description":"Min. Unit: Hz."},"max_hz":{"type":["number","null"],"description":"Max. Unit: Hz."}},"required":["min_hz","max_hz"],"description":"Frequency response. Published acoustic range of the microphone. A sample rate does not establish it.."},"sensitivity_dbv_pa":{"type":["number","null"],"description":"Sensitivity (analog). Unit: dBV/Pa. Analog output level for 94 dB SPL at 1 kHz, as published in dBV. For a microphone with a switchable preamp, the bypass value is used. A value published only in mV/Pa is converted as 20 x log10(mV/Pa / 1000) and rounded to one decimal, so 1.6 mV/Pa is -55.9 dBV/Pa. The printed value goes in the source note. A sensitivity in plain dB with no reference, as many low-cost USB microphones print it, is left out.."},"sensitivity_dbfs":{"type":["number","null"],"description":"Sensitivity (digital). Unit: dBFS. Digital output level over USB for 94 dB SPL at 1 kHz. The minimum gain value is used when several are given. The gain setting goes in the source note. On a USB-only microphone use this field only when the maker prints dBFS or ties a dBV value to the USB output, as Shure does for the MV7i. A dBV, dB re 1 V/Pa or mV/Pa value that names no USB output is left out. The printed unit and the gain go in the source note. A value printed for another reference level is converted by the level difference, so -40 dBFS at 80 dB SPL is -26 dBFS at 94 dB SPL. The printed value goes in the source note.."},"max_spl_db":{"type":["number","null"],"description":"Max SPL. Unit: dB SPL. Highest sound pressure level at the source's distortion limit. The THD level and output path go in the source note. The value without a clipping protection mode such as Clipguard is used when both are given. The value with the pad off is used. When the maker lists several preamp loads, the highest load is used. The load goes in the source note. On a USB microphone that prints values per gain setting, the minimum gain value is used, as for sensitivity.."},"max_spl_thd_percent":{"type":["number","null"],"description":"Max SPL distortion limit. Unit: %. The distortion level at which the maker states the max SPL, e.g. 1, 3 or 10 % THD. Left out when the maker names none. Max SPL figures compare only at the same limit.."},"self_noise_dba":{"type":["number","null"],"description":"Self-noise. Unit: dB(A). Equivalent noise level, A-weighted, in dB SPL. Lower is quieter. The analog value is used when analog and digital values are both given. A value in dBV or dBFS is left out. On a USB microphone that prints values per gain setting, the minimum gain value is used, as for max SPL.."},"noise_floor_dbfs":{"type":["number","null"],"description":"Digital noise floor. Unit: dBFS. Digital noise floor of a USB microphone as printed, usually A-weighted over 20 Hz to 20 kHz. Lower is quieter. Processing that was on during the test goes in the source note. It is not self-noise.."},"snr_db":{"type":["number","null"],"description":"Signal-to-noise ratio. Unit: dB. As published. Reference level and weighting go in the source note. The microphone's own figure, not the SNR of a built-in headphone amplifier.."},"dynamic_range_db":{"type":["number","null"],"description":"Dynamic range. Unit: dB. As published. The distortion level goes in the source note. The value without a clipping protection mode is used when both are given. Use the same pad setting, preamp load and gain as for max SPL.."},"output_impedance_ohm":{"type":["number","null"],"description":"Output impedance. Unit: ohm. Rated impedance of the XLR output. For a microphone with a switchable preamp, the bypass value is used. A USB-only microphone has no value here, even when the maker prints an impedance for the capsule. When the maker prints a rated and an actual impedance, as Shure does for the SM58, the rated value is stored and the actual one goes in the source note.."},"connection_types":{"type":["array","null"],"items":{"type":"string","enum":["usb","xlr","wireless"]},"description":"Outputs. Options: usb (USB), xlr (XLR), wireless (Wireless). Outputs that carry the microphone signal to a computer, interface or mixer. A headphone jack does not count. Wireless is a radio link to a receiver, such as 2.4 GHz.."},"external_inputs":{"type":["array","null"],"items":{"type":"string","enum":["xlr","trs_quarter_inch"]},"description":"Inputs for other sources. Options: xlr (XLR), trs_quarter_inch (1/4-inch TS or TRS). Inputs on the microphone for another microphone or instrument, which it sends to the computer with its own signal.."},"simultaneous_usb_xlr":{"type":["boolean","null"],"description":"USB and XLR at once. Both outputs carry audio at the same time.."},"usb_connector":{"type":["string","null"],"enum":["usb_c","micro_usb","mini_usb","usb_b",null],"description":"USB port. Options: usb_c (USB-C), micro_usb (Micro-USB), mini_usb (Mini-USB), usb_b (USB-B). USB socket on the microphone. USB-B is the full-size square socket. A Micro-B socket is Micro-USB, even when the maker writes USB-B.."},"cable_host_connector":{"type":["string","null"],"enum":["usb_a","usb_c",null],"description":"Cable host plug. Options: usb_a (USB-A), usb_c (USB-C). Plug on the computer end of the included USB cable. An included adapter is listed in In the box.."},"cable_length_m":{"type":["number","null"],"description":"Cable length. Unit: m. Length of the included USB cable.."},"phantom_power":{"type":["string","null"],"enum":["required","optional","not_required","supplies",null],"description":"Phantom power. Options: required (Required), optional (Optional), not_required (Not required), supplies (Supplies 48 V to its input). Phantom power for the XLR output. Optional means some XLR modes work without it, for example a built-in preamp in bypass. Supplies means the microphone gives 48 V phantom power to a microphone on its XLR input.."},"max_bit_depth_bits":{"type":["integer","null"],"description":"Max bit depth. Unit: bits. Highest recording bit depth over USB.."},"max_sample_rate_khz":{"type":["number","null"],"description":"Max sample rate. Unit: kHz. Highest recording sample rate over USB. This is not the frequency response.."},"float_32_bit":{"type":["boolean","null"],"description":"32-bit float recording. Records over USB in 32-bit floating point. A 32-bit integer format does not count.."},"headphone_jack":{"type":["boolean","null"],"description":"Headphone output. A headphone jack on the microphone.."},"zero_latency_monitoring":{"type":["boolean","null"],"description":"Zero-latency monitoring. The headphone output plays the microphone signal directly, before it reaches the computer.."},"onboard_controls":{"type":["array","null"],"items":{"type":"string","enum":["gain","headphone_volume","monitor_mix","mute","polar_pattern","presets","echo"]},"description":"Onboard controls. Options: gain (Gain), headphone_volume (Headphone volume), monitor_mix (Monitor mix), mute (Mute), polar_pattern (Polar pattern), presets (Presets), echo (Echo). Functions you can change on the microphone itself, by knob, button, switch or touch. Settings that exist only in the app do not count. A switch that sets preamp gain steps, such as +18 or +28 dB, counts as gain. Echo is a knob or button for an echo or reverb effect.."},"onboard_processing":{"type":["array","null"],"items":{"type":"string","enum":["auto_level","compressor","limiter","noise_gate","noise_reduction","eq","high_pass_filter","presence_boost","clip_protection","plosive_reduction","pad","echo","enhancer"]},"description":"Onboard processing. Options: auto_level (Auto level), compressor (Compressor), limiter (Limiter), noise_gate (Noise gate), noise_reduction (Noise reduction), eq (EQ), high_pass_filter (High-pass filter), presence_boost (Presence boost), clip_protection (Clip protection), plosive_reduction (Plosive reduction), pad (Attenuation pad), echo (Echo), enhancer (Exciter or bass enhancer). Processing inside the microphone, analog or digital, that works without the maker's app running. A maker statement that settings are saved in the microphone counts. Effects that run only in the app on the computer do not count. An expander counts as noise gate. Clip protection such as Clipguard is clip protection. Limiter is only for a limiter the maker lists as its own effect, never both for one feature. Brand names such as APHEX or Clipguard go in the source note. Attenuation pad is a switch that lowers the capsule output, such as -15 dB. Echo is an echo or reverb effect in the microphone. Exciter or bass enhancer covers effects that add harmonics or bass, such as APHEX Aural Exciter and Big Bottom.."},"mount_threads":{"type":["array","null"],"items":{"type":"string","enum":["5_8_inch","3_8_inch","1_4_inch"]},"description":"Mount threads. Options: 5_8_inch (5/8 inch), 3_8_inch (3/8 inch), 1_4_inch (1/4 inch). Stand threads the microphone or its included mount accepts, also with an included adapter.."},"shock_mount":{"type":["string","null"],"enum":["internal","included","none",null],"description":"Shock mount. Options: internal (Internal), included (Included), none (None). Internal is suspension inside the body. Included is a separate shock mount in the box. A cradle or ring mount that comes fitted to the microphone or its stand is included, even when the maker calls it built-in. A microphone with internal suspension and a separate shock mount in the box is included.."},"pop_filter":{"type":["array","null"],"items":{"type":"string","enum":["internal","foam_windscreen","external_screen"]},"description":"Pop filter. Options: internal (Internal), foam_windscreen (Foam windscreen), external_screen (External screen). Pop protection built in or in the box.."},"desk_stand_included":{"type":["boolean","null"],"description":"Desk stand included. A desk stand or base in the box. A yoke alone does not count. A boom arm does not count either. In the box names it.."},"housing_material":{"type":["string","null"],"description":"Housing material."},"rgb_lighting":{"type":["boolean","null"],"description":"RGB lighting. Decorative lighting. Status and mute lights alone do not count. RGB lighting is lighting with no function. A level meter or mute indicator is not RGB lighting, even when its colour can be chosen. Lighting that changes colour on its own counts, even when it also turns off on mute.."},"lighting_zones":{"type":["integer","null"],"description":"Lighting zones. Independently controllable lighting areas.."},"software_name":{"type":["string","null"],"description":"Software. The maker's app for the microphone.."},"firmware_updatable":{"type":["boolean","null"],"description":"User firmware updates. A public updater or a documented firmware update procedure exists for this exact model.."},"os_compatibility":{"type":["array","null"],"items":{"type":"string","enum":["windows","macos","linux","chromeos","ios","ipados","android"]},"description":"Works with. Options: windows (Windows), macos (macOS), linux (Linux), chromeos (ChromeOS), ios (iOS), ipados (iPadOS), android (Android). Operating systems the maker lists for USB audio. App support can be narrower.."},"console_compatibility":{"type":["array","null"],"items":{"type":"string","enum":["playstation","xbox","switch"]},"description":"Consoles. Options: playstation (PlayStation), xbox (Xbox), switch (Nintendo Switch). Consoles the maker lists for USB audio.."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Microphone dimensions. Microphone body without a stand or a detachable shock mount. A fixed yoke is included. Width is left to right as seen by the speaker, height is bottom to top in normal use and depth is front to back. Orient the microphone as in use on its yoke or stand. Depth is the direction it points at the speaker, height is up and width is across. An upright side-address microphone has its length as height. An end-address microphone has its length as depth, also when it is held in the hand. A round microphone with only a length and a diameter uses the diameter for the other two sides. The source note states the mapping.."},"weight_g":{"type":["number","null"],"description":"Microphone weight. Unit: g. Without stand, detachable shock mount and cable. A fixed yoke is included.."},"weight_with_stand_g":{"type":["number","null"],"description":"Weight with stand. Unit: g. With the included stand or mount attached, without the cable. An included shock mount between the microphone and the stand counts.."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","transducer_type","capsule_size_mm","capsule_count","polar_patterns","address_type","frequency_response_hz","sensitivity_dbv_pa","sensitivity_dbfs","max_spl_db","max_spl_thd_percent","self_noise_dba","noise_floor_dbfs","snr_db","dynamic_range_db","output_impedance_ohm","connection_types","external_inputs","simultaneous_usb_xlr","usb_connector","cable_host_connector","cable_length_m","phantom_power","max_bit_depth_bits","max_sample_rate_khz","float_32_bit","headphone_jack","zero_latency_monitoring","onboard_controls","onboard_processing","mount_threads","shock_mount","pop_filter","desk_stand_included","housing_material","rgb_lighting","lighting_zones","software_name","firmware_updatable","os_compatibility","console_compatibility","dimensions_mm","weight_g","weight_with_stand_g","other_certifications","in_the_box"],"description":"Every microphone field in schema order. Unknown values are null."},"MonitorSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"segment":{"type":["string","null"],"enum":["gaming","office","creator","portable",null],"description":"Segment. Options: gaming (Gaming), office (Office), creator (Creator), portable (Portable). From the maker's own product category. Office also covers home and everyday monitors.."},"screen_size_in":{"type":["number","null"],"description":"Screen size. Unit: in. Diagonal in inches exactly as the maker advertises it. A class size and the viewable diagonal can differ.."},"viewable_size_in":{"type":["number","null"],"description":"Viewable screen diagonal. Unit: in. Diagonal of the visible image area. This can be smaller than the advertised class size.."},"native_resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Native resolution."},"aspect_ratio":{"type":["string","null"],"enum":["16:9","16:10","21:9","24:10","32:9","3:2","4:3","other",null],"description":"Aspect ratio. Options: 16:9 (16:9), 16:10 (16:10), 21:9 (21:9), 24:10 (24:10), 32:9 (32:9), 3:2 (3:2), 4:3 (4:3), other (Other)."},"pixel_density_ppi":{"type":["number","null"],"description":"Pixel density. Unit: ppi. Calculated from other fields."},"pixel_pitch_mm":{"type":["number","null"],"description":"Pixel pitch. Unit: mm. Distance between adjacent pixels. Source notes identify horizontal or vertical pitch if they differ. A horizontal figure about a third of the vertical one is the pitch of one subpixel, not of a pixel, so the pixel figure is stored.."},"active_area_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."}},"required":["width_mm","height_mm"],"description":"Active display area. Maker published active-display width and height, excluding the external frame. Source notes distinguish image area from any published shift-reserve area. Dimensions are not inferred from native resolution or rounded pixel pitch.."},"is_curved":{"type":["boolean","null"],"description":"Curved."},"curvature_radius_mm":{"type":["integer","null"],"description":"Curvature radius. Unit: mm. Radius of screen curvature. A published 1800R is 1800 mm.."},"screen_surface":{"type":["string","null"],"enum":["matte","semi_glossy","glossy",null],"description":"Screen surface. Options: matte (Matte), semi_glossy (Semi-glossy), glossy (Glossy)."},"anti_reflection_coating":{"type":["string","null"],"description":"Anti-reflection coating."},"is_touchscreen":{"type":["boolean","null"],"description":"Touchscreen."},"panel_type":{"type":["string","null"],"enum":["ips","fast_ips","va","tn","woled","qd_oled","other",null],"description":"Panel type. Options: ips (IPS), fast_ips (Fast IPS), va (VA), tn (TN), woled (WOLED), qd_oled (QD-OLED), other (Other)."},"panel_type_name":{"type":["string","null"],"description":"Panel type (as published). Panel or technology name as published. This is separate from the normalised panel type.."},"backlight_type":{"type":["string","null"],"enum":["edge_lit_led","direct_lit_led","mini_led","none_self_emissive",null],"description":"Backlight. Options: edge_lit_led (Edge-lit LED), direct_lit_led (Direct-lit LED), mini_led (Mini-LED), none_self_emissive (None (self-emissive)). Layout of the backlight. OLED is none (self-emissive). WLED or LED alone names no layout, so it is left out unless a source states edge-lit or direct-lit.."},"local_dimming":{"type":["boolean","null"],"description":"Local dimming."},"local_dimming_zones":{"type":["integer","null"],"description":"Dimming zones."},"panel_manufacturer":{"type":["string","null"],"description":"Panel maker."},"panel_model":{"type":["string","null"],"description":"Panel part number."},"panel_generation":{"type":["string","null"],"description":"Panel generation. Generation or panel architecture name stated by the source. Brand product generation and panel generation can differ.."},"subpixel_layout":{"type":["string","null"],"enum":["rgb_stripe","bgr_stripe","rwbg","triangular_rgb","other","rgwb",null],"description":"Subpixel layout. Options: rgb_stripe (RGB stripe), bgr_stripe (BGR stripe), rwbg (RWBG), triangular_rgb (Triangular RGB), other (Other), rgwb (RGWB). Arrangement of the red, green, blue and any white emitters within a pixel. Individual emitter shapes do not establish their arrangement. Marketing names such as Primary RGB Tandem do not prove an RGB stripe layout.."},"color_depth_bits":{"type":["integer","null"],"description":"Colour depth. Unit: bits. Supported total colour depth per channel. A stated 8-bit plus FRC implementation is 10 supported bits with FRC, not native 10-bit. A 6-bit plus FRC panel, also called Hi-FRC, is 8 bits with FRC.."},"color_depth_method":{"type":["string","null"],"enum":["native","frc",null],"description":"Colour depth method. Options: native (Native), frc (FRC). Native panel bits or temporal frame rate control. Supported 10-bit input alone does not prove native 10-bit panel depth.."},"colors_displayable":{"type":["string","null"],"description":"Displayable colours."},"srgb_coverage_pct":{"type":["number","null"],"description":"sRGB coverage. Unit: %. Percentage of the sRGB reference gamut covered. Gamut volume is a different measure and is not stored here. Source notes identify the colour-space standard.."},"dci_p3_coverage_pct":{"type":["number","null"],"description":"DCI-P3 coverage. Unit: %. Percentage of DCI-P3 covered. Do not substitute gamut volume. Source notes identify the CIE reference and any minimum or typical qualifier.."},"adobe_rgb_coverage_pct":{"type":["number","null"],"description":"Adobe RGB coverage. Unit: %. Percentage of Adobe RGB covered. Do not substitute gamut volume.."},"rec2020_coverage_pct":{"type":["number","null"],"description":"Rec. 2020 coverage. Unit: %. Percentage of Rec. 2020 covered. Do not substitute gamut volume.."},"ntsc_coverage_pct":{"type":["number","null"],"description":"NTSC coverage. Unit: %. Percentage of the NTSC reference gamut covered. Source notes identify the reference. Do not substitute gamut volume.."},"factory_calibrated":{"type":["boolean","null"],"description":"Factory calibrated."},"calibration_delta_e":{"type":["number","null"],"description":"Claimed Delta E. Maker claim for colour error. Source notes retain a less-than qualifier, the colour space and whether the figure is an average or maximum.."},"calibration_report_included":{"type":["boolean","null"],"description":"Paper calibration report in box. A physical calibration report included in the package. An electronic report in the menu or software does not count as a paper report.."},"hardware_calibration":{"type":["boolean","null"],"description":"Hardware calibration support. Calibration writes to the monitor internal hardware LUT. Ordinary colour controls or a computer ICC profile do not establish this feature.."},"static_contrast_ratio":{"type":["number","null"],"description":"Static contrast ratio. Panel native static contrast, without dynamic contrast processing or local dimming. 1000 means 1000:1. Do not store a dynamic contrast claim here.."},"brightness_typical_nits":{"type":["number","null"],"description":"Brightness (typical, SDR). Unit: nits. Maker typical SDR white luminance. Source notes state any window size, average picture level and operating mode.."},"brightness_min_nits":{"type":["number","null"],"description":"Brightness (maker minimum). Unit: nits. Maker minimum guaranteed brightness specification under its stated conditions. This is not the lowest user-selectable brightness unless the source explicitly says so.."},"brightness_hdr_peak_nits":{"type":["number","null"],"description":"Peak brightness (HDR). Unit: nits. Maker peak HDR white luminance. The source notes state window size or average picture level, mode and time limit where published.."},"brightness_hdr_peak_window_pct":{"type":["number","null"],"description":"HDR peak test window. Unit: %. Percentage of screen area used for the peak HDR claim. If the maker publishes average picture level instead, source notes identify that distinction.."},"brightness_full_screen_nits":{"type":["number","null"],"description":"Full-screen brightness. Unit: nits. Maker white luminance at 100% screen area or 100% average picture level. Source notes state SDR or HDR and mode.."},"hdr_formats":{"type":["array","null"],"items":{"type":"string","enum":["hdr10","hdr10_plus","dolby_vision","hlg"]},"description":"HDR formats. Options: hdr10 (HDR10), hdr10_plus (HDR10+), dolby_vision (Dolby Vision), hlg (HLG)."},"hdr_certification":{"type":["string","null"],"enum":["displayhdr_400","displayhdr_500","displayhdr_600","displayhdr_1000","displayhdr_1400","displayhdr_true_black_400","displayhdr_true_black_500","displayhdr_true_black_600","none",null],"description":"HDR certification. Options: displayhdr_400 (DisplayHDR 400), displayhdr_500 (DisplayHDR 500), displayhdr_600 (DisplayHDR 600), displayhdr_1000 (DisplayHDR 1000), displayhdr_1400 (DisplayHDR 1400), displayhdr_true_black_400 (DisplayHDR True Black 400), displayhdr_true_black_500 (DisplayHDR True Black 500), displayhdr_true_black_600 (DisplayHDR True Black 600), none (None). VESA DisplayHDR certification. None needs a source, such as the maker saying the monitor has no DisplayHDR certification or the model being absent from the VESA list. When no source was checked, it is left out.."},"viewing_angle_horizontal_deg":{"type":["integer","null"],"description":"Viewing angle (horizontal). Unit: deg."},"viewing_angle_vertical_deg":{"type":["integer","null"],"description":"Viewing angle (vertical). Unit: deg."},"refresh_rate_modes":{"type":["array","null"],"items":{"type":"object","properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"input":{"type":["string","null"],"enum":["hdmi","displayport","usb_c","thunderbolt","vga",null],"description":"Input. Options: hdmi (HDMI), displayport (DisplayPort), usb_c (USB-C), thunderbolt (Thunderbolt), vga (VGA)."},"input_version":{"type":["string","null"],"description":"Input version. Version of the input used for this mode. A higher port version does not prove the same maximum under every setting.."},"max_hz":{"type":["integer","null"],"description":"Maximum accepted rate. Unit: Hz. Highest accepted rate under the resolution, input and stated operating conditions.."},"bit_depth":{"type":["integer","null"],"description":"Bit depth. Unit: bits. Colour depth per channel for this specific mode.."},"chroma":{"type":["string","null"],"enum":["420","422","444",null],"description":"Chroma. Options: 420 (4:2:0), 422 (4:2:2), 444 (4:4:4)."},"dsc":{"type":["boolean","null"],"description":"DSC. Whether Display Stream Compression is enabled or required for this row.."}},"required":["width_px","height_px","input","input_version","max_hz","bit_depth","chroma","dsc"]},"description":"Refresh rate per resolution and port. Highest accepted rate for each proven resolution, input and operating condition. Preset or supported timing lists alone do not prove a maximum. Keep separate bit-depth, chroma and DSC conditions. Dual-mode or crop-mode requirements belong in source notes. Unknown input stays unknown.."},"max_refresh_rate_hz":{"type":["integer","null"],"description":"Max refresh rate. Unit: Hz. Highest proven accepted rate across the stored modes, including lower-resolution dual modes.. Calculated from other fields."},"max_refresh_rate_native_res_hz":{"type":["integer","null"],"description":"Max refresh rate at native resolution. Unit: Hz. Highest proven accepted rate at the native pixel resolution, across all inputs and stored operating conditions.. Calculated from other fields."},"max_refresh_rate_displayport_hz":{"type":["integer","null"],"description":"Max refresh rate over DisplayPort. Unit: Hz. Highest proven accepted rate over DisplayPort at native resolution. A higher lower-resolution dual mode is separate.. Calculated from other fields."},"max_refresh_rate_hdmi_hz":{"type":["integer","null"],"description":"Max refresh rate over HDMI. Unit: Hz. Highest proven accepted rate over HDMI at native resolution. Console refresh limits can be lower than PC limits.. Calculated from other fields."},"max_refresh_rate_usb_c_hz":{"type":["integer","null"],"description":"Max refresh rate over USB-C. Unit: Hz. Highest proven accepted rate over USB-C or Thunderbolt at native resolution. USB data bandwidth settings can lower the video maximum.. Calculated from other fields."},"max_refresh_rate_10bit_hz":{"type":["integer","null"],"description":"Max refresh rate at 10-bit. Unit: Hz. Highest stored native-resolution mode explicitly proven at 10-bit colour. Rows without bit-depth evidence do not count.. Calculated from other fields."},"native_refresh_rate_hz":{"type":["integer","null"],"description":"Native refresh rate. Unit: Hz. Highest refresh rate the maker rates without overclock. A lower optimum or recommended mode in a manual is not this value.."},"overclock_refresh_rate_hz":{"type":["integer","null"],"description":"Overclocked refresh rate. Unit: Hz."},"dual_mode":{"type":["boolean","null"],"description":"Dual mode. A dedicated display mode that changes resolution to raise the maximum refresh rate. Ordinary image scaling or a preset timing does not count.."},"min_refresh_rate_hz":{"type":["integer","null"],"description":"Minimum fixed refresh rate. Unit: Hz. Lowest fixed input rate accepted by the monitor. A VRR lower limit or general vertical scan range is not this value.."},"vrr_technologies":{"type":["array","null"],"items":{"type":"string","enum":["vesa_adaptive_sync","hdmi_vrr","freesync","freesync_premium","freesync_premium_pro","gsync_compatible","gsync","gsync_ultimate","gsync_pulsar","adaptive_sync"]},"description":"Adaptive sync technologies. Options: vesa_adaptive_sync (VESA AdaptiveSync Display), hdmi_vrr (HDMI VRR), freesync (FreeSync), freesync_premium (FreeSync Premium), freesync_premium_pro (FreeSync Premium Pro), gsync_compatible (G-SYNC Compatible), gsync (G-SYNC), gsync_ultimate (G-SYNC Ultimate), gsync_pulsar (G-SYNC Pulsar), adaptive_sync (Adaptive-Sync). Exact published adaptive-sync protocol or named certification. Generic Adaptive-Sync support does not prove VESA AdaptiveSync Display certification. Source notes distinguish protocols from certifications.."},"vrr_ranges":{"type":["array","null"],"items":{"type":"object","properties":{"input":{"type":["string","null"],"enum":["hdmi","displayport","usb_c","thunderbolt",null],"description":"Input. Options: hdmi (HDMI), displayport (DisplayPort), usb_c (USB-C), thunderbolt (Thunderbolt)."},"min_hz":{"type":["integer","null"],"description":"Min. Unit: Hz."},"max_hz":{"type":["integer","null"],"description":"Max. Unit: Hz."}},"required":["input","min_hz","max_hz"]},"description":"VRR range per port. Variable-refresh-rate operating range for each input and the operating mode named in source notes. A fixed timing or general vertical scan range alone is not a VRR range.."},"low_framerate_compensation":{"type":["boolean","null"],"description":"Low framerate compensation."},"response_time_gtg_ms":{"type":["number","null"],"description":"Response time (maker GtG claim). Unit: ms. Maker grey-to-grey pixel transition claim. Source notes state fastest overdrive or other conditions where published.."},"response_time_mprt_ms":{"type":["number","null"],"description":"Response time (maker MPRT claim). Unit: ms. Maker moving-picture response-time claim, often with strobing enabled. This is not a grey-to-grey transition time.."},"overdrive_levels":{"type":["array","null"],"items":{"type":"string"},"description":"Overdrive settings."},"motion_blur_reduction":{"type":["boolean","null"],"description":"Motion blur reduction. A dedicated blur-reduction feature using backlight strobing or black frame insertion. OLED monitors have no backlight.."},"motion_blur_reduction_name":{"type":["string","null"],"description":"Blur-reduction technology. Published name of the backlight strobing or black frame insertion feature.."},"strobing_with_vrr":{"type":["boolean","null"],"description":"Blur reduction works with VRR. Whether the dedicated strobing or black frame insertion mode can operate at the same time as variable refresh rate.."},"flicker_free":{"type":["boolean","null"],"description":"Flicker-free (claimed)."},"black_frame_insertion":{"type":["boolean","null"],"description":"Black frame insertion."},"input_lag_max_hz_ms":{"type":["number","null"],"description":"Input lag at maximum refresh rate. Unit: ms. Reviewer total display lag at the monitor highest accepted refresh rate, including a faster dual mode. Native-rate measurements below that maximum and processing-only delay are excluded. Source notes name the rate, resolution and test method.."},"input_lag_60hz_ms":{"type":["number","null"],"description":"Input lag at 60 Hz. Unit: ms. Reviewer total display lag with a fixed 60 Hz input. Processing-only delay is excluded. Source notes name the resolution, mode and test method.."},"measured_response_time_ms":{"type":["number","null"],"description":"Average response time (measured). Unit: ms. Reviewer mean grey-to-grey transition time across tested transitions. Source notes state the measurement endpoint, method, refresh rate and overdrive. A single worst transition or an unaveraged settling time does not count.."},"measured_overshoot_pct":{"type":["number","null"],"description":"Overshoot (measured). Unit: %. Measured by a reviewer, not claimed by the maker."},"measured_contrast_ratio":{"type":["number","null"],"description":"Contrast ratio (measured). 1000 means 1000:1. Measured by a reviewer."},"measured_sdr_brightness_nits":{"type":["number","null"],"description":"SDR brightness (measured). Unit: nits. Reviewer measured SDR white luminance. Source notes state picture mode, window size and brightness setting where available.."},"measured_hdr_brightness_real_scene_nits":{"type":["number","null"],"description":"HDR brightness in a real scene (measured). Unit: nits. Measured by a reviewer, not claimed by the maker."},"measured_pwm_frequency_hz":{"type":["integer","null"],"description":"PWM flicker frequency (measured). Unit: Hz. Only when the reviewer found PWM flicker."},"measured_vrr_range":{"type":["object","null"],"properties":{"min_hz":{"type":["integer","null"],"description":"Min. Unit: Hz."},"max_hz":{"type":["integer","null"],"description":"Max. Unit: Hz."}},"required":["min_hz","max_hz"],"description":"VRR range (measured). Measured by a reviewer, not claimed by the maker."},"measured_color_accuracy_delta_e":{"type":["number","null"],"description":"Colour accuracy (measured Delta E). Reviewer average colour error before calibration. Source notes name picture mode, reference colour space and Delta E method. Post-calibration results are excluded.."},"measured_gray_uniformity":{"type":["number","null"],"description":"Gray uniformity (measured). Unit: %. Deviation on a 50 % gray screen. Measured by a reviewer."},"measured_reflection_pct":{"type":["number","null"],"description":"Reflections (measured). Unit: %. Total reflections. Measured by a reviewer."},"video_inputs":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["hdmi","displayport","mini_displayport","usb_c","thunderbolt","dvi","vga",null],"description":"Type. Options: hdmi (HDMI), displayport (DisplayPort), mini_displayport (Mini DisplayPort), usb_c (USB-C), thunderbolt (Thunderbolt), dvi (DVI), vga (VGA)."},"version":{"type":["string","null"],"description":"Version."},"count":{"type":["integer","null"],"description":"Count. Number of physical video-input sockets of this type and specification.."},"max_bandwidth_gbps":{"type":["number","null"],"description":"Max bandwidth. Unit: Gbps. Published raw interface link bandwidth. This is not the usable image payload after transport overhead.."},"dsc":{"type":["boolean","null"],"description":"DSC."},"hdcp_version":{"type":["string","null"],"description":"HDCP."}},"required":["type","version","count","max_bandwidth_gbps","dsc","hdcp_version"]},"description":"Video inputs. Physical connectors that accept a display signal. A USB-C data-only charging port is not a video input. Counts exclude USB hubs and audio jacks.."},"hdmi_port_count":{"type":["integer","null"],"description":"HDMI ports. Calculated from other fields."},"displayport_port_count":{"type":["integer","null"],"description":"DisplayPort ports. Calculated from other fields."},"hdmi_version_max":{"type":["string","null"],"description":"Highest HDMI version. Calculated from other fields."},"displayport_version_max":{"type":["string","null"],"description":"Highest DisplayPort version. Calculated from other fields."},"hdmi_features":{"type":["array","null"],"items":{"type":"string","enum":["allm","vrr","qms","earc","cec"]},"description":"HDMI features. Options: allm (ALLM), vrr (VRR), qms (QMS), earc (eARC), cec (CEC)."},"usb_c_dp_alt_mode":{"type":["boolean","null"],"description":"USB-C video (DP Alt Mode)."},"usb_c_power_delivery_w":{"type":["integer","null"],"description":"USB-C power delivered. Unit: W. Power the monitor supplies to a connected device. Source notes distinguish guaranteed, maximum and shared dynamic limits. Power consumed by the monitor is separate.."},"thunderbolt_version":{"type":["string","null"],"description":"Thunderbolt."},"usb_upstream_ports":{"type":["array","null"],"items":{"type":"object","properties":{"connector":{"type":["string","null"],"enum":["usb_a","usb_b","usb_c",null],"description":"Connector. Options: usb_a (USB-A), usb_b (USB-B), usb_c (USB-C)."},"usb_version":{"type":["string","null"],"description":"USB version."},"count":{"type":["integer","null"],"description":"Count."}},"required":["connector","usb_version","count"]},"description":"USB upstream ports. USB connections from the monitor hub to host computers. Video input and downstream charging ports are separate.."},"usb_downstream_ports":{"type":["array","null"],"items":{"type":"object","properties":{"connector":{"type":["string","null"],"enum":["usb_a","usb_b","usb_c",null],"description":"Connector. Options: usb_a (USB-A), usb_b (USB-B), usb_c (USB-C)."},"usb_version":{"type":["string","null"],"description":"USB version."},"count":{"type":["integer","null"],"description":"Count."}},"required":["connector","usb_version","count"]},"description":"USB downstream hub ports. USB hub connections for peripherals. These exclude host-facing upstream ports. A port the maker names for service or firmware updates only is not counted.."},"kvm_switch":{"type":["boolean","null"],"description":"KVM switch."},"daisy_chain":{"type":["boolean","null"],"description":"Daisy chain (MST)."},"ethernet_port":{"type":["boolean","null"],"description":"Ethernet."},"audio_out_3_5mm":{"type":["boolean","null"],"description":"3.5 mm headphone output. Analogue headphone or audio output. A shared four-pole headset jack counts.."},"mic_in_3_5mm":{"type":["boolean","null"],"description":"3.5 mm microphone input. Analogue microphone input, including the microphone contacts of a shared four-pole headset jack. This does not imply a separate microphone socket.."},"optical_audio_out":{"type":["boolean","null"],"description":"Optical out."},"picture_in_picture":{"type":["boolean","null"],"description":"Picture in picture."},"picture_by_picture":{"type":["boolean","null"],"description":"Picture by picture."},"smart_platform":{"type":["string","null"],"description":"Smart platform."},"wifi_standard":{"type":["string","null"],"enum":["wifi_5","wifi_6","wifi_6e","wifi_7",null],"description":"Wi-Fi. Options: wifi_5 (Wi-Fi 5), wifi_6 (Wi-Fi 6), wifi_6e (Wi-Fi 6E), wifi_7 (Wi-Fi 7)."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth."},"remote_included":{"type":["boolean","null"],"description":"Remote control."},"has_speakers":{"type":["boolean","null"],"description":"Speakers."},"speaker_count":{"type":["integer","null"],"description":"Number of speakers."},"speaker_power_per_channel_w":{"type":["number","null"],"description":"Speaker power per channel. Unit: W. Rated power per speaker or output channel. Do not store the total of all speakers here.."},"built_in_webcam":{"type":["boolean","null"],"description":"Webcam."},"built_in_microphone":{"type":["boolean","null"],"description":"Microphone."},"height_adjustment_mm":{"type":["integer","null"],"description":"Stand height adjustment. Unit: mm. Vertical travel of the supplied stand. This is not the total height of the monitor.."},"tilt_range_deg":{"type":["object","null"],"properties":{"forward_deg":{"type":["number","null"],"description":"Forward. Unit: deg."},"backward_deg":{"type":["number","null"],"description":"Backward. Unit: deg."}},"required":["forward_deg","backward_deg"],"description":"Tilt. Maximum movement from the neutral position with the supplied stand. Each direction is stored as a positive magnitude.."},"swivel_range_deg":{"type":["object","null"],"properties":{"left_deg":{"type":["number","null"],"description":"Left. Unit: deg."},"right_deg":{"type":["number","null"],"description":"Right. Unit: deg."}},"required":["left_deg","right_deg"],"description":"Swivel. Maximum movement from the neutral position with the supplied stand. Each direction is stored as a positive magnitude.."},"pivot_range_deg":{"type":["object","null"],"properties":{"counterclockwise_deg":{"type":["number","null"],"description":"Counterclockwise. Unit: deg."},"clockwise_deg":{"type":["number","null"],"description":"Clockwise. Unit: deg."}},"required":["counterclockwise_deg","clockwise_deg"],"description":"Pivot. Maximum movement from the neutral position with the supplied stand. Each direction is stored as a positive magnitude. Pivot is rotation in the screen plane. A small slant adjustment for levelling, as Dell calls it, counts.."},"stand_removable":{"type":["boolean","null"],"description":"Removable stand."},"vesa_mount":{"type":["string","null"],"enum":["75x75","100x100","200x100","200x200","300x300","none",null],"description":"VESA mount. Options: 75x75 (75 x 75), 100x100 (100 x 100), 200x100 (200 x 100), 200x200 (200 x 200), 300x300 (300 x 300), none (None)."},"vesa_adapter_required":{"type":["boolean","null"],"description":"VESA adapter needed."},"kensington_lock":{"type":["boolean","null"],"description":"Security lock slot."},"osd_controls":{"type":["array","null"],"items":{"type":"string","enum":["joystick","buttons","touch_keys","remote","software"]},"description":"On-screen menu controls. Options: joystick (Joystick), buttons (Buttons), touch_keys (Touch keys), remote (Remote), software (Software). Controls that operate the monitor menu or display settings. Desktop window-layout software alone does not count as menu control.."},"control_software":{"type":["string","null"],"description":"Desktop software."},"firmware_updatable":{"type":["boolean","null"],"description":"User firmware updates."},"ambient_light_sensor":{"type":["boolean","null"],"description":"Ambient light sensor. Presence of a physical ambient-light sensor. A regulatory statement that Automatic Brightness Control is unavailable does not prove the sensor is absent. Human presence or proximity sensing is separate.."},"presence_sensor":{"type":["boolean","null"],"description":"Presence sensor. Presence of a person-detection or proximity sensor. Source notes distinguish room presence from near-screen detection. Absence of one kind does not prove absence of every presence sensor.."},"rgb_lighting":{"type":["boolean","null"],"description":"RGB lighting. Decorative illumination explicitly described as RGB or documented with selectable red, green and blue colours. A power LED or only one or two fixed colours is insufficient.."},"gaming_osd_features":{"type":["array","null"],"items":{"type":"string"},"description":"Gaming menu features."},"oled_care_features":{"type":["array","null"],"items":{"type":"string"},"description":"OLED care."},"burn_in_warranty":{"type":["boolean","null"],"description":"Burn-in covered by warranty. Warranty explicitly covers permanent OLED image burn-in. A general panel warranty alone does not prove burn-in coverage.."},"burn_in_warranty_years":{"type":["number","null"],"description":"Burn-in warranty length. Unit: years."},"dimensions_with_stand_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_min_mm":{"type":["number","null"],"description":"Height (lowest). Unit: mm. Overall height at the lowest stand position.."},"height_max_mm":{"type":["number","null"],"description":"Height (highest). Unit: mm. Overall height at the highest stand position.."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_min_mm","height_max_mm","depth_mm"],"description":"Dimensions with stand. Overall monitor dimensions with the supplied stand. Minimum and maximum heights require the stand position to be identified by the source.."},"dimensions_without_stand_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Dimensions without stand. Overall monitor body dimensions after the stand is removed, including the frame and rear housing.."},"stand_footprint_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","depth_mm"],"description":"Stand footprint. Width and depth of the stand base on the desk. A maker's stand width and depth count.."},"weight_with_stand_kg":{"type":["number","null"],"description":"Weight with stand. Unit: kg. Weight with the supplied stand. Source notes state if cables are included. Packaging weight is separate.."},"weight_without_stand_kg":{"type":["number","null"],"description":"Weight without stand. Unit: kg. Monitor body weight without stand. Source notes state whether cables are included.."},"package_dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Box dimensions. Shipping box width, height and depth in the maker published orientation. A flat-packed box can have a smaller height than the upright display.."},"package_weight_kg":{"type":["number","null"],"description":"Box weight. Unit: kg."},"power_supply":{"type":["string","null"],"enum":["internal","external_adapter","usb_c_powered",null],"description":"Power supply. Options: internal (Internal), external_adapter (External adapter), usb_c_powered (USB-C powered). USB-C powered monitors can draw power from a compatible host or an optional USB-C power source. This does not establish a bundled adapter. Record a supplied adapter and its rating separately.."},"power_adapter_w":{"type":["integer","null"],"description":"Adapter rating. Unit: W. Rated output power of the external power adapter. Do not substitute the monitor maximum consumption.."},"input_voltage":{"type":["string","null"],"description":"Input voltage."},"power_consumption_typical_w":{"type":["number","null"],"description":"Power use (typical). Unit: W. Maker typical operating power under a stated test condition. An unlabeled Power On upper bound does not establish a typical value. EU label test power has separate fields. An ENERGY STAR on-mode (Pon) figure is not a typical value.."},"power_consumption_max_w":{"type":["number","null"],"description":"Power use (max). Unit: W. Maker maximum operating power. Source notes state whether USB charging and connected-device load are included.."},"power_consumption_sdr_w":{"type":["number","null"],"description":"Power use SDR (EU label). Unit: W. SDR on-mode power demand in the EU product information sheet, in watts. It can differ from rounded energy-label kWh per 1000 hours.."},"power_consumption_hdr_w":{"type":["number","null"],"description":"Power use HDR (EU label). Unit: W. HDR on-mode power demand in the EU product information sheet, in watts. It can differ from rounded energy-label kWh per 1000 hours.."},"power_consumption_standby_w":{"type":["number","null"],"description":"Standby power. Unit: W. Power in standby or DPMS. Source notes retain any less-than qualifier.."},"power_consumption_off_w":{"type":["number","null"],"description":"Off-mode power. Unit: W. Power when switched off but still connected to mains. Source notes retain any less-than qualifier.."},"eu_energy_class_sdr":{"type":["string","null"],"enum":["A","B","C","D","E","F","G",null],"description":"EU energy class SDR. Options: A (A), B (B), C (C), D (D), E (E), F (F), G (G)."},"eu_energy_class_hdr":{"type":["string","null"],"enum":["A","B","C","D","E","F","G",null],"description":"EU energy class HDR. Options: A (A), B (B), C (C), D (D), E (E), F (F), G (G)."},"energy_kwh_per_1000h_sdr":{"type":["number","null"],"description":"Energy per 1000 h SDR. Unit: kWh."},"energy_kwh_per_1000h_hdr":{"type":["number","null"],"description":"Energy per 1000 h HDR. Unit: kWh."},"vesa_clearmr_tier":{"type":["integer","null"],"description":"VESA ClearMR."},"vesa_adaptive_sync_certified_hz":{"type":["integer","null"],"description":"VESA AdaptiveSync Display. Unit: Hz."},"tuv_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"TÜV certifications."},"low_blue_light":{"type":["string","null"],"enum":["hardware","software","none",null],"description":"Low blue light. Options: hardware (Hardware), software (Software), none (None). Hardware means a published panel-level hardware low-blue-light solution. Software means a selectable picture filter. Hardware does not require a selectable filter mode.."},"energy_star":{"type":["boolean","null"],"description":"ENERGY STAR."},"tco_certified":{"type":["string","null"],"description":"TCO Certified."},"epeat":{"type":["string","null"],"enum":["bronze","silver","gold","none",null],"description":"EPEAT. Options: bronze (Bronze), silver (Silver), gold (Gold), none (None)."},"color_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Colour certifications."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."},"cables_included":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"description":"Type."},"count":{"type":["integer","null"],"description":"Count."}},"required":["type","count"]},"description":"Cables included. Cables supplied with the product. Count is included only when the source establishes it. Bundles can vary by market.."},"dead_pixel_policy":{"type":["string","null"],"description":"Dead pixel policy."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","segment","screen_size_in","viewable_size_in","native_resolution","aspect_ratio","pixel_density_ppi","pixel_pitch_mm","active_area_mm","is_curved","curvature_radius_mm","screen_surface","anti_reflection_coating","is_touchscreen","panel_type","panel_type_name","backlight_type","local_dimming","local_dimming_zones","panel_manufacturer","panel_model","panel_generation","subpixel_layout","color_depth_bits","color_depth_method","colors_displayable","srgb_coverage_pct","dci_p3_coverage_pct","adobe_rgb_coverage_pct","rec2020_coverage_pct","ntsc_coverage_pct","factory_calibrated","calibration_delta_e","calibration_report_included","hardware_calibration","static_contrast_ratio","brightness_typical_nits","brightness_min_nits","brightness_hdr_peak_nits","brightness_hdr_peak_window_pct","brightness_full_screen_nits","hdr_formats","hdr_certification","viewing_angle_horizontal_deg","viewing_angle_vertical_deg","refresh_rate_modes","max_refresh_rate_hz","max_refresh_rate_native_res_hz","max_refresh_rate_displayport_hz","max_refresh_rate_hdmi_hz","max_refresh_rate_usb_c_hz","max_refresh_rate_10bit_hz","native_refresh_rate_hz","overclock_refresh_rate_hz","dual_mode","min_refresh_rate_hz","vrr_technologies","vrr_ranges","low_framerate_compensation","response_time_gtg_ms","response_time_mprt_ms","overdrive_levels","motion_blur_reduction","motion_blur_reduction_name","strobing_with_vrr","flicker_free","black_frame_insertion","input_lag_max_hz_ms","input_lag_60hz_ms","measured_response_time_ms","measured_overshoot_pct","measured_contrast_ratio","measured_sdr_brightness_nits","measured_hdr_brightness_real_scene_nits","measured_pwm_frequency_hz","measured_vrr_range","measured_color_accuracy_delta_e","measured_gray_uniformity","measured_reflection_pct","video_inputs","hdmi_port_count","displayport_port_count","hdmi_version_max","displayport_version_max","hdmi_features","usb_c_dp_alt_mode","usb_c_power_delivery_w","thunderbolt_version","usb_upstream_ports","usb_downstream_ports","kvm_switch","daisy_chain","ethernet_port","audio_out_3_5mm","mic_in_3_5mm","optical_audio_out","picture_in_picture","picture_by_picture","smart_platform","wifi_standard","bluetooth_version","remote_included","has_speakers","speaker_count","speaker_power_per_channel_w","built_in_webcam","built_in_microphone","height_adjustment_mm","tilt_range_deg","swivel_range_deg","pivot_range_deg","stand_removable","vesa_mount","vesa_adapter_required","kensington_lock","osd_controls","control_software","firmware_updatable","ambient_light_sensor","presence_sensor","rgb_lighting","gaming_osd_features","oled_care_features","burn_in_warranty","burn_in_warranty_years","dimensions_with_stand_mm","dimensions_without_stand_mm","stand_footprint_mm","weight_with_stand_kg","weight_without_stand_kg","package_dimensions_mm","package_weight_kg","power_supply","power_adapter_w","input_voltage","power_consumption_typical_w","power_consumption_max_w","power_consumption_sdr_w","power_consumption_hdr_w","power_consumption_standby_w","power_consumption_off_w","eu_energy_class_sdr","eu_energy_class_hdr","energy_kwh_per_1000h_sdr","energy_kwh_per_1000h_hdr","vesa_clearmr_tier","vesa_adaptive_sync_certified_hz","tuv_certifications","low_blue_light","energy_star","tco_certified","epeat","color_certifications","other_certifications","in_the_box","cables_included","dead_pixel_policy"],"description":"Every monitor field in schema order. Unknown values are null."},"MotherboardSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"segment":{"type":["string","null"],"enum":["gaming","creator","workstation","mainstream",null],"description":"Segment. Options: gaming (Gaming), creator (Creator), workstation (Workstation), mainstream (Mainstream). The maker's own product category, e.g. ASUS ProArt is Creator. It is not assigned from price or features. Maker lines that are not gaming, creator or workstation lines, such as ASUS PRIME, MSI PRO and ASRock Pro, are mainstream.."},"board_revision":{"type":["string","null"],"description":"Board revision. The maker's revision name, e.g. rev. 1.1, for variant rows of revisions that keep the board's name and model number. Leave it out when the maker names no revision.."},"cpu_socket":{"type":["string","null"],"description":"CPU socket. Socket name without spaces, e.g. AM5 or LGA1851.."},"motherboard_chipset":{"type":["string","null"],"description":"Chipset. Chipset with its brand and without the word chipset, e.g. AMD B850, AMD X870E or Intel Z890. Same form as desktop PCs and as compatible chipsets on CPUs.."},"supported_cpu_series":{"type":["array","null"],"items":{"type":"string"},"description":"Supported processors. Processor series the maker lists for the board, one item per series in the chip maker's name. BIOS updates can add series later.."},"cpu_overclocking":{"type":["boolean","null"],"description":"CPU overclocking. The board allows multiplier overclocking of an unlocked CPU. Memory overclocking alone does not count.."},"motherboard_form_factor":{"type":["string","null"],"enum":["e_atx","atx","micro_atx","mini_itx","other",null],"description":"Form factor. Options: e_atx (E-ATX), atx (ATX), micro_atx (Micro-ATX), mini_itx (Mini-ITX), other (Other). The maker's stated board standard. Other covers sizes such as XL-ATX or Mini-DTX.."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."}},"required":["width_mm","height_mm"],"description":"Board dimensions. Size of the board itself. Height runs along the rear I/O edge, as the board stands in a tower case. ATX is 244 mm wide and 305 mm high. Micro ATX is 244 mm high and up to 244 mm wide. A size with a cover that reaches past the board, as NZXT prints, is not used when the maker also states the board size.."},"pcb_layers":{"type":["integer","null"],"description":"PCB layers. Copper layers in the circuit board as published.."},"back_connect_design":{"type":["boolean","null"],"description":"Back-connect design. Power, fan and front-panel connectors sit on the back of the board to hide the cables, e.g. ASUS BTF, MSI Project Zero or GIGABYTE Stealth. It needs a case made for it.."},"rgb_lighting":{"type":["boolean","null"],"description":"RGB lighting on the board. LEDs on the board itself. Headers for external lighting are counted under Internal connectors. True only when the maker's spec or feature list names lighting on the board. A single small LED that a reviewer sees does not count.."},"vrm_layout":{"type":["string","null"],"description":"Power stage layout. As the maker publishes it, e.g. 18+2+2. The first number is the CPU core (Vcore) rail. Makers group the other rails differently, so compare the first number. Doubled or teamed stages are written as the maker prints them, such as MSI's 12+2+1 Duet Rail. A review's count of real phases goes in the source note.."},"vrm_vcore_power_stages":{"type":["integer","null"],"description":"CPU core (Vcore) power stages. Power stages on the Vcore rail. Makers call them phases or power stages. A doubled design has more stages than controller phases. Use the first number of the maker's layout, such as 14 for MSI's 14+2+1 Duet Rail. A review's different count goes in the source note.."},"vrm_vcore_stage_rating_a":{"type":["integer","null"],"description":"Vcore power stage rating. Unit: A. Current rating of each Vcore power stage. Only a figure the maker or a copy of the maker's text states. A review's reading of the chip markings is not enough.."},"vrm_controller":{"type":["string","null"],"description":"VRM controller. PWM controller chip with maker, e.g. MPS MP2857. One name: the maker's when published, otherwise the one name a review uses. No parentheses. Other names go in the source note. Use the part number without the date code in the chip marking.."},"cpu_power_connectors":{"type":["string","null"],"description":"CPU power connectors. EPS 12 V connectors for the CPU as pin counts, e.g. 8+8 pin, 8+4 pin or 8 pin.."},"supplemental_pcie_power":{"type":["boolean","null"],"description":"Extra slot power connector. A PCIe or other power connector on the board that feeds the expansion slots. The 24-pin and CPU connectors do not count. A connector the maker ties only to a front USB-C header does not count.."},"ram_type":{"type":["string","null"],"enum":["ddr5","ddr4",null],"description":"Memory type. Options: ddr5 (DDR5), ddr4 (DDR4)."},"ram_slot_count":{"type":["integer","null"],"description":"Memory slots. DIMM slots on the board.."},"ram_max_gb":{"type":["integer","null"],"description":"Max memory. Unit: GB. Maximum total capacity the maker states for the board. The maker's product page wins over an older manual, since a BIOS update can raise the value.."},"ram_max_speed_mts":{"type":["integer","null"],"description":"Max memory speed (overclocked). Unit: MT/s. Highest overclocked speed the maker lists for one module per channel, with the newest CPU family the board is sold for, e.g. Ryzen 9000 or Core Ultra 200S. Ryzen 8000 values are never used. The source note names the family and the other module setups. It is not the CPU's official speed. A JEDEC-only list such as 5600/4800 is not this value. When the maker lists a manual overclock and a memory profile speed, the higher one is stored. The maker's product page wins over an older manual, since a BIOS update can raise the value. A table that names the CPU family wins over a headline speed that names none.."},"ram_ecc":{"type":["boolean","null"],"description":"ECC memory. The board runs unbuffered ECC modules with ECC active. A board that runs ECC modules in non-ECC mode does not count. DDR5 on-die ECC does not count. A maker list of ECC and non-ECC unbuffered memory with no non-ECC mode qualifier counts as true, as on ASUS and ASRock AM5 boards. A note that ECC mode depends on the CPU, as ASUS writes for AM4 boards, still counts as true.."},"cudimm_support":{"type":["boolean","null"],"description":"CUDIMM support. The board runs clocked unbuffered DIMMs (CUDIMM) with the clock driver active. Clock driver bypass mode only does not count. A plain \"Supports CUDIMM\" with no bypass limit, as ASRock and ASUS write it, counts as true.."},"expansion_slots":{"type":["array","null"],"items":{"type":"object","properties":{"slot_type":{"type":["string","null"],"enum":["pcie_x16","pcie_x8","pcie_x4","pcie_x1",null],"description":"Physical slot. Options: pcie_x16 (PCIe x16), pcie_x8 (PCIe x8), pcie_x4 (PCIe x4), pcie_x1 (PCIe x1). Physical slot length. It does not state the lanes wired to it.."},"electrical_lanes":{"type":["integer","null"],"description":"Electrical lanes. The most PCIe lanes the slot can run at, with the CPU family that gives the board its full connectivity.."},"pcie_gen":{"type":["integer","null"],"description":"PCIe generation."},"connected_to":{"type":["string","null"],"enum":["cpu","chipset",null],"description":"Connected to. Options: cpu (CPU), chipset (Chipset)."},"count":{"type":["integer","null"],"description":"Count."}},"required":["slot_type","electrical_lanes","pcie_gen","connected_to","count"]},"description":"Expansion slots. Physical card slots. Storage M.2 slots are listed under Storage. The M.2 slot of a pre-installed Wi-Fi module is not listed. A full-length slot wired for x4 is PCIe x16 with 4 lanes.."},"pcie_x16_slot_count":{"type":["integer","null"],"description":"Full-length PCIe slots. Counts full-length slots, whatever their lane count.. Calculated from other fields."},"pcie_x16_gen_max":{"type":["integer","null"],"description":"Fastest PCIe x16 slot generation. Highest PCIe generation of a full-length slot. This is normally the graphics card slot.. Calculated from other fields."},"m2_slots":{"type":["array","null"],"items":{"type":"object","properties":{"slot":{"type":["string","null"],"description":"Slot. The maker's label, e.g. M.2_1.."},"pcie_gen":{"type":["integer","null"],"description":"PCIe generation."},"pcie_lanes":{"type":["integer","null"],"description":"PCIe lanes."},"connected_to":{"type":["string","null"],"enum":["cpu","chipset",null],"description":"Connected to. Options: cpu (CPU), chipset (Chipset)."},"form_factor":{"type":["string","null"],"enum":["m2_2230","m2_2242","m2_2280","m2_22110",null],"description":"Longest drive. Options: m2_2230 (M.2 2230), m2_2242 (M.2 2242), m2_2280 (M.2 2280), m2_22110 (M.2 22110). Longest M.2 module the slot takes, e.g. M.2 2280. Shorter modules also fit.."},"sata":{"type":["boolean","null"],"description":"Takes SATA drives. The slot also takes M.2 SATA drives. False when the maker marks SATA as N/A for the slot, or when its full slot list shows the slot without a SATA mode.."},"heatsink":{"type":["boolean","null"],"description":"Heatsink. One heatsink over several slots counts for each slot it covers. A heatsink that can be moved between slots counts for the slot it ships on.."},"shares_lanes_with":{"type":["string","null"],"description":"Shares lanes with. What slows down or turns off when this slot is used, e.g. PCIe x16 slot runs at x8.."}},"required":["slot","pcie_gen","pcie_lanes","connected_to","form_factor","sata","heatsink","shares_lanes_with"]},"description":"M.2 storage slots. One row per M key storage slot on the board, front or back. Slots on an included add-in card are not listed. Values are with the CPU family that gives the board its full connectivity. A slot listed for 25110 counts as M.2 22110. A slot listed for 2260 counts as M.2 2280.."},"m2_slot_count":{"type":["integer","null"],"description":"M.2 slots. Calculated from other fields."},"m2_pcie5_slot_count":{"type":["integer","null"],"description":"PCIe 5.0 M.2 slots. Calculated from other fields."},"sata_port_count":{"type":["integer","null"],"description":"SATA ports. SATA 6Gb/s connectors on the board. SlimSAS connectors and M.2 slots that take SATA drives do not count.."},"rear_ports":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["usb_c","usb_a","hdmi","displayport","rj45","audio_3_5mm","optical_spdif","ps2","vga","other",null],"description":"Type. Options: usb_c (USB-C), usb_a (USB-A), hdmi (HDMI), displayport (DisplayPort), rj45 (Ethernet (RJ45)), audio_3_5mm (3.5 mm audio), optical_spdif (Optical S/PDIF), ps2 (PS/2), vga (VGA), other (Other)."},"version":{"type":["string","null"],"description":"Version. USB-IF name: USB 2.0, USB 3.2 Gen 1, USB 3.2 Gen 2, USB 3.2 Gen 2x2 or USB4. HDMI or DisplayPort version as printed. Left out for audio, S/PDIF, VGA and Ethernet rows. The speed is in the max data rate. A Thunderbolt port is written USB4 here, and its Thunderbolt version goes in the Thunderbolt or USB4 column.."},"count":{"type":["integer","null"],"description":"Count. Physical connectors with these same properties.."},"max_gbps":{"type":["number","null"],"description":"Max link rate. Unit: Gbps. Published data rate of the port. For Ethernet it is the link rate.."},"tb_usb4":{"type":["string","null"],"enum":["thunderbolt_4","thunderbolt_5","usb4",null],"description":"Thunderbolt or USB4. Options: thunderbolt_4 (Thunderbolt 4), thunderbolt_5 (Thunderbolt 5), usb4 (USB4)."},"power_out_w":{"type":["number","null"],"description":"Power out. Unit: W. Highest USB power output the maker states for the port, such as 15 for 5 V at 3 A or 30 for 30 W Power Delivery. A condition, such as an extra power connector on the board, goes in the source note. A power note that is not tied to a port, such as a footnote at the end of the USB list, is not stored.."},"dp_alt_mode":{"type":["boolean","null"],"description":"DP Alt Mode."}},"required":["type","version","count","max_gbps","tb_usb4","power_out_w","dp_alt_mode"]},"description":"Rear ports. Physical connectors on the rear I/O panel. Wi-Fi antenna connectors and buttons are not ports. 3.5 mm audio counts analog jacks of any role. A video input, such as the DisplayPort In of a Thunderbolt board, is Other.."},"rear_usb_count":{"type":["integer","null"],"description":"Rear USB ports. Calculated from other fields."},"rear_usb_c_count":{"type":["integer","null"],"description":"Rear USB-C ports. Includes Thunderbolt and USB4 ports.. Calculated from other fields."},"rear_usb_max_gbps":{"type":["number","null"],"description":"Fastest rear USB port. Unit: Gbps. Calculated from other fields."},"has_thunderbolt":{"type":["boolean","null"],"description":"Thunderbolt. Thunderbolt on the rear panel. A header for an add-in card does not count.. Calculated from other fields."},"usb_headers":{"type":["array","null"],"items":{"type":"object","properties":{"connector":{"type":["string","null"],"enum":["usb_c","usb_3","usb_2",null],"description":"Header. Options: usb_c (USB-C header), usb_3 (USB 3 header (19-pin)), usb_2 (USB 2.0 header (9-pin))."},"max_gbps":{"type":["number","null"],"description":"Max data rate. Unit: Gbps."},"count":{"type":["integer","null"],"description":"Headers."},"ports":{"type":["integer","null"],"description":"Front ports served. Front ports these headers serve in total.."},"power_out_w":{"type":["number","null"],"description":"Power out. Unit: W. Stated USB Power Delivery output.."}},"required":["connector","max_gbps","count","ports","power_out_w"]},"description":"Internal USB headers. Headers for front-panel USB ports. The header count may be left out when the maker states only the front ports served.."},"usb_c_header_max_gbps":{"type":["number","null"],"description":"Front USB-C header speed. Unit: Gbps. Calculated from other fields."},"fan_header_count":{"type":["integer","null"],"description":"Fan headers. All fan and pump headers on the board, including CPU, CPU optional, AIO pump and chassis fan headers. Combination connectors that carry fan power together with other lines, such as MSI EZ Conn, do not count. A header that drives several fans, such as GIGABYTE 3_FANS, counts once. Headers on a hub that ships with the board and plugs into it, such as MSI's EZ CONTROL HUB, count. The source note splits board and hub.."},"argb_header_count":{"type":["integer","null"],"description":"ARGB headers. 3-pin 5 V addressable RGB headers. Combination connectors do not count. Headers on a hub that ships with the board and plugs into it, such as MSI's EZ CONTROL HUB, count. The source note splits board and hub.."},"rgb_header_count":{"type":["integer","null"],"description":"RGB headers. 4-pin 12 V RGB headers. Headers on a hub that ships with the board and plugs into it, such as MSI's EZ CONTROL HUB, count. The source note splits board and hub.."},"ethernet_controllers":{"type":["array","null"],"items":{"type":"string"},"description":"Ethernet controllers. One item per Ethernet chip, as maker plus chip family without suffix letters, e.g. Realtek RTL8126 or Realtek RTL8125. Suffixes and revisions go in the source note. Leave it empty when no maker document or review names the chip. A Killer chip is written with Intel as its maker, such as Intel Killer E3100G.."},"ethernet_port_count":{"type":["integer","null"],"description":"Ethernet ports. Calculated from other fields."},"ethernet_max_gbps":{"type":["number","null"],"description":"Ethernet speed. Unit: Gbps. Fastest Ethernet port.. Calculated from other fields."},"wifi":{"type":["boolean","null"],"description":"Wi-Fi included. A Wi-Fi module comes installed. A board sold with and without Wi-Fi is two products.."},"wifi_standard":{"type":["string","null"],"enum":["wifi_5","wifi_6","wifi_6e","wifi_7",null],"description":"Wi-Fi standard. Options: wifi_5 (Wi-Fi 5), wifi_6 (Wi-Fi 6), wifi_6e (Wi-Fi 6E), wifi_7 (Wi-Fi 7)."},"wifi_bands":{"type":["array","null"],"items":{"type":"string","enum":["2.4ghz","5ghz","6ghz"]},"description":"Wi-Fi bands. Options: 2.4ghz (2.4 GHz), 5ghz (5 GHz), 6ghz (6 GHz). Bands the installed module supports.."},"wifi_max_channel_width_mhz":{"type":["integer","null"],"description":"Max Wi-Fi channel width. Unit: MHz. Widest channel the installed module supports, e.g. 320 or 160. It follows the Wi-Fi module, so a board revision can change it.."},"wifi_module":{"type":["string","null"],"description":"Wi-Fi module. Chip as published. A board revision can change the chip. One name: the maker's when published, otherwise the one name a review uses. No parentheses. Other names go in the source note. Use the chip's part number with its maker when any source gives it, such as Qualcomm QCNCM865 for a module also written NCM865. A platform name such as FastConnect 7800 is used only when no part number is published.."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth. Version of the Bluetooth radio on the Wi-Fi module.."},"audio_codec":{"type":["string","null"],"description":"Audio codec. Maker and model, e.g. Realtek ALC4080. A board revision can change the codec.."},"dac_chip":{"type":["string","null"],"description":"DAC chip. A separate DAC chip next to the codec, e.g. ESS ES9219. Maker plus part number as the maker writes it, with suffix letters, e.g. ESS ES9219Q. A marketing name that stands for a part number is written as the part number, so ESS SABRE9219 is ESS ES9219 and the maker wording goes in the source note. Leave it empty on boards with only a codec.."},"bios_flashback":{"type":["boolean","null"],"description":"BIOS flashback. A button that updates the BIOS from a USB drive without a CPU or memory installed. Maker names include BIOS FlashBack, Flash BIOS Button and Q-Flash Plus.."},"clear_cmos_button":{"type":["boolean","null"],"description":"Clear CMOS button (rear). A button on the rear panel that resets the BIOS settings. A jumper or header does not count. A board whose only clear CMOS button sits on the board itself is false.."},"post_code_display":{"type":["boolean","null"],"description":"POST code display. A two-digit display that shows boot codes, e.g. ASUS Q-Code or ASRock Dr. Debug. Single status LEDs do not count. Taken from the maker's spec or manual only. A review spec table is not enough.."},"onboard_power_button":{"type":["boolean","null"],"description":"Power button on the board. A power or start button on the board itself, for use outside a case. A button with another label counts when the maker says it can turn the PC on, such as GIGABYTE's quick button labelled RESET. A button on the rear I/O panel counts. A button on a module that ships fitted to the board, such as MSI's EZ BRIDGE, counts.."},"dual_bios":{"type":["boolean","null"],"description":"Dual BIOS. Two BIOS chips, so the board can start from the second chip after a failed update. Two flash chips alone do not count.."},"preinstalled_io_shield":{"type":["boolean","null"],"description":"Pre-installed I/O shield. The rear I/O shield is fixed to the board.."},"tool_free_features":{"type":["array","null"],"items":{"type":"string","enum":["m2_latch","m2_heatsink","pcie_release","antenna_connector"]},"description":"Tool-free features. Options: m2_latch (Tool-free M.2 latch), m2_heatsink (Tool-free M.2 heatsink), pcie_release (PCIe slot release), antenna_connector (Push-on antenna connector). M.2 latch holds a drive without a screw. M.2 heatsink comes off without a tool. PCIe slot release is a button or lever that frees the graphics card. Push-on antenna connector fits the Wi-Fi antenna without screwing.."},"measured_vrm_temp_c":{"type":["number","null"],"description":"VRM temperature under CPU load. Unit: °C. Highest VRM temperature a reviewer measured during a sustained all-core CPU stress test at stock settings. Compare only results from the same reviewer and CPU. The reviewer's probe reading when given, otherwise the board sensor. The sensor and the CPU package power during the test go in the source note.."},"measured_power_idle_w":{"type":["number","null"],"description":"Power draw idle. Unit: W. Whole test system at the wall at idle, measured by a reviewer. Compare only results from the same reviewer and CPU. A chart of CPU and board power without a wall meter does not count.."},"measured_power_cpu_stress_w":{"type":["number","null"],"description":"Power draw CPU stress. Unit: W. Whole test system at the wall at the peak of a CPU stress test, measured by a reviewer. The graphics card is not loaded. Compare only results from the same reviewer and CPU. A chart of CPU and board power without a wall meter does not count.."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box. Items as the maker lists them.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","segment","board_revision","cpu_socket","motherboard_chipset","supported_cpu_series","cpu_overclocking","motherboard_form_factor","dimensions_mm","pcb_layers","back_connect_design","rgb_lighting","vrm_layout","vrm_vcore_power_stages","vrm_vcore_stage_rating_a","vrm_controller","cpu_power_connectors","supplemental_pcie_power","ram_type","ram_slot_count","ram_max_gb","ram_max_speed_mts","ram_ecc","cudimm_support","expansion_slots","pcie_x16_slot_count","pcie_x16_gen_max","m2_slots","m2_slot_count","m2_pcie5_slot_count","sata_port_count","rear_ports","rear_usb_count","rear_usb_c_count","rear_usb_max_gbps","has_thunderbolt","usb_headers","usb_c_header_max_gbps","fan_header_count","argb_header_count","rgb_header_count","ethernet_controllers","ethernet_port_count","ethernet_max_gbps","wifi","wifi_standard","wifi_bands","wifi_max_channel_width_mhz","wifi_module","bluetooth_version","audio_codec","dac_chip","bios_flashback","clear_cmos_button","post_code_display","onboard_power_button","dual_bios","preinstalled_io_shield","tool_free_features","measured_vrm_temp_c","measured_power_idle_w","measured_power_cpu_stress_w","in_the_box"],"description":"Every motherboard field in schema order. Unknown values are null."},"MouseSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"segment":{"type":["string","null"],"enum":["gaming","office","ergonomic","travel",null],"description":"Segment. Options: gaming (Gaming), office (Office), ergonomic (Ergonomic), travel (Travel)."},"mouse_form":{"type":["string","null"],"enum":["standard","vertical","trackball",null],"description":"Mouse type. Options: standard (Standard), vertical (Vertical), trackball (Trackball)."},"shape":{"type":["string","null"],"enum":["symmetrical","ambidextrous","right_handed","left_handed",null],"description":"Body shape. Options: symmetrical (Symmetrical body), ambidextrous (Symmetrical body, buttons on both sides), right_handed (Asymmetric, right-handed), left_handed (Asymmetric, left-handed). Describes shell symmetry, not the intended hand. Symmetrical with side buttons on one side differs from an asymmetric right-handed body. Ambidextrous means a symmetrical body with side buttons on both sides.."},"size_class":{"type":["string","null"],"enum":["mini","small","medium","large","standard",null],"description":"Maker size class. Options: mini (Mini), small (Small), medium (Medium), large (Large), standard (Standard). The maker’s marketed size label. Do not infer a size class from dimensions or reviewer hand-fit recommendations.."},"grip_styles":{"type":["array","null"],"items":{"type":"string","enum":["palm","claw","fingertip"]},"description":"Recommended grips. Options: palm (Palm), claw (Claw), fingertip (Fingertip). Grip styles explicitly recommended by the maker. A reviewer finding a grip usable does not add a maker recommendation.."},"recommended_hand_size_mm":{"type":["object","null"],"properties":{"length_min_mm":{"type":["number","null"],"description":"Hand length (min). Unit: mm."},"length_max_mm":{"type":["number","null"],"description":"Hand length (max). Unit: mm."},"width_min_mm":{"type":["number","null"],"description":"Hand width (min). Unit: mm."},"width_max_mm":{"type":["number","null"],"description":"Hand width (max). Unit: mm."}},"required":["length_min_mm","length_max_mm","width_min_mm","width_max_mm"],"description":"Recommended hand size. Maker recommendation, measured from wrist to middle fingertip for hand length. Source notes specify whether limits are inclusive or exclusive.."},"hump_position":{"type":["string","null"],"enum":["front","center","back",null],"description":"Hump position. Options: front (Front), center (Centre), back (Back). Position of the shell’s highest point along its length, from a maker drawing or exact-model review.."},"thumb_rest":{"type":["boolean","null"],"description":"Thumb rest."},"finger_rest":{"type":["boolean","null"],"description":"Ring or pinky finger rest."},"shell_type":{"type":["string","null"],"enum":["solid","perforated",null],"description":"Upper shell. Options: solid (Solid), perforated (Perforated). The primary hand-contact shell. An open or perforated bottom alone does not make the upper shell perforated.."},"modular_parts":{"type":["array","null"],"items":{"type":"string","enum":["side_panels","top_shell","palm_rest","button_covers"]},"description":"Swappable parts. Options: side_panels (Side panels), top_shell (Top shell), palm_rest (Palm rest), button_covers (Button covers)."},"adjustable_weight":{"type":["boolean","null"],"description":"Adjustable weight."},"adjustable_weight_max_g":{"type":["number","null"],"description":"Maximum added weight. Unit: g. Total removable weight supplied with the mouse, excluding the mouse’s normal weight.."},"vertical_angle_deg":{"type":["number","null"],"description":"Vertical angle. Unit: deg."},"trackball_diameter_mm":{"type":["number","null"],"description":"Trackball diameter. Unit: mm."},"trackball_position":{"type":["string","null"],"enum":["thumb","finger","center",null],"description":"Trackball position. Options: thumb (Thumb), finger (Finger), center (Centre)."},"dimensions_mm":{"type":["object","null"],"properties":{"length_mm":{"type":["number","null"],"description":"Length. Unit: mm. Front-to-rear body length, excluding cable.."},"width_mm":{"type":["number","null"],"description":"Maximum width. Unit: mm. Widest body point, not grip width.."},"height_mm":{"type":["number","null"],"description":"Maximum height. Unit: mm. Highest body point.."}},"required":["length_mm","width_mm","height_mm"],"description":"Mouse body dimensions. Length from front to rear, width at the widest body point, and maximum height. Cable and receiver are excluded. Approximate maker figures are qualified in source notes. Logitech pages often label the front-to-rear length Height and the body height Depth, so map the figures by size.."},"grip_width_mm":{"type":["number","null"],"description":"Grip width. Unit: mm. Body width where the thumb and opposite grip finger sit. This differs from maximum body width.."},"weight_g":{"type":["number","null"],"description":"Mouse weight (claimed). Unit: g. Wireless mice include the battery. When the maker does not say whether a removable battery is in the weight, the published weight is stored and the source note says so. Wired mice exclude the cable. Source notes identify installed skates, colour, approximation, tolerance or a published bound.."},"package_dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Box dimensions."},"package_weight_g":{"type":["number","null"],"description":"Packed weight. Unit: g. Mouse, packaging and included accessories. Shipping-service weight is not evidence of packed weight.."},"sensor_model":{"type":["string","null"],"description":"Marketed sensor name. Maker’s sensor branding, or reviewer identification when the maker does not publish one. The physical part number is recorded separately.."},"sensor_brand":{"type":["string","null"],"description":"Published sensor brand. Sensor brand or trademark named by the source, which may be the mouse maker’s proprietary branding. Physical silicon manufacturer and part number are separate facts.."},"sensor_base_model":{"type":["string","null"],"description":"Physical sensor part number. Exact physical sensor family or part identified by the maker or an exact-model reviewer. Do not infer it from DPI, speed or a sibling mouse.."},"sensor_type":{"type":["string","null"],"enum":["optical","laser",null],"description":"Sensor type. Options: optical (Optical), laser (Laser)."},"max_dpi":{"type":["integer","null"],"description":"Maximum configurable DPI. Unit: DPI. Maximum selectable DPI with the documented firmware. Later firmware increases are noted in sources. The sensor chip’s theoretical maximum is not the mouse’s maximum.."},"min_dpi":{"type":["integer","null"],"description":"Minimum configurable DPI. Unit: DPI. Lowest selectable sensitivity on this mouse. Factory presets do not establish its minimum.."},"dpi_step":{"type":["integer","null"],"description":"DPI adjustment step. Unit: DPI. Smallest documented configuration increment, not the spacing between factory presets.."},"dpi_stages_max":{"type":["integer","null"],"description":"Maximum DPI stages. Maximum number of selectable sensitivity presets saved at once, not the number of distinct supported DPI values.."},"dpi_presets_default":{"type":["array","null"],"items":{"type":"integer"},"description":"Default DPI presets. Unit: DPI. Factory preset sensitivity values for the exact model and firmware. Source notes distinguish different factory profiles.."},"dpi_xy_independent":{"type":["boolean","null"],"description":"Separate X and Y DPI."},"max_speed_ips":{"type":["integer","null"],"description":"Tracking speed (claimed). Unit: IPS. Maker or published product specification, in inches per second. If the source says more than a value, that numeric threshold is stored and qualified in the source note. Do not read it as an exact ceiling.."},"max_acceleration_g":{"type":["integer","null"],"description":"Tracking acceleration (claimed). Unit: G. Maximum tracking acceleration in multiples of gravitational acceleration, not mouse weight. A source saying more than a value is retained as a qualified threshold in the source note.."},"lift_off_distance_mm":{"type":["array","null"],"items":{"type":"number"},"description":"Lift-off distance settings. Unit: mm. Only documented selectable lift-off values, or one documented fixed value. A minimum, approximate measured result or unquantified range does not establish a complete option list.."},"asymmetric_lift_off":{"type":["boolean","null"],"description":"Separate lift and landing distance."},"surface_calibration":{"type":["boolean","null"],"description":"Surface calibration. Sensor calibration for a tracking surface. Adjustable lift-off distance or copying sensitivity from another mouse alone does not establish this feature.."},"motion_sync":{"type":["boolean","null"],"description":"Motion Sync. Whether sensor motion synchronization is supported. Polling-rate restrictions and default state belong in source notes.."},"angle_snapping":{"type":["string","null"],"enum":["none","toggleable","always_on",null],"description":"Angle snapping. Options: none (None), toggleable (Toggleable), always_on (Always-on)."},"ripple_control":{"type":["boolean","null"],"description":"Ripple control."},"glass_tracking":{"type":["boolean","null"],"description":"Tracks on glass."},"sensor_position":{"type":["string","null"],"enum":["forward","centered","rear",null],"description":"Sensor position. Options: forward (Forward), centered (Centred), rear (Rear)."},"polling_rate_modes":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["usb_wired","2_4ghz","bluetooth",null],"description":"Data connection. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), bluetooth (Bluetooth). Connection carrying mouse reports.."},"polling_rate_hz":{"type":["integer","null"],"description":"Polling rate. Unit: Hz. Documented usable report rate, in hertz.."},"receiver":{"type":["string","null"],"description":"Receiver requirement. Included or optional receiver needed for this exact rate.."}},"required":["connection","polling_rate_hz","receiver"]},"description":"Documented polling rates by connection. One row per documented usable rate and connection. Receiver and firmware requirements are noted. Maximum-only claims do not imply all intermediate settings or the same ceiling over USB.."},"polling_rate_max_hz":{"type":["integer","null"],"description":"Max polling rate. Unit: Hz. Calculated from other fields."},"polling_rate_wired_hz":{"type":["integer","null"],"description":"Polling rate (wired). Unit: Hz. Calculated from other fields."},"polling_rate_wireless_hz":{"type":["integer","null"],"description":"Polling rate (2.4 GHz). Unit: Hz. Calculated from other fields."},"polling_rate_bluetooth_hz":{"type":["integer","null"],"description":"Polling rate (Bluetooth). Unit: Hz. Calculated from other fields."},"claimed_click_latency_ms":{"type":["number","null"],"description":"Claimed click latency. Unit: ms. Absolute click-latency claim from the maker. A relative improvement is not absolute latency. Source notes give polling mode and whether the number is an average, bound or best case.."},"debounce_adjustable":{"type":["boolean","null"],"description":"Adjustable debounce."},"debounce_time_min_ms":{"type":["number","null"],"description":"Minimum debounce. Unit: ms. Lowest documented debounce setting or fixed main-switch debounce delay. Click response time or total click latency is not the same quantity.."},"measured_latency":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["usb_wired","2_4ghz","bluetooth",null],"description":"Connection. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"polling_rate_hz":{"type":["integer","null"],"description":"Polling rate. Unit: Hz."},"setting":{"type":["string","null"],"description":"Test settings. Firmware, debounce, sensor synchronization and other tested setup details.."},"click_latency_ms":{"type":["number","null"],"description":"Click latency. Unit: ms. Measured click path, with method identified in the source.."},"sensor_latency_ms":{"type":["number","null"],"description":"Sensor latency. Unit: ms. Measured motion path, with method identified in the source.."}},"required":["connection","polling_rate_hz","setting","click_latency_ms","sensor_latency_ms"]},"description":"Latency per connection (measured). Reviewer measurements for an identified connection, polling rate, firmware and settings. Click and sensor latency use different test methods and are not interchangeable.."},"measured_cpi_deviation_pct":{"type":["number","null"],"description":"DPI deviation (measured). Unit: %. Reviewer measurement of deviation from a specified DPI value. Test DPI, travel speed, distance and method belong in source notes.."},"measured_lift_off_distance_mm":{"type":["number","null"],"description":"Lift-off distance (measured). Unit: mm. Reviewer-measured lift-off height at the lowest setting, on the specified surface. Do not store the maker’s selectable LOD here.."},"measured_click_force_g":{"type":["number","null"],"description":"Main click force (measured). Unit: gf. Reviewer-measured main-button actuation force in gram-force. Not the mouse weight and not an electrical latency measure.."},"measured_weight_g":{"type":["number","null"],"description":"Weight (measured). Unit: g. Reviewer scale measurement. Include battery for wireless mice and exclude cable for wired mice. Source notes identify colour and installed skates.."},"measured_battery_life":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["usb_wired","2_4ghz","bluetooth",null],"description":"Connection. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"polling_rate_hz":{"type":["integer","null"],"description":"Polling rate. Unit: Hz."},"lighting":{"type":["string","null"],"enum":["off","on",null],"description":"Lighting. Options: off (Off), on (On)."},"hours":{"type":["number","null"],"description":"Measured runtime. Unit: h. A completed runtime measurement, not an estimate.."}},"required":["connection","polling_rate_hz","lighting","hours"]},"description":"Battery life (measured). Reviewer-measured runtime from a stated test, not a claim, forecast or extrapolation. Polling, lighting and other power settings must be identified.."},"hand_size_fit":{"type":["array","null"],"items":{"type":"object","properties":{"grip":{"type":["string","null"],"enum":["palm","claw","fingertip",null],"description":"Grip. Options: palm (Palm), claw (Claw), fingertip (Fingertip)."},"hand_size":{"type":["string","null"],"enum":["small","medium","large",null],"description":"Hand size. Options: small (Small), medium (Medium), large (Large)."},"fits":{"type":["boolean","null"],"description":"Fits."}},"required":["grip","hand_size","fits"]},"description":"Hand size fit. Exact-model reviewer fit assessment. Source notes define the hand-length bands and tested grip. Do not translate general praise into every size fitting.."},"main_switch_type":{"type":["string","null"],"enum":["mechanical","optical","hybrid","magnetic","inductive",null],"description":"Main switch type. Options: mechanical (Mechanical), optical (Optical), hybrid (Hybrid), magnetic (Magnetic), inductive (Inductive). Actuation technology for the left and right main buttons. Hybrid means optical-mechanical. Inductive analog switches detect travel by induction.."},"main_switch_brand":{"type":["string","null"],"description":"Published main-switch brand. Brand named for the main switches. Proprietary Razer, Pulsar, Glorious or Logitech branding does not identify the physical contract manufacturer.."},"main_switch_model":{"type":["string","null"],"description":"Main switch model."},"main_switch_rated_clicks_million":{"type":["number","null"],"description":"Main switch rated life. Unit: million. Manufacturer or component rating for the main left/right switches, in millions of actuations. This is not a whole-mouse durability measurement.."},"main_switch_hot_swappable":{"type":["boolean","null"],"description":"Hot-swap main switches. Main switches can be changed without soldering. Opening the case or using a switch pack can still be required.."},"main_switch_actuation_adjustable":{"type":["boolean","null"],"description":"Adjustable click actuation. The point where a main click registers can be configured. Debounce adjustment changes timing, not actuation travel.."},"main_buttons_separate":{"type":["boolean","null"],"description":"Separate main buttons."},"side_switch_model":{"type":["string","null"],"description":"Side switch model."},"middle_switch_model":{"type":["string","null"],"description":"Middle click switch."},"scroll_encoder_type":{"type":["string","null"],"enum":["mechanical","optical","magnetic",null],"description":"Scroll encoder type. Options: mechanical (Mechanical), optical (Optical), magnetic (Magnetic)."},"scroll_encoder_model":{"type":["string","null"],"description":"Scroll encoder."},"button_count":{"type":["integer","null"],"description":"Physical button inputs. Includes left/right, wheel click, each wheel-tilt direction, DPI/report-rate/profile buttons and a wheel-mode pushbutton. Excludes scroll rotation, power sliders and connection sliders. A connection pushbutton, such as Logitech Easy-Switch, counts even when the maker's own count leaves it out. A button that only switches power does not. Counts each physical input once.."},"programmable_buttons":{"type":["integer","null"],"description":"Programmable buttons. Number of physical button inputs that can be remapped. Excludes scroll-up/down actions, alternate software layers and non-programmable mode controls.."},"side_button_count":{"type":["integer","null"],"description":"Side buttons. Buttons on the thumb-facing side walls, including a side DPI-shift button. Top buttons beside the main click plate and bottom setting buttons are excluded.."},"side_buttons_position":{"type":["string","null"],"enum":["left","right","both",null],"description":"Side buttons on. Options: left (Left), right (Right), both (Both)."},"dpi_button":{"type":["boolean","null"],"description":"DPI button. A physical pushbutton that changes sensitivity. A button shared with power or report rate still counts. Software-only switching does not.."},"dpi_button_position":{"type":["string","null"],"enum":["top","bottom",null],"description":"DPI button position. Options: top (Top), bottom (Bottom)."},"profile_button":{"type":["boolean","null"],"description":"Profile button. A dedicated physical profile-switch button. A remappable input that could be assigned this action does not prove a dedicated control.."},"sniper_button":{"type":["boolean","null"],"description":"Dedicated DPI-shift button. Dedicated physical control for temporarily switching sensitivity while held. A software-remappable input is not automatically a dedicated sniper control.."},"gesture_button":{"type":["boolean","null"],"description":"Dedicated gesture button. A dedicated physical gesture control. Assigning a gesture action to a remappable button does not establish a separate gesture button.."},"scroll_wheel":{"type":["array","null"],"items":{"type":"string","enum":["notched","free_spin","tilt"]},"description":"Scroll wheel. Options: notched (Notched), free_spin (Free spin), tilt (Tilt)."},"scroll_mode_switching":{"type":["string","null"],"enum":["none","button","automatic",null],"description":"Scroll mode switch. Options: none (None), button (Button), automatic (Automatic). How the wheel changes between notched and free-spin modes. None means there is no such mode-switch mechanism.."},"thumb_wheel":{"type":["boolean","null"],"description":"Separate thumb wheel. A separate side wheel operated by the thumb. Tilting the central scroll wheel does not count.."},"scroll_wheel_material":{"type":["string","null"],"enum":["rubber","metal","plastic","other",null],"description":"Scroll wheel material. Options: rubber (Rubber), metal (Metal), plastic (Plastic), other (Other)."},"shell_material":{"type":["array","null"],"items":{"type":"string","enum":["abs","pc","pbt","magnesium_alloy","aluminium","carbon_fiber","other","plastic"]},"description":"Shell material. Options: abs (ABS), pc (PC), pbt (PBT), magnesium_alloy (Magnesium alloy), aluminium (Aluminium), carbon_fiber (Carbon fibre), other (Other), plastic (Plastic, polymer unspecified)."},"coating":{"type":["string","null"],"enum":["matte","glossy","rubberized","textured","other",null],"description":"Surface finish. Options: matte (Matte), glossy (Glossy), rubberized (Rubberised), textured (Textured), other (Other). Published surface finish, such as matte or textured. Soft-feel wording does not establish rubber material or a chemical coating.."},"feet_material":{"type":["string","null"],"enum":["ptfe","virgin_ptfe","glass","ceramic","other","uhmw_pe",null],"description":"Installed feet material. Options: ptfe (PTFE), virgin_ptfe (Virgin PTFE), glass (Glass), ceramic (Ceramic), other (Other), uhmw_pe (UHMW-PE). Material of the factory-installed skates, excluding separately supplied replacements or dot skates. Virgin PTFE means additive-free or explicitly virgin-grade PTFE.."},"feet_count":{"type":["integer","null"],"description":"Installed skate pieces. Number of separate factory-installed skate pieces, including a sensor ring. Excludes spare skates supplied in the box.."},"feet_shape":{"type":["string","null"],"enum":["pads","dots","ring","mixed",null],"description":"Feet shape. Options: pads (Pads), dots (Dots), ring (Ring), mixed (Mixed). Geometry of the installed skates. Pads plus a sensor ring are mixed. Separate dots are dots.."},"feet_thickness_mm":{"type":["number","null"],"description":"Feet thickness. Unit: mm."},"cable_type":{"type":["string","null"],"enum":["paracord","braided","rubber","other",null],"description":"Cable. Options: paracord (Paracord), braided (Braided), rubber (Rubber), other (Other)."},"cable_length_m":{"type":["number","null"],"description":"Cable length. Unit: m."},"cable_detachable":{"type":["boolean","null"],"description":"Detachable cable. The cable unplugs from an external socket on the mouse without opening it. A service-replaceable internal cable does not count.."},"mouse_port":{"type":["string","null"],"enum":["usb_c","micro_usb","proprietary","none",null],"description":"Port on mouse. Options: usb_c (USB-C), micro_usb (Micro-USB), proprietary (Proprietary), none (None). Externally accessible data/charging socket on the mouse. A fixed cable is none. USB-C describes the connector, not a transfer-speed version.."},"cable_host_connector":{"type":["string","null"],"enum":["usb_a","usb_c",null],"description":"Cable host plug. Options: usb_a (USB-A), usb_c (USB-C). Connector on the computer end of the supplied or fixed cable, independent of the mouse-end connector.."},"connection_types":{"type":["array","null"],"items":{"type":"string","enum":["usb_wired","2_4ghz","bluetooth"]},"description":"Connections. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), bluetooth (Bluetooth). Connections that carry mouse input data. A USB cable used only for charging does not establish wired USB operation.."},"wireless_technology_name":{"type":["string","null"],"description":"Wireless technology."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth. The version number only, such as 5.1. LE and Low Energy are left out. A source that names only Bluetooth Low Energy gives no version.."},"bluetooth_devices":{"type":["integer","null"],"description":"Saved Bluetooth pairing slots. Number of Bluetooth hosts whose pairing the mouse remembers. A limit of one concurrently connected host does not establish the number of saved slots.."},"multi_device_count":{"type":["integer","null"],"description":"Switchable host devices. Number of host devices selectable through the documented mouse controls without manually moving a data cable. Not the number of physical receivers or simultaneous active links alone.."},"multi_device_switching":{"type":["string","null"],"enum":["button","switch","software",null],"description":"Device switching. Options: button (Button), switch (Switch), software (Software)."},"receiver_connector":{"type":["string","null"],"enum":["usb_a","usb_c","none",null],"description":"Receiver host connector. Options: usb_a (USB-A), usb_c (USB-C), none (None). Host plug on the included small receiver. A larger cabled receiver is described in source notes. This differs from the charging cable’s plug.."},"receiver_storage":{"type":["boolean","null"],"description":"Receiver storage in mouse."},"receiver_extender_included":{"type":["boolean","null"],"description":"Receiver extender included. An included adapter, dock or cabled receiver arrangement moves the receiver closer to the mouse. A charging-only adapter does not count.."},"receiver_multi_device":{"type":["boolean","null"],"description":"Receiver pairing shared. A receiver can pair with another supported device, such as a keyboard, at the same time. This does not mean the mouse switches between computers.."},"wireless_range_m":{"type":["number","null"],"description":"Wireless range. Unit: m. Published range and test conditions. A recommended receiver distance or minimum reliable range is not an exact maximum.."},"os_compatibility":{"type":["array","null"],"items":{"type":"string","enum":["windows","macos","linux","chromeos","ios","ipados","android"]},"description":"Basic mouse OS support. Options: windows (Windows), macos (macOS), linux (Linux), chromeos (ChromeOS), ios (iOS), ipados (iPadOS), android (Android). Operating systems supported for basic input. Configuration software support is listed separately and may require a newer OS version.."},"console_compatibility":{"type":["array","null"],"items":{"type":"string","enum":["playstation","xbox"]},"description":"Consoles. Options: playstation (PlayStation), xbox (Xbox). Console families explicitly supported. Source notes identify exact consoles, games and reduced polling or software functions.."},"battery_type":{"type":["string","null"],"enum":["li_ion","li_po","aa","aaa",null],"description":"Battery type. Options: li_ion (Li-ion), li_po (Li-Po), aa (AA), aaa (AAA)."},"battery_count":{"type":["integer","null"],"description":"Disposable battery count. Number of disposable cells, such as AA or AAA. Do not use this field for internal rechargeable cells.."},"battery_capacity_mah":{"type":["integer","null"],"description":"Battery capacity. Unit: mAh. Published or physically identified internal battery capacity. Do not calculate mAh from claimed runtime or compare capacities across unverified hardware revisions.."},"battery_user_replaceable":{"type":["boolean","null"],"description":"User-replaceable battery. Battery replacement is a supported user procedure. The ability to open and modify the mouse does not establish this feature.."},"battery_life_claimed":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["usb_wired","2_4ghz","bluetooth",null],"description":"Connection. Options: usb_wired (USB (wired)), 2_4ghz (2.4 GHz), bluetooth (Bluetooth)."},"polling_rate_hz":{"type":["integer","null"],"description":"Polling rate. Unit: Hz. Only populated when the claim states the report rate.."},"lighting":{"type":["string","null"],"enum":["off","on",null],"description":"Lighting during claim. Options: off (Off), on (On). Only populated when the claim states on or off.."},"hours":{"type":["number","null"],"description":"Claimed runtime. Unit: h. Usually an up-to figure. Other operating conditions are in source notes.."}},"required":["connection","polling_rate_hz","lighting","hours"]},"description":"Battery life by mode (claimed). One manufacturer or published product claim per documented connection, polling rate and lighting condition. Omit unstated conditions. Source notes identify performance, switch and haptic modes and whether runtime is up to a value.."},"battery_life_claimed_days":{"type":["number","null"],"description":"Battery life (up to). Unit: days. Manufacturer estimate of days of normal use between full charges. This includes periods when the mouse is idle. It is not continuous runtime. Source notes preserve usage conditions and qualifiers when published. Do not convert this estimate to continuous hours.."},"battery_life_claimed_months":{"type":["number","null"],"description":"Battery life (normal use). Unit: months. Manufacturer estimate of calendar months of normal use between charges or battery replacements. It is not continuous runtime. Source notes retain approximate, up-to, or-more and operating-mode qualifiers. Do not convert this estimate to continuous hours.."},"battery_life_max_h":{"type":["number","null"],"description":"Longest battery life. Unit: h. Calculated from other fields."},"battery_life_1000hz_h":{"type":["number","null"],"description":"Battery life at 1000 Hz. Unit: h. Longest stored claim explicitly at 1000 Hz over 2.4 GHz. A claim without a confirmed polling rate is excluded.. Calculated from other fields."},"battery_life_bluetooth_h":{"type":["number","null"],"description":"Battery life on Bluetooth. Unit: h. Calculated from other fields."},"charging_port":{"type":["string","null"],"enum":["usb_c","micro_usb","none",null],"description":"Charging port. Options: usb_c (USB-C), micro_usb (Micro-USB), none (None)."},"charge_time_full_min":{"type":["integer","null"],"description":"Full charge time. Unit: min. Claimed time from empty to full charge, in minutes. Approximation and charging setup are stated in source notes.."},"quick_charge":{"type":["object","null"],"properties":{"charge_min":{"type":["integer","null"],"description":"Charge time. Unit: min."},"use_h":{"type":["number","null"],"description":"Use time. Unit: h."}},"required":["charge_min","use_h"],"description":"Quick charge."},"use_while_charging":{"type":["boolean","null"],"description":"Use while charging. Mouse input works while the internal battery charges through the documented wired or dock arrangement.."},"wireless_charging_compatible":{"type":["string","null"],"description":"Charging system compatibility. Named wireless charging pad or contact dock. Source notes distinguish inductive pads from pogo-pin contact charging.."},"charging_dock_included":{"type":["boolean","null"],"description":"Charging dock included."},"battery_indicator":{"type":["array","null"],"items":{"type":"string","enum":["led","software","os_report"]},"description":"Battery indicator. Options: led (LED), software (Software), os_report (Reported to the OS)."},"rgb_lighting":{"type":["boolean","null"],"description":"Decorative RGB lighting. User-configurable decorative lighting. A multicolour status, DPI or battery indicator alone is not decorative RGB.."},"lighting_zones":{"type":["integer","null"],"description":"Decorative lighting zones. Number of independently controlled decorative lighting zones. Status indicator LEDs are excluded.."},"lighting_ecosystems":{"type":["array","null"],"items":{"type":"string"},"description":"Lighting sync."},"dpi_indicator":{"type":["string","null"],"enum":["none","led","on_screen",null],"description":"DPI indicator. Options: none (None), led (LED), on_screen (On screen)."},"software_name":{"type":["string","null"],"description":"Software."},"software_platforms":{"type":["array","null"],"items":{"type":"string","enum":["windows","macos","linux","web"]},"description":"Configuration software platforms. Options: windows (Windows), macos (macOS), linux (Linux), web (Web). Platforms explicitly supported for configuring this exact model. Basic input compatibility and availability of a generic app on another platform do not establish model support.."},"onboard_memory":{"type":["boolean","null"],"description":"Onboard memory. Documented settings remain available without configuration software running. Which settings persist is stated in source notes.."},"onboard_profiles":{"type":["integer","null"],"description":"Onboard profiles. Maximum distinct hardware-stored profiles. Software game profiles and factory preset profiles do not establish this maximum.."},"macros":{"type":["boolean","null"],"description":"Macros."},"macros_onboard":{"type":["boolean","null"],"description":"Macros stored onboard. Macros themselves execute from mouse memory without the configuration app. Onboard DPI or button assignments alone do not prove onboard macros.."},"button_remapping":{"type":["boolean","null"],"description":"Button remapping."},"per_app_profiles":{"type":["boolean","null"],"description":"Per-app profiles."},"firmware_updatable":{"type":["boolean","null"],"description":"User firmware updates. A public user-accessible updater or documented software firmware-update procedure exists for this exact model.."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box. Documented contents of the specified colour or bundle. Installed parts and optional extras are distinguished in source notes.."},"cables_included":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"description":"Type."},"count":{"type":["integer","null"],"description":"Cable count. Number supplied, including a permanently attached cable when documented.."}},"required":["type","count"]},"description":"Cables included."},"spare_feet_included":{"type":["boolean","null"],"description":"Extra skates included. An extra usable skate set is supplied separately from installed skates, including an alternative dot set. Factory protective film is not a spare skate.."},"grip_tape_included":{"type":["boolean","null"],"description":"Grip tape."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","segment","mouse_form","shape","size_class","grip_styles","recommended_hand_size_mm","hump_position","thumb_rest","finger_rest","shell_type","modular_parts","adjustable_weight","adjustable_weight_max_g","vertical_angle_deg","trackball_diameter_mm","trackball_position","dimensions_mm","grip_width_mm","weight_g","package_dimensions_mm","package_weight_g","sensor_model","sensor_brand","sensor_base_model","sensor_type","max_dpi","min_dpi","dpi_step","dpi_stages_max","dpi_presets_default","dpi_xy_independent","max_speed_ips","max_acceleration_g","lift_off_distance_mm","asymmetric_lift_off","surface_calibration","motion_sync","angle_snapping","ripple_control","glass_tracking","sensor_position","polling_rate_modes","polling_rate_max_hz","polling_rate_wired_hz","polling_rate_wireless_hz","polling_rate_bluetooth_hz","claimed_click_latency_ms","debounce_adjustable","debounce_time_min_ms","measured_latency","measured_cpi_deviation_pct","measured_lift_off_distance_mm","measured_click_force_g","measured_weight_g","measured_battery_life","hand_size_fit","main_switch_type","main_switch_brand","main_switch_model","main_switch_rated_clicks_million","main_switch_hot_swappable","main_switch_actuation_adjustable","main_buttons_separate","side_switch_model","middle_switch_model","scroll_encoder_type","scroll_encoder_model","button_count","programmable_buttons","side_button_count","side_buttons_position","dpi_button","dpi_button_position","profile_button","sniper_button","gesture_button","scroll_wheel","scroll_mode_switching","thumb_wheel","scroll_wheel_material","shell_material","coating","feet_material","feet_count","feet_shape","feet_thickness_mm","cable_type","cable_length_m","cable_detachable","mouse_port","cable_host_connector","connection_types","wireless_technology_name","bluetooth_version","bluetooth_devices","multi_device_count","multi_device_switching","receiver_connector","receiver_storage","receiver_extender_included","receiver_multi_device","wireless_range_m","os_compatibility","console_compatibility","battery_type","battery_count","battery_capacity_mah","battery_user_replaceable","battery_life_claimed","battery_life_claimed_days","battery_life_claimed_months","battery_life_max_h","battery_life_1000hz_h","battery_life_bluetooth_h","charging_port","charge_time_full_min","quick_charge","use_while_charging","wireless_charging_compatible","charging_dock_included","battery_indicator","rgb_lighting","lighting_zones","lighting_ecosystems","dpi_indicator","software_name","software_platforms","onboard_memory","onboard_profiles","macros","macros_onboard","button_remapping","per_app_profiles","firmware_updatable","in_the_box","cables_included","spare_feet_included","grip_tape_included"],"description":"Every mouse field in schema order. Unknown values are null."},"PowerSupplySpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"psu_standard":{"type":["string","null"],"enum":["atx","sfx","sfx_l","tfx","flex_atx",null],"description":"Form factor. Options: atx (ATX), sfx (SFX), sfx_l (SFX-L), tfx (TFX), flex_atx (Flex ATX). The physical size standard that decides what fits in the case. An ATX unit is 150 × 86 mm at the back. An SFX unit is 125 × 63.5 mm.."},"psu_atx_version":{"type":["string","null"],"enum":["atx_2","atx_3_0","atx_3_1",null],"description":"ATX version. Options: atx_2 (ATX 2.x), atx_3_0 (ATX 3.0), atx_3_1 (ATX 3.1). The ATX12V design guide revision the maker claims compliance with. A 16-pin GPU cable alone does not establish ATX 3.x. A Cybenetics report that withholds its ATX badge does not change the maker's claim. It goes in the source note.."},"pcie_cem_version":{"type":["string","null"],"enum":["pcie_5_0","pcie_5_1",null],"description":"PCIe CEM version. Options: pcie_5_0 (PCIe 5.0), pcie_5_1 (PCIe 5.1). The PCI Express card power revision the maker claims, as printed next to the ATX version. It sets the GPU power connector rules. It is not a slot speed. A reviewer's statement is not enough.."},"psu_modular":{"type":["string","null"],"enum":["full","semi","none",null],"description":"Modular cables. Options: full (Fully modular), semi (Semi-modular), none (None). Full means every cable detaches. Semi means some cables are fixed, usually the 24-pin and CPU cables.."},"oem_manufacturer":{"type":["string","null"],"description":"Built by (OEM). The company that designed and built the unit for the brand, such as CWT or FSP. As named by the maker, a teardown review or a Cybenetics report.."},"psu_w":{"type":["number","null"],"description":"Rated continuous power. Unit: W. The continuous DC output the maker rates the unit for, such as 850. Peak or power excursion figures are not stored here.."},"rated_power_temp_c":{"type":["integer","null"],"description":"Full power rated up to. Unit: °C. The ambient temperature up to which the maker rates full continuous power, such as 50 °C. A review table that prints 0-50 °C with no maker source is not enough. An operating temperature range that does not say full power is not enough. A maker table with load steps gives the full-load row, such as 40 °C at full load next to 50 °C at 80 percent load. A temperature that a Cybenetics report marks as manufacturer-provided counts as a maker statement.."},"rail_12v_design":{"type":["string","null"],"enum":["single","multi","switchable",null],"description":"12V rail design. Options: single (Single rail), multi (Multi rail), switchable (Switchable). How the maker splits +12V over-current protection. Switchable means the user picks single or multi rail with a switch or in software.."},"rail_12v_current_a":{"type":["number","null"],"description":"+12V max current. Unit: A. Highest combined current on +12V from the maker's power table. For a multi-rail unit this is the combined total, not one rail.."},"rail_12v_power_w":{"type":["number","null"],"description":"+12V max power. Unit: W. Highest combined power on +12V from the maker's power table.."},"minor_rails_combined_w":{"type":["number","null"],"description":"+3.3V and +5V combined power. Unit: W. The combined limit for the +3.3V and +5V rails from the maker's power table. A table that prints the same figure under both rails, as be quiet! does, shows one shared limit, so the figure is stored once and not added.."},"rail_5vsb_current_a":{"type":["number","null"],"description":"+5V standby current. Unit: A. Highest current on the +5VSB standby rail. It powers USB charging and wake functions while the PC is off.."},"ac_input_voltage":{"type":["object","null"],"properties":{"min_v":{"type":["number","null"],"description":"Lowest. Unit: V."},"max_v":{"type":["number","null"],"description":"Highest. Unit: V."}},"required":["min_v","max_v"],"description":"AC input voltage. The rated AC input range, such as 100 to 240 V.."},"alpm_support":{"type":["boolean","null"],"description":"Alternative low power mode (ALPM). The maker or a Cybenetics report states support for the ATX alternative low power mode used by Modern Standby.."},"efficiency_80_plus":{"type":["string","null"],"enum":["80_plus_white","80_plus_bronze","80_plus_silver","80_plus_gold","80_plus_platinum","80_plus_titanium","80_plus_ruby",null],"description":"80 PLUS rating. Options: 80_plus_white (80 PLUS White), 80_plus_bronze (80 PLUS Bronze), 80_plus_silver (80 PLUS Silver), 80_plus_gold (80 PLUS Gold), 80_plus_platinum (80 PLUS Platinum), 80_plus_titanium (80 PLUS Titanium), 80_plus_ruby (80 PLUS Ruby). The 80 PLUS level. When the 80 PLUS listing or certificate and the maker claim differ, store the listing level and put the claim and test voltage in the source note. When a model has several 80 PLUS entries, such as a newer test at a higher level, use the newest entry that matches the current maker documents.."},"cybenetics_efficiency_115v":{"type":["string","null"],"enum":["cybenetics_bronze","cybenetics_silver","cybenetics_gold","cybenetics_platinum","cybenetics_titanium","cybenetics_diamond",null],"description":"Cybenetics efficiency at 115V. Options: cybenetics_bronze (Cybenetics Bronze), cybenetics_silver (Cybenetics Silver), cybenetics_gold (Cybenetics Gold), cybenetics_platinum (Cybenetics Platinum), cybenetics_titanium (Cybenetics Titanium), cybenetics_diamond (Cybenetics Diamond). The Cybenetics ETA level from the 115V test. The Cybenetics report wins over the maker's claim.."},"cybenetics_efficiency_230v":{"type":["string","null"],"enum":["cybenetics_bronze","cybenetics_silver","cybenetics_gold","cybenetics_platinum","cybenetics_titanium","cybenetics_diamond",null],"description":"Cybenetics efficiency at 230V. Options: cybenetics_bronze (Cybenetics Bronze), cybenetics_silver (Cybenetics Silver), cybenetics_gold (Cybenetics Gold), cybenetics_platinum (Cybenetics Platinum), cybenetics_titanium (Cybenetics Titanium), cybenetics_diamond (Cybenetics Diamond). The Cybenetics ETA level from the 230V test. The 230V thresholds are higher, so the level can differ from the 115V level. The Cybenetics report wins over the maker's claim.."},"cybenetics_noise_115v":{"type":["string","null"],"enum":["a_plus_plus","a_plus","a","a_minus","standard_plus_plus","standard_plus","standard",null],"description":"Cybenetics noise at 115V. Options: a_plus_plus (A++), a_plus (A+), a (A), a_minus (A-), standard_plus_plus (Standard++), standard_plus (Standard+), standard (Standard). The Cybenetics LAMBDA level from the 115V test. A++ is the quietest. The Cybenetics report wins over the maker's claim.."},"cybenetics_noise_230v":{"type":["string","null"],"enum":["a_plus_plus","a_plus","a","a_minus","standard_plus_plus","standard_plus","standard",null],"description":"Cybenetics noise at 230V. Options: a_plus_plus (A++), a_plus (A+), a (A), a_minus (A-), standard_plus_plus (Standard++), standard_plus (Standard+), standard (Standard). The Cybenetics LAMBDA level from the 230V test. The Cybenetics report wins over the maker's claim.."},"measured_avg_efficiency_115v_pct":{"type":["number","null"],"description":"Average efficiency at 115V (measured). Unit: %. Average efficiency over the whole load range at 115V input, from more than 1450 load combinations in the Cybenetics method. It is not the peak efficiency or the efficiency at 50% load.."},"measured_avg_efficiency_230v_pct":{"type":["number","null"],"description":"Average efficiency at 230V (measured). Unit: %. The same average efficiency at 230V input.."},"measured_light_load_efficiency_115v_pct":{"type":["number","null"],"description":"Light-load efficiency at 115V (measured). Unit: %. Efficiency at a 10 W load for units up to 500 W, or at a 2% load for larger units, at 115V input. This is the ATX light-load test.."},"measured_avg_power_factor_115v":{"type":["number","null"],"description":"Average power factor at 115V (measured). Average power factor over the whole load range at 115V input. 1 is the best possible value.."},"measured_avg_noise_115v_dba":{"type":["number","null"],"description":"Average noise at 115V (measured). Unit: dB(A). Average noise over the whole load range at 115V input in the Cybenetics method, at about 30 °C ambient. It is not the noise at full load.."},"measured_noise_full_load_115v_dba":{"type":["number","null"],"description":"Noise at full load at 115V (measured). Unit: dB(A). Noise at 100% load at 115V input in the Cybenetics typical load tests. That row often runs at about 45 °C intake. The intake temperature and the fan speed go in the source note. Lower is better.."},"measured_vampire_power_115v_w":{"type":["number","null"],"description":"Standby power with no load at 115V (measured). Unit: W. Power the unit draws from the wall with the PC off and nothing drawn from +5VSB, at 115V input.."},"measured_hold_up_time_ms":{"type":["number","null"],"description":"Hold-up time (measured). Unit: ms. How long the outputs stay in regulation after AC power is lost, at maximum continuous load, as printed in the Cybenetics report. The report names no input voltage. The AC loss to PWR_OK time goes in the source note. Higher is better.."},"measured_ripple_12v_mv":{"type":["number","null"],"description":"12V ripple at full load (measured). Unit: mV. Peak-to-peak ripple on the +12V rail at full load and 115V input. Lower is better.."},"measured_load_regulation_12v_pct":{"type":["number","null"],"description":"12V load regulation (measured). Unit: %. How far the +12V voltage moves between light and full load at 115V input. Lower is better.."},"cables":{"type":["array","null"],"items":{"type":"object","properties":{"connector":{"type":["string","null"],"enum":["atx_24pin","eps_8pin","pcie_8pin","12v_2x6","12vhpwr","pcie_16pin","sata","molex","floppy","other",null],"description":"Connector. Options: atx_24pin (ATX 24-pin (20+4)), eps_8pin (CPU 8-pin (EPS, 4+4)), pcie_8pin (PCIe 8-pin (6+2)), 12v_2x6 (12V-2x6), 12vhpwr (12VHPWR), pcie_16pin (16-pin PCIe (revision not stated)), sata (SATA power), molex (4-pin Molex), floppy (4-pin floppy), other (Other)."},"count":{"type":["integer","null"],"description":"Connectors. Plugs of this kind over all cables in the row.."},"cable_count":{"type":["integer","null"],"description":"Cables. Physical cables that carry this connector. A cable with two connector kinds counts in both rows, so the column does not add up. A cable that splits into two plugs is one cable, as the maker counts it, even when Cybenetics counts two.."},"length_mm":{"type":["integer","null"],"description":"Length to first plug. Unit: mm. From the PSU end to the first plug of the cable. A cable that carries SATA and Molex plugs has one length for both rows. In a spacing list such as Corsair's, the first value is this length. Seasonic's cable table gives the length to the last plug for a cable with several plugs, such as SATA, so that figure is not this length. A spacing list from a review or report gives it.."},"gauge_awg":{"type":["string","null"],"description":"Wire gauge. As published, such as 16AWG or 16-18AWG. For a 12V-2x6 or 12VHPWR cable store the power wire gauge, such as 16AWG. A report range that includes the sideband wires goes in the source note. When the maker states none, the Cybenetics report is used, and another figure goes in the source note.."},"rated_power_w":{"type":["number","null"],"description":"Rated power. Unit: W. A power rating stated for the cable, such as 600 W for a 12V-2x6 cable.."}},"required":["connector","count","cable_count","length_mm","gauge_awg","rated_power_w"]},"description":"Cables. One row per kind of cable that runs from the PSU to a device. Connector is the plug at the device end. Count is the number of those plugs over all cables in the row. Length runs from the PSU end to the first plug. Adapters that plug into other cables are left out. Use 16-pin PCIe when the maker names a 16-pin GPU cable without saying 12V-2x6 or 12VHPWR. A cable from a 12V-2x6 socket on the PSU to 8-pin plugs is a cable, not an adapter, and counts as PCIe 8-pin. When the maker's documents name one GPU cable both 12VHPWR and 12V-2x6, use 16-pin PCIe and name both in the source note. Cables of one connector kind with different lengths or wire gauges get one row each.."},"eps_connector_count":{"type":["integer","null"],"description":"CPU (EPS) connectors. 8-pin or 4+4-pin CPU power plugs.. Calculated from other fields."},"pcie_8pin_connector_count":{"type":["integer","null"],"description":"PCIe 8-pin connectors. 8-pin or 6+2-pin GPU power plugs. Counts the plugs in the box. Some cables share one PSU socket, which the source note says.. Calculated from other fields."},"gpu_16pin_connector_count":{"type":["integer","null"],"description":"16-pin GPU connectors. Native 16-pin GPU power plugs: 12V-2x6, 12VHPWR and 16-pin cables of unstated revision. Adapters are not counted. Counts the plugs in the box. Some cables share one PSU socket, which the source note says.. Calculated from other fields."},"sata_connector_count":{"type":["integer","null"],"description":"SATA power connectors. Calculated from other fields."},"molex_connector_count":{"type":["integer","null"],"description":"4-pin Molex connectors. Calculated from other fields."},"cable_style":{"type":["string","null"],"enum":["flat","embossed","sleeved","mixed",null],"description":"Cable style. Options: flat (Flat), embossed (Embossed or debossed flat), sleeved (Sleeved), mixed (Mixed). How the modular cables are made. Mixed means some cables are sleeved and others flat, such as a sleeved 24-pin cable with flat other cables. From the maker page or a review photo page.."},"fan_size_mm":{"type":["integer","null"],"description":"Fan size. Unit: mm. Frame size of the cooling fan, such as 120, 135 or 140.."},"fan_bearing":{"type":["string","null"],"enum":["fluid_dynamic","hydrodynamic","hydraulic","rifle","sleeve","ball","dual_ball","magnetic_levitation","magnetic_dome","sso","other",null],"description":"Fan bearing. Options: fluid_dynamic (Fluid dynamic (FDB)), hydrodynamic (Hydrodynamic (HDB)), hydraulic (Hydraulic), rifle (Rifle), sleeve (Sleeve), ball (Ball), dual_ball (Dual ball), magnetic_levitation (Magnetic levitation), magnetic_dome (Magnetic dome), sso (SSO or SSO2), other (Other). Use the maker's bearing name. FDB and S-FDB are fluid dynamic. HDB is hydrodynamic. Noctua SSO and SSO2 are SSO. Corsair Magnetic Dome is magnetic dome. A brand bearing name that fits no option is Other.."},"fan_mode":{"type":["string","null"],"enum":["always_on","semi_passive","fanless",null],"description":"Fan mode. Options: always_on (Always on), semi_passive (Semi-passive), fanless (Fanless). Semi-passive means the fan stops at low load, often sold as zero RPM, hybrid or 0 dB mode. Fanless means the unit has no fan.."},"fan_mode_switch":{"type":["boolean","null"],"description":"Fan mode switch. A button, switch or software setting lets the user turn the semi-passive mode off so the fan always spins. A unit without a semi-passive mode, whose fan the maker says always spins, has no switch, so it is false.."},"protections":{"type":["array","null"],"items":{"type":"string","enum":["ocp","ovp","uvp","opp","otp","scp","nlo","sip","ffp"]},"description":"Protections. Options: ocp (Over-current (OCP)), ovp (Over-voltage (OVP)), uvp (Under-voltage (UVP)), opp (Over-power (OPP)), otp (Over-temperature (OTP)), scp (Short-circuit (SCP)), nlo (No-load (NLO)), sip (Surge and inrush (SIP)), ffp (Fan failure (FFP)). Protections the maker lists, or a retailer spec table copies from the maker, plus protections the Cybenetics protection tests show working (UVP, NLO, SIP). The Cybenetics manufacturer list has no OVP or UVP row, so do not build the list from it alone. A protection that is not listed may still exist. No-load covers no-load operation and no-load protection. Fan failure is a maker's fan failure protection or fan safeguard, also when the Cybenetics manufacturer block lists it.."},"all_japanese_capacitors":{"type":["boolean","null"],"description":"All-Japanese capacitors. The maker states that every electrolytic capacitor is from a Japanese maker. A Japanese bulk capacitor alone is not enough. A spec row such as \"Japanese capacitors\" that names no exception counts.."},"mtbf_h":{"type":["integer","null"],"description":"MTBF (claimed). Unit: h. The maker's mean time between failures, such as 100000. An MTTF figure for the whole unit counts too. An MTTF for the fan alone does not. The test temperature goes in the source note.."},"software_monitoring":{"type":["boolean","null"],"description":"Software monitoring. The unit reports power, temperature or fan data to PC software over a USB or internal connection.."},"software_name":{"type":["string","null"],"description":"Software. The maker's software for monitoring or control.."},"power_display":{"type":["boolean","null"],"description":"Built-in power display. A screen on the unit that shows live power draw or other readings.."},"rgb_lighting":{"type":["boolean","null"],"description":"RGB lighting."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Dimensions. Body without cables. Width and height are the back face with the AC inlet. Depth is the length into the case, which decides case fit.."},"weight_kg":{"type":["number","null"],"description":"Weight. Unit: kg. Weight of the unit alone. Use the Hardware Busters figure on hwbusters.com when the maker states none, not a copy on another site. Maker weights that include cables or the box, such as Corsair's, and retailer packed weights are not stored. A net weight counts unless the maker says it includes the cables.."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box. Items supplied with this exact model, verbatim. The AC power cord differs per region.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","psu_standard","psu_atx_version","pcie_cem_version","psu_modular","oem_manufacturer","psu_w","rated_power_temp_c","rail_12v_design","rail_12v_current_a","rail_12v_power_w","minor_rails_combined_w","rail_5vsb_current_a","ac_input_voltage","alpm_support","efficiency_80_plus","cybenetics_efficiency_115v","cybenetics_efficiency_230v","cybenetics_noise_115v","cybenetics_noise_230v","measured_avg_efficiency_115v_pct","measured_avg_efficiency_230v_pct","measured_light_load_efficiency_115v_pct","measured_avg_power_factor_115v","measured_avg_noise_115v_dba","measured_noise_full_load_115v_dba","measured_vampire_power_115v_w","measured_hold_up_time_ms","measured_ripple_12v_mv","measured_load_regulation_12v_pct","cables","eps_connector_count","pcie_8pin_connector_count","gpu_16pin_connector_count","sata_connector_count","molex_connector_count","cable_style","fan_size_mm","fan_bearing","fan_mode","fan_mode_switch","protections","all_japanese_capacitors","mtbf_h","software_monitoring","software_name","power_display","rgb_lighting","dimensions_mm","weight_kg","in_the_box"],"description":"Every power supply field in schema order. Unknown values are null."},"RamSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"ram_type":{"type":["string","null"],"enum":["ddr4","ddr5","lpddr5x","other",null],"description":"Memory type. Options: ddr4 (DDR4), ddr5 (DDR5), lpddr5x (LPDDR5X), other (Other). Memory generation. A kit line sold in two generations is two products.."},"module_type":{"type":["string","null"],"enum":["udimm","cudimm","sodimm","csodimm","rdimm","camm2","lpcamm2",null],"description":"Module type. Options: udimm (UDIMM), cudimm (CUDIMM), sodimm (SO-DIMM), csodimm (CSODIMM), rdimm (RDIMM), camm2 (CAMM2), lpcamm2 (LPCAMM2). UDIMM is the standard desktop module and SO-DIMM the laptop module. CUDIMM and CSODIMM add a clock driver on the module. RDIMM is a registered server or workstation module. The clock driver decides. A kit with a clock driver on the module is CUDIMM even when the maker's spec table or sheet title says UDIMM.."},"ram_gb":{"type":["array","null"],"items":{"type":"integer"},"description":"Kit capacity. Unit: GB. Total of all modules in one kit, e.g. 32 for 2 x 16 GB.."},"module_count":{"type":["array","null"],"items":{"type":"integer"},"description":"Modules per kit."},"module_capacity_gb":{"type":["array","null"],"items":{"type":"integer"},"description":"Capacity per module. Unit: GB."},"ram_rated_speed_mts":{"type":["array","null"],"items":{"type":"integer"},"description":"Rated speed. Unit: MT/s. Data rate of the kit's fastest XMP or EXPO profile, the speed on the label. A kit without a profile shows its JEDEC speed. A speed the maker writes in MHz, such as 6000MHz, is the data rate, so it is 6000 MT/s.."},"cas_latency":{"type":["array","null"],"items":{"type":"integer"},"description":"CAS latency (CL). CAS latency at the rated speed, in clock cycles. Lower is quicker at the same speed.."},"timings":{"type":["array","null"],"items":{"type":"string"},"description":"Timings. Primary timings at the rated speed in the order tCL-tRCD-tRP-tRAS, as the maker writes them. Timings of the profile on the label, which is profile 1 when the maker numbers them. Other profiles at the same speed go in the source note.."},"voltage_v":{"type":["array","null"],"items":{"type":"number"},"description":"Voltage. Unit: V. DRAM voltage at the rated speed.."},"oc_profiles":{"type":["array","null"],"items":{"type":"string","enum":["xmp_2","xmp_3","expo","expo_ull","none"]},"description":"Overclocking profiles. Options: xmp_2 (Intel XMP 2.0), xmp_3 (Intel XMP 3.0), expo (AMD EXPO), expo_ull (AMD EXPO ULL), none (None (no XMP or EXPO)). Profiles stored on the modules. EXPO ULL is AMD's EXPO Ultra Low Latency profile. None means the kit has no XMP or EXPO profile and runs from its default SPD settings. This includes a faster default speed with no profile, such as Kingston Plug N Play. Every DDR5 kit listed as Intel XMP is XMP 3.0. Every DDR4 kit listed as Intel XMP is XMP 2.0. The order follows the maker's list, profile 1 first.."},"jedec_speed_mts":{"type":["array","null"],"items":{"type":"integer"},"description":"Default speed (JEDEC). Unit: MT/s. Speed the kit runs at without a profile. Makers call it SPD speed or default speed. The data rate in MT/s. A maker's SPD speed written in MHz, such as 5600MHz, is 5600 MT/s. A tool such as CPU-Z shows half the data rate, so DDR5-2400 in CPU-Z is 4800 MT/s.."},"jedec_cas_latency":{"type":["array","null"],"items":{"type":"integer"},"description":"Default CAS latency (JEDEC). CAS latency at the default speed. The kit's own default timings from its datasheet count, even when they differ from the JEDEC standard bin, as on Kingston Plug N Play kits.."},"jedec_voltage_v":{"type":["array","null"],"items":{"type":"number"},"description":"Default voltage (JEDEC). Unit: V. DRAM voltage at the default speed.."},"module_ranks":{"type":["array","null"],"items":{"type":"string","enum":["single","dual"]},"description":"Rank. Options: single (Single rank), dual (Dual rank). Ranks on one module, from the maker's datasheet or a review. Single-sided or double-sided does not give the rank on DDR5, so it is not used to set it.."},"dram_chips":{"type":["array","null"],"items":{"type":"string"},"description":"DRAM chips. Chip maker and die as named by the maker or found in a review. The same part number can ship with other chips over time. Only when a photo or teardown shows the chips or the maker states them. The row names the tested part number.."},"ram_ecc":{"type":["boolean","null"],"description":"ECC. Modules sold as ECC, with error correction across the whole module. The on-die ECC inside every DDR5 chip does not count.."},"heat_spreader":{"type":["boolean","null"],"description":"Heat spreader. A heat spreader or cover is fitted on the modules.."},"height_mm":{"type":["number","null"],"description":"Module height. Unit: mm. Height of one module from the bottom edge of the contacts to the top, with the heat spreader and light bar as sold. It decides the clearance under large CPU air coolers. This is the vertical height standing in the slot, not the board thickness. Makers write L x W x H, and some call the standing height W. Use the middle number of the three. A size with only two numbers gives length and height, so the smaller is the height. The longest is the module length and the smallest the thickness.."},"rgb_lighting":{"type":["boolean","null"],"description":"RGB lighting. Lighting the user can set.."},"lighting_ecosystems":{"type":["array","null"],"items":{"type":"string"},"description":"Lighting sync. Motherboard and app lighting ecosystems the maker lists, as a short name without a version: ASUS Aura Sync, MSI Mystic Light, Gigabyte RGB Fusion, ASRock Polychrome Sync, CORSAIR iCUE. When the maker names only motherboard brands for lighting control, each brand is written as its system, such as ASUS Aura Sync for ASUS.."},"software_name":{"type":["string","null"],"description":"Software. Maker's app for lighting or settings.."},"measured_aida64":{"type":["array","null"],"items":{"type":"object","properties":{"model_number":{"type":["string","null"],"description":"Part number."},"cpu":{"type":["string","null"],"description":"CPU."},"speed_mts":{"type":["integer","null"],"description":"Speed. Unit: MT/s."},"timings":{"type":["string","null"],"description":"Timings."},"read_mbs":{"type":["integer","null"],"description":"Read. Unit: MB/s."},"write_mbs":{"type":["integer","null"],"description":"Write. Unit: MB/s."},"copy_mbs":{"type":["integer","null"],"description":"Copy. Unit: MB/s."},"latency_ns":{"type":["number","null"],"description":"Latency. Unit: ns."}},"required":["model_number","cpu","speed_mts","timings","read_mbs","write_mbs","copy_mbs","latency_ns"]},"description":"AIDA64 memory test (measured). AIDA64 Cache and Memory Benchmark results from a reviewer, one row per tested kit and setting. Read, write and copy are in MB/s as AIDA64 prints them, where 1 MB is 1,048,576 bytes. Results depend on the CPU and board, so compare rows from the same CPU only. AIDA64 switches a result of 100 GB/s or more to GB/s, where 1 GB is 1024 MB, so 113.64 GB/s is stored as 116367 MB/s, rounded to a whole MB/s. The printed figure goes in the source note.."},"measured_overclock":{"type":["array","null"],"items":{"type":"object","properties":{"model_number":{"type":["string","null"],"description":"Part number."},"cpu":{"type":["string","null"],"description":"CPU."},"speed_mts":{"type":["integer","null"],"description":"Speed. Unit: MT/s."},"timings":{"type":["string","null"],"description":"Timings."},"voltage_v":{"type":["number","null"],"description":"Voltage. Unit: V."}},"required":["model_number","cpu","speed_mts","timings","voltage_v"]},"description":"Overclock reached (measured). Highest stable setting a reviewer reached with their sample. Other samples can reach less.."},"lifetime_warranty":{"type":["boolean","null"],"description":"Lifetime warranty. The maker gives a limited lifetime warranty. A fixed term shows as the warranty in years instead.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","ram_type","module_type","ram_gb","module_count","module_capacity_gb","ram_rated_speed_mts","cas_latency","timings","voltage_v","oc_profiles","jedec_speed_mts","jedec_cas_latency","jedec_voltage_v","module_ranks","dram_chips","ram_ecc","heat_spreader","height_mm","rgb_lighting","lighting_ecosystems","software_name","measured_aida64","measured_overclock","lifetime_warranty"],"description":"Every RAM kit field in schema order. Unknown values are null."},"RobotVacuumSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"suction_pa":{"type":["integer","null"],"description":"Max suction (claimed). Unit: Pa. The maker's highest suction pressure claim in pascals. Each maker measures it in its own lab, so figures from different brands are not directly comparable. A claim such as \"175x more suction\" is not converted. A maker can claim another figure in another market, such as Roborock in the US, so it is per variant.."},"suction_power_aw":{"type":["number","null"],"description":"Suction power (claimed). Unit: AW. The maker's suction power claim in air watts. Few robot makers publish it. Pascals are a different measure and go in Max suction.."},"main_brush_count":{"type":["integer","null"],"description":"Main brushes. Number of main brush rolls under the robot. One roll split into two halves counts as one, and so do two cones tip to tip on one axis. Two rolls that turn against each other count as two.."},"main_brush_material":{"type":["string","null"],"enum":["rubber","bristle","rubber_and_bristle",null],"description":"Main brush material. Options: rubber (Rubber), bristle (Bristle), rubber_and_bristle (Rubber and bristle). Material of the main brush rolls. Rubber covers rubber blades and fins.."},"main_brush_name":{"type":["string","null"],"description":"Main brush (as published). The maker's name for the main brush, such as \"DuoDivide Brush\".."},"main_brush_lift":{"type":["boolean","null"],"description":"Main brush lift. The robot can raise its main brush off the floor, for example while it mops.."},"side_brush_count":{"type":["integer","null"],"description":"Side brushes. Spinning edge brushes. 0 for a robot without one.."},"side_brush_extending":{"type":["boolean","null"],"description":"Extending side brush. The side brush or its arm swings outward to reach corners and wall edges. False only when the maker or a spec table says the feature is absent. Silence is a missing value.."},"side_brush_lift":{"type":["boolean","null"],"description":"Side brush lift. The robot can raise its side brush off the floor.."},"max_carpet_pile_mm":{"type":["number","null"],"description":"Max carpet pile (claimed). Unit: mm. Tallest carpet pile the maker says the robot can clean. It is not the threshold height the robot can climb. A carpet height the robot climbs onto or glides over, such as carpet climbing 3 cm, is not a pile height.."},"dustbin_capacity_ml":{"type":["integer","null"],"description":"Robot dustbin. Unit: ml. Dust capacity of the bin inside the robot. The base station's bag or bin is listed separately.."},"filter_type":{"type":["string","null"],"description":"Filter. Published filter type or grade, such as \"E11 HEPA\". The robot's own filter. A dock filter goes in the source note.."},"washable_filter":{"type":["boolean","null"],"description":"Washable filter. The maker says the filter can be rinsed with water.."},"navigation":{"type":["string","null"],"enum":["lidar_turret","retractable_lidar","embedded_lidar","camera","gyroscope","random_bounce","other",null],"description":"Navigation. Options: lidar_turret (Lidar turret), retractable_lidar (Retractable lidar), embedded_lidar (Built-in lidar or ToF sensor), camera (Camera), gyroscope (Gyroscope only), random_bounce (Random bounce), other (Other). How the robot maps the home. A turret is a raised laser sensor on top. A retractable turret sinks into the body to pass under furniture. Built-in lidar sits inside the body with no turret. A solid-state 3D ToF sensor without a turret counts as built-in lidar. Camera means visual mapping without lidar. Gyroscope only means the robot has no mapping sensor and cleans in rows with a gyroscope. Random bounce means the robot has no mapping sensor and no gyroscope and turns when it bumps into something.."},"navigation_name":{"type":["string","null"],"description":"Navigation system (as published). The maker's name, such as \"VersaLift DToF\" or \"ClearView Pro LiDAR\".."},"obstacle_avoidance":{"type":["string","null"],"description":"Obstacle sensors (as published). The maker's description of the front obstacle sensors, such as \"AI Camera x2 + LED\".."},"ai_object_recognition":{"type":["boolean","null"],"description":"AI object recognition. A camera and software identify objects such as cables, socks and pet waste and steer around them. A structured light sensor without a camera counts when the maker says it identifies object types, as Narwal does. A bump sensor or infrared sensor alone does not qualify. False only when the maker or a spec table says the feature is absent. Silence is a missing value.."},"object_types_recognized":{"type":["integer","null"],"description":"Object types recognized (claimed). Number of object types the maker says the robot can identify. A figure such as 300+ is stored as 300.."},"dirt_detection":{"type":["boolean","null"],"description":"Dirt detection. A sensor or camera finds dirtier spots and the robot cleans them harder or again. False only when the maker or a spec table says the feature is absent. Silence is a missing value.."},"max_threshold_mm":{"type":["number","null"],"description":"Max threshold (claimed). Unit: mm. Highest single step or door threshold the maker says the robot can climb.."},"max_threshold_double_mm":{"type":["number","null"],"description":"Max two-step threshold (claimed). Unit: mm. Highest total height of a two-step threshold the maker says the robot can climb, such as a stepped sliding door track. Makers set conditions, such as a minimum width of the lower step.."},"mop_type":{"type":["string","null"],"enum":["none","spinning_pads","roller","track","vibrating_pad","static_pad",null],"description":"Mop type. Options: none (None), spinning_pads (Spinning pads), roller (Roller), track (Track), vibrating_pad (Vibrating pad), static_pad (Static pad). None means the robot only vacuums. Spinning pads are round pads that rotate. A roller is a turning cylinder. A track is a belt-shaped mop that rolls over the floor. A vibrating pad moves back and forth. A static pad is dragged.."},"mop_extending":{"type":["boolean","null"],"description":"Extending mop. A mop pad or roller moves outward to reach wall edges and under low furniture. False only when the maker or a spec table says the feature is absent. Silence is a missing value.."},"mop_lift_mm":{"type":["number","null"],"description":"Mop lift height. Unit: mm. How far the robot raises its mop pads alone when it drives onto carpet, as the maker's spec table gives it. A lift with the raised chassis goes in the source note.."},"mop_auto_detach":{"type":["boolean","null"],"description":"Leaves mop at the dock. The robot drops its mop pads at the base station by itself and picks them up again, so it can vacuum carpet without them.."},"mop_downforce_n":{"type":["number","null"],"description":"Mop downforce (claimed). Unit: N. The maker's claim for the force that presses the mop onto the floor. A claim in kilograms is converted at 1 kgf = 9.80665 N and rounded to one decimal, so 1 kg is 9.8 N. When the maker also gives a figure in N, that figure is stored. When the maker gives a range, such as 9-11 N, the top of the range is stored.."},"mop_speed_rpm":{"type":["integer","null"],"description":"Mop speed (claimed). Unit: rpm. Highest rotation speed of the spinning pads or the mop roller that wipes the floor. The speed of another roller that does not wipe the floor is not stored here.."},"water_tank_capacity_ml":{"type":["integer","null"],"description":"Robot water tank. Unit: ml. Clean water held in the robot itself. The base station tanks are separate.."},"water_flow_levels":{"type":["integer","null"],"description":"Water flow levels. Number of water flow settings the user can pick for mopping.."},"dock_type":{"type":["string","null"],"enum":["charging","auto_empty","mop_washing","auto_empty_and_mop_washing",null],"description":"Base station. Options: charging (Charging only), auto_empty (Auto-empty), mop_washing (Mop washing), auto_empty_and_mop_washing (Auto-empty and mop washing). The main jobs of the dock sold with this model. Auto-empty means the dock sucks the dust out of the robot. Mop washing means the dock cleans the mop.."},"dock_features":{"type":["array","null"],"items":{"type":"string","enum":["hot_air_drying","auto_detergent","robot_tank_refill","self_cleaning_wash_tray"]},"description":"Base station features. Options: hot_air_drying (Hot-air drying), auto_detergent (Auto detergent), robot_tank_refill (Robot tank refill), self_cleaning_wash_tray (Self-cleaning wash tray). Extra dock functions. Hot-air drying dries the mop with warm air. Auto detergent adds cleaning solution by itself. Robot tank refill fills the robot's water tank. Self-cleaning wash tray means the dock cleans its own mop washing tray.."},"dock_water_supply":{"type":["string","null"],"enum":["tanks","plumbed","tanks_plumbing_kit_optional",null],"description":"Base station water supply. Options: tanks (Water tanks), plumbed (Plumbed refill and drain), tanks_plumbing_kit_optional (Water tanks, plumbing kit optional). Water tanks means clean and dirty water tanks that the user fills and empties. Plumbed means the dock connects to a water inlet and a drain. The third option has tanks and a plumbing kit sold separately.."},"dock_dust_container":{"type":["string","null"],"enum":["bag","bagless",null],"description":"Base station dust container. Options: bag (Bag), bagless (Bagless). What the dock empties the robot's dust into.."},"dock_dust_capacity_l":{"type":["number","null"],"description":"Base station dust capacity. Unit: l. Capacity of the dust bag or bin in the dock.."},"dock_dust_storage_days":{"type":["integer","null"],"description":"Days between bag changes (claimed). Unit: days. The maker's estimate of how long the dock holds dust before it must be emptied. Makers assume different homes, pets and schedules.."},"dock_clean_water_tank_l":{"type":["number","null"],"description":"Clean water tank. Unit: l. Clean water tank in the base station.."},"dock_dirty_water_tank_l":{"type":["number","null"],"description":"Dirty water tank. Unit: l. Dirty water tank in the base station.."},"mop_wash_temp_c":{"type":["number","null"],"description":"Mop wash water temperature (claimed). Unit: °C. Highest water temperature the dock uses to wash the mop. The maker's own figure. Makers measure at different points, so values are not comparable between makers. The measuring point is required in the source note. A maker can claim another figure in another market, so it is per variant.."},"mop_drying_temp_c":{"type":["number","null"],"description":"Mop drying air temperature (claimed). Unit: °C. Temperature of the warm air the dock blows over the mop. The maker's own figure. Makers measure at different points, so values are not comparable between makers. The measuring point is required in the source note.."},"battery_capacity_mah":{"type":["integer","null"],"description":"Battery capacity. Unit: mAh. Published capacity of the robot's battery pack at the nominal battery voltage. When the maker gives a typical or headline figure and a lower rated figure, the headline figure is stored and the rated one goes in the source note, as for Dreame. A rated figure alone is stored. A count times a capacity, such as 2600 mAh x 2, is not a pack capacity. The total is stored only when the maker or a review states it.."},"battery_voltage_v":{"type":["number","null"],"description":"Battery voltage. Unit: V. Nominal pack voltage, such as 14.4 V.."},"rated_power_w":{"type":["number","null"],"description":"Rated power. Unit: W. Rated electrical power of the robot from the spec sheet, label or manual. The base station's power is not included. A charger input rating from the manual, such as 20 V 2.5 A, is not this value.."},"runtime_max_min":{"type":["number","null"],"description":"Max run time (claimed). Unit: min. Longest run time on one charge that the maker claims. Makers usually state it in the quietest suction mode without mopping. Claims that include charging breaks are not stored.."},"charge_time_0_100_min":{"type":["integer","null"],"description":"Full charge time (claimed). Unit: min. The maker's claim for charging from empty to full. A partial charge, such as 9 to 80%, is not stored.."},"recharge_and_resume":{"type":["boolean","null"],"description":"Recharge and resume. The robot returns to the dock to charge and then finishes the job where it stopped.."},"noise_claimed":{"type":["array","null"],"items":{"type":"object","properties":{"activity":{"type":["string","null"],"enum":["vacuum","vacuum_and_mop","mop","mop_washing","drying","dock_emptying",null],"description":"Activity. Options: vacuum (Vacuuming), vacuum_and_mop (Vacuuming and mopping), mop (Mopping only), mop_washing (Mop washing), drying (Mop drying), dock_emptying (Dock emptying)."},"suction_mode":{"type":["string","null"],"description":"Suction mode."},"noise_dba":{"type":["number","null"],"description":"Noise. Unit: dB(A)."}},"required":["activity","suction_mode","noise_dba"]},"description":"Noise (claimed). One row per noise figure the maker publishes. Suction mode is the maker's mode name, such as \"Standard\". When the maker gives a range, the top of the range is stored. A row leaves out the activity or the mode when the maker does not name it, such as a figure for quiet mode alone or a bare figure with neither.."},"wifi_standard":{"type":["string","null"],"enum":["wifi_4","wifi_5","wifi_6","none",null],"description":"Wi-Fi standard. Options: wifi_4 (Wi-Fi 4), wifi_5 (Wi-Fi 5), wifi_6 (Wi-Fi 6), none (None). 802.11n is Wi-Fi 4, 802.11ac is Wi-Fi 5 and 802.11ax is Wi-Fi 6. Use the highest protocol the manual lists. None only when a source says the robot has no Wi-Fi.."},"wifi_bands":{"type":["array","null"],"items":{"type":"string","enum":["2.4ghz","5ghz"]},"description":"Wi-Fi bands. Options: 2.4ghz (2.4 GHz), 5ghz (5 GHz). Bands the maker's manual or spec table states. Many robots use 2.4 GHz only. Vacuum Wars' Wi-Fi version column is not used for this field.."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth version. As published, such as \"4.1\". Robots use Bluetooth for setup.."},"matter":{"type":["boolean","null"],"description":"Matter. The maker states Matter support. Support that is only promised for a later update is not counted.."},"voice_assistants":{"type":["array","null"],"items":{"type":"string"},"description":"Voice assistants. Third-party assistants that can control the robot, such as \"Amazon Alexa\".."},"built_in_voice_control":{"type":["boolean","null"],"description":"Built-in voice control. The robot has its own microphone and responds to spoken commands without a smart speaker.."},"companion_app":{"type":["string","null"],"description":"Companion app. The maker's phone app for the robot, by name.."},"max_saved_maps":{"type":["integer","null"],"description":"Saved maps. Number of floor maps the robot can store, for homes with several levels.."},"live_video":{"type":["boolean","null"],"description":"Live video. The app can show the robot's camera view live.."},"measured_suction_kpa":{"type":["number","null"],"description":"Suction at the brush housing (measured). Unit: kPa. Suction pressure a reviewer measured with a manometer at the robot's brush housing on the highest power setting. It is far lower than the maker's figure and is not comparable to it.."},"measured_airflow_cfm":{"type":["number","null"],"description":"Airflow (measured). Unit: CFM. Airflow at the suction inlet on the highest power setting, measured by a reviewer with an anemometer.."},"measured_carpet_sand_pickup_pct":{"type":["number","null"],"description":"Embedded sand pickup on carpet (measured). Unit: %. Share of sand worked into medium-pile carpet that the robot removed in a timed run on the highest power setting. The reviewer weighs the robot's bin before and after.."},"measured_pet_hair_pickup_pct":{"type":["number","null"],"description":"Pet hair pickup on carpet (measured). Unit: %. Share of a fixed weight of flattened pet hair, about 2.5 inches long, removed from carpet in two runs. The reviewer weighs the hair left behind.."},"measured_max_threshold_mm":{"type":["number","null"],"description":"Max threshold (measured). Unit: mm. Highest single threshold the robot cleared on a reviewer's test rig.."},"measured_obstacles_avoided":{"type":["integer","null"],"description":"Test obstacles avoided (measured). Number of the 24 test objects the robot steered around in Vacuum Wars' standard and torture obstacle tests.."},"measured_area_per_charge_m2":{"type":["number","null"],"description":"Area per charge (measured). Unit: m². Floor area the reviewer estimates per charge from measured battery use and a fixed floor plan, on the lowest suction setting without mopping. Vacuum Wars multiplies battery efficiency by navigation efficiency. It is not a full-charge run.."},"body_shape":{"type":["string","null"],"enum":["round","d_shaped","square","other",null],"description":"Robot shape. Options: round (Round), d_shaped (D-shaped), square (Square), other (Other). Shape seen from above. D-shaped means a flat front and a round back.."},"width_mm":{"type":["number","null"],"description":"Robot width. Unit: mm. Width of the robot from side to side.."},"depth_mm":{"type":["number","null"],"description":"Robot depth. Unit: mm. Length of the robot from front to back. The Length in a maker's Length x Width x Height is the depth.."},"height_mm":{"type":["number","null"],"description":"Robot height. Unit: mm. Height at the robot's lowest operating position. A fixed lidar turret is included. A retractable turret is lowered. This decides which furniture the robot fits under.."},"height_sensor_raised_mm":{"type":["number","null"],"description":"Height with sensor raised. Unit: mm. Height with a retractable lidar turret raised. Empty for a robot without a retractable sensor.."},"weight_kg":{"type":["number","null"],"description":"Robot weight. Unit: kg. Robot with battery and dustbin, without the base station. Some store pages label the robot and dock together as Robot Weight. Check that the figure fits the robot alone.."},"dock_dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."}},"required":["width_mm","depth_mm","height_mm"],"description":"Base station dimensions. Width, depth and height of the dock. When the maker gives the depth with and without the ramp, the depth with the ramp is stored. Makers write the axes in different orders, so they are mapped with care. A size the maker gives for the robot and dock together counts only when the robot sits inside the dock's footprint, and the source note says so.."},"dock_weight_kg":{"type":["number","null"],"description":"Base station weight. Unit: kg. Dock without the robot and with empty tanks.."},"fcc_ids":{"type":["array","null"],"items":{"type":"string"},"description":"FCC IDs."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications. Named certifications, verbatim, such as a TÜV SÜD or UL Solutions cybersecurity mark.."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box. Items supplied with this exact model, verbatim.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","suction_pa","suction_power_aw","main_brush_count","main_brush_material","main_brush_name","main_brush_lift","side_brush_count","side_brush_extending","side_brush_lift","max_carpet_pile_mm","dustbin_capacity_ml","filter_type","washable_filter","navigation","navigation_name","obstacle_avoidance","ai_object_recognition","object_types_recognized","dirt_detection","max_threshold_mm","max_threshold_double_mm","mop_type","mop_extending","mop_lift_mm","mop_auto_detach","mop_downforce_n","mop_speed_rpm","water_tank_capacity_ml","water_flow_levels","dock_type","dock_features","dock_water_supply","dock_dust_container","dock_dust_capacity_l","dock_dust_storage_days","dock_clean_water_tank_l","dock_dirty_water_tank_l","mop_wash_temp_c","mop_drying_temp_c","battery_capacity_mah","battery_voltage_v","rated_power_w","runtime_max_min","charge_time_0_100_min","recharge_and_resume","noise_claimed","wifi_standard","wifi_bands","bluetooth_version","matter","voice_assistants","built_in_voice_control","companion_app","max_saved_maps","live_video","measured_suction_kpa","measured_airflow_cfm","measured_carpet_sand_pickup_pct","measured_pet_hair_pickup_pct","measured_max_threshold_mm","measured_obstacles_avoided","measured_area_per_charge_m2","body_shape","width_mm","depth_mm","height_mm","height_sensor_raised_mm","weight_kg","dock_dimensions_mm","dock_weight_kg","fcc_ids","other_certifications","in_the_box"],"description":"Every robot vacuum field in schema order. Unknown values are null."},"RouterSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"form_factor":{"type":["string","null"],"enum":["router","mesh_system","travel_router",null],"description":"Form factor. Options: router (Router), mesh_system (Mesh system), travel_router (Travel router). Mesh system is a product line sold in packs of mesh units, e.g. eero, Deco and Orbi. A standalone router that can join a mesh as an option is a router. A travel router is a pocket-size router sold for travel.."},"segment":{"type":["string","null"],"enum":["home","gaming","business",null],"description":"Segment. Options: home (Home), gaming (Gaming), business (Business). The maker's own product category, e.g. ASUS ROG is Gaming and ASUS ExpertWiFi is Business. It is not assigned from price or features.."},"wifi_standard":{"type":["string","null"],"enum":["wifi_5","wifi_6","wifi_6e","wifi_7",null],"description":"Wi-Fi. Options: wifi_5 (Wi-Fi 5), wifi_6 (Wi-Fi 6), wifi_6e (Wi-Fi 6E), wifi_7 (Wi-Fi 7). The newest Wi-Fi generation the product supports.."},"wifi_speed_class":{"type":["string","null"],"description":"Wi-Fi speed class. The maker's class name, e.g. BE19000 or AXE11000. It adds up the top link rates of all radios. No single device reaches it. A Wi-Fi 6E class starts with AXE, also when the maker writes AX, so eero's AX5400 is AXE5400. The class is not the model number, so GL.iNet's GL-AXT1800 is AX1800.."},"wifi_radios":{"type":["array","null"],"items":{"type":"object","properties":{"band":{"type":["string","null"],"enum":["2.4ghz","5ghz","6ghz",null],"description":"Band. Options: 2.4ghz (2.4 GHz), 5ghz (5 GHz), 6ghz (6 GHz)."},"standard":{"type":["string","null"],"enum":["wifi_4","wifi_5","wifi_6","wifi_6e","wifi_7",null],"description":"Wi-Fi. Options: wifi_4 (Wi-Fi 4), wifi_5 (Wi-Fi 5), wifi_6 (Wi-Fi 6), wifi_6e (Wi-Fi 6E), wifi_7 (Wi-Fi 7). Generation of this radio. The 2.4 GHz radio of a Wi-Fi 7 router is often Wi-Fi 6.."},"streams":{"type":["integer","null"],"description":"Streams. Spatial streams of this radio, e.g. 4 for 4x4. When the maker gives only a total, the per-band split may come from its rate and width per band when the sum equals the total. When the maker prints no streams or width, both may be worked out from its rate only when a maker document or the chip datasheet rules out every other combination. 2402 Mbps can be 2 streams at 160 MHz or 4 at 80 MHz, so a 2-stream chip settles it. The source note says how.."},"max_channel_width_mhz":{"type":["integer","null"],"description":"Max channel width. Unit: MHz. Widest channel the maker states for this radio. A 240 MHz width on 5 GHz, as many Wi-Fi 7 makers print it, is stored as 240.."},"max_link_rate_mbps":{"type":["integer","null"],"description":"Max link rate. Unit: Mbps. Top link rate for this radio at the channel width in the same row. Not throughput. If the maker prints a rate only for a narrower width, or a rate that does not fit its own streams and width, store the 802.11 rate from a review or spec source and name the printed figure in the source note. Round to a whole Mbps.."},"dedicated_backhaul":{"type":["boolean","null"],"description":"Dedicated backhaul. The radio only links mesh units and serves no devices.."}},"required":["band","standard","streams","max_channel_width_mhz","max_link_rate_mbps","dedicated_backhaul"]},"description":"Wi-Fi radios. One row per radio in one unit. A quad-band unit with two 5 GHz radios has two 5 GHz rows.."},"wifi_radio_count":{"type":["integer","null"],"description":"Radio bands. Radios that work at the same time in one unit. Tri-band is 3 and quad-band is 4, also when two radios use the same frequency band.. Calculated from other fields."},"wifi_6ghz":{"type":["boolean","null"],"description":"6 GHz band. Calculated from other fields."},"wifi_total_link_rate_mbps":{"type":["integer","null"],"description":"Combined Wi-Fi link rate. Unit: Mbps. Sum of the top link rates of all radios in one unit. It is close to the number in the speed class. No single device reaches it.. Calculated from other fields."},"wifi_stream_count":{"type":["integer","null"],"description":"Wi-Fi streams. Spatial streams of all radios in one unit, e.g. 12 for a tri-band router with 4x4 on each band.. Calculated from other fields."},"wifi_max_channel_width_mhz":{"type":["integer","null"],"description":"Max Wi-Fi channel width. Unit: MHz. Widest channel of any radio, e.g. 320 on the 6 GHz band.. Calculated from other fields."},"wifi_features":{"type":["array","null"],"items":{"type":"string","enum":["mlo","multi_ru","qam_4k","preamble_puncturing","ofdma","mu_mimo","beamforming","twt","band_steering","afc"]},"description":"Wi-Fi features. Options: mlo (Multi-Link Operation (MLO)), multi_ru (Multi-RU), qam_4k (4K-QAM), preamble_puncturing (Preamble puncturing), ofdma (OFDMA), mu_mimo (MU-MIMO), beamforming (Beamforming), twt (Target Wake Time), band_steering (Band steering), afc (AFC (6 GHz standard power)). Features the maker names for the product. Band steering puts all bands under one network name and moves devices between them, e.g. Smart Connect. Band steering over only some of the bands, such as 2.4 and 5 GHz on a tri-band router, counts. AFC is Automated Frequency Coordination, which allows standard power on 6 GHz. Support that needs a later firmware counts, and the firmware goes in the source note.."},"external_antenna_count":{"type":["integer","null"],"description":"External antennas. Antennas outside the case, as the maker counts them.."},"internal_antenna_count":{"type":["integer","null"],"description":"Internal antennas. Antennas inside the case, as the maker counts them.."},"detachable_antennas":{"type":["boolean","null"],"description":"Detachable antennas. The external antennas screw off and can be replaced. Fixed antennas that only fold or turn do not count.."},"coverage_m2":{"type":["number","null"],"description":"Coverage of one unit (claimed). Unit: m². The maker's claimed area that one unit covers. A square feet claim is converted exactly and rounded to a whole m². A claim for a whole pack is stored separately. An area that a trusted review quotes from the maker counts, and the source note names the review.."},"max_connected_devices":{"type":["integer","null"],"description":"Connected devices per unit (claimed). The maker's claimed maximum number of devices one unit serves. A claim for a whole mesh pack is not stored here.."},"ports":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["rj45","rj45_sfp_plus_combo","sfp_plus","sfp","usb_a","usb_c","dsl","coax","phone","other",null],"description":"Port. Options: rj45 (RJ45), rj45_sfp_plus_combo (RJ45 or SFP+ combo), sfp_plus (SFP+), sfp (SFP), usb_a (USB-A), usb_c (USB-C), dsl (DSL), coax (Coax), phone (Phone), other (Other)."},"count":{"type":["integer","null"],"description":"Count."},"role":{"type":["string","null"],"enum":["wan","lan","wan_lan",null],"description":"Role. Options: wan (WAN), lan (LAN), wan_lan (WAN or LAN)."},"max_gbps":{"type":["number","null"],"description":"Max speed. Unit: Gbps. Ethernet link rate or USB data rate. A USB port printed only as USB 2.0 is 0.48, and USB 3.0 or USB 3.2 Gen 1 is 5.."},"version":{"type":["string","null"],"description":"Version."},"poe":{"type":["string","null"],"enum":["poe_in","poe_out",null],"description":"PoE. Options: poe_in (PoE in), poe_out (PoE out)."}},"required":["type","count","role","max_gbps","version","poe"]},"description":"Ports. Data ports on the main unit. The power input is not a port. A combo port takes an RJ45 cable or an SFP+ module and is counted once. WAN or LAN means the maker says the port can be either, including auto-sensing ports.."},"ethernet_port_count":{"type":["integer","null"],"description":"Ethernet ports. RJ45 ports of all roles, WAN and LAN.. Calculated from other fields."},"multi_gig_port_count":{"type":["integer","null"],"description":"Multi-gig ports. Wired network ports of 2.5 Gbps or faster, RJ45 or fiber.. Calculated from other fields."},"wan_max_gbps":{"type":["number","null"],"description":"Fastest WAN port. Unit: Gbps. The fastest port that can take the internet connection.. Calculated from other fields."},"lan_max_gbps":{"type":["number","null"],"description":"Fastest LAN port. Unit: Gbps. The fastest port for wired devices. A port that can be WAN or LAN counts here too.. Calculated from other fields."},"usb_port_count":{"type":["integer","null"],"description":"USB ports. Calculated from other fields."},"has_sfp_plus":{"type":["boolean","null"],"description":"SFP+ port. A slot for a 10 Gbps fiber or DAC module.. Calculated from other fields."},"built_in_modem":{"type":["array","null"],"items":{"type":"string","enum":["cable","dsl","fiber","cellular_5g","cellular_4g"]},"description":"Built-in modem. Options: cable (Cable), dsl (DSL), fiber (Fiber), cellular_5g (5G), cellular_4g (4G LTE). Modems inside the router. A port for an external modem does not count. A fiber slot counts only when the fiber module is in the box.."},"modem_standards":{"type":["array","null"],"items":{"type":"string"},"description":"Modem standards. Standards of the built-in modem as published, e.g. DOCSIS 3.1, VDSL2 35b, GPON or 5G NR.."},"mesh_technologies":{"type":["array","null"],"items":{"type":"string"},"description":"Mesh technologies. Mesh systems the unit can join, by the maker's name, e.g. AiMesh, EasyMesh or TP-Link OneMesh.."},"units_in_pack":{"type":["array","null"],"items":{"type":"integer"},"description":"Units per pack. Units in the box. The base lists every pack size sold. Each pack variant holds its own. A standalone router is 1.."},"pack_coverage_m2":{"type":["number","null"],"description":"Coverage of the pack (claimed). Unit: m². The maker's claimed area for a whole pack. Each pack variant holds its own claim. The claims of single units are never added up.."},"units_identical":{"type":["boolean","null"],"description":"Identical units. Every unit in a pack is the same model, so any unit can be the router. Not true for systems with a separate satellite model, such as NETGEAR Orbi.."},"satellite_model":{"type":["string","null"],"description":"Satellite model. Model number of the satellite when it differs from the router unit.."},"satellite_ports":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["rj45","rj45_sfp_plus_combo","sfp_plus","sfp","usb_a","usb_c","dsl","coax","phone","other",null],"description":"Port. Options: rj45 (RJ45), rj45_sfp_plus_combo (RJ45 or SFP+ combo), sfp_plus (SFP+), sfp (SFP), usb_a (USB-A), usb_c (USB-C), dsl (DSL), coax (Coax), phone (Phone), other (Other)."},"count":{"type":["integer","null"],"description":"Count."},"role":{"type":["string","null"],"enum":["wan","lan","wan_lan",null],"description":"Role. Options: wan (WAN), lan (LAN), wan_lan (WAN or LAN)."},"max_gbps":{"type":["number","null"],"description":"Max speed. Unit: Gbps. Ethernet link rate or USB data rate. A USB port printed only as USB 2.0 is 0.48, and USB 3.0 or USB 3.2 Gen 1 is 5.."},"version":{"type":["string","null"],"description":"Version."},"poe":{"type":["string","null"],"enum":["poe_in","poe_out",null],"description":"PoE. Options: poe_in (PoE in), poe_out (PoE out)."}},"required":["type","count","role","max_gbps","version","poe"]},"description":"Satellite ports. Data ports on one satellite. Only when the satellite differs from the router unit.."},"ethernet_backhaul":{"type":["boolean","null"],"description":"Ethernet backhaul. Mesh units can link to each other over an Ethernet cable.."},"management":{"type":["array","null"],"items":{"type":"string","enum":["mobile_app","web_interface"]},"description":"Management. Options: mobile_app (Mobile app), web_interface (Web interface). Ways to set up and manage the router. A web interface is a full settings page in a browser on the local network. A status page alone does not count.."},"account_required":{"type":["boolean","null"],"description":"Online account required. Setup and management need an online account with the maker, with no local way around it.."},"operating_modes":{"type":["array","null"],"items":{"type":"string","enum":["router","access_point","mesh_node","repeater","media_bridge"]},"description":"Operating modes. Options: router (Router), access_point (Access point), mesh_node (Mesh node), repeater (Repeater), media_bridge (Media bridge). Modes the maker lists. Media bridge connects wired devices to another router over Wi-Fi. Extender, range extender and WDS modes count as repeater.."},"network_features":{"type":["array","null"],"items":{"type":"string","enum":["guest_network","iot_network","vlan","iptv","dual_wan","wan_aggregation","lan_aggregation","qos","parental_controls","ddns"]},"description":"Network features. Options: guest_network (Guest network), iot_network (IoT network), vlan (VLAN), iptv (IPTV), dual_wan (Dual WAN), wan_aggregation (WAN aggregation), lan_aggregation (LAN aggregation), qos (QoS), parental_controls (Parental controls), ddns (Dynamic DNS). Features the maker lists that work without a paid subscription. An IoT network is a separate network for smart home devices. Dual WAN uses a second internet connection as a backup or to share the load. Only features the maker clearly says are free. Parental controls counts when a free feature pauses or schedules internet access per person or device, such as eero Profiles, even when content filters need a subscription. When the maker's pages contradict each other, leave the feature out.."},"vpn_server_protocols":{"type":["array","null"],"items":{"type":"string","enum":["wireguard","openvpn","ipsec","l2tp","pptp"]},"description":"VPN server. Options: wireguard (WireGuard), openvpn (OpenVPN), ipsec (IPsec), l2tp (L2TP), pptp (PPTP). Protocols the router can serve, to reach the home network from outside. A paid VPN service is not a VPN server.."},"vpn_client_protocols":{"type":["array","null"],"items":{"type":"string","enum":["wireguard","openvpn","ipsec","l2tp","pptp"]},"description":"VPN client. Options: wireguard (WireGuard), openvpn (OpenVPN), ipsec (IPsec), l2tp (L2TP), pptp (PPTP). Protocols the router can use to connect to an outside VPN server.."},"usb_applications":{"type":["array","null"],"items":{"type":"string","enum":["file_server","media_server","time_machine","printer_server","cellular_modem"]},"description":"USB applications. Options: file_server (File server), media_server (Media server), time_machine (Time Machine), printer_server (Printer server), cellular_modem (Cellular modem). What the USB port can be used for. Cellular modem is a USB 4G or 5G modem used as an internet connection or backup.."},"wifi_security":{"type":["array","null"],"items":{"type":"string","enum":["wpa2_personal","wpa3_personal","wpa2_enterprise","wpa3_enterprise","enhanced_open"]},"description":"Wi-Fi security. Options: wpa2_personal (WPA2-Personal), wpa3_personal (WPA3-Personal), wpa2_enterprise (WPA2-Enterprise), wpa3_enterprise (WPA3-Enterprise), enhanced_open (Enhanced Open (OWE)). Enhanced Open encrypts an open network without a password.."},"security_suite":{"type":["string","null"],"description":"Security service. The maker's built-in security service by name, e.g. AiProtection Pro, HomeShield, NETGEAR Armor or eero Plus.."},"security_suite_cost":{"type":["string","null"],"enum":["free","basic_free","paid",null],"description":"Security service cost. Options: free (Free), basic_free (Basic free, full paid), paid (Paid). What the service costs after any free trial. Basic free means the basic features are free and the full set needs a subscription. When the free and paid tiers share one name, such as HomeShield, it is basic free. NETGEAR Armor has no free tier after its trial, so it is paid. When the paid tier is a separate add-on, such as eero Plus, it is paid.."},"automatic_updates":{"type":["boolean","null"],"description":"Automatic firmware updates. The router can install firmware updates by itself.."},"security_updates_until":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Security updates until. Published end date of security updates for this model. It is not calculated from a number of years. A published minimum date, such as \"at least through\" or \"or later\", counts as the stated date. The source note says it is a minimum and names the region.."},"thread_border_router":{"type":["boolean","null"],"description":"Thread border router."},"matter_controller":{"type":["boolean","null"],"description":"Matter controller. Can add and control Matter devices. Being a Matter device alone does not count.."},"zigbee_hub":{"type":["boolean","null"],"description":"Zigbee hub. A built-in Zigbee radio that controls Zigbee smart home devices.."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth. Version of the Bluetooth radio in the router, often used for setup.."},"smart_home_platforms":{"type":["array","null"],"items":{"type":"string"},"description":"Smart home platforms. Smart home and voice platforms the router works with, e.g. Amazon Alexa or Google Home.."},"soc":{"type":["string","null"],"description":"System on chip. Main chip or platform as published, e.g. Broadcom BCM4916 or Qualcomm Networking Pro 620. A chip maker name alone, such as Broadcom, is not stored.."},"cpu_cores":{"type":["integer","null"],"description":"CPU cores."},"cpu_clock_max_ghz":{"type":["number","null"],"description":"CPU clock. Unit: GHz. Highest published processor clock.."},"ram_gb":{"type":["number","null"],"description":"RAM. Unit: GB. Router RAM in GB. When any trusted source prints a GB figure, use it, e.g. 1 GB rather than 1024 MB converted. Convert MB with 1000 MB per GB only when MB is the only figure, e.g. 512 MB is 0.512, and keep the original figure in the source note. Same rule as streaming devices.."},"flash_gb":{"type":["number","null"],"description":"Flash storage. Unit: GB. Built-in flash memory for the firmware in GB. Convert MB with 1000 MB per GB, as for RAM. A memory card or USB drive does not count.."},"fan":{"type":["boolean","null"],"description":"Cooling fan. A fan inside the unit. Passive cooling does not count.."},"power_supply":{"type":["string","null"],"enum":["external_dc","usb","poe","internal_ac",null],"description":"Power supply. Options: external_dc (External DC adapter), usb (USB), poe (PoE), internal_ac (Internal AC). How the main unit gets power. USB is a USB-C power adapter. PoE is power over an Ethernet cable.."},"power_input":{"type":["string","null"],"description":"Rated power input. Device input rating as published, in volts and amps.."},"included_adapter_output_w":{"type":["number","null"],"description":"Included adapter output. Unit: W. Rated output of the power adapter in the box. This is not power use.."},"power_consumption_typical_w":{"type":["number","null"],"description":"Power use (typical, claimed). Unit: W. The maker's typical or average power use of one unit. A published range, such as 14 to 16 W, is left out.."},"power_consumption_max_w":{"type":["number","null"],"description":"Power use (max, claimed). Unit: W. The maker's maximum power use of one unit. Power given out over PoE is not included. A published range, such as 14 to 16 W, is left out. A figure measured with the power adapter counts.."},"measured_throughput":{"type":["array","null"],"items":{"type":"object","properties":{"distance_m":{"type":["number","null"],"description":"Distance. Unit: m. Distance from the unit the client is connected to.."},"band":{"type":["string","null"],"enum":["2.4ghz","5ghz","6ghz",null],"description":"Band. Options: 2.4ghz (2.4 GHz), 5ghz (5 GHz), 6ghz (6 GHz)."},"path":{"type":["string","null"],"enum":["direct","via_satellite",null],"description":"Connected to. Options: direct (Main unit), via_satellite (Satellite)."},"mbps":{"type":["number","null"],"description":"Throughput. Unit: Mbps."}},"required":["distance_m","band","path","mbps"]},"description":"Wi-Fi throughput (measured). Tom's Guide throughput, one row per test position. Tool, client, direction and walls are in the source note. Other reviewers' results go in source notes only.."},"measured_throughput_max_mbps":{"type":["number","null"],"description":"Fastest Wi-Fi throughput (measured). Unit: Mbps. Highest measured row with the client connected to the main unit. Compare only results from the same reviewer.. Calculated from other fields."},"measured_throughput_through_wall_mbps":{"type":["number","null"],"description":"Wi-Fi throughput through a wall (measured). Unit: Mbps. Tom's Guide throughput at 25 ft through one wall, with the client on the main unit.."},"measured_range_m":{"type":["number","null"],"description":"Range (measured). Unit: m. Distance at which the reviewer's client lost its connection to the main unit.."},"measured_power_consumption_load_w":{"type":["number","null"],"description":"Power use under load (measured). Unit: W. Wall power of the main unit during the reviewer's throughput or saturation test.."},"measured_energy_24h_wh":{"type":["number","null"],"description":"Energy use per day (measured). Unit: Wh. Energy the router used over 24 hours of the reviewer's test use. This is not the power at one moment.."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Dimensions. One unit in its normal position, with antennas folded flat or removed. Height is bottom to top. For a round unit, width and depth are both the diameter. A size the maker prints with antennas up goes in Dimensions with antennas.."},"dimensions_with_antennas_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Dimensions with antennas. One unit with its external antennas up, as the maker prints it.."},"weight_g":{"type":["number","null"],"description":"Weight. Unit: g. One unit without power adapter and cables.."},"wall_mountable":{"type":["boolean","null"],"description":"Wall mountable. The maker says the unit can be mounted on a wall.."},"wifi_certification_id":{"type":["string","null"],"description":"Wi-Fi Alliance certification ID. Certificate ID in the Wi-Fi Alliance product finder.."},"fcc_id":{"type":["string","null"],"description":"FCC ID. FCC ID of the main unit.."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box. Items as the maker lists them for the exact pack.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","form_factor","segment","wifi_standard","wifi_speed_class","wifi_radios","wifi_radio_count","wifi_6ghz","wifi_total_link_rate_mbps","wifi_stream_count","wifi_max_channel_width_mhz","wifi_features","external_antenna_count","internal_antenna_count","detachable_antennas","coverage_m2","max_connected_devices","ports","ethernet_port_count","multi_gig_port_count","wan_max_gbps","lan_max_gbps","usb_port_count","has_sfp_plus","built_in_modem","modem_standards","mesh_technologies","units_in_pack","pack_coverage_m2","units_identical","satellite_model","satellite_ports","ethernet_backhaul","management","account_required","operating_modes","network_features","vpn_server_protocols","vpn_client_protocols","usb_applications","wifi_security","security_suite","security_suite_cost","automatic_updates","security_updates_until","thread_border_router","matter_controller","zigbee_hub","bluetooth_version","smart_home_platforms","soc","cpu_cores","cpu_clock_max_ghz","ram_gb","flash_gb","fan","power_supply","power_input","included_adapter_output_w","power_consumption_typical_w","power_consumption_max_w","measured_throughput","measured_throughput_max_mbps","measured_throughput_through_wall_mbps","measured_range_m","measured_power_consumption_load_w","measured_energy_24h_wh","dimensions_mm","dimensions_with_antennas_mm","weight_g","wall_mountable","wifi_certification_id","fcc_id","other_certifications","in_the_box"],"description":"Every router field in schema order. Unknown values are null."},"SmartphoneSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"form_factor":{"type":["string","null"],"enum":["bar","foldable_book","foldable_flip",null],"description":"Form factor. Options: bar (Bar), foldable_book (Foldable (book)), foldable_flip (Foldable (flip))."},"os_updates_years":{"type":["integer","null"],"description":"OS support period (claimed). Unit: years. Years of OS updates promised by the maker. Do not convert a number of Android generations into years, or mix an EU minimum counted from end of sale with a launch-based promise.."},"security_updates_years":{"type":["integer","null"],"description":"Security support period (claimed). Unit: years. Years of security updates promised by the maker. State when the period starts in the source note. A regulatory minimum counted from end of market placement is a different basis.."},"security_updates_until":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Security updates until. Published end date of security support for the exact model. Do not calculate a date from a rounded number of years.."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm. Body height in portrait orientation. Foldables use the unfolded body.."},"width_mm":{"type":["number","null"],"description":"Width. Unit: mm. Body width in portrait orientation.."},"thickness_mm":{"type":["number","null"],"description":"Thickness. Unit: mm."},"thickness_with_camera_mm":{"type":["number","null"],"description":"Thickness with camera bump. Unit: mm."},"folded_dimensions_mm":{"type":["object","null"],"properties":{"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"thickness_mm":{"type":["number","null"],"description":"Thickness. Unit: mm."}},"required":["height_mm","width_mm","thickness_mm"],"description":"Folded dimensions."},"weight_g":{"type":["number","null"],"description":"Weight. Unit: g. Handset weight without accessories. Colour and material differences belong in variants.."},"frame_material":{"type":["string","null"],"enum":["aluminium","titanium","stainless_steel","plastic","other",null],"description":"Frame. Options: aluminium (Aluminium), titanium (Titanium), stainless_steel (Stainless steel), plastic (Plastic), other (Other)."},"front_material":{"type":["string","null"],"description":"Front."},"back_material":{"type":["string","null"],"enum":["glass","plastic","leather","vegan_leather","ceramic","aramid","other","fiberglass_composite","aluminium","silicone",null],"description":"Back. Options: glass (Glass), plastic (Plastic), leather (Leather), vegan_leather (Vegan leather), ceramic (Ceramic), aramid (Aramid), other (Other), fiberglass_composite (Fiberglass composite), aluminium (Aluminium), silicone (Silicone). Material of the back cover as the maker names it. Aluminium is a metal back cover, as on a unibody. Silicone is a back the maker calls silicone, even with a leather or fabric look. A mixed back, such as metal with a glass insert, is Other.."},"ip_rating":{"type":["array","null"],"items":{"type":"string"},"description":"Dust and water rating."},"water_resistance_depth_m":{"type":["number","null"],"description":"Water resistance depth. Unit: m."},"water_resistance_minutes":{"type":["integer","null"],"description":"Water resistance time. Unit: min."},"mil_std_810":{"type":["boolean","null"],"description":"MIL-STD-810."},"sim_slots":{"type":["object","null"],"properties":{"nano_sim_count":{"type":["integer","null"],"description":"Nano-SIMs."},"esim_count":{"type":["integer","null"],"description":"Active eSIM capacity. Maximum simultaneous active eSIM profiles, not how many profiles can be stored.."},"esim_only":{"type":["boolean","null"],"description":"eSIM only."}},"required":["nano_sim_count","esim_count","esim_only"],"description":"SIM capacity. Physical nano-SIM slots and maximum simultaneously active eSIMs. These counts are alternatives and must not be added to infer total active subscriptions.."},"stylus_support":{"type":["string","null"],"enum":["built_in","supported","none",null],"description":"Stylus. Options: built_in (Built-in), supported (Supported), none (None)."},"stylus_name":{"type":["string","null"],"description":"Stylus name."},"screen_size_in":{"type":["number","null"],"description":"Screen size. Unit: in. Maker diagonal for the main display as a full rectangle. Rounded corners and cutouts reduce the viewable area.."},"resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Resolution."},"pixel_density_ppi":{"type":["number","null"],"description":"Pixel density. Unit: ppi. Calculated from other fields."},"aspect_ratio":{"type":["string","null"],"description":"Aspect ratio."},"display_technology":{"type":["string","null"],"enum":["oled","ltpo_oled","lcd_ips","lcd_other",null],"description":"Display type. Options: oled (OLED), ltpo_oled (LTPO OLED), lcd_ips (LCD (IPS)), lcd_other (LCD (other))."},"display_technology_name":{"type":["string","null"],"description":"Display type (as published)."},"refresh_rate_max_hz":{"type":["integer","null"],"description":"Max refresh rate. Unit: Hz. Highest stated display refresh rate. Game-only or app-specific modes must be identified in the source note.."},"refresh_rate_min_hz":{"type":["integer","null"],"description":"Min refresh rate. Unit: Hz. Lowest stated adaptive display refresh rate. A variable refresh display does not itself prove an LTPO backplane.."},"touch_sampling_rate_hz":{"type":["integer","null"],"description":"Touch sampling rate. Unit: Hz. Standard touch sampling rate the maker states. A figure the maker ties to a game, boost or instant mode goes in the instant field. When the maker names no mode, the figure is stored here and the source note quotes the wording.."},"touch_sampling_rate_instant_hz":{"type":["integer","null"],"description":"Instant touch sampling. Unit: Hz. Highest touch sampling rate the maker states for a game, boost or instant mode.."},"brightness_typical_nits":{"type":["number","null"],"description":"Display brightness (typical, claimed). Unit: nits. Maker stated typical brightness, not a reviewer measurement or automatic outdoor mode. On a foldable, the main inner screen.."},"brightness_hbm_nits":{"type":["number","null"],"description":"Outdoor brightness (claimed). Unit: nits. Maker stated outdoor or high-brightness-mode value. A peak outdoor claim need not be full-screen sustained brightness.."},"brightness_peak_nits":{"type":["number","null"],"description":"Peak display brightness (claimed). Unit: nits. Manufacturer-stated peak brightness. Store HDR, window size and operating mode only as stated in the source note. Outdoor/HBM claims use the separate field. On a foldable, the main inner screen.."},"brightness_min_nits":{"type":["number","null"],"description":"Minimum brightness. Unit: nits."},"color_depth_bits":{"type":["integer","null"],"description":"Colour depth per channel. Unit: bits. Bits for each RGB colour channel, not total bits per pixel. A 24-bit RGB pixel means 8 bits per channel. No native-versus-dithered assumption.."},"dci_p3_coverage_pct":{"type":["number","null"],"description":"DCI-P3 coverage. Unit: %."},"hdr_formats":{"type":["array","null"],"items":{"type":"string","enum":["hdr10","hdr10_plus","dolby_vision","hlg","hdr_vivid"]},"description":"HDR playback formats. Options: hdr10 (HDR10), hdr10_plus (HDR10+), dolby_vision (Dolby Vision), hlg (HLG), hdr_vivid (HDR Vivid). HDR formats the phone can display or play back. Recorded video HDR formats use the separate video field.."},"pwm_dimming_hz":{"type":["integer","null"],"description":"PWM dimming frequency. Unit: Hz."},"always_on_display":{"type":["boolean","null"],"description":"Always-on display."},"display_cutout":{"type":["string","null"],"enum":["punch_hole","notch","pill","under_display","none",null],"description":"Front camera cutout. Options: punch_hole (Punch hole), notch (Notch), pill (Pill), under_display (Under-display), none (None)."},"cover_screen_size_in":{"type":["number","null"],"description":"Cover screen size. Unit: in. The outer screen of a foldable, or a second screen on the back of a phone, such as on the Xiaomi 17 Pro Max.."},"cover_screen_resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Cover screen resolution. Width and height as the screen stands when the closed phone, or the phone with a rear screen, is held upright. Some makers print the long side first, such as Motorola's 1272 x 1080 for a screen that is 1080 px wide.."},"cover_screen_refresh_rate_hz":{"type":["integer","null"],"description":"Cover screen refresh rate. Unit: Hz."},"cover_screen_technology":{"type":["string","null"],"description":"Cover screen type."},"os_at_launch":{"type":["string","null"],"description":"OS at launch."},"os_skin":{"type":["string","null"],"description":"Software."},"os_latest":{"type":["string","null"],"description":"Latest stable OS (verified). Latest stable OS explicitly verified for the exact model on the source accessed date. A downloadable manual, beta, or launch specification does not prove a stable update rollout.."},"chipset":{"type":["string","null"],"description":"Chipset."},"process_node_nm":{"type":["number","null"],"description":"Process. Unit: nm."},"cpu_core_count":{"type":["integer","null"],"description":"CPU cores."},"cpu_clusters":{"type":["array","null"],"items":{"type":"object","properties":{"count":{"type":["integer","null"],"description":"Count."},"core_name":{"type":["string","null"],"description":"Core."},"max_ghz":{"type":["number","null"],"description":"Max clock. Unit: GHz."}},"required":["count","core_name","max_ghz"]},"description":"CPU configuration. CPU core counts, names and maximum clocks for the exact chipset configuration. Do not copy clocks from another regional chip or generic faster chip edition.."},"cpu_max_ghz":{"type":["number","null"],"description":"Max CPU clock. Unit: GHz. Calculated from other fields."},"gpu":{"type":["string","null"],"description":"GPU."},"npu_tops":{"type":["number","null"],"description":"NPU performance. Unit: TOPS."},"ram_gb":{"type":["array","null"],"items":{"type":"integer"},"description":"RAM. Unit: GB."},"ram_type":{"type":["string","null"],"description":"RAM type. Actual installed memory technology published for the phone. A chipset supported-memory list does not prove which type this device uses.."},"storage_gb":{"type":["array","null"],"items":{"type":"integer"},"description":"Storage (nominal). Unit: GB. Manufacturer nominal capacity before formatting, not available space. Published TB values use decimal SI conversion, 1 TB = 1000 GB. Literal maker GB values stay as published.."},"storage_type":{"type":["string","null"],"description":"Storage type."},"memory_card_slot":{"type":["string","null"],"enum":["none","microsd_dedicated","microsd_shared_sim",null],"description":"Memory card. Options: none (None), microsd_dedicated (microSD (own slot)), microsd_shared_sim (microSD (shares the SIM slot))."},"memory_card_max_gb":{"type":["integer","null"],"description":"Max card size. Unit: GB."},"rear_cameras":{"type":["array","null"],"items":{"type":"object","properties":{"role":{"type":["string","null"],"enum":["main","ultrawide","telephoto","periscope_telephoto","macro","depth","monochrome",null],"description":"Role. Options: main (Main), ultrawide (Ultrawide), telephoto (Telephoto), periscope_telephoto (Periscope telephoto), macro (Macro), depth (Depth), monochrome (Monochrome)."},"resolution_mp":{"type":["number","null"],"description":"Resolution. Unit: MP."},"aperture_f":{"type":["number","null"],"description":"Aperture (f/). f-number. For a variable aperture, the widest supported aperture is stored and all settings belong in the source note.."},"focal_length_mm_equiv":{"type":["number","null"],"description":"Focal length (35 mm equivalent). Unit: mm."},"sensor_size":{"type":["string","null"],"description":"Sensor optical format. Published optical-format notation, such as 1/1.3 inch. This is not the physical sensor diagonal in inches.."},"pixel_size_um":{"type":["number","null"],"description":"Pixel size. Unit: um. Physical pixel pitch of the sensor as published, not an effective binned pixel size unless explicitly identified.."},"autofocus":{"type":["string","null"],"enum":["pdaf","dual_pixel_pdaf","laser","contrast","fixed","quad_pd","octa_pd",null],"description":"Autofocus. Options: pdaf (PDAF), dual_pixel_pdaf (Dual Pixel PDAF), laser (Laser), contrast (Contrast), fixed (Fixed), quad_pd (Quad PD), octa_pd (Octa PD). Exact published autofocus system. Generic autofocus yes cannot be guessed as PDAF or fixed focus.."},"ois":{"type":["boolean","null"],"description":"OIS."},"optical_zoom_x":{"type":["number","null"],"description":"Optical zoom. Unit: x. Physical lens magnification relative to the main view, excluding optical-quality crops and zoom-out range.."},"field_of_view_deg":{"type":["number","null"],"description":"Field of view. Unit: deg."},"sensor_model":{"type":["string","null"],"description":"Sensor."}},"required":["role","resolution_mp","aperture_f","focal_length_mm_equiv","sensor_size","pixel_size_um","autofocus","ois","optical_zoom_x","field_of_view_deg","sensor_model"]},"description":"Physical rear cameras. One row per physical imaging camera. Sensor crops, optical-quality zoom modes, autofocus laser and depth scanners do not add photographic lenses. A colour or multispectral sensor is not a camera row, even when the maker gives it a megapixel figure. A depth camera with its own megapixel figure, such as a 2 MP depth camera, is a row with the depth role. A ToF or lidar scanner is not a row.."},"rear_camera_count":{"type":["integer","null"],"description":"Number of rear cameras. Calculated from other fields."},"main_camera_mp":{"type":["number","null"],"description":"Main camera. Unit: MP. Calculated from other fields."},"max_optical_zoom_x":{"type":["number","null"],"description":"Longest physical-lens optical zoom. Unit: x. Largest optical zoom factor of a physical telephoto lens. Optical-quality sensor crops and advertised zoom ranges are excluded.. Calculated from other fields."},"max_digital_zoom_x":{"type":["number","null"],"description":"Maximum photo digital zoom. Unit: x. Highest stated digital zoom for photos. Video zoom can have a different limit. A total zoom factor such as Up to 100x counts, also when the maker adds AI processing to it.."},"flash":{"type":["string","null"],"description":"Flash."},"rear_camera_features":{"type":["array","null"],"items":{"type":"string"},"description":"Camera features."},"rear_video_modes":{"type":["array","null"],"items":{"type":"object","properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"max_fps":{"type":["integer","null"],"description":"Highest capture rate. Unit: fps. Maximum capture frames per second for this resolution, including documented slow motion. Not playback rate.."}},"required":["width_px","height_px","max_fps"]},"description":"Maximum rear video rate per resolution. Highest stated capture frame rate at each resolution, including slow-motion modes. Lens restrictions and cloud-processed output must be named in the source note.."},"video_max_resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Max video resolution. Calculated from other fields."},"video_hdr_formats":{"type":["array","null"],"items":{"type":"string","enum":["hdr10","hdr10_plus","dolby_vision"]},"description":"Recorded video HDR formats. Options: hdr10 (HDR10), hdr10_plus (HDR10+), dolby_vision (Dolby Vision). HDR formats explicitly supported for recording. Display playback support does not establish camera recording support.."},"video_log_profile":{"type":["boolean","null"],"description":"Log recording."},"video_codecs":{"type":["array","null"],"items":{"type":"string"},"description":"Video recording codecs. Codecs explicitly documented for recorded video. Excludes playback-only codecs and container names such as MP4 and MKV.."},"video_stabilization":{"type":["array","null"],"items":{"type":"string","enum":["ois","eis","gyro_eis","sensor_shift"]},"description":"Video stabilisation. Options: ois (OIS), eis (EIS), gyro_eis (Gyro EIS), sensor_shift (Sensor shift)."},"slow_motion_max_fps":{"type":["integer","null"],"description":"Maximum slow-motion capture rate. Unit: fps. Captured frames per second, not the playback rate. Recording resolution and supported camera belong in the source note.."},"front_cameras":{"type":["array","null"],"items":{"type":"object","properties":{"role":{"type":["string","null"],"enum":["main","ultrawide","telephoto","periscope_telephoto","macro","depth","monochrome",null],"description":"Role. Options: main (Main), ultrawide (Ultrawide), telephoto (Telephoto), periscope_telephoto (Periscope telephoto), macro (Macro), depth (Depth), monochrome (Monochrome)."},"resolution_mp":{"type":["number","null"],"description":"Resolution. Unit: MP."},"aperture_f":{"type":["number","null"],"description":"Aperture (f/). f-number. For a variable aperture, the widest supported aperture is stored and all settings belong in the source note.."},"focal_length_mm_equiv":{"type":["number","null"],"description":"Focal length (35 mm equivalent). Unit: mm."},"sensor_size":{"type":["string","null"],"description":"Sensor optical format. Published optical-format notation, such as 1/1.3 inch. This is not the physical sensor diagonal in inches.."},"pixel_size_um":{"type":["number","null"],"description":"Pixel size. Unit: um. Physical pixel pitch of the sensor as published, not an effective binned pixel size unless explicitly identified.."},"autofocus":{"type":["string","null"],"enum":["pdaf","dual_pixel_pdaf","laser","contrast","fixed","quad_pd","octa_pd",null],"description":"Autofocus. Options: pdaf (PDAF), dual_pixel_pdaf (Dual Pixel PDAF), laser (Laser), contrast (Contrast), fixed (Fixed), quad_pd (Quad PD), octa_pd (Octa PD). Exact published autofocus system. Generic autofocus yes cannot be guessed as PDAF or fixed focus.."},"ois":{"type":["boolean","null"],"description":"OIS."},"optical_zoom_x":{"type":["number","null"],"description":"Optical zoom. Unit: x. Physical lens magnification relative to the main view, excluding optical-quality crops and zoom-out range.."},"field_of_view_deg":{"type":["number","null"],"description":"Field of view. Unit: deg."},"sensor_model":{"type":["string","null"],"description":"Sensor."}},"required":["role","resolution_mp","aperture_f","focal_length_mm_equiv","sensor_size","pixel_size_um","autofocus","ois","optical_zoom_x","field_of_view_deg","sensor_model"]},"description":"Front cameras. One row per physical front imaging camera. Depth or face authentication components are not additional selfie cameras.."},"front_video_modes":{"type":["array","null"],"items":{"type":"object","properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"max_fps":{"type":["integer","null"],"description":"Highest capture rate. Unit: fps. Maximum capture frames per second for this resolution, including documented slow motion. Not playback rate.."}},"required":["width_px","height_px","max_fps"]},"description":"Maximum front video rate per resolution. Highest stated front-camera frame rate at each resolution, including slow motion where documented.."},"front_camera_autofocus":{"type":["boolean","null"],"description":"Front autofocus. Calculated from other fields."},"stereo_speakers":{"type":["boolean","null"],"description":"Stereo speakers."},"headphone_jack":{"type":["boolean","null"],"description":"3.5 mm jack."},"audio_features":{"type":["array","null"],"items":{"type":"string"},"description":"Audio features."},"microphone_count":{"type":["integer","null"],"description":"Microphones. Physical microphones in the phone. Noise reduction channel count does not always establish microphone count.."},"network_technologies":{"type":["array","null"],"items":{"type":"string","enum":["gsm","gprs","edge","cdma","umts","hspa","lte","5g"]},"description":"Network. Options: gsm (GSM), gprs (GPRS), edge (EDGE), cdma (CDMA), umts (UMTS), hspa (HSPA), lte (LTE), 5g (5G)."},"bands_2g":{"type":["array","null"],"items":{"type":"string"},"description":"2G bands. Exact model radio bands. State model and region. Do not substitute a worldwide union for one regional model.."},"bands_3g":{"type":["array","null"],"items":{"type":"string"},"description":"3G bands. Exact model UMTS/WCDMA/HSPA bands or published MHz ranges. State which notation the source uses.."},"bands_4g":{"type":["array","null"],"items":{"type":"string"},"description":"4G bands. Exact model LTE bands, not channel frequencies or aggregate world coverage.."},"bands_5g":{"type":["array","null"],"items":{"type":"string"},"description":"5G bands. Exact model 5G NR bands. A union of sub-6 and mmWave models is not evidence that every variant supports both.."},"nr_modes":{"type":["array","null"],"items":{"type":"string","enum":["sa","nsa"]},"description":"5G modes. Options: sa (SA), nsa (NSA)."},"mmwave":{"type":["boolean","null"],"description":"5G mmWave."},"max_download_mbps":{"type":["integer","null"],"description":"Maximum modem download rate. Unit: Mbps. Theoretical maker-published device/modem rate. Name the radio technology, aggregation and carrier conditions in the source note. Chip capability alone does not establish device support.."},"satellite_connectivity":{"type":["array","null"],"items":{"type":"string","enum":["emergency_sos","messaging","calls","none"]},"description":"Satellite. Options: emergency_sos (Emergency SOS), messaging (Messaging), calls (Calls), none (None)."},"vo_wifi":{"type":["boolean","null"],"description":"Wi-Fi calling."},"wifi_standard":{"type":["string","null"],"enum":["wifi_5","wifi_6","wifi_6e","wifi_7",null],"description":"Wi-Fi. Options: wifi_5 (Wi-Fi 5), wifi_6 (Wi-Fi 6), wifi_6e (Wi-Fi 6E), wifi_7 (Wi-Fi 7)."},"wifi_bands":{"type":["array","null"],"items":{"type":"string","enum":["2.4ghz","5ghz","6ghz"]},"description":"Wi-Fi bands. Options: 2.4ghz (2.4 GHz), 5ghz (5 GHz), 6ghz (6 GHz)."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth."},"bluetooth_codecs":{"type":["array","null"],"items":{"type":"string"},"description":"Bluetooth audio codecs. Wireless audio codecs explicitly supported by the phone. Local audio file formats and codecs supported only by the chipset are excluded.."},"nfc":{"type":["boolean","null"],"description":"NFC."},"uwb":{"type":["boolean","null"],"description":"Ultra-wideband."},"positioning":{"type":["array","null"],"items":{"type":"string"},"description":"Positioning."},"dual_frequency_gnss":{"type":["boolean","null"],"description":"Dual-frequency GNSS. Multiple GNSS signal frequencies expressly documented by the maker, not a count of satellite constellations.."},"usb_connector":{"type":["string","null"],"enum":["usb_c","lightning","micro_usb",null],"description":"Connector. Options: usb_c (USB-C), lightning (Lightning), micro_usb (Micro-USB)."},"usb_version":{"type":["string","null"],"description":"USB data standard. USB data protocol/speed, distinct from the USB-C connector shape, cable rating and charging capability.."},"display_output":{"type":["boolean","null"],"description":"Video out over USB. Wired external display output over the physical port. Casting or wireless desktop mode does not establish wired video support.."},"infrared_blaster":{"type":["boolean","null"],"description":"IR blaster."},"fm_radio":{"type":["boolean","null"],"description":"FM radio."},"fingerprint_sensor":{"type":["string","null"],"enum":["ultrasonic_under_display","optical_under_display","side_button","rear","none","under_display",null],"description":"Fingerprint. Options: ultrasonic_under_display (Ultrasonic, under-display), optical_under_display (Optical, under-display), side_button (Side button), rear (Rear), none (None), under_display (Under-display, type not stated). Under-display, type not stated is for a maker that says in-display or under-display but not optical or ultrasonic.."},"face_unlock":{"type":["string","null"],"enum":["3d","2d","none","type_not_stated",null],"description":"Face unlock. Options: 3d (3D), 2d (2D), none (None), type_not_stated (Yes, type not stated). Yes, type not stated is for a maker that names face unlock or facial recognition but not 2D or 3D.."},"sensors":{"type":["array","null"],"items":{"type":"string"},"description":"Sensors."},"hardware_buttons":{"type":["array","null"],"items":{"type":"string"},"description":"Extra buttons. Additional physical controls beyond ordinary power and volume buttons. On-screen navigation buttons are excluded.."},"haptics":{"type":["string","null"],"description":"Haptic motor."},"battery_capacity_mah":{"type":["integer","null"],"description":"Rated battery capacity. Unit: mAh. Rated/minimum manufacturer capacity when available. Multi-cell pack-equivalent mAh must be explicitly published and identified in the source note. Regional hardware must match.."},"battery_capacity_typical_mah":{"type":["integer","null"],"description":"Battery capacity (typical). Unit: mAh. Manufacturer typical capacity, kept separate from rated/minimum capacity. For series cells, identify any explicitly published pack-equivalent figure.."},"battery_capacity_wh":{"type":["number","null"],"description":"Rated battery energy. Unit: Wh. Rated pack energy in watt-hours. Do not calculate it from rounded voltage or mAh. Typical energy, when different, belongs in the source note.."},"battery_chemistry":{"type":["string","null"],"enum":["li_ion","li_po","silicon_carbon","other",null],"description":"Battery type. Options: li_ion (Li-ion), li_po (Li-Po), silicon_carbon (Silicon-carbon), other (Other)."},"battery_life_claimed":{"type":["array","null"],"items":{"type":"object","properties":{"use_case":{"type":["string","null"],"enum":["video_playback","video_streaming","audio_playback","web_browsing","talk_time","standby","mixed_use","gaming",null],"description":"Use case. Options: video_playback (Video playback), video_streaming (Video streaming), audio_playback (Audio playback), web_browsing (Web browsing), talk_time (Talk time), standby (Standby), mixed_use (Mixed use), gaming (Gaming)."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."}},"required":["use_case","hours"]},"description":"Claimed battery life. Maker runtime claim for a named use case. Identify up-to/at-least wording, regional battery hardware and test conditions in the source note.."},"wired_charging_max_w":{"type":["number","null"],"description":"Maximum wired charging power (claimed). Unit: W. Manufacturer-stated handset charging input maximum. An adapter rating, power needed to achieve maximum speed, common-charger requirement or reviewer peak draw does not establish this value.."},"wired_charging_standards":{"type":["array","null"],"items":{"type":"string"},"description":"Wired charging standards."},"charge_time_0_50_min":{"type":["integer","null"],"description":"Charge 0 to 50% (claimed). Unit: min. Manufacturer time to 50% from the stated starting level. A 55% or 75% claim is not interchangeable. Charger, cable and conditions belong in the source note.."},"charge_time_0_100_min":{"type":["integer","null"],"description":"Charge 0 to 100% (claimed). Unit: min. Manufacturer full-charge claim. A review measurement uses measured_charge_time_min instead.."},"wireless_charging":{"type":["boolean","null"],"description":"Wireless charging."},"wireless_charging_max_w":{"type":["number","null"],"description":"Wireless charging power. Unit: W."},"wireless_charging_standards":{"type":["array","null"],"items":{"type":"string","enum":["qi","qi2","qi2_2","magsafe","proprietary","qi2_ready"]},"description":"Wireless standards. Options: qi (Qi), qi2 (Qi2), qi2_2 (Qi2.2), magsafe (MagSafe), proprietary (Proprietary), qi2_ready (Qi2 Ready (magnetic case required)). Device wireless charging standard or qualification. Qi2 Ready needs a compatible magnetic case and does not mean built-in handset magnets.."},"magnetic_alignment":{"type":["boolean","null"],"description":"Built-in alignment magnets. True only for alignment magnets built into the handset. A magnetic case or accessory does not make this true.."},"reverse_wireless_charging_w":{"type":["number","null"],"description":"Reverse wireless output power. Unit: W. Phone output power while charging another device wirelessly, not its wireless input rating.."},"reverse_wired_charging":{"type":["boolean","null"],"description":"Reverse wired."},"charger_in_box":{"type":["boolean","null"],"description":"Charger in box. Whether a mains charging adapter is included in the exact regional retail bundle. A USB cable alone is not a charger.."},"charger_in_box_w":{"type":["integer","null"],"description":"Included adapter rated power. Unit: W. Rated power of the included adapter, distinct from the phone maximum charging input.."},"benchmark_geekbench_single":{"type":["integer","null"],"description":"Geekbench single-core. Unit: points. Reviewer CPU single-core result. Geekbench version, tested configuration and modes belong in the source note. Do not combine versions.."},"benchmark_geekbench_multi":{"type":["integer","null"],"description":"Geekbench multi-core. Unit: points. Reviewer CPU multi-core result. Geekbench version and tested configuration belong in the source note.."},"benchmark_3dmark_wild_life_extreme":{"type":["integer","null"],"description":"3DMark Wild Life Extreme. Unit: points. Reviewer Wild Life Extreme score. Unlimited, Original, Solar Bay, stress-test stability and frame rates are different measurements. Version and run/loop conditions belong in the source note.."},"benchmark_antutu":{"type":["integer","null"],"description":"AnTuTu. Unit: points. Reviewer AnTuTu total score. Test version, operating system and tested RAM/storage belong in the source note. Cross-version and cross-OS scores are not directly comparable.."},"measured_brightness_nits":{"type":["number","null"],"description":"Display brightness (measured). Unit: nits. Reviewer brightness result. Window size, manual/auto or HDR mode and test method belong in the source note. Not automatically a sustained full-screen peak. On a foldable, the main inner screen.."},"measured_pwm_hz":{"type":["integer","null"],"description":"PWM dimming (measured). Unit: Hz. Measured by a reviewer, not claimed by the maker."},"measured_battery_active_use_h":{"type":["number","null"],"description":"Mixed-use battery life (measured). Unit: h. Reviewer mixed-use active endurance. Identify the test method. Continuous web browsing or video-only tests cannot populate this field.."},"measured_charge_time_min":{"type":["integer","null"],"description":"Full charge time (measured). Unit: min. Reviewer time to a full charge, with start/end percentage and charger identified. A 15/30-minute percentage result is not a full-charge time.."},"measured_loudspeaker_lufs":{"type":["number","null"],"description":"Loudspeaker loudness (measured). Unit: LUFS. Reviewer integrated loudness in LUFS. Less negative numbers mean louder output. This is not sound pressure level in dB.."},"eu_energy_class":{"type":["string","null"],"enum":["A","B","C","D","E","F","G",null],"description":"EU energy class. Options: A (A), B (B), C (C), D (D), E (E), F (F), G (G)."},"eu_battery_endurance_per_cycle_h":{"type":["number","null"],"description":"Battery endurance per cycle (EU test). Unit: h. Standardized EU endurance test result for the exact registered model. Preserve only the precision the source publishes. This is not a normal mixed-use or video-playback runtime.."},"eu_battery_endurance_cycles":{"type":["integer","null"],"description":"Battery endurance in cycles (EU test). Unit: cycles. Minimum standardized charge cycles before the specified remaining capacity threshold. Notes retain greater-than or at-least qualifiers. EPREL prints this value in hundreds, so 10 there is stored as 1000.."},"eu_free_fall_class":{"type":["string","null"],"enum":["A","B","C","D","E",null],"description":"Drop resistance class. Options: A (A), B (B), C (C), D (D), E (E)."},"eu_repairability_class":{"type":["string","null"],"enum":["A","B","C","D","E",null],"description":"Repairability class. Options: A (A), B (B), C (C), D (D), E (E)."},"sar_head_w_kg":{"type":["number","null"],"description":"SAR head (US). Unit: W/kg. Highest published head SAR under the US 1 g tissue method for the exact model. Record separation and conditions when stated.."},"sar_body_w_kg":{"type":["number","null"],"description":"SAR body (US). Unit: W/kg. Highest published body SAR under the US 1 g tissue method. Do not substitute the limb result or EU 10 g result.."},"sar_eu_head_w_kg":{"type":["number","null"],"description":"SAR head (EU). Unit: W/kg. Highest published head SAR under the EU 10 g tissue method for the exact model.."},"sar_eu_body_w_kg":{"type":["number","null"],"description":"SAR body (EU). Unit: W/kg. Highest published body SAR under the EU 10 g tissue method, excluding separate limb values.."},"hearing_aid_rating":{"type":["string","null"],"description":"Hearing aid compatibility. Published hearing-aid coupling or rating. Older M/T ratings, ASHA/HAP protocol support and conversational gain are different claims and must be named as published.."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","form_factor","os_updates_years","security_updates_years","security_updates_until","height_mm","width_mm","thickness_mm","thickness_with_camera_mm","folded_dimensions_mm","weight_g","frame_material","front_material","back_material","ip_rating","water_resistance_depth_m","water_resistance_minutes","mil_std_810","sim_slots","stylus_support","stylus_name","screen_size_in","resolution","pixel_density_ppi","aspect_ratio","display_technology","display_technology_name","refresh_rate_max_hz","refresh_rate_min_hz","touch_sampling_rate_hz","touch_sampling_rate_instant_hz","brightness_typical_nits","brightness_hbm_nits","brightness_peak_nits","brightness_min_nits","color_depth_bits","dci_p3_coverage_pct","hdr_formats","pwm_dimming_hz","always_on_display","display_cutout","cover_screen_size_in","cover_screen_resolution","cover_screen_refresh_rate_hz","cover_screen_technology","os_at_launch","os_skin","os_latest","chipset","process_node_nm","cpu_core_count","cpu_clusters","cpu_max_ghz","gpu","npu_tops","ram_gb","ram_type","storage_gb","storage_type","memory_card_slot","memory_card_max_gb","rear_cameras","rear_camera_count","main_camera_mp","max_optical_zoom_x","max_digital_zoom_x","flash","rear_camera_features","rear_video_modes","video_max_resolution","video_hdr_formats","video_log_profile","video_codecs","video_stabilization","slow_motion_max_fps","front_cameras","front_video_modes","front_camera_autofocus","stereo_speakers","headphone_jack","audio_features","microphone_count","network_technologies","bands_2g","bands_3g","bands_4g","bands_5g","nr_modes","mmwave","max_download_mbps","satellite_connectivity","vo_wifi","wifi_standard","wifi_bands","bluetooth_version","bluetooth_codecs","nfc","uwb","positioning","dual_frequency_gnss","usb_connector","usb_version","display_output","infrared_blaster","fm_radio","fingerprint_sensor","face_unlock","sensors","hardware_buttons","haptics","battery_capacity_mah","battery_capacity_typical_mah","battery_capacity_wh","battery_chemistry","battery_life_claimed","wired_charging_max_w","wired_charging_standards","charge_time_0_50_min","charge_time_0_100_min","wireless_charging","wireless_charging_max_w","wireless_charging_standards","magnetic_alignment","reverse_wireless_charging_w","reverse_wired_charging","charger_in_box","charger_in_box_w","benchmark_geekbench_single","benchmark_geekbench_multi","benchmark_3dmark_wild_life_extreme","benchmark_antutu","measured_brightness_nits","measured_pwm_hz","measured_battery_active_use_h","measured_charge_time_min","measured_loudspeaker_lufs","eu_energy_class","eu_battery_endurance_per_cycle_h","eu_battery_endurance_cycles","eu_free_fall_class","eu_repairability_class","sar_head_w_kg","sar_body_w_kg","sar_eu_head_w_kg","sar_eu_body_w_kg","hearing_aid_rating","in_the_box"],"description":"Every phone field in schema order. Unknown values are null."},"SmartwatchSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"segment":{"type":["string","null"],"enum":["smartwatch","sport","outdoor","dive","hybrid","kids",null],"description":"Segment. Options: smartwatch (Smartwatch), sport (Sport), outdoor (Outdoor), dive (Dive), hybrid (Hybrid), kids (Kids)."},"os_updates_years":{"type":["integer","null"],"description":"OS updates promised. Unit: years. Years of explicitly promised OS updates. A security-only support period does not establish an OS-upgrade promise.."},"security_updates_until":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Security updates until. Exact end date published for security-update support of this model. Do not calculate it from a stated number of years. A security-only period does not promise OS upgrades.."},"case_sizes_mm":{"type":["array","null"],"items":{"type":"number"},"description":"Case size. Unit: mm. Marketed case-size options. The marketed size can differ from physical case height, such as ceramic editions. Base dimensions describe the smallest base-material case.."},"case_shape":{"type":["string","null"],"enum":["round","rectangular","other",null],"description":"Case shape. Options: round (Round), rectangular (Rectangular), other (Other)."},"case_material":{"type":["string","null"],"enum":["aluminium","stainless_steel","titanium","plastic","fibre_reinforced_polymer","ceramic","other","mixed",null],"description":"Case material. Options: aluminium (Aluminium), stainless_steel (Stainless steel), titanium (Titanium), plastic (Plastic), fibre_reinforced_polymer (Fibre-reinforced polymer), ceramic (Ceramic), other (Other), mixed (Mixed materials). Material of the housing body, not just the bezel. Use Mixed when the maker describes a mixture of housing/frame materials. Read the published-material field for the parts and proportions.."},"case_material_name":{"type":["string","null"],"description":"Case material (as published)."},"back_material":{"type":["string","null"],"description":"Back. Material of the back of the smallest base-material case. Other materials or regional editions can differ. See source notes.."},"case_dimensions_mm":{"type":["object","null"],"properties":{"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"thickness_mm":{"type":["number","null"],"description":"Thickness. Unit: mm."}},"required":["height_mm","width_mm","thickness_mm"],"description":"Case dimensions. Physical case height, width and thickness. The source note states exclusions such as the heart-rate sensor protrusion.."},"weight_g":{"type":["number","null"],"description":"Weight (case only). Unit: g. Watch body without a strap. An unqualified published weight must not be assumed to exclude the strap.."},"weight_with_strap_g":{"type":["number","null"],"description":"Weight with strap. Unit: g. Watch with the stated strap attached. Strap material and case size belong in the source note. Reviewer measurements belong in measured fields.."},"water_resistance_atm":{"type":["integer","null"],"description":"Water resistance. Unit: ATM. Static water-pressure rating in atmospheres. It is not a safe swimming or diving depth. Diving limits are listed separately.."},"water_resistance_standard":{"type":["string","null"],"description":"Water resistance standard."},"ip_rating":{"type":["array","null"],"items":{"type":"string"},"description":"Dust and water rating."},"dive_rating":{"type":["string","null"],"description":"Dive rating."},"dive_max_depth_m":{"type":["number","null"],"description":"Max dive depth. Unit: m. Maker-rated depth for the stated diving use, not a conversion from the water-resistance pressure rating.."},"mil_std_810":{"type":["boolean","null"],"description":"MIL-STD-810. Maker claim that the watch was tested against specified MIL-STD-810 methods. It is not a guarantee for every military-standard test.."},"mil_std_810_tests":{"type":["array","null"],"items":{"type":"string"},"description":"MIL-STD-810 tests."},"operating_temperature_c":{"type":["object","null"],"properties":{"min_c":{"type":["number","null"],"description":"Min. Unit: °C."},"max_c":{"type":["number","null"],"description":"Max. Unit: °C."}},"required":["min_c","max_c"],"description":"Operating temperature. Published operating range. Source notes identify on-wrist limits and other operating conditions. Storage or charging limits are excluded.."},"display_technology":{"type":["string","null"],"enum":["oled","ltpo_oled","microled","mip","lcd","dual_layer",null],"description":"Display type. Options: oled (OLED), ltpo_oled (LTPO OLED), microled (MicroLED), mip (MIP), lcd (LCD), dual_layer (Dual-layer)."},"display_technology_name":{"type":["string","null"],"description":"Display type (as published)."},"screen_size_in":{"type":["number","null"],"description":"Screen size. Unit: in. Published active display diagonal for a rectangular display, or diameter for a round display. Do not calculate it from pixels or display area.."},"resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Resolution."},"pixel_density_ppi":{"type":["number","null"],"description":"Pixel density. Unit: ppi. Published pixel density. A rectangular diagonal formula must not be applied to a round display.."},"display_area_mm2":{"type":["number","null"],"description":"Display area. Unit: mm²."},"touchscreen":{"type":["boolean","null"],"description":"Touchscreen."},"refresh_rate_max_hz":{"type":["integer","null"],"description":"Max refresh rate. Unit: Hz. Highest published display refresh rate in active operation.."},"refresh_rate_min_hz":{"type":["integer","null"],"description":"Min refresh rate. Unit: Hz. Lowest published display refresh rate, usually in always-on mode. It is not the active-use minimum unless stated.."},"brightness_peak_nits":{"type":["number","null"],"description":"Peak brightness. Unit: nits. Maker peak-brightness claim. It may apply to a small area or bright ambient light. Full-screen limits and battery/temperature conditions belong in source notes.."},"brightness_min_nits":{"type":["number","null"],"description":"Minimum brightness. Unit: nits."},"always_on_display":{"type":["boolean","null"],"description":"Always-on display."},"display_cover_material":{"type":["string","null"],"enum":["sapphire","gorilla_glass","other_glass","plastic",null],"description":"Display cover. Options: sapphire (Sapphire), gorilla_glass (Gorilla Glass), other_glass (Other glass), plastic (Plastic)."},"display_cover":{"type":["string","null"],"description":"Display cover (as published)."},"platform":{"type":["string","null"],"enum":["watchos","wear_os","harmonyos","proprietary",null],"description":"Platform. Options: watchos (watchOS), wear_os (Wear OS), harmonyos (HarmonyOS), proprietary (Proprietary)."},"os_at_launch":{"type":["string","null"],"description":"OS at launch."},"os_skin":{"type":["string","null"],"description":"Software."},"os_latest":{"type":["string","null"],"description":"Latest OS."},"compatible_phone_os":{"type":["array","null"],"items":{"type":"string","enum":["ios","android","harmonyos"]},"description":"Works with. Options: ios (iOS), android (Android), harmonyos (HarmonyOS)."},"phone_os_requirement":{"type":["string","null"],"description":"Phone requirement."},"third_party_apps":{"type":["boolean","null"],"description":"App store."},"voice_assistants":{"type":["array","null"],"items":{"type":"string"},"description":"Voice assistants."},"chipset":{"type":["string","null"],"description":"Chipset."},"process_node_nm":{"type":["number","null"],"description":"Process. Unit: nm."},"cpu_core_count":{"type":["integer","null"],"description":"CPU cores."},"cpu_clusters":{"type":["array","null"],"items":{"type":"object","properties":{"count":{"type":["integer","null"],"description":"Count."},"core_name":{"type":["string","null"],"description":"Core."},"max_ghz":{"type":["number","null"],"description":"Max clock. Unit: GHz."}},"required":["count","core_name","max_ghz"]},"description":"CPU configuration."},"cpu_max_ghz":{"type":["number","null"],"description":"Max CPU clock. Unit: GHz. Calculated from other fields."},"gpu":{"type":["string","null"],"description":"GPU."},"low_power_coprocessor":{"type":["string","null"],"description":"Low-power coprocessor."},"ram_gb":{"type":["array","null"],"items":{"type":"number"},"description":"RAM. Unit: GB. Keep published GB values as stated. Convert a source explicitly labelled MB using 1000 MB per GB and preserve its original figure and unit in the note. Do not assume MB means MiB. Convert explicit MiB or GiB to decimal GB through their byte definitions, recording the conversion in the note. This normalization does not establish an exact physical byte count.."},"storage_gb":{"type":["array","null"],"items":{"type":"number"},"description":"Storage. Unit: GB. Total built-in storage the maker states, in decimal GB. Space available to the user is lower and goes in the source note. A figure the maker gives only as available space is not stored.."},"heart_rate_sensor":{"type":["string","null"],"description":"Heart rate sensor."},"ecg":{"type":["boolean","null"],"description":"ECG capability. Electrical heart sensing hardware with an ECG capability. The ECG app can require an eligible country, age and paired phone.."},"spo2":{"type":["boolean","null"],"description":"Blood oxygen sensing. Blood-oxygen sensing capability. App availability and medical status vary by market.."},"skin_temperature":{"type":["boolean","null"],"description":"Skin temperature sensing. A sensor or supported function that measures skin temperature. It is not a core-body thermometer.."},"blood_pressure":{"type":["string","null"],"enum":["none","hypertension_notifications","cuff_calibrated","built_in_cuff",null],"description":"Blood pressure feature. Options: none (None), hypertension_notifications (Hypertension notifications), cuff_calibrated (Calibrated with a cuff), built_in_cuff (Built-in cuff). Published blood-pressure feature category. Hypertension notifications are not numerical blood-pressure readings.."},"bioimpedance":{"type":["boolean","null"],"description":"Body composition sensor."},"eda_sensor":{"type":["boolean","null"],"description":"Skin conductance (EDA)."},"medical_clearances":{"type":["array","null"],"items":{"type":"string"},"description":"Medical clearances. Named regulatory clearances and their jurisdiction. General water resistance or an ECG sensor does not establish medical clearance.."},"accelerometer":{"type":["boolean","null"],"description":"Accelerometer."},"accelerometer_max_g":{"type":["number","null"],"description":"Accelerometer range. Unit: G."},"gyroscope":{"type":["boolean","null"],"description":"Gyroscope."},"barometer":{"type":["boolean","null"],"description":"Barometric altimeter."},"compass":{"type":["boolean","null"],"description":"Compass."},"ambient_light_sensor":{"type":["boolean","null"],"description":"Ambient light sensor."},"depth_gauge":{"type":["boolean","null"],"description":"Depth gauge."},"depth_gauge_max_m":{"type":["number","null"],"description":"Depth gauge range. Unit: m. Published measurement range of the depth gauge, distinct from maximum diving depth and water-pressure resistance.."},"water_temperature_sensor":{"type":["boolean","null"],"description":"Water temperature sensor."},"health_features":{"type":["array","null"],"items":{"type":"string","enum":["continuous_heart_rate","heart_rate_alerts","irregular_rhythm_notifications","afib_history","ecg_app","blood_oxygen_app","hrv","sleep_tracking","sleep_stages","sleep_apnea_notifications","stress_tracking","readiness_score","cycle_tracking","temperature_based_ovulation","hypertension_notifications","body_composition","noise_monitoring"]},"description":"Health features. Options: continuous_heart_rate (Continuous heart rate), heart_rate_alerts (Heart rate alerts), irregular_rhythm_notifications (Irregular rhythm notifications), afib_history (AFib history), ecg_app (ECG app), blood_oxygen_app (Blood oxygen app), hrv (Heart rate variability), sleep_tracking (Sleep tracking), sleep_stages (Sleep stages), sleep_apnea_notifications (Sleep apnea notifications), stress_tracking (Stress tracking), readiness_score (Readiness score), cycle_tracking (Cycle tracking), temperature_based_ovulation (Temperature-based ovulation), hypertension_notifications (Hypertension notifications), body_composition (Body composition), noise_monitoring (Noise monitoring). Supported health functions with country, phone and subscription restrictions in the source notes. Upcoming functions are not counted as available.."},"fitness_features":{"type":["array","null"],"items":{"type":"string","enum":["auto_workout_detection","vo2_max","training_load","recovery_advice","running_dynamics","running_power","pool_swim","open_water_swim","strength_rep_counting","interval_workouts","route_navigation","turn_by_turn_navigation","trackback","climb_detection","golf_courses","ski_resort_maps"]},"description":"Fitness features. Options: auto_workout_detection (Automatic workout detection), vo2_max (VO2 max), training_load (Training load), recovery_advice (Recovery advice), running_dynamics (Running dynamics), running_power (Running power), pool_swim (Pool swim), open_water_swim (Open water swim), strength_rep_counting (Strength rep counting), interval_workouts (Interval workouts), route_navigation (Route navigation), turn_by_turn_navigation (Turn-by-turn navigation), trackback (Trackback), climb_detection (Climb detection), golf_courses (Golf courses), ski_resort_maps (Ski resort maps). Supported workout functions. A sport-profile name alone does not prove advanced metrics such as running power or running dynamics. Trackback follows the recorded route back to the start. A compass arrow that points straight to the start does not count.."},"sport_profiles_count":{"type":["integer","null"],"description":"Sport profiles. Published count of distinct sport/activity profiles. A claim such as 180+ is not an exact integer count.."},"dive_modes":{"type":["array","null"],"items":{"type":"string","enum":["snorkel","scuba_single_gas","scuba_multi_gas","freedive","gauge"]},"description":"Dive modes. Options: snorkel (Snorkel), scuba_single_gas (Scuba, single gas), scuba_multi_gas (Scuba, multi gas), freedive (Freedive), gauge (Gauge). Actual supported dive modes. Water resistance or a depth app alone does not establish decompression-capable scuba support.."},"external_sensor_types":{"type":["array","null"],"items":{"type":"string","enum":["heart_rate_strap","power_meter","speed_cadence","foot_pod","smart_trainer"]},"description":"External sensors. Options: heart_rate_strap (Heart rate strap), power_meter (Power meter), speed_cadence (Speed and cadence), foot_pod (Foot pod), smart_trainer (Smart trainer). Types of external workout sensors the watch can pair with. GPS reception, phone data and built-in sensors do not qualify.."},"fall_detection":{"type":["boolean","null"],"description":"Fall detection. Automatic fall detection. Incident detection restricted to recorded workouts is not counted as general fall detection.."},"crash_detection":{"type":["boolean","null"],"description":"Car crash detection."},"emergency_sos":{"type":["boolean","null"],"description":"Emergency SOS. A manual emergency alert to emergency services or preset contacts. Source notes identify the recipient, paired-phone requirement and country limits. Satellite is listed separately.."},"emergency_siren_db":{"type":["number","null"],"description":"Emergency siren. Unit: dB. Published or measured siren sound level in decibels. Audible distance alone does not establish this value. Measurement distance belongs in source notes.."},"live_tracking":{"type":["boolean","null"],"description":"Live location sharing. Shares live location during supported use. A paired phone or data subscription may be required.."},"led_flashlight":{"type":["boolean","null"],"description":"Dedicated LED flashlight. A dedicated hardware LED flashlight. Lighting the display white is not counted.."},"positioning":{"type":["array","null"],"items":{"type":"string"},"description":"Positioning. Published satellite systems and signal bands. Do not infer bands from dual-frequency support alone.."},"dual_frequency_gnss":{"type":["boolean","null"],"description":"Dual-band GNSS. Maker-stated dual-frequency satellite reception. Supported constellations and signal bands are listed separately.."},"offline_maps":{"type":["boolean","null"],"description":"Offline maps. Map data stored on the watch and usable without live phone data. GPX routes or breadcrumb tracks alone are not offline maps.."},"bluetooth":{"type":["boolean","null"],"description":"Bluetooth. Published Bluetooth support for this model. The version is recorded separately. Unknown version does not mean the radio is absent.."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth version."},"wifi":{"type":["boolean","null"],"description":"Wi-Fi. Published Wi-Fi support for this model. The standard and bands are recorded separately. Unknown standard does not mean Wi-Fi is absent.."},"wifi_standard":{"type":["string","null"],"enum":["wifi_4","wifi_5","wifi_6","wifi_6e","wifi_7",null],"description":"Wi-Fi standard. Options: wifi_4 (Wi-Fi 4), wifi_5 (Wi-Fi 5), wifi_6 (Wi-Fi 6), wifi_6e (Wi-Fi 6E), wifi_7 (Wi-Fi 7)."},"wifi_bands":{"type":["array","null"],"items":{"type":"string","enum":["2.4ghz","5ghz","6ghz"]},"description":"Wi-Fi bands. Options: 2.4ghz (2.4 GHz), 5ghz (5 GHz), 6ghz (6 GHz)."},"cellular":{"type":["boolean","null"],"description":"Cellular. True when a cellular edition is sold. A variant row states whether that individual model has cellular hardware.."},"network_technologies":{"type":["array","null"],"items":{"type":"string","enum":["lte","5g"]},"description":"Network. Options: lte (LTE), 5g (5G)."},"bands_4g":{"type":["array","null"],"items":{"type":"string"},"description":"4G bands. Published LTE bands for the stated regional cellular model. Do not transfer bands to another region or Wi-Fi-only model.."},"bands_5g":{"type":["array","null"],"items":{"type":"string"},"description":"5G bands. Published 5G NR bands for the stated regional cellular model. RedCap support does not establish conventional full-bandwidth phone 5G.."},"nfc":{"type":["boolean","null"],"description":"NFC. Some regions sell an NFC edition, so it is per variant.."},"nfc_payments":{"type":["boolean","null"],"description":"Contactless payments."},"payment_services":{"type":["array","null"],"items":{"type":"string"},"description":"Payment services."},"uwb":{"type":["boolean","null"],"description":"Ultra-wideband."},"satellite_connectivity":{"type":["array","null"],"items":{"type":"string","enum":["emergency_sos","messaging","location_sharing","none"]},"description":"Satellite. Options: emergency_sos (Emergency SOS), messaging (Messaging), location_sharing (Location sharing), none (None)."},"ant_plus":{"type":["boolean","null"],"description":"ANT+."},"speaker":{"type":["boolean","null"],"description":"Speaker."},"microphone_count":{"type":["integer","null"],"description":"Microphones."},"calls_on_watch":{"type":["string","null"],"enum":["cellular_and_phone","phone_only","none",null],"description":"Calls on the watch. Options: cellular_and_phone (Cellular or phone), phone_only (Phone only), none (None). Voice-call capability of the marketed model, including sold cellular editions. Variant radio capability and paired-phone requirements still apply.."},"offline_music":{"type":["boolean","null"],"description":"Music on the watch. Plays audio stored on the watch. Remote control of phone playback or streaming alone does not qualify.."},"button_count":{"type":["integer","null"],"description":"Buttons. Physical controls used to operate the watch, excluding the rotating crown and strap-release buttons. A clickable rotating crown is counted only in Crown.."},"hardware_buttons":{"type":["array","null"],"items":{"type":"string"},"description":"Named operating buttons. Names of operating buttons, excluding the crown and strap-release controls.."},"crown":{"type":["string","null"],"enum":["rotating","rotating_haptic","none",null],"description":"Crown. Options: rotating (Rotating), rotating_haptic (Rotating haptic), none (None). A crown that rotates to control the interface. A round push button that does not rotate is not a crown.."},"rotating_bezel":{"type":["string","null"],"enum":["physical","touch","none",null],"description":"Rotating bezel. Options: physical (Physical), touch (Touch), none (None). Physical rotation or touch gestures around the display edge. A fixed decorative bezel is None.."},"gesture_controls":{"type":["array","null"],"items":{"type":"string"},"description":"Gestures."},"battery_capacity_mah":{"type":["integer","null"],"description":"Battery capacity. Unit: mAh. Published battery capacity for the stated case size. Rated and typical capacity are distinguished in source notes.."},"battery_life_claimed":{"type":["array","null"],"items":{"type":"object","properties":{"mode":{"type":["string","null"],"enum":["smartwatch","always_on","low_power","time_only","gps","gps_all_systems","gps_dual_frequency","gps_with_music","max_battery_gps","gps_power_saving","expedition","light_use","heavy_use","extended_gps","gps_always_on","gps_all_systems_always_on","gps_dual_frequency_always_on","gps_all_systems_with_music","gps_autoselect","gps_autoselect_with_music","gps_dual_frequency_with_music","low_power_light_use","low_power_always_on",null],"description":"Mode. Options: smartwatch (Smartwatch), always_on (Always-on), low_power (Low power), time_only (Time only), gps (GPS), gps_all_systems (GPS, all systems), gps_dual_frequency (GPS, dual-band), gps_with_music (GPS with music), max_battery_gps (Max battery GPS), gps_power_saving (GPS, power saving), expedition (Expedition), light_use (Light use), heavy_use (Heavy use), extended_gps (Extended GPS workout), gps_always_on (GPS, always-on display), gps_all_systems_always_on (GPS, all systems, always-on display), gps_dual_frequency_always_on (GPS, dual-band, always-on display), gps_all_systems_with_music (GPS, all systems with music), gps_autoselect (GPS, automatic system selection), gps_autoselect_with_music (GPS, automatic system selection with music), gps_dual_frequency_with_music (GPS, dual-band with music), low_power_light_use (Low power, light use), low_power_always_on (Low power, always-on)."},"with_solar":{"type":["boolean","null"],"description":"With solar."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."}},"required":["mode","with_solar","hours"]},"description":"Claimed battery life. Maker endurance claims with distinct operating modes and case sizes. With solar describes augmentation of that estimate, not hardware capability. Use false for ordinary claims without solar augmentation, true for explicitly solar-aided claims, and omit it when solar qualification is unclear. Source notes state AOD, GNSS, music and solar conditions. Do not create a normal-use row from an AOD-only claim. Low power denotes the maker battery-saver mode. Keep its typical, light-use and always-on claims separate from standard-mode claims. GPS power saving identifies an intermediate reduced-accuracy GNSS saving preset. Source notes retain the maker's preset name and published conditions. Max battery GPS is the distinct maximum-saving claim. When the maker has only one GPS saving preset, it is GPS power saving.."},"battery_life_smartwatch_claimed_h":{"type":["number","null"],"description":"Smartwatch mode (claimed). Unit: h. Maker normal-use smartwatch claim without solar. A watch with only an explicit AOD-mode claim has no value here. Workloads differ and source notes must be read.. Calculated from other fields."},"battery_life_always_on_claimed_h":{"type":["number","null"],"description":"AOD battery life (up to). Unit: h. Maker claimed smartwatch endurance with the always-on display enabled and without solar, for the base case. Source notes preserve workload and case conditions. This is a claim, not a measured test or an AOD-off estimate.. Calculated from other fields."},"battery_life_gps_claimed_h":{"type":["number","null"],"description":"GPS mode (claimed). Unit: h. Maker regular GPS/GNSS activity claim without solar, for the base case. AOD, multi-band, music and power-saving conditions have separate rows when published.. Calculated from other fields."},"solar_charging":{"type":["boolean","null"],"description":"Solar charging. Published solar charging hardware capability. An ordinary battery estimate without solar augmentation does not prove that the watch lacks solar charging hardware.."},"charging_method":{"type":["string","null"],"enum":["magnetic_puck","magnetic_pins","clip_pins","dock","qi_wireless","usb_c_port","proprietary_plug","proprietary_wireless",null],"description":"Charging method. Options: magnetic_puck (Magnetic puck), magnetic_pins (Magnetic pins), clip_pins (Clip pins), dock (Dock), qi_wireless (Qi wireless), usb_c_port (USB-C port), proprietary_plug (Proprietary plug), proprietary_wireless (Proprietary wireless charger). The connection at the watch, not the cable end at the USB adapter. A proprietary inductive puck is not Qi unless interoperability is explicitly established.."},"charging_notes":{"type":["string","null"],"description":"Charging guidance. Published charging requirements, nominal estimates and compatibility guidance. Keep adapter ratings separate from power accepted by the watch.."},"charging_max_w":{"type":["number","null"],"description":"Max charging power (watch). Unit: W. Published maximum charging power at the watch. Adapter rating or charger input power does not prove the power accepted by the watch.."},"fast_charging":{"type":["boolean","null"],"description":"Fast charging. An explicit fast-charging capability claim. A short charging time or high adapter wattage alone does not qualify.."},"quick_charge":{"type":["object","null"],"properties":{"charge_min":{"type":["integer","null"],"description":"Charge time. Unit: min."},"use_h":{"type":["number","null"],"description":"Use time. Unit: h."}},"required":["charge_min","use_h"],"description":"Quick charge claim. Maker claim for usage from a short charge. Source notes identify the usage workload, such as normal use or sleep tracking.."},"charge_time_0_80_min":{"type":["integer","null"],"description":"Charge 0 to 80% (claimed). Unit: min. Maker claim for charging an empty battery to 80%. Charger and approximate qualifiers belong in source notes.."},"charge_time_0_100_min":{"type":["integer","null"],"description":"Full charge time (claimed). Unit: min. Maker advertised nominal full-charge duration. Approximate or theoretical maker estimates are allowed, with their conditions in source notes. Partial-charge intervals do not qualify. Measured 0 to 100% tests have a separate field.."},"measured_brightness_nits":{"type":["number","null"],"description":"Peak brightness (measured). Unit: nits. Reviewer measurement. Source notes state screen area, mode and ambient light. A small-area peak claim cannot be replaced with a full-screen measurement.."},"measured_battery_active_use_h":{"type":["number","null"],"description":"Battery life (measured). Unit: h. Reviewer-observed mixed-use endurance. Source notes state case size, AOD, workout use and whether it was a complete discharge. Extrapolation from partial discharge is excluded.."},"battery_life_measured":{"type":["array","null"],"items":{"type":"object","properties":{"test":{"type":["string","null"],"enum":["mixed_use_always_on","gps_activity","gps_dual_frequency_activity","idle","other","mixed_use_always_off","mixed_use_unknown_display",null],"description":"Test. Options: mixed_use_always_on (Mixed use, always-on), gps_activity (GPS activity), gps_dual_frequency_activity (GPS activity, dual-band), idle (Idle), other (Other), mixed_use_always_off (Mixed use, always-on display off), mixed_use_unknown_display (Mixed use, display setting unspecified)."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."}},"required":["test","hours"]},"description":"Battery tests (measured). Reviewer-observed endurance, with case size and test settings in source notes. Partial-discharge projections are not stored as measured endurance.."},"measured_charge_time_min":{"type":["integer","null"],"description":"Full charge time (measured). Unit: min. Reviewer measurement from empty to full, not 0-80% or a charge from 5%. Source notes name the charger and case size.."},"band_width_mm":{"type":["number","null"],"description":"Lug width. Unit: mm. Distance between standard strap attachment lugs, not the decorative width of a proprietary strap. Unknown for custom connectors unless the maker publishes lug width.."},"quick_release":{"type":["boolean","null"],"description":"Quick-release strap. The supplied strap can be detached through its quick-release mechanism. Compatibility with quick-release replacement straps alone does not qualify.."},"band_compatibility":{"type":["string","null"],"description":"Strap system. Published attachment system and compatible case sizes. Proprietary connectors are distinguished from standard spring bars.."},"band_material":{"type":["string","null"],"enum":["hnbr","composite_woven","composite_leather","silicone","fluoroelastomer","nylon","fabric","leather","metal_link","titanium_link","other",null],"description":"Strap material. Options: hnbr (Hydrogenated nitrile butadiene rubber (HNBR)), composite_woven (Composite woven), composite_leather (Composite leather), silicone (Silicone), fluoroelastomer (Fluoroelastomer), nylon (Nylon), fabric (Fabric), leather (Leather), metal_link (Metal link), titanium_link (Titanium link), other (Other). Material of the supplied strap for the stated package. Do not substitute material from another band sold separately.."},"band_name":{"type":["string","null"],"description":"Strap."},"band_sizes":{"type":["array","null"],"items":{"type":"object","properties":{"size_label":{"type":["string","null"],"description":"Size."},"wrist_min_mm":{"type":["number","null"],"description":"Wrist (min). Unit: mm."},"wrist_max_mm":{"type":["number","null"],"description":"Wrist (max). Unit: mm."}},"required":["size_label","wrist_min_mm","wrist_max_mm"]},"description":"Strap sizes. Published wrist-circumference range for the stated strap or case. Source notes distinguish an overall compatible wrist range from one supplied strap size.."},"fcc_ids":{"type":["array","null"],"items":{"type":"string"},"description":"FCC ID."},"sar_limb_w_kg":{"type":["number","null"],"description":"SAR limb (US). Unit: W/kg. Published limb/wrist SAR for the stated base regional model under the US regime. Other case sizes or radio versions can differ. Head or body SAR is excluded.."},"sar_eu_limb_w_kg":{"type":["number","null"],"description":"SAR limb (EU). Unit: W/kg. Published limb/wrist SAR for the stated base regional model under the EU regime. Other case sizes or radio versions can differ. Head or body SAR is excluded.."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."},"charger_in_box":{"type":["boolean","null"],"description":"Power adapter in box. A mains/USB power adapter is supplied. A charging cable, inductive puck or charging dock alone does not count.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","segment","os_updates_years","security_updates_until","case_sizes_mm","case_shape","case_material","case_material_name","back_material","case_dimensions_mm","weight_g","weight_with_strap_g","water_resistance_atm","water_resistance_standard","ip_rating","dive_rating","dive_max_depth_m","mil_std_810","mil_std_810_tests","operating_temperature_c","display_technology","display_technology_name","screen_size_in","resolution","pixel_density_ppi","display_area_mm2","touchscreen","refresh_rate_max_hz","refresh_rate_min_hz","brightness_peak_nits","brightness_min_nits","always_on_display","display_cover_material","display_cover","platform","os_at_launch","os_skin","os_latest","compatible_phone_os","phone_os_requirement","third_party_apps","voice_assistants","chipset","process_node_nm","cpu_core_count","cpu_clusters","cpu_max_ghz","gpu","low_power_coprocessor","ram_gb","storage_gb","heart_rate_sensor","ecg","spo2","skin_temperature","blood_pressure","bioimpedance","eda_sensor","medical_clearances","accelerometer","accelerometer_max_g","gyroscope","barometer","compass","ambient_light_sensor","depth_gauge","depth_gauge_max_m","water_temperature_sensor","health_features","fitness_features","sport_profiles_count","dive_modes","external_sensor_types","fall_detection","crash_detection","emergency_sos","emergency_siren_db","live_tracking","led_flashlight","positioning","dual_frequency_gnss","offline_maps","bluetooth","bluetooth_version","wifi","wifi_standard","wifi_bands","cellular","network_technologies","bands_4g","bands_5g","nfc","nfc_payments","payment_services","uwb","satellite_connectivity","ant_plus","speaker","microphone_count","calls_on_watch","offline_music","button_count","hardware_buttons","crown","rotating_bezel","gesture_controls","battery_capacity_mah","battery_life_claimed","battery_life_smartwatch_claimed_h","battery_life_always_on_claimed_h","battery_life_gps_claimed_h","solar_charging","charging_method","charging_notes","charging_max_w","fast_charging","quick_charge","charge_time_0_80_min","charge_time_0_100_min","measured_brightness_nits","measured_battery_active_use_h","battery_life_measured","measured_charge_time_min","band_width_mm","quick_release","band_compatibility","band_material","band_name","band_sizes","fcc_ids","sar_limb_w_kg","sar_eu_limb_w_kg","other_certifications","in_the_box","charger_in_box"],"description":"Every smartwatch field in schema order. Unknown values are null."},"SoundbarSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"system_channel_configuration":{"type":["string","null"],"description":"System channel configuration. Maker-stated channel layout of the exact package, such as 5.1.2. This can include virtual channels. It is not a count of physical drivers. Optional speakers do not count.."},"speaker_count_total":{"type":["integer","null"],"description":"Physical drivers in the package. Count of physical active speaker drivers across the supplied bar, subwoofer and rear speakers. Passive radiators, microphones and virtual channels do not count. A coaxial driver, such as KEF Uni-Q, counts once, as makers count it.."},"soundbar_driver_count":{"type":["integer","null"],"description":"Physical drivers in the bar. Count of physical active speaker drivers in the soundbar alone. Passive radiators and virtual channels do not count. A coaxial driver, such as KEF Uni-Q, counts once, as makers count it.."},"up_firing_driver_count":{"type":["integer","null"],"description":"Up-firing drivers in the package. Physical active drivers explicitly firing upwards across the supplied package. Virtual height channels and passive radiators do not count. A driver that fires upwards only when the bar is wall mounted is not counted.."},"drivers":{"type":["array","null"],"items":{"type":"object","properties":{"component":{"type":["string","null"],"description":"Component."},"type":{"type":["string","null"],"description":"Driver type."},"count":{"type":["integer","null"],"description":"Count."},"diameter_mm":{"type":["number","null"],"description":"Diameter. Unit: mm."},"orientation":{"type":["string","null"],"description":"Orientation."}},"required":["component","type","count","diameter_mm","orientation"]},"description":"Driver layout. Published physical driver layout for the supplied components. A row names one driver type in one component. Do not translate channel count into driver count.."},"subwoofer_included":{"type":["boolean","null"],"description":"Separate subwoofer included. A separate powered subwoofer is supplied with the reference package. A built-in woofer does not count.."},"subwoofer_connection":{"type":["string","null"],"enum":["wireless","wired",null],"description":"Included subwoofer connection. Options: wireless (Wireless), wired (Wired). Audio link used by the supplied separate subwoofer. Wireless subwoofers can still require an AC power cable.."},"subwoofer_driver_diameter_mm":{"type":["number","null"],"description":"Included subwoofer driver diameter. Unit: mm. Published diameter of an active driver in the supplied separate subwoofer. Do not use enclosure size or passive radiator size.."},"rear_speakers_included_count":{"type":["integer","null"],"description":"Rear speakers included. Count of separate rear speaker enclosures supplied with the reference package. Detachable bar ends count when usable as rears. Optional rear speakers do not count.."},"rear_speaker_connection":{"type":["string","null"],"enum":["wireless","wired",null],"description":"Included rear speaker connection. Options: wireless (Wireless), wired (Wired). Audio link to the supplied rear speaker enclosures. Their power connection is separate.."},"detachable_rear_speakers":{"type":["boolean","null"],"description":"Detachable rear speakers. The bar has supplied detachable end sections usable as separate rear speakers.."},"compatible_subwoofers":{"type":["array","null"],"items":{"type":"string"},"description":"Compatible optional subwoofers. Maker-named compatible additional subwoofer models. These do not contribute to the reference package layout, dimensions or measurements.."},"compatible_rear_speakers":{"type":["array","null"],"items":{"type":"string"},"description":"Compatible optional rear speakers. Maker-named compatible additional rear speaker models. These do not contribute to the reference package layout, dimensions or measurements.."},"total_output_power_w":{"type":["number","null"],"description":"Total RMS audio output power. Unit: W. Maker-stated RMS or rated continuous amplifier output for the exact supplied package. Peak or unspecified maximum claims do not qualify. Distortion, load and rating conditions belong in the source note. Power consumption is separate.."},"peak_output_power_w":{"type":["number","null"],"description":"Total peak audio output power. Unit: W. Maker-stated peak or maximum amplifier output for the exact supplied package. This is separate from RMS or continuous output and from electrical consumption. Rating conditions belong in the source note.."},"frequency_response_min_hz":{"type":["number","null"],"description":"Published frequency response lower limit. Unit: Hz. Maker-published lower limit for the exact supplied package. Tolerance and test conditions belong in the source note. Reviewer extension measurements are separate.."},"frequency_response_max_hz":{"type":["number","null"],"description":"Published frequency response upper limit. Unit: Hz. Maker-published upper limit for the exact supplied package. Tolerance and test conditions belong in the source note.."},"dolby_atmos":{"type":["boolean","null"],"description":"Dolby Atmos. Explicit support for Dolby Atmos playback. Transport codec and connection restrictions belong in source notes.."},"dts_x":{"type":["boolean","null"],"description":"DTS:X. Explicit support for DTS:X playback. Virtual surround processing alone does not establish DTS:X decoding.."},"audio_formats":{"type":["array","null"],"items":{"type":"string"},"description":"Supported audio formats. Audio formats explicitly decoded by the device. Codec and connection restrictions belong in source notes. Bluetooth codecs and music-file formats are separate.."},"audio_format_connections":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["hdmi_in","hdmi_arc","hdmi_earc","optical","usb","network",null],"description":"Connection. Options: hdmi_in (HDMI input), hdmi_arc (HDMI ARC), hdmi_earc (HDMI eARC), optical (Optical), usb (USB), network (Network)."},"format":{"type":["string","null"],"description":"Format."},"max_channels":{"type":["integer","null"],"description":"Max input channels."}},"required":["connection","format","max_channels"]},"description":"Audio formats by connection. Explicitly supported audio decoding combinations. Max input channels counts decoded input audio channels, including LFE. A 5.1 layout has 6 channels and 7.1 has 8. Output speaker layouts and Atmos objects do not count. Atmos over Dolby Digital Plus and over Dolby TrueHD are separate rows. Format support on one input does not prove support on another.."},"music_file_formats":{"type":["array","null"],"items":{"type":"string"},"description":"Music file formats. Published local or network music-file playback formats. Playback route and app restrictions belong in source notes.."},"max_audio_sample_rate_khz":{"type":["number","null"],"description":"Max wired audio sample rate. Unit: kHz. Highest explicitly published supported sample rate for decoded wired audio input. Name the exact HDMI, ARC, eARC or optical connection and codec in source notes. This is the published route limit, not proof of a device-wide maximum across all inputs. Local or network music-file limits and Bluetooth do not qualify. A chipset limit is not device evidence.."},"max_music_file_sample_rate_khz":{"type":["number","null"],"description":"Max music file sample rate. Unit: kHz. Highest explicitly published supported local or network music-file sample rate. Name the playback route and file format in source notes. This is the published route and format limit, not proof of a device-wide maximum across all music formats. Wired HDMI or optical input and Bluetooth are separate.."},"max_audio_bit_depth_bits":{"type":["integer","null"],"description":"Max wired audio bit depth. Unit: bits. Highest explicitly published supported bit depth for decoded wired audio input. Name the exact HDMI, ARC, eARC or optical connection and codec in source notes. This is the published route limit, not proof of a device-wide maximum across all inputs. Local or network music-file limits and Bluetooth do not qualify.."},"max_music_file_bit_depth_bits":{"type":["integer","null"],"description":"Max music file bit depth. Unit: bits. Highest explicitly published supported local or network music-file bit depth. Name the playback route and file format in source notes. This is the published route and format limit, not proof of a device-wide maximum across all music formats. Wired HDMI or optical input and Bluetooth are separate.."},"ports":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["hdmi","optical","coaxial","usb_a","usb_c","micro_usb","ethernet","audio_3_5mm","rca","subwoofer","ac","dc","other",null],"description":"Connector. Options: hdmi (HDMI), optical (Optical), coaxial (Coaxial), usb_a (USB-A), usb_c (USB-C), micro_usb (Micro USB), ethernet (Ethernet), audio_3_5mm (3.5 mm audio), rca (RCA), subwoofer (Subwoofer), ac (AC power), dc (DC power), other (Other)."},"count":{"type":["integer","null"],"description":"Count."},"version":{"type":["string","null"],"description":"Version."},"role":{"type":["string","null"],"description":"Role."}},"required":["type","count","version","role"]},"description":"Ports on the bar. Physical connectors on the soundbar alone. Record input, output, ARC or eARC, service, subwoofer and power roles explicitly. Count identical connectors per row. Component connectors are described in source notes.."},"hdmi_arc":{"type":["boolean","null"],"description":"HDMI ARC."},"hdmi_earc":{"type":["boolean","null"],"description":"HDMI eARC."},"hdmi_cec":{"type":["boolean","null"],"description":"HDMI-CEC."},"video_passthrough":{"type":["boolean","null"],"description":"HDMI video passthrough. Can pass video from a dedicated HDMI source input to a television output. ARC or eARC alone does not qualify.."},"video_passthrough_modes":{"type":["array","null"],"items":{"type":"object","properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"refresh_rate_hz":{"type":["number","null"],"description":"Refresh rate. Unit: Hz."}},"required":["width_px","height_px","refresh_rate_hz"]},"description":"Video passthrough modes. Published supported passthrough combinations, not inferred maxima at untested resolutions. State chroma, bit depth, HDR and firmware restrictions in source notes.."},"hdr_passthrough_formats":{"type":["array","null"],"items":{"type":"string"},"description":"HDR passthrough formats."},"vrr_passthrough":{"type":["boolean","null"],"description":"VRR passthrough."},"allm_passthrough":{"type":["boolean","null"],"description":"ALLM passthrough."},"hdcp_version":{"type":["string","null"],"description":"HDCP version. Highest HDCP version the maker states for an HDMI port of the soundbar, such as 2.3. When the source inputs and the TV output differ, the source input version is stored. A bar with no HDMI input stores the version of its TV output, also when that output carries video from a built-in streaming player.."},"bluetooth":{"type":["boolean","null"],"description":"Bluetooth audio input. Can receive audio from a Bluetooth source. A Bluetooth remote alone does not qualify.."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth version. Published version of the soundbar audio connection. An optional remote or detachable rear can use a different version.."},"bluetooth_codecs":{"type":["array","null"],"items":{"type":"string"},"description":"Bluetooth audio codecs. Explicitly supported codecs for received Bluetooth audio. A Bluetooth version alone does not establish a codec.."},"wifi":{"type":["boolean","null"],"description":"Wi-Fi."},"wifi_standard":{"type":["string","null"],"description":"Wi-Fi standard. Published Wi-Fi standards for the soundbar, written as 802.11 names without IEEE, such as \"802.11a/b/g/n/ac/ax\". A Wi-Fi generation is written as its standard, so Wi-Fi 5 is \"802.11ac\" and Wi-Fi 6 is \"802.11ax\". Do not infer the standard from frequency bands.."},"wifi_bands":{"type":["array","null"],"items":{"type":"string"},"description":"Wi-Fi bands. Published radio bands, such as 2.4 GHz and 5 GHz.."},"ethernet_speed_mbps":{"type":["integer","null"],"description":"Built-in Ethernet speed. Unit: Mbps. Rated speed of the built-in port. An optional adapter does not count.."},"streaming_protocols":{"type":["array","null"],"items":{"type":"string"},"description":"Streaming protocols. Named network playback protocols, such as AirPlay 2, Google Cast, Spotify Connect and Tidal Connect. Bluetooth is separate.."},"voice_assistants":{"type":["array","null"],"items":{"type":"string"},"description":"Voice assistants. Named assistants supported by the soundbar. Built-in and external-device routes and market restrictions belong in source notes.."},"built_in_microphone":{"type":["boolean","null"],"description":"Built-in microphone. Physical microphone in the bar for voice or calibration. An external setup phone or remote microphone does not count.."},"microphone_mute_switch":{"type":["boolean","null"],"description":"Microphone mute control. A physical control on the soundbar explicitly disables its built-in voice microphone. State whether this is an electrical switch or software-controlled button when known.."},"companion_apps":{"type":["array","null"],"items":{"type":"string"},"description":"Companion apps."},"companion_app_platforms":{"type":["array","null"],"items":{"type":"string"},"description":"Companion app platforms."},"multiroom_audio":{"type":["boolean","null"],"description":"Multiroom audio. Can play synchronised audio with other rooms through a supported network platform. Optional surround expansion alone does not qualify.."},"remote_included":{"type":["boolean","null"],"description":"Remote included. A separate remote control supplied with the reference package. Phone apps and TV remotes do not count.."},"sound_modes":{"type":["array","null"],"items":{"type":"string"},"description":"Sound modes."},"automatic_room_calibration":{"type":["boolean","null"],"description":"Automatic room calibration. Explicit acoustic measurement or analysis used to adapt playback to the room. Manual EQ alone does not qualify. Setup phone requirements belong in source notes.."},"room_calibration_system":{"type":["string","null"],"description":"Room calibration system."},"dialogue_enhancement":{"type":["boolean","null"],"description":"Dialogue enhancement. A dialogue or voice mode counts, also when the maker lists it as an EQ preset.."},"night_mode":{"type":["boolean","null"],"description":"Night mode."},"equalizer_controls":{"type":["array","null"],"items":{"type":"string"},"description":"Equalizer controls. Published user-adjustable EQ controls. Bass and treble controls are distinct from multi-band EQ.."},"tv_speaker_integration":{"type":["array","null"],"items":{"type":"string"},"description":"TV speaker integration. Named features allowing compatible television speakers to play with the bar. TV models and connection requirements belong in source notes.."},"power_consumption_operating_w":{"type":["number","null"],"description":"Published operating power. Unit: W. Maker-published operating electrical consumption of the soundbar alone. Included subwoofer and rear-speaker consumption do not count. Keep workload and method in source notes. Audio amplifier output is separate.."},"power_consumption_standby_w":{"type":["number","null"],"description":"Published standby power. Unit: W. Maker-published non-networked standby consumption of the bar alone. Networked standby and other components are separate.."},"power_consumption_network_standby_w":{"type":["number","null"],"description":"Published networked standby power. Unit: W. Maker-published networked standby consumption of the bar alone. Enabled radio and network conditions belong in source notes.."},"power_supply":{"type":["string","null"],"description":"Power supply. Published AC input range or external DC adapter arrangement. Electrical input ratings are not operating consumption.."},"rear_speaker_battery_life_h":{"type":["number","null"],"description":"Detachable rear battery life. Unit: h. Maker-stated runtime of the supplied detachable rear speakers. Volume, mode and recharge conditions belong in source notes.."},"rear_speaker_charge_time_h":{"type":["number","null"],"description":"Detachable rear charge time. Unit: h. Maker-stated full recharge time of supplied detachable rear speakers. Charging route belongs in source notes.."},"measured_low_frequency_extension_hz":{"type":["number","null"],"description":"Low-frequency extension (measured). Unit: Hz. Reviewer-measured lower extension for the exact tested package. Test threshold, mode, room correction and configuration belong in source notes.."},"measured_high_frequency_extension_hz":{"type":["number","null"],"description":"High-frequency extension (measured). Unit: Hz. Reviewer-measured upper extension for the exact tested package. Test threshold and configuration belong in source notes.."},"measured_max_spl_db":{"type":["number","null"],"description":"Max sound pressure (measured). Unit: dB SPL. Reviewer-measured maximum sound pressure. Signal, distance, sound mode and supplied or optional speaker configuration belong in source notes.."},"measured_frequency_response_deviation_db":{"type":["number","null"],"description":"Frequency response deviation (measured). Unit: dB. Reviewer-measured standard error against the stated target. Target, averaging range, preset and test method belong in source notes.."},"measured_latency":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"enum":["hdmi_in","hdmi_arc","hdmi_earc","optical","bluetooth","network",null],"description":"Connection. Options: hdmi_in (HDMI input), hdmi_arc (HDMI ARC), hdmi_earc (HDMI eARC), optical (Optical), bluetooth (Bluetooth), network (Network)."},"format":{"type":["string","null"],"description":"Format."},"latency_ms":{"type":["number","null"],"description":"Latency. Unit: ms."}},"required":["connection","format","latency_ms"]},"description":"Measured latency. Reviewer-measured audio latency. Keep source/TV, firmware, codec, synchronisation correction and exact tested speaker configuration in source notes. Negative offsets are valid when the method reports them.."},"measured_power_consumption_operating_w":{"type":["number","null"],"description":"Operating power (measured). Unit: W. Reviewer-measured operating consumption of the soundbar alone. Optional or supplied external speakers do not count. Workload and enabled radio conditions belong in source notes.."},"measured_power_consumption_standby_w":{"type":["number","null"],"description":"Standby power (measured). Unit: W. Reviewer-measured bar-only standby consumption. Network state and test conditions belong in source notes.."},"measured_weight_g":{"type":["number","null"],"description":"Soundbar weight (measured). Unit: g. Reviewer-measured bar-only weight. Excludes subwoofer, rears, mounting hardware and cables.."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Soundbar dimensions. Bar alone in its normal tabletop orientation, without detachable rears, wall brackets or external cables. A source that includes detachable ends must use component_dimensions instead. A size labelled L x W x H, as on Amazon, is width x depth x height.."},"weight_g":{"type":["number","null"],"description":"Soundbar weight. Unit: g. Bar alone, without detachable rears, subwoofer, wall brackets or external cables. Source-published masses including detachable ends belong in component_dimensions.."},"component_dimensions":{"type":["array","null"],"items":{"type":"object","properties":{"component":{"type":["string","null"],"description":"Component."},"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."},"weight_g":{"type":["number","null"],"description":"Weight. Unit: g."}},"required":["component","width_mm","height_mm","depth_mm","weight_g"]},"description":"Component dimensions and weight. Published dimensions and mass for named supplied components, including a bar with detachable rears attached when stated. Each row describes one enclosure, not the pair, unless the component label explicitly states a set. Width, height and depth use normal installed orientation.."},"package_dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Package dimensions."},"package_weight_g":{"type":["number","null"],"description":"Package weight. Unit: g. Shipping package including supplied components and packaging.."},"wall_mountable":{"type":["boolean","null"],"description":"Wall mountable."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."},"wall_mount_included":{"type":["boolean","null"],"description":"Wall mount hardware included. Supplied bar mounting brackets or mount. Screws alone do not establish that a complete mount is included.."},"hdmi_cable_included":{"type":["boolean","null"],"description":"HDMI cable included."},"optical_cable_included":{"type":["boolean","null"],"description":"Optical cable included."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","system_channel_configuration","speaker_count_total","soundbar_driver_count","up_firing_driver_count","drivers","subwoofer_included","subwoofer_connection","subwoofer_driver_diameter_mm","rear_speakers_included_count","rear_speaker_connection","detachable_rear_speakers","compatible_subwoofers","compatible_rear_speakers","total_output_power_w","peak_output_power_w","frequency_response_min_hz","frequency_response_max_hz","dolby_atmos","dts_x","audio_formats","audio_format_connections","music_file_formats","max_audio_sample_rate_khz","max_music_file_sample_rate_khz","max_audio_bit_depth_bits","max_music_file_bit_depth_bits","ports","hdmi_arc","hdmi_earc","hdmi_cec","video_passthrough","video_passthrough_modes","hdr_passthrough_formats","vrr_passthrough","allm_passthrough","hdcp_version","bluetooth","bluetooth_version","bluetooth_codecs","wifi","wifi_standard","wifi_bands","ethernet_speed_mbps","streaming_protocols","voice_assistants","built_in_microphone","microphone_mute_switch","companion_apps","companion_app_platforms","multiroom_audio","remote_included","sound_modes","automatic_room_calibration","room_calibration_system","dialogue_enhancement","night_mode","equalizer_controls","tv_speaker_integration","power_consumption_operating_w","power_consumption_standby_w","power_consumption_network_standby_w","power_supply","rear_speaker_battery_life_h","rear_speaker_charge_time_h","measured_low_frequency_extension_hz","measured_high_frequency_extension_hz","measured_max_spl_db","measured_frequency_response_deviation_db","measured_latency","measured_power_consumption_operating_w","measured_power_consumption_standby_w","measured_weight_g","dimensions_mm","weight_g","component_dimensions","package_dimensions_mm","package_weight_g","wall_mountable","in_the_box","wall_mount_included","hdmi_cable_included","optical_cable_included"],"description":"Every soundbar field in schema order. Unknown values are null."},"SsdSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"form_factor":{"type":["string","null"],"enum":["m2_2230","m2_2242","m2_2280","m2_22110","2_5_inch","xbox_expansion_card","external",null],"description":"Form factor. Options: m2_2230 (M.2 2230), m2_2242 (M.2 2242), m2_2280 (M.2 2280), m2_22110 (M.2 22110), 2_5_inch (2.5-inch), xbox_expansion_card (Xbox expansion card), external (External). Physical size of the drive. External is any drive in its own case that connects by cable. A drive sold in two M.2 lengths is two products. Xbox expansion card is a card for the storage expansion slot of an Xbox Series console.."},"storage_gb":{"type":["array","null"],"items":{"type":"integer"},"description":"Capacity. Unit: GB. Nominal capacity before formatting, in decimal GB. A published 1 TB is 1000 GB. A published 1024GB stays 1024. The marketed capacity is stored, not a raw or usable figure from the same table, such as OWC's 2048 GB total and 1920 GB usable for a 2.0TB drive.."},"interface":{"type":["string","null"],"enum":["pcie_nvme","sata","usb_3_2_gen_1","usb_3_2_gen_2","usb_3_2_gen_2x2","usb4","thunderbolt_3","thunderbolt_4","thunderbolt_5",null],"description":"Interface. Options: pcie_nvme (PCIe NVMe), sata (SATA), usb_3_2_gen_1 (USB 3.2 Gen 1 (5 Gbps)), usb_3_2_gen_2 (USB 3.2 Gen 2 (10 Gbps)), usb_3_2_gen_2x2 (USB 3.2 Gen 2x2 (20 Gbps)), usb4 (USB4), thunderbolt_3 (Thunderbolt 3), thunderbolt_4 (Thunderbolt 4), thunderbolt_5 (Thunderbolt 5). Fastest host connection the drive is rated for. The PCIe generation of an NVMe drive is its own field. A Thunderbolt drive that also works over USB uses its Thunderbolt version.."},"pcie_gen":{"type":["integer","null"],"description":"PCIe generation. Highest PCIe generation the drive supports, e.g. 5 for PCIe 5.0. NVMe drives only. A drive rated for PCIe 4.0 x4 or 5.0 x2 is 5 with 2 lanes, and the source note names both modes.."},"pcie_lanes":{"type":["integer","null"],"description":"PCIe lanes. Lanes the drive uses at its highest PCIe generation, usually 4. NVMe drives only.."},"nvme_version":{"type":["string","null"],"description":"NVMe version. Version of the NVMe specification as published. A revision letter is left out, so 2.0d is stored as 2.0.."},"cable_detachable":{"type":["boolean","null"],"description":"Detachable cable. External drives. No means the cable is fixed to the drive.."},"controller":{"type":["string","null"],"description":"Controller. Controller maker and model as named by the maker or a review. On an external drive, the controller of the SSD inside, not the USB or Thunderbolt bridge chip. The bridge chip goes in the source note.."},"nand_type":{"type":["string","null"],"enum":["tlc","qlc","other",null],"description":"Flash type. Options: tlc (TLC), qlc (QLC), other (Other). Bits stored in each flash cell. TLC stores three and QLC stores four. A maker can use another flash type in some capacities, so it is per variant.."},"nand_flash":{"type":["string","null"],"description":"Flash memory. Flash maker and generation as named by the maker or a review.."},"nand_layers":{"type":["integer","null"],"description":"Flash layers. Stacked layers of the 3D flash, from the maker or a review.."},"dram_cache":{"type":["string","null"],"enum":["dram","hmb","dramless","none",null],"description":"DRAM cache. Options: dram (DRAM), hmb (None, uses host memory (HMB)), dramless (None, HMB not stated), none (None). DRAM is a memory chip on the drive. HMB is a drive without DRAM that borrows host memory. None has neither. HMB not stated is a drive without DRAM where no source says whether it borrows host memory. An external drive counts when a source names the cache of the drive inside.."},"dram_cache_gb":{"type":["number","null"],"description":"DRAM cache size. Unit: GB. Size of the DRAM on the drive. Any DRAM type counts, such as DDR4 or LPDDR4X. Host memory buffer (HMB) is not DRAM on the drive.."},"pcb_sides":{"type":["string","null"],"enum":["single_sided","double_sided",null],"description":"Component sides. Options: single_sided (Single-sided), double_sided (Double-sided). Whether chips sit on one or both sides of the board. Thin laptops and some handhelds need single-sided drives. M.2 drives only. The M.2 module code states it: S is single-sided and D is double-sided, e.g. 2280-S3-M or 2280-D5-M.."},"seq_read_mbs":{"type":["integer","null"],"description":"Sequential read (claimed). Unit: MB/s. Maker's up-to sequential read speed for this capacity. Test conditions are in the source note.."},"seq_write_mbs":{"type":["integer","null"],"description":"Sequential write (claimed). Unit: MB/s. Maker's up-to sequential write speed for this capacity. Makers usually measure it inside the fast write cache.."},"random_read_iops":{"type":["integer","null"],"description":"Random 4K read (claimed). Unit: IOPS. Maker's up-to random read speed with 4 KB blocks. Queue depth and threads are in the source note. The maker's headline claim. Makers test at different queue depths, so compare with care. The queue depth 1 measured fields compare better.."},"random_write_iops":{"type":["integer","null"],"description":"Random 4K write (claimed). Unit: IOPS. Maker's up-to random write speed with 4 KB blocks. Queue depth and threads are in the source note. The maker's headline claim. Makers test at different queue depths, so compare with care. The queue depth 1 measured fields compare better.."},"endurance_tbw":{"type":["integer","null"],"description":"Endurance (TBW). Unit: TB. Terabytes that can be written within the warranty, as the maker rates them.."},"mtbf_h":{"type":["integer","null"],"description":"MTBF or MTTF (claimed). Unit: h. Mean time between failures, or mean time to failure when the maker publishes MTTF. The source note says which. Some makers state it per capacity, so it is per variant.."},"operating_temperature_c":{"type":["object","null"],"properties":{"min_c":{"type":["number","null"],"description":"Min. Unit: °C."},"max_c":{"type":["number","null"],"description":"Max. Unit: °C."}},"required":["min_c","max_c"],"description":"Operating temperature. Maker's operating range. The storage range is not stored.."},"power_consumption_read_w":{"type":["number","null"],"description":"Power while reading (claimed). Unit: W. Maker's average power during sequential reads, including a figure given at the full read speed. A single average or active figure with no read and write split, such as Corsair's, is stored in both read and write, and the source note says so. A maximum figure, such as Kingston's (MAX) Read, is a peak and is not stored.."},"power_consumption_write_w":{"type":["number","null"],"description":"Power while writing (claimed). Unit: W. Maker's average power during sequential writes. A single average or active figure with no read and write split is stored in both read and write, and the source note says so. A maximum figure, such as Kingston's (MAX) Write, is a peak and is not stored.."},"power_consumption_max_w":{"type":["number","null"],"description":"Max power consumption (claimed). Unit: W. Maker's peak or maximum power figure. Not the average while reading or writing. Kingston publishes max read and max write power apart. Store the higher one and name both in the source note.."},"power_consumption_average_mw":{"type":["number","null"],"description":"Average power in light use (claimed). Unit: mW. Maker's average over a mixed client workload such as MobileMark. Not idle power and not read or write power.."},"power_consumption_idle_mw":{"type":["number","null"],"description":"Idle power (claimed). Unit: mW. Maker's idle power in the PS3 state with APST on, or the state the maker calls low-power idle. On a SATA drive, Slumber counts as low-power idle. A plain idle figure with no low-power state, often near 1 W, is active idle and is not stored. Samsung's Idle with DIPM on is a SATA link power state, so it counts as low-power idle.."},"power_consumption_sleep_mw":{"type":["number","null"],"description":"Sleep power (claimed). Unit: mW. Maker's power in the deepest sleep state, PS4 or L1.2. On a SATA drive this is DevSleep.."},"measured_seq_read_mbs":{"type":["integer","null"],"description":"Sequential read (measured). Unit: MB/s. CrystalDiskMark SEQ1M Q8T1 read result from a reviewer. Host and slot are in the source note. KitGuru's default profile counts as SEQ1M Q8T1.."},"measured_seq_write_mbs":{"type":["integer","null"],"description":"Sequential write (measured). Unit: MB/s. CrystalDiskMark SEQ1M Q8T1 write result from a reviewer. Host and slot are in the source note.."},"measured_random_read_q1_mbs":{"type":["number","null"],"description":"Random 4K read at queue depth 1 (measured). Unit: MB/s. CrystalDiskMark RND4K Q1T1 read result from a reviewer. Small reads one at a time, close to everyday use. KitGuru's 4K QD1 1 Thread test counts as RND4K Q1T1. A CrystalDiskMark result printed in IOPS is stored as IOPS x 4096 / 1,000,000 MB/s, the way CrystalDiskMark converts.."},"measured_random_write_q1_mbs":{"type":["number","null"],"description":"Random 4K write at queue depth 1 (measured). Unit: MB/s. CrystalDiskMark RND4K Q1T1 write result from a reviewer. A CrystalDiskMark result printed in IOPS is stored as IOPS x 4096 / 1,000,000 MB/s, the way CrystalDiskMark converts.."},"measured_slc_cache_gb":{"type":["number","null"],"description":"Write cache size (measured). Unit: GB. Data written at full speed in one long sequential write on an empty drive before the speed drops.."},"measured_post_cache_write_mbs":{"type":["integer","null"],"description":"Write speed after the cache (measured). Unit: MB/s. Write speed in the first state after the fast cache is full, when the drive writes straight to TLC or QLC. Tom's Hardware calls it TLC mode. The slower folding state and the lowest dip are not stored. Only from a long sequential write test.."},"benchmark_3dmark_storage":{"type":["integer","null"],"description":"3DMark Storage Benchmark. Unit: points. Overall score measured by a reviewer. Host and slot are in the source note. From StorageReview only. Tom's Hardware scores the same drive about 30 percent higher, so other reviewers are not mixed in.."},"measured_max_temp_c":{"type":["number","null"],"description":"Highest temperature under load (measured). Unit: °C. Highest drive sensor reading in a sustained write test of 10 minutes or more, on the bare drive unless the row is a heatsink version. Short benchmark runs do not count. Heatsink, airflow and room temperature go in the source note.."},"measured_power_idle_mw":{"type":["number","null"],"description":"Idle power (measured). Unit: mW. Reviewer's idle reading. Power-saving settings such as ASPM are in the source note. A value read from a chart image counts when the source note says \"read from chart\".."},"heatsink":{"type":["array","null"],"items":{"type":"string","enum":["bare","with_heatsink"]},"description":"Heatsink. Options: bare (Without heatsink), with_heatsink (With heatsink). Versions sold. The base lists every version and each variant row lists its own. A water block or a cooler with a fan counts as a heatsink. A thermal pad or label alone is bare. A heatsink in the box that the buyer fits, as on the XPG MARS 980 BLADE, counts as with heatsink.."},"rgb_lighting":{"type":["boolean","null"],"description":"RGB lighting. Any version sold has lighting the user can set. A status LED alone does not count. Leave it out when no version has lighting. The Heatsink rows show which version has it.."},"ip_rating":{"type":["array","null"],"items":{"type":"string"},"description":"Dust and water rating. Published IP rating of an external drive.."},"drop_test_height_m":{"type":["number","null"],"description":"Drop test height. Unit: m. Maker-published tested height. Surface and conditions are in the source note.."},"security_features":{"type":["array","null"],"items":{"type":"string","enum":["aes_256_hardware","tcg_opal_2","tcg_pyrite","ieee_1667","password_protection"]},"description":"Security. Options: aes_256_hardware (AES 256-bit hardware encryption), tcg_opal_2 (TCG Opal 2.0), tcg_pyrite (TCG Pyrite (no encryption)), ieee_1667 (IEEE 1667 (eDrive)), password_protection (Password protection). Features the maker names for the drive. Encryption done by host software does not count. ATA Security passthrough counts as password protection.."},"software_name":{"type":["string","null"],"description":"Software."},"compatible_platforms":{"type":["array","null"],"items":{"type":"string","enum":["pc","windows","macos","linux","chromeos","android","ios","ipados","ps4","ps5","xbox_one","xbox_series","other"]},"description":"Platforms. Options: pc (PC (no OS named)), windows (Windows), macos (macOS), linux (Linux), chromeos (ChromeOS), android (Android), ios (iOS), ipados (iPadOS), ps4 (PS4), ps5 (PS5), xbox_one (Xbox One), xbox_series (Xbox Series X|S), other (Other). Platforms the maker names for this drive. A PS5 needs a heatsink on an internal drive. PC is for a maker that writes Client PCs or PC without naming an operating system. Handheld PCs go in Other with a source note.."},"dimensions_mm":{"type":["object","null"],"properties":{"length_mm":{"type":["number","null"],"description":"Length. Unit: mm."},"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."}},"required":["length_mm","width_mm","height_mm"],"description":"Dimensions. Length is the long side. Height is the thickness, including a fitted heatsink. As the maker publishes it. A maximum counts. Length is the long side even when the maker lists the width first.."},"weight_g":{"type":["number","null"],"description":"Weight. Unit: g. Drive alone, with a heatsink when it is sold fitted. No cable and no packaging. As the maker publishes it. A maximum counts. Not a measured weight.."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."},"cables_included":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"description":"Type."},"length_m":{"type":["number","null"],"description":"Length. Unit: m."},"count":{"type":["integer","null"],"description":"Count."}},"required":["type","length_m","count"]},"description":"Cables included. Cables supplied with an external drive.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","form_factor","storage_gb","interface","pcie_gen","pcie_lanes","nvme_version","cable_detachable","controller","nand_type","nand_flash","nand_layers","dram_cache","dram_cache_gb","pcb_sides","seq_read_mbs","seq_write_mbs","random_read_iops","random_write_iops","endurance_tbw","mtbf_h","operating_temperature_c","power_consumption_read_w","power_consumption_write_w","power_consumption_max_w","power_consumption_average_mw","power_consumption_idle_mw","power_consumption_sleep_mw","measured_seq_read_mbs","measured_seq_write_mbs","measured_random_read_q1_mbs","measured_random_write_q1_mbs","measured_slc_cache_gb","measured_post_cache_write_mbs","benchmark_3dmark_storage","measured_max_temp_c","measured_power_idle_mw","heatsink","rgb_lighting","ip_rating","drop_test_height_m","security_features","software_name","compatible_platforms","dimensions_mm","weight_g","in_the_box","cables_included"],"description":"Every SSD field in schema order. Unknown values are null."},"StreamingDeviceSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"form_factor":{"type":["string","null"],"enum":["box","stick","dongle",null],"description":"Form factor. Options: box (Box), stick (Stick), dongle (Dongle). A stick plugs straight into the HDMI port. A dongle hangs from its own short fixed HDMI lead. A box stands on its own and connects by a separate cable.."},"max_output_resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Max output resolution. Highest published video output resolution. Decoder capability and app streaming quality do not establish the output resolution.."},"max_output_refresh_rate_hz":{"type":["number","null"],"description":"Max output refresh rate. Unit: Hz. Highest published output refresh rate. Resolution, HDR and connection conditions belong in the source note. This is not a television panel refresh rate.."},"video_output_modes":{"type":["array","null"],"items":{"type":"object","properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"refresh_rate_hz":{"type":["number","null"],"description":"Refresh rate. Unit: Hz."},"hdr_format":{"type":["string","null"],"description":"HDR format."},"bit_depth_bits":{"type":["integer","null"],"description":"Bit depth. Unit: bits."},"chroma":{"type":["string","null"],"description":"Chroma."}},"required":["width_px","height_px","refresh_rate_hz","hdr_format","bit_depth_bits","chroma"]},"description":"Video output modes. Published video output combinations. A row records support, not a proved maximum at every lower resolution. Keep HDR, chroma and bit depth conditions in source notes.."},"hdr_formats":{"type":["array","null"],"items":{"type":"string","enum":["hdr10","hdr10_plus","dolby_vision","hlg"]},"description":"HDR formats. Options: hdr10 (HDR10), hdr10_plus (HDR10+), dolby_vision (Dolby Vision), hlg (HLG)."},"dolby_vision_profiles":{"type":["array","null"],"items":{"type":"string"},"description":"Dolby Vision profiles. Published supported Dolby Vision profiles and levels. Streaming support does not prove local-file support.."},"hdmi_version":{"type":["string","null"],"description":"HDMI version. Published HDMI output revision. A revision does not establish every optional HDMI feature.."},"hdcp_version":{"type":["string","null"],"description":"HDCP version."},"hdmi_cec":{"type":["boolean","null"],"description":"HDMI-CEC."},"automatic_frame_rate_matching":{"type":["boolean","null"],"description":"Automatic frame rate matching. Can switch the video output rate to match content. App, operating system and playback restrictions belong in the source note.."},"dynamic_range_matching":{"type":["boolean","null"],"description":"Dynamic range matching. Can switch the output dynamic range to match SDR or HDR content. App and firmware restrictions belong in the source note.."},"upscaling":{"type":["array","null"],"items":{"type":"string"},"description":"Upscaling. Named video upscaling modes. Record source resolution and output restrictions in source notes.."},"video_codecs":{"type":["array","null"],"items":{"type":"string"},"description":"Video codecs. Explicitly supported video decoding formats. Use names such as H.264, HEVC, AV1 and VP9. Chip capabilities alone do not prove device playback support.."},"video_decode_limits":{"type":["array","null"],"items":{"type":"object","properties":{"codec":{"type":["string","null"],"description":"Codec."},"profile":{"type":["string","null"],"description":"Profile."},"level":{"type":["string","null"],"description":"Level."},"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"max_fps":{"type":["number","null"],"description":"Max frame rate. Unit: fps."},"bit_depth_bits":{"type":["integer","null"],"description":"Bit depth. Unit: bits."}},"required":["codec","profile","level","width_px","height_px","max_fps","bit_depth_bits"]},"description":"Video decode limits. Published supported decoding limits. Profiles, levels and playback route matter. Output resolution and service support are separate.."},"video_containers":{"type":["array","null"],"items":{"type":"string"},"description":"Video containers. Explicitly supported local playback containers. App requirements belong in the source note.."},"drm_systems":{"type":["array","null"],"items":{"type":"string"},"description":"DRM systems. Named supported DRM systems and security levels. DRM certification does not prove a particular service streams at 4K.."},"audio_formats":{"type":["array","null"],"items":{"type":"string"},"description":"Audio formats. Published supported audio formats. Decoder, output and passthrough roles are qualified in source notes.."},"audio_passthrough_formats":{"type":["array","null"],"items":{"type":"string"},"description":"Audio passthrough formats. Compressed formats explicitly passed to external audio equipment without decoding. Dolby Atmos support alone does not establish TrueHD passthrough.."},"dolby_atmos":{"type":["boolean","null"],"description":"Dolby Atmos. Explicit device support for Dolby Atmos. Codec, service, app and output requirements belong in the source note.."},"audio_channel_configurations":{"type":["array","null"],"items":{"type":"string"},"description":"Audio channel configurations. Published output configurations, such as 2.0, 5.1 or 7.1. Keep PCM and compressed audio routes separate in source notes. Dolby Atmos support alone does not establish a channel configuration.."},"max_audio_sample_rate_khz":{"type":["number","null"],"description":"Max audio sample rate. Unit: kHz. Highest published audio output sample rate. Keep playback route and format in source notes.."},"max_audio_bit_depth_bits":{"type":["integer","null"],"description":"Max audio bit depth. Unit: bits. Highest published audio output bit depth. Keep playback route and format in source notes.."},"bluetooth_audio":{"type":["boolean","null"],"description":"Bluetooth audio output."},"bluetooth_codecs":{"type":["array","null"],"items":{"type":"string"},"description":"Bluetooth audio codecs. Explicitly supported codecs for audio sent to Bluetooth headphones or speakers. Bluetooth version alone is not proof.."},"soc":{"type":["string","null"],"description":"System on chip."},"cpu":{"type":["string","null"],"description":"CPU."},"cpu_cores":{"type":["integer","null"],"description":"CPU cores."},"cpu_clock_max_ghz":{"type":["number","null"],"description":"Max CPU clock. Unit: GHz. Highest explicitly published processor clock for this device. Generic chipset limits are not device evidence.."},"gpu":{"type":["string","null"],"description":"GPU."},"ram_gb":{"type":["number","null"],"description":"RAM. Unit: GB. Keep published GB values as stated. Convert a source explicitly labelled MB using 1000 MB per GB and preserve its original figure and unit in the note. Do not assume MB means MiB. Convert explicit MiB or GiB to decimal GB through their byte definitions, recording the conversion in the note. This normalization does not establish an exact physical byte count.."},"ram_type":{"type":["string","null"],"description":"RAM type."},"storage_gb":{"type":["array","null"],"items":{"type":"number"},"description":"Storage. Unit: GB. Marketed built-in storage capacity in decimal GB. Free space after the operating system is separate.."},"storage_type":{"type":["string","null"],"description":"Storage type."},"expandable_storage":{"type":["boolean","null"],"description":"Expandable storage. Can use added removable or external storage to store installed apps or play media directly. Copying files through a USB data connection alone does not qualify. The source note states whether apps, media or both are supported and names the connection and limitations. Storage must be attached to the streaming device. Cloud and network streaming do not qualify.."},"storage_expansion_methods":{"type":["array","null"],"items":{"type":"string"},"description":"Storage expansion methods. Published methods for adding app or media storage. USB support alone does not prove app installation on external storage.."},"wifi_standard":{"type":["string","null"],"enum":["wifi_4","wifi_5","wifi_6","wifi_6e","wifi_7","none",null],"description":"Wi-Fi. Options: wifi_4 (Wi-Fi 4), wifi_5 (Wi-Fi 5), wifi_6 (Wi-Fi 6), wifi_6e (Wi-Fi 6E), wifi_7 (Wi-Fi 7), none (None)."},"wifi_bands":{"type":["array","null"],"items":{"type":"string","enum":["2_4ghz","5ghz","6ghz"]},"description":"Wi-Fi bands. Options: 2_4ghz (2.4 GHz), 5ghz (5 GHz), 6ghz (6 GHz)."},"wifi_mimo":{"type":["string","null"],"description":"Wi-Fi MIMO. Written as 2x2 MIMO when the maker gives the stream count, or MIMO when it does not. 2T2R counts as 2x2. MU-MIMO support alone does not show more than one stream, so it is not stored. Band wording goes in the source note.."},"ethernet_speed_mbps":{"type":["integer","null"],"description":"Built-in Ethernet speed. Unit: Mbps. Rated speed of a built-in Ethernet port. An optional USB Ethernet adapter does not count.."},"optional_ethernet":{"type":["boolean","null"],"description":"Optional Ethernet adapter support. Explicit support for an external Ethernet adapter. Required adapter and connection belong in the source note.."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth version. Published device Bluetooth version. The remote can use a different Bluetooth version.."},"ports":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["hdmi","usb_a","usb_c","micro_usb","ethernet","micro_sd","audio_3_5mm","dc","ac","other",null],"description":"Connector. Options: hdmi (HDMI), usb_a (USB-A), usb_c (USB-C), micro_usb (Micro USB), ethernet (Ethernet), micro_sd (microSD), audio_3_5mm (3.5 mm audio), dc (DC power), ac (AC power), other (Other)."},"count":{"type":["integer","null"],"description":"Count."},"version":{"type":["string","null"],"description":"Version."},"role":{"type":["string","null"],"description":"Role."},"speed_gbps":{"type":["number","null"],"description":"Data speed. Unit: Gbps."}},"required":["type","count","version","role","speed_gbps"]},"description":"Ports. Physical device connectors, including a fixed HDMI plug and power-only USB. Excludes connectors on the remote and optional adapters. Count identical connectors in each row.."},"thread_border_router":{"type":["boolean","null"],"description":"Thread border router."},"matter_controller":{"type":["boolean","null"],"description":"Matter controller. Can commission and control Matter accessories. Acting as a Matter accessory alone does not qualify.."},"smart_home_platforms":{"type":["array","null"],"items":{"type":"string"},"description":"Smart home platforms."},"remote_model":{"type":["string","null"],"description":"Remote model."},"remote_connection":{"type":["array","null"],"items":{"type":"string","enum":["bluetooth","rf","infrared","wifi"]},"description":"Remote connection. Options: bluetooth (Bluetooth), rf (RF), infrared (Infrared), wifi (Wi-Fi). Every wireless link the included remote uses, to the device or to other equipment. An infrared transmitter that controls the TV counts as infrared.."},"remote_microphone":{"type":["boolean","null"],"description":"Remote microphone."},"remote_voice_assistants":{"type":["array","null"],"items":{"type":"string"},"description":"Remote voice assistants. Voice assistants usable from the supplied remote. Region, language, app and firmware restrictions belong in the source note.."},"remote_tv_control":{"type":["array","null"],"items":{"type":"string"},"description":"Remote TV control. Supported TV controls, such as power, volume and input. Infrared and HDMI-CEC routes are qualified in source notes.."},"remote_finder":{"type":["boolean","null"],"description":"Remote finder."},"remote_backlight":{"type":["boolean","null"],"description":"Remote backlight."},"remote_power":{"type":["string","null"],"description":"Remote power. Published batteries or rechargeable battery arrangement for the supplied remote.."},"remote_charging_port":{"type":["string","null"],"description":"Remote charging port."},"operating_system":{"type":["string","null"],"description":"Operating system. Platform name. The launch version is stored separately from later firmware support.."},"launch_os_version":{"type":["string","null"],"description":"Operating system at launch."},"app_store":{"type":["string","null"],"description":"App store."},"casting_protocols":{"type":["array","null"],"items":{"type":"string"},"description":"Casting protocols. Published casting or screen mirroring protocols. AirPlay and Google Cast are distinct. App-only playback support does not prove system-wide mirroring.."},"voice_assistants":{"type":["array","null"],"items":{"type":"string"},"description":"Voice assistants. Voice assistants supported by the device. A remote microphone and hands-free activation are separate features.."},"hands_free_voice_control":{"type":["boolean","null"],"description":"Hands-free voice control. Control the streaming device by voice without pressing a button. This may use built-in microphones or a compatible linked smart speaker, phone or headset. The source note names the required device, connection, software and supported commands. A microphone on a press-to-talk remote alone does not qualify.."},"mobile_remote_platforms":{"type":["array","null"],"items":{"type":"string","enum":["android","ios","other"]},"description":"Mobile remote platforms. Options: android (Android), ios (iOS), other (Other)."},"accessibility_features":{"type":["array","null"],"items":{"type":"string"},"description":"Accessibility features."},"game_services":{"type":["array","null"],"items":{"type":"string"},"description":"Game services. Published native or cloud gaming services. Service availability is time-sensitive. Record software and region requirements in source notes.."},"game_controller_support":{"type":["array","null"],"items":{"type":"string"},"description":"Game controller support. Explicitly supported controllers or connection methods. Bluetooth alone does not establish game controller support.."},"power_supply":{"type":["string","null"],"enum":["internal_ac","external_dc","usb",null],"description":"Power supply. Options: internal_ac (Internal AC), external_dc (External DC adapter), usb (USB)."},"power_input":{"type":["string","null"],"description":"Rated power input. Device input rating, as published. An external adapter output rating is separate.."},"included_adapter_output_w":{"type":["number","null"],"description":"Included adapter output. Unit: W. Rated output of the included power adapter. This is not device power consumption.."},"power_consumption_max_w":{"type":["number","null"],"description":"Max power consumption (claimed). Unit: W. Maker-published maximum device power consumption. Adapter rating is not proof.."},"power_consumption_standby_w":{"type":["number","null"],"description":"Standby power (claimed). Unit: W. Maker-published device standby consumption under the source conditions.."},"measured_power_consumption_video_w":{"type":["number","null"],"description":"Video playback power (measured). Unit: W. Reviewer-measured device consumption. Video format, app, resolution, power measurement point and equipment belong in source notes.."},"measured_power_consumption_idle_w":{"type":["number","null"],"description":"Idle power (measured). Unit: W. Reviewer-measured device consumption when idle. Firmware, measurement point and conditions belong in source notes.."},"measured_power_consumption_standby_w":{"type":["number","null"],"description":"Standby power (measured). Unit: W. Reviewer-measured device consumption in standby. Network state, firmware and measurement point belong in source notes.."},"measured_boot_time_s":{"type":["number","null"],"description":"Boot time (measured). Unit: s. Reviewer-measured time from power-on to usable home screen. Cold boot and standby wake are different. Record timing method and firmware.."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Dimensions. Device body without remote, cables or adapter. Width is left-to-right in normal use, height is bottom-to-top and depth is front-to-back. For a stick, include the fixed plug only when the source does. A stick's length from the plug to its end is depth and its thickness is height. A puck that lies flat has its thickness as height.."},"weight_g":{"type":["number","null"],"description":"Weight. Unit: g. Device only, without remote, cable or power adapter. Included fixed cable or plug conditions belong in source notes.."},"remote_dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Remote dimensions. Supplied remote body. Height is its length along the buttons, width is across the buttons and depth is front-to-back.."},"remote_weight_g":{"type":["number","null"],"description":"Remote weight. Unit: g. Supplied remote weight. State whether replaceable batteries are included.."},"fcc_id":{"type":["string","null"],"description":"FCC ID."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."},"hdmi_cable_included":{"type":["boolean","null"],"description":"HDMI cable included. A separate HDMI cable supplied in the box. A fixed HDMI plug or captive lead does not count. A short HDMI extender supplied with a stick counts, and the source note says it is an extender.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","form_factor","max_output_resolution","max_output_refresh_rate_hz","video_output_modes","hdr_formats","dolby_vision_profiles","hdmi_version","hdcp_version","hdmi_cec","automatic_frame_rate_matching","dynamic_range_matching","upscaling","video_codecs","video_decode_limits","video_containers","drm_systems","audio_formats","audio_passthrough_formats","dolby_atmos","audio_channel_configurations","max_audio_sample_rate_khz","max_audio_bit_depth_bits","bluetooth_audio","bluetooth_codecs","soc","cpu","cpu_cores","cpu_clock_max_ghz","gpu","ram_gb","ram_type","storage_gb","storage_type","expandable_storage","storage_expansion_methods","wifi_standard","wifi_bands","wifi_mimo","ethernet_speed_mbps","optional_ethernet","bluetooth_version","ports","thread_border_router","matter_controller","smart_home_platforms","remote_model","remote_connection","remote_microphone","remote_voice_assistants","remote_tv_control","remote_finder","remote_backlight","remote_power","remote_charging_port","operating_system","launch_os_version","app_store","casting_protocols","voice_assistants","hands_free_voice_control","mobile_remote_platforms","accessibility_features","game_services","game_controller_support","power_supply","power_input","included_adapter_output_w","power_consumption_max_w","power_consumption_standby_w","measured_power_consumption_video_w","measured_power_consumption_idle_w","measured_power_consumption_standby_w","measured_boot_time_s","dimensions_mm","weight_g","remote_dimensions_mm","remote_weight_g","fcc_id","other_certifications","in_the_box","hdmi_cable_included"],"description":"Every streaming device field in schema order. Unknown values are null."},"TabletSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"form_factor":{"type":["string","null"],"enum":["slate","detachable_2_in_1","foldable",null],"description":"Form factor. Options: slate (Slate), detachable_2_in_1 (Detachable 2-in-1), foldable (Foldable)."},"os_updates_years":{"type":["integer","null"],"description":"OS updates promised. Unit: years. Years of major OS upgrades explicitly promised from launch. A number of Android generations or the EU minimum from end of market placement is not a duration from launch.."},"security_updates_years":{"type":["integer","null"],"description":"Security updates promised. Unit: years. Security support duration explicitly promised by the maker from launch. The source note states the starting event. EU minimum support from end of market placement is not stored here.."},"security_updates_until":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Security updates until. Exact support end date published for this model. Do not calculate it from a stated number of years.."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm. Long edge of the tablet in portrait orientation. Base describes the Wi-Fi model. The source notes when the maker lists landscape dimensions.."},"width_mm":{"type":["number","null"],"description":"Width. Unit: mm. Short edge of the tablet in portrait orientation. Do not copy landscape height into this field.."},"thickness_mm":{"type":["number","null"],"description":"Thickness. Unit: mm. Tablet body thickness excluding the camera bump when the source states that condition.."},"weight_g":{"type":["number","null"],"description":"Weight. Unit: g. Tablet body only. Base describes the Wi-Fi model. Cellular variants state their own weight. Excludes keyboard, stylus and packaging.."},"frame_material":{"type":["string","null"],"enum":["aluminium","magnesium","titanium","stainless_steel","plastic","other",null],"description":"Frame. Options: aluminium (Aluminium), magnesium (Magnesium), titanium (Titanium), stainless_steel (Stainless steel), plastic (Plastic), other (Other)."},"front_material":{"type":["string","null"],"description":"Front."},"back_material":{"type":["string","null"],"enum":["aluminium","glass","plastic","vegan_leather","other","metal",null],"description":"Back. Options: aluminium (Aluminium), glass (Glass), plastic (Plastic), vegan_leather (Vegan leather), other (Other), metal (Metal, type not stated)."},"ip_rating":{"type":["array","null"],"items":{"type":"string"},"description":"Dust and water rating. Published ingress protection rating. Source notes distinguish a regulatory EU rating from a separately advertised maker claim.."},"mil_std_810":{"type":["boolean","null"],"description":"MIL-STD-810. Whether the maker explicitly claims MIL-STD-810 testing. Absence from a specification sheet does not establish false.."},"sim_slots":{"type":["object","null"],"properties":{"nano_sim_count":{"type":["integer","null"],"description":"Nano-SIMs."},"esim_count":{"type":["integer","null"],"description":"eSIMs."},"esim_only":{"type":["boolean","null"],"description":"eSIM only."}},"required":["nano_sim_count","esim_count","esim_only"],"description":"SIM."},"kickstand":{"type":["boolean","null"],"description":"Built-in kickstand. A stand integrated into the tablet body. An optional keyboard cover or case stand is excluded.."},"screen_size_in":{"type":["number","null"],"description":"Screen size. Unit: in. Published rectangular display diagonal, before rounded-corner deductions. This can differ from the marketed product size.."},"resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Resolution. Native panel pixels. Width is the larger landscape pixel dimension and height the smaller one.."},"pixel_density_ppi":{"type":["number","null"],"description":"Pixel density. Unit: ppi. Calculated from other fields."},"aspect_ratio":{"type":["string","null"],"description":"Aspect ratio."},"display_technology":{"type":["string","null"],"enum":["oled","ltpo_oled","tandem_oled","mini_led","lcd_ips","lcd_other",null],"description":"Display type. Options: oled (OLED), ltpo_oled (LTPO OLED), tandem_oled (Tandem OLED), mini_led (Mini-LED), lcd_ips (LCD (IPS)), lcd_other (LCD (other))."},"display_technology_name":{"type":["string","null"],"description":"Display type (as published)."},"local_dimming_zones":{"type":["integer","null"],"description":"Dimming zones. Independently controlled backlight zones. OLED pixels are not counted as local dimming zones.."},"refresh_rate_modes":{"type":["array","null"],"items":{"type":"object","properties":{"mode_name":{"type":["string","null"],"description":"Mode."},"min_hz":{"type":["integer","null"],"description":"Min. Unit: Hz. Explicitly published or tested minimum rate in this mode. Do not infer 1 Hz from an adaptive label.."},"max_hz":{"type":["integer","null"],"description":"Max. Unit: Hz."},"variable":{"type":["boolean","null"],"description":"Variable. The display adjusts refresh within this mode. This does not establish any particular minimum rate.."}},"required":["mode_name","min_hz","max_hz","variable"]},"description":"Refresh rate modes. One row per confirmed display mode. Minimum refresh rate is stored only when explicitly published or tested. A measured minimum requires test conditions in the source note.."},"refresh_rate_max_hz":{"type":["integer","null"],"description":"Max refresh rate. Unit: Hz. Calculated from other fields."},"refresh_rate_min_hz":{"type":["integer","null"],"description":"Min refresh rate. Unit: Hz. Calculated from other fields."},"brightness_typical_nits":{"type":["number","null"],"description":"Brightness (typical, SDR). Unit: nits. Maker typical or nominal SDR brightness. A figure explicitly described as maximum SDR, outdoor HBM or HDR peak does not establish typical brightness.."},"brightness_peak_nits":{"type":["number","null"],"description":"Peak brightness. Unit: nits. Maker peak HDR brightness under the published window and operating conditions. Outdoor HBM is a different measurement.."},"brightness_full_screen_nits":{"type":["number","null"],"description":"Full-screen HDR brightness. Unit: nits. Maker full-screen HDR brightness. This is not a small-window HDR peak or automatic outdoor SDR level.."},"static_contrast_ratio":{"type":["number","null"],"description":"Contrast ratio."},"color_depth_bits":{"type":["integer","null"],"description":"Colour depth. Unit: bits. Published bits per colour channel. Do not infer native bit depth or FRC from a rounded number of total colours. A published depth reached with FRC or a software extension, such as 8 + 2 bit, is stored as the published total, here 10. The split goes in the source note.."},"dci_p3_coverage_pct":{"type":["number","null"],"description":"DCI-P3 coverage. Unit: %. Percentage of the DCI-P3 gamut covered. Gamut volume above 100 percent is not coverage.."},"hdr_formats":{"type":["array","null"],"items":{"type":"string","enum":["hdr10","hdr10_plus","dolby_vision","hlg"]},"description":"HDR playback formats. Options: hdr10 (HDR10), hdr10_plus (HDR10+), dolby_vision (Dolby Vision), hlg (HLG). HDR video playback formats explicitly supported. Playback or decoding support alone does not establish HDR luminance reproduction by the built-in panel. Source notes identify that distinction.."},"laminated_display":{"type":["boolean","null"],"description":"Fully laminated."},"anti_reflection_coating":{"type":["string","null"],"description":"Anti-reflection coating."},"screen_surface":{"type":["string","null"],"enum":["glossy","semi_glossy","matte","nano_texture",null],"description":"Screen surface. Options: glossy (Glossy), semi_glossy (Semi-glossy), matte (Matte), nano_texture (Nano-texture)."},"nano_texture_option":{"type":["boolean","null"],"description":"Nano-texture option."},"pwm_dimming_hz":{"type":["integer","null"],"description":"PWM dimming frequency. Unit: Hz."},"os_at_launch":{"type":["string","null"],"description":"OS at launch."},"os_skin":{"type":["string","null"],"description":"Software."},"os_latest":{"type":["string","null"],"description":"Latest OS."},"chipset":{"type":["string","null"],"description":"Chipset."},"process_node_nm":{"type":["number","null"],"description":"Process. Unit: nm."},"cpu_core_count":{"type":["integer","null"],"description":"CPU cores. Enabled CPU cores in the reference configuration. Storage tiers with a different enabled core count use explicit variants.."},"cpu_clusters":{"type":["array","null"],"items":{"type":"object","properties":{"count":{"type":["integer","null"],"description":"Count."},"core_name":{"type":["string","null"],"description":"Core."},"max_ghz":{"type":["number","null"],"description":"Max clock. Unit: GHz."}},"required":["count","core_name","max_ghz"]},"description":"CPU configuration. Published core groups and their maximum clock. Do not apply another storage tier or the SoC theoretical clock to the tablet.."},"cpu_max_ghz":{"type":["number","null"],"description":"Max CPU clock. Unit: GHz. Calculated from other fields."},"gpu":{"type":["string","null"],"description":"GPU."},"gpu_core_count":{"type":["integer","null"],"description":"GPU cores. Enabled GPU cores in the marketed tablet configuration. This is not a shader, execution-unit or NPU count.."},"npu_tops":{"type":["number","null"],"description":"NPU performance. Unit: TOPS. Published NPU peak operations per second. Precision and SoC conditions belong in source notes. This is not an AI benchmark score.."},"ram_gb":{"type":["array","null"],"items":{"type":"integer"},"description":"RAM. Unit: GB. Published RAM capacities. Base lists marketed options. Each verified configuration row lists its own capacity.."},"ram_type":{"type":["string","null"],"description":"RAM type."},"memory_bandwidth_gb_s":{"type":["number","null"],"description":"Memory bandwidth. Unit: GB/s."},"storage_gb":{"type":["array","null"],"items":{"type":"integer"},"description":"Storage. Unit: GB. Published internal storage capacities. A published 1 TB is converted to 1000 GB, using decimal GB. Exact published GB capacities are preserved. This is not usable space after formatting.."},"storage_type":{"type":["string","null"],"description":"Storage type."},"memory_card_slot":{"type":["string","null"],"enum":["none","microsd_dedicated","microsd_shared_sim",null],"description":"Memory card. Options: none (None), microsd_dedicated (microSD (own slot)), microsd_shared_sim (microSD (shares the SIM slot))."},"memory_card_max_gb":{"type":["integer","null"],"description":"Max card size. Unit: GB. Maker supported removable-card capacity. A published 1 TB is converted to 1000 GB, using decimal GB. Exact published GB capacities are preserved.."},"rear_cameras":{"type":["array","null"],"items":{"type":"object","properties":{"role":{"type":["string","null"],"enum":["main","ultrawide","telephoto","periscope_telephoto","macro","depth","monochrome",null],"description":"Role. Options: main (Main), ultrawide (Ultrawide), telephoto (Telephoto), periscope_telephoto (Periscope telephoto), macro (Macro), depth (Depth), monochrome (Monochrome)."},"resolution_mp":{"type":["number","null"],"description":"Resolution. Unit: MP. Published effective still-image resolution of this camera sensor.."},"aperture_f":{"type":["number","null"],"description":"Aperture (f/)."},"focal_length_mm_equiv":{"type":["number","null"],"description":"Focal length (35 mm equivalent). Unit: mm. Published 35 mm-equivalent focal length. Physical lens focal length is excluded.."},"sensor_size":{"type":["string","null"],"description":"Sensor size."},"pixel_size_um":{"type":["number","null"],"description":"Pixel size. Unit: um."},"autofocus":{"type":["string","null"],"enum":["pdaf","dual_pixel_pdaf","laser","contrast","fixed","autofocus",null],"description":"Autofocus. Options: pdaf (PDAF), dual_pixel_pdaf (Dual Pixel PDAF), laser (Laser), contrast (Contrast), fixed (Fixed), autofocus (Autofocus, mechanism not stated). Use this option only when the source confirms autofocus without identifying its mechanism. Fixed means fixed-focus, not missing autofocus information.."},"ois":{"type":["boolean","null"],"description":"OIS."},"optical_zoom_x":{"type":["number","null"],"description":"Optical zoom. Unit: x. Optical magnification of this camera relative to the main camera. Digital crop zoom is excluded.."},"field_of_view_deg":{"type":["number","null"],"description":"Field of view. Unit: deg."},"sensor_model":{"type":["string","null"],"description":"Sensor."}},"required":["role","resolution_mp","aperture_f","focal_length_mm_equiv","sensor_size","pixel_size_um","autofocus","ois","optical_zoom_x","field_of_view_deg","sensor_model"]},"description":"Rear cameras."},"rear_camera_count":{"type":["integer","null"],"description":"Number of rear cameras. Calculated from other fields."},"main_camera_mp":{"type":["number","null"],"description":"Main camera. Unit: MP. Calculated from other fields."},"flash":{"type":["string","null"],"description":"Flash."},"rear_video_modes":{"type":["array","null"],"items":{"type":"object","properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"max_fps":{"type":["integer","null"],"description":"Max frame rate. Unit: fps."}},"required":["width_px","height_px","max_fps"]},"description":"Video recording. Confirmed recording modes, including a separately identified slow-motion maximum where supported. Decode or playback modes are excluded.."},"video_max_resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Max video resolution. Calculated from other fields."},"video_hdr_formats":{"type":["array","null"],"items":{"type":"string","enum":["hdr10","hdr10_plus","dolby_vision"]},"description":"Video HDR. Options: hdr10 (HDR10), hdr10_plus (HDR10+), dolby_vision (Dolby Vision)."},"video_codecs":{"type":["array","null"],"items":{"type":"string"},"description":"Video formats. Formats the camera records. Hardware media-engine decoding or video playback formats are not recording formats.."},"lidar_scanner":{"type":["boolean","null"],"description":"LiDAR scanner."},"front_cameras":{"type":["array","null"],"items":{"type":"object","properties":{"role":{"type":["string","null"],"enum":["main","ultrawide","telephoto","periscope_telephoto","macro","depth","monochrome",null],"description":"Role. Options: main (Main), ultrawide (Ultrawide), telephoto (Telephoto), periscope_telephoto (Periscope telephoto), macro (Macro), depth (Depth), monochrome (Monochrome)."},"resolution_mp":{"type":["number","null"],"description":"Resolution. Unit: MP. Published effective still-image resolution of this camera sensor.."},"aperture_f":{"type":["number","null"],"description":"Aperture (f/)."},"focal_length_mm_equiv":{"type":["number","null"],"description":"Focal length (35 mm equivalent). Unit: mm. Published 35 mm-equivalent focal length. Physical lens focal length is excluded.."},"sensor_size":{"type":["string","null"],"description":"Sensor size."},"pixel_size_um":{"type":["number","null"],"description":"Pixel size. Unit: um."},"autofocus":{"type":["string","null"],"enum":["pdaf","dual_pixel_pdaf","laser","contrast","fixed","autofocus",null],"description":"Autofocus. Options: pdaf (PDAF), dual_pixel_pdaf (Dual Pixel PDAF), laser (Laser), contrast (Contrast), fixed (Fixed), autofocus (Autofocus, mechanism not stated). Use this option only when the source confirms autofocus without identifying its mechanism. Fixed means fixed-focus, not missing autofocus information.."},"ois":{"type":["boolean","null"],"description":"OIS."},"optical_zoom_x":{"type":["number","null"],"description":"Optical zoom. Unit: x. Optical magnification of this camera relative to the main camera. Digital crop zoom is excluded.."},"field_of_view_deg":{"type":["number","null"],"description":"Field of view. Unit: deg."},"sensor_model":{"type":["string","null"],"description":"Sensor."}},"required":["role","resolution_mp","aperture_f","focal_length_mm_equiv","sensor_size","pixel_size_um","autofocus","ois","optical_zoom_x","field_of_view_deg","sensor_model"]},"description":"Front cameras."},"webcam_resolution":{"type":["string","null"],"description":"Front camera resolution (as published). Published front-camera resolution or output description. Keep sensor megapixels distinct from video output. This description does not confirm a recording mode or frame rate.."},"front_camera_position":{"type":["string","null"],"enum":["landscape_edge","portrait_edge",null],"description":"Front camera position. Options: landscape_edge (Landscape edge), portrait_edge (Portrait edge)."},"front_camera_auto_framing":{"type":["boolean","null"],"description":"Auto framing."},"front_video_modes":{"type":["array","null"],"items":{"type":"object","properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"max_fps":{"type":["integer","null"],"description":"Max frame rate. Unit: fps."}},"required":["width_px","height_px","max_fps"]},"description":"Front video. Recording modes explicitly attributed to the front camera. A general device video-recording maximum is not sufficient.."},"front_camera_autofocus":{"type":["boolean","null"],"description":"Front autofocus. Calculated from other fields."},"speaker_count":{"type":["integer","null"],"description":"Number of speakers. Physical tablet speakers. Excludes logical audio channels and optional keyboard-cover speakers.."},"speaker_arrangement":{"type":["string","null"],"enum":["mono","stereo_portrait","stereo_landscape","quad","other",null],"description":"Speaker layout. Options: mono (Mono), stereo_portrait (Stereo (portrait)), stereo_landscape (Stereo (landscape)), quad (Quad), other (Other)."},"stereo_speakers":{"type":["boolean","null"],"description":"Stereo speakers."},"microphone_count":{"type":["integer","null"],"description":"Microphones. Physical microphones in the tablet. Excludes microphones in headsets and optional accessories.."},"headphone_jack":{"type":["boolean","null"],"description":"3.5 mm jack."},"audio_features":{"type":["array","null"],"items":{"type":"string"},"description":"Audio features."},"cellular":{"type":["boolean","null"],"description":"Cellular. True in base when a cellular model is marketed. Wi-Fi and cellular configuration rows state their own capability.."},"network_technologies":{"type":["array","null"],"items":{"type":"string","enum":["gsm","hspa","lte","5g"]},"description":"Network. Options: gsm (GSM), hspa (HSPA), lte (LTE), 5g (5G)."},"bands_2g":{"type":["array","null"],"items":{"type":"string"},"description":"2G bands. Published radio bands for the identified cellular regional model. Wi-Fi configurations do not have these bands.."},"bands_3g":{"type":["array","null"],"items":{"type":"string"},"description":"3G bands. Published radio bands for the identified cellular regional model. Frequency labels are kept distinct from band identifiers.."},"bands_4g":{"type":["array","null"],"items":{"type":"string"},"description":"4G bands. Published FDD and TDD LTE bands for the identified cellular regional model.."},"bands_5g":{"type":["array","null"],"items":{"type":"string"},"description":"5G bands. Published 5G NR bands for the identified cellular regional model. Sub-6 support does not establish mmWave support.."},"mmwave":{"type":["boolean","null"],"description":"5G mmWave."},"max_download_mbps":{"type":["integer","null"],"description":"Max download speed. Unit: Mbps."},"cellular_modem":{"type":["string","null"],"description":"Modem."},"wifi_standard":{"type":["string","null"],"enum":["wifi_5","wifi_6","wifi_6e","wifi_7",null],"description":"Wi-Fi. Options: wifi_5 (Wi-Fi 5), wifi_6 (Wi-Fi 6), wifi_6e (Wi-Fi 6E), wifi_7 (Wi-Fi 7)."},"wifi_bands":{"type":["array","null"],"items":{"type":"string","enum":["2.4ghz","5ghz","6ghz"]},"description":"Wi-Fi bands. Options: 2.4ghz (2.4 GHz), 5ghz (5 GHz), 6ghz (6 GHz)."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth."},"bluetooth_codecs":{"type":["array","null"],"items":{"type":"string"},"description":"Bluetooth codecs."},"nfc":{"type":["boolean","null"],"description":"NFC."},"positioning":{"type":["array","null"],"items":{"type":"string"},"description":"Positioning. Published location methods. GNSS on a cellular model must not be inherited by its Wi-Fi configuration unless the maker lists it there.."},"dual_frequency_gnss":{"type":["boolean","null"],"description":"Dual-band GNSS."},"usb_connector":{"type":["string","null"],"enum":["usb_c","lightning","micro_usb",null],"description":"Connector. Options: usb_c (USB-C), lightning (Lightning), micro_usb (Micro-USB)."},"usb_port_count":{"type":["integer","null"],"description":"USB ports. Physical USB ports on the tablet. Excludes the keyboard charging port and accessory pogo pins.."},"usb_version":{"type":["string","null"],"description":"USB speed. Published USB data speed or standard. A USB-C connector does not establish USB 3, USB 4 or Thunderbolt.."},"thunderbolt_version":{"type":["string","null"],"description":"Thunderbolt."},"display_output":{"type":["boolean","null"],"description":"Video out over USB. Wired video output over the tablet USB connector. Wireless screen mirroring alone is excluded.."},"display_output_max":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"refresh_hz":{"type":["integer","null"],"description":"Refresh rate. Unit: Hz."}},"required":["width_px","height_px","refresh_hz"],"description":"Max external display. Highest confirmed external-display resolution and its refresh rate. Only exact published pixel dimensions are stored. Other supported modes belong in the source note.."},"max_external_displays":{"type":["integer","null"],"description":"External displays. External displays supported at the same time. Excludes the built-in tablet display.."},"stylus_support":{"type":["string","null"],"enum":["built_in","in_box","supported","none",null],"description":"Stylus. Options: built_in (Built-in), in_box (In the box), supported (Supported), none (None)."},"stylus_models":{"type":["array","null"],"items":{"type":"object","properties":{"name":{"type":["string","null"],"description":"Name."},"technology":{"type":["string","null"],"enum":["active_capacitive","emr","mpp","usi","wacom_aes",null],"description":"Technology. Options: active_capacitive (Active capacitive), emr (EMR), mpp (MPP), usi (USI), wacom_aes (Wacom AES)."},"included":{"type":["boolean","null"],"description":"Included."},"pressure_levels":{"type":["integer","null"],"description":"Pressure levels."},"tilt":{"type":["boolean","null"],"description":"Tilt."},"hover":{"type":["boolean","null"],"description":"Hover."},"haptics":{"type":["boolean","null"],"description":"Haptics."},"charging":{"type":["string","null"],"enum":["magnetic_on_device","usb_c","replaceable_battery","none_passive",null],"description":"Charging. Options: magnetic_on_device (Magnetic, on the device), usb_c (USB-C), replaceable_battery (Replaceable battery), none_passive (None (passive))."},"latency_claimed_ms":{"type":["number","null"],"description":"Latency (claimed). Unit: ms."}},"required":["name","technology","included","pressure_levels","tilt","hover","haptics","charging","latency_claimed_ms"]},"description":"Compatible styluses. One row per compatible maker-listed stylus. Inclusion depends on the exact tablet bundle. Unpublished pressure levels or latency remain missing.."},"stylus_pressure_levels_max":{"type":["integer","null"],"description":"Pressure levels. Calculated from other fields."},"stylus_tilt":{"type":["boolean","null"],"description":"Tilt support. Calculated from other fields."},"stylus_hover":{"type":["boolean","null"],"description":"Hover. Calculated from other fields."},"accessory_connector":{"type":["string","null"],"description":"Accessory connector."},"keyboard_accessories":{"type":["array","null"],"items":{"type":"object","properties":{"name":{"type":["string","null"],"description":"Name."},"connection":{"type":["string","null"],"enum":["pogo_pins","bluetooth","usb_c",null],"description":"Connection. Options: pogo_pins (Pogo pins), bluetooth (Bluetooth), usb_c (USB-C)."},"trackpad":{"type":["boolean","null"],"description":"Trackpad."},"backlit":{"type":["boolean","null"],"description":"Backlit."},"function_row":{"type":["boolean","null"],"description":"Function row."},"included":{"type":["boolean","null"],"description":"Included."},"weight_g":{"type":["number","null"],"description":"Weight. Unit: g."}},"required":["name","connection","trackpad","backlit","function_row","included","weight_g"]},"description":"Official keyboards. Official compatible keyboards or licensed maker-listed accessories. Inclusion refers to the exact sold tablet bundle, not a temporary promotion.."},"keyboard_with_trackpad":{"type":["boolean","null"],"description":"Keyboard with trackpad. Calculated from other fields."},"keyboard_in_box":{"type":["boolean","null"],"description":"Keyboard in box. Calculated from other fields."},"fingerprint_sensor":{"type":["string","null"],"enum":["ultrasonic_under_display","optical_under_display","side_button","rear","none","under_display","home_button",null],"description":"Fingerprint. Options: ultrasonic_under_display (Ultrasonic, under-display), optical_under_display (Optical, under-display), side_button (Side button), rear (Rear), none (None), under_display (Under display, technology not stated), home_button (Front home button). A top button reader is side button. A reader in the front home button, such as Touch ID on older iPads, is front home button.."},"face_unlock":{"type":["string","null"],"enum":["3d","2d","infrared","none","type_not_stated",null],"description":"Face unlock. Options: 3d (3D), 2d (2D), infrared (Infrared authentication), none (None), type_not_stated (Yes, type not stated). Published facial authentication type. Infrared requires explicit infrared camera authentication support and does not imply depth sensing or a 3D face map. An ordinary front camera alone does not establish face unlock. Yes, type not stated is for a maker that names face unlock but not 2D, 3D or infrared.."},"sensors":{"type":["array","null"],"items":{"type":"string"},"description":"Sensors."},"hardware_buttons":{"type":["array","null"],"items":{"type":"string"},"description":"Extra buttons. Additional dedicated buttons beyond ordinary power and volume controls. Stylus and keyboard buttons are excluded.."},"battery_capacity_mah":{"type":["integer","null"],"description":"Battery capacity. Unit: mAh. Published rated or minimum pack capacity. A typical capacity belongs in the separate typical field. No assumed voltage conversion.."},"battery_capacity_typical_mah":{"type":["integer","null"],"description":"Battery capacity (typical). Unit: mAh. Published typical battery pack capacity. Keep it distinct from rated/minimum capacity.."},"battery_capacity_wh":{"type":["number","null"],"description":"Battery energy. Unit: Wh. Published battery pack energy. Do not infer it from mAh without a published nominal pack voltage.."},"battery_life_claimed":{"type":["array","null"],"items":{"type":"object","properties":{"use_case":{"type":["string","null"],"enum":["video_playback","video_streaming","audio_playback","web_browsing","mixed_use","gaming","standby","reading",null],"description":"Use case. Options: video_playback (Video playback), video_streaming (Video streaming), audio_playback (Audio playback), web_browsing (Web browsing), mixed_use (Mixed use), gaming (Gaming), standby (Standby), reading (Reading)."},"connection":{"type":["string","null"],"enum":["wifi","cellular","offline",null],"description":"Connection. Options: wifi (Wi-Fi), cellular (Cellular), offline (Offline)."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."}},"required":["use_case","connection","hours"]},"description":"Claimed battery life. Maker runtime under the stated use case and connection. The source note records brightness and test conditions. Unknown connection remains missing. Configuration-specific promises must be stored in the matching variant. A missing variant cell inherits the base claim, so explicitly repeat the applicable claim table when Wi-Fi and cellular configurations differ. Reading is a maker claim for reading documents or e-books.."},"battery_life_video_claimed_h":{"type":["number","null"],"description":"Video playback (claimed). Unit: h. Calculated from other fields."},"wired_charging_max_w":{"type":["number","null"],"description":"Wired charging. Unit: W. Maximum charging power accepted by the tablet. The wattage of a bundled or recommended adapter alone does not establish this value.."},"wired_charging_standards":{"type":["array","null"],"items":{"type":"string"},"description":"Wired charging standards."},"charging_notes":{"type":["string","null"],"description":"Charging guidance. Published charging guidance and estimates with their exact targets and conditions. An unspecified charging interval is not an empty-to-full claim.."},"charge_time_0_50_min":{"type":["integer","null"],"description":"Charge 0 to 50 %. Unit: min. Maker claim for charging from empty to 50 percent. Adapter, cable and any upper-bound qualifier are recorded in the source note.."},"charge_time_0_100_min":{"type":["integer","null"],"description":"Charge 0 to 100 %. Unit: min. Maker claim for charging from empty to full. Measured review times belong in the measured field.."},"reverse_wired_charging":{"type":["boolean","null"],"description":"Reverse wired."},"charger_in_box":{"type":["boolean","null"],"description":"Charger in box. Power adapter included in the exact regional sold configuration. A USB cable or temporary promotional adapter is not an in-box charger.."},"charger_in_box_w":{"type":["number","null"],"description":"Included charger. Unit: W. Output rating of the adapter included in the exact regional configuration. No-charger variants must not inherit a positive rating.."},"benchmark_geekbench_single":{"type":["integer","null"],"description":"Geekbench 6 single-core. Unit: points. Reviewer Geekbench 6 score. Source notes must state the exact 6.x version, tested CPU, RAM and storage tier. Scores from Geekbench 5 or a different hardware configuration are excluded.."},"benchmark_geekbench_multi":{"type":["integer","null"],"description":"Geekbench 6 multi-core. Unit: points. Reviewer Geekbench 6 score. Source notes must state the exact 6.x version, tested CPU, RAM and storage tier. Scores from Geekbench 5 or a different hardware configuration are excluded.."},"benchmark_geekbench_gpu":{"type":["integer","null"],"description":"Geekbench 6 GPU. Unit: points. Reviewer Geekbench 6 score. Source notes must state the exact 6.x version, tested CPU, RAM and storage tier and graphics API. Scores from Geekbench 5 or a different hardware configuration are excluded.."},"benchmark_3dmark_wild_life_extreme":{"type":["integer","null"],"description":"3DMark Wild Life Extreme. Unit: points. Reviewer score for ordinary Wild Life Extreme. Wild Life Extreme Unlimited is a different test and is excluded. Source notes name the tested configuration.."},"benchmark_3dmark_stress_stability_pct":{"type":["number","null"],"description":"3DMark stress test stability. Unit: %. Worst-loop performance as a percentage of the best loop in the explicitly named 3DMark stress test. CPU throttling and unrelated stress tests are excluded. The Wild Life Extreme Stress Test only. The ordinary Wild Life stress test is not stored.."},"benchmark_antutu":{"type":["integer","null"],"description":"AnTuTu. Unit: points. Reviewer score with AnTuTu major version and tested configuration in the source note. Scores across platforms or major versions are not directly comparable.."},"measured_brightness_nits":{"type":["number","null"],"description":"Manual SDR brightness (measured). Unit: nits. Reviewer-measured maximum manual SDR brightness. The source note states stimulus or white-area extent when reported, or explicitly unknown, spatial maximum versus centre, tested configuration and actual manual/automatic settings. Keep automatic and HDR measurements separate. Do not imply identical standardized tests across products.."},"measured_brightness_auto_nits":{"type":["number","null"],"description":"Brightness with auto (measured). Unit: nits. Maximum automatic SDR brightness measured under bright ambient light. Source notes state white-area size and conditions.."},"measured_brightness_hdr_nits":{"type":["number","null"],"description":"HDR brightness (measured). Unit: nits. Reviewer HDR brightness, with white-window size or content method in the source note. A different SDR result is not substituted.."},"measured_contrast_ratio":{"type":["number","null"],"description":"Contrast ratio (measured). Reviewer white-to-black luminance ratio under the same mode and brightness. Profile and measurement conditions belong in the source note.."},"measured_color_accuracy_delta_e":{"type":["number","null"],"description":"Colour accuracy (measured Delta E). Reviewer colour-error result. Delta E formula, colour profile and target gamut belong in the source note where reported.."},"measured_reflection_pct":{"type":["number","null"],"description":"Reflections (measured). Unit: %. Reviewer reflected-light percentage under the stated method and display surface.."},"measured_pwm_hz":{"type":["integer","null"],"description":"PWM dimming (measured). Unit: Hz. Reviewer-measured dimming or flicker frequency under the stated brightness range. Zero is not used to represent no PWM.."},"measured_pwm_max_brightness_pct":{"type":["number","null"],"description":"PWM up to brightness (measured). Unit: %. Highest display brightness setting at which the reviewer detected PWM. This is a settings percentage, not percentage luminance.."},"measured_stylus_latency_ms":{"type":["number","null"],"description":"Stylus latency (measured). Unit: ms. Measured latency for the named stylus, app, refresh mode and method. A maker latency claim is excluded.."},"measured_battery_active_use_h":{"type":["number","null"],"description":"Battery life (measured). Unit: h. Reviewer mixed-use score under the named methodology. Single web or video rundown tests belong in the battery-tests table.."},"battery_life_measured":{"type":["array","null"],"items":{"type":"object","properties":{"test":{"type":["string","null"],"enum":["gsmarena_web","gsmarena_video","gsmarena_gaming","notebookcheck_wifi","notebookcheck_video","notebookcheck_load","notebookcheck_idle","other",null],"description":"Test. Options: gsmarena_web (GSMArena web browsing), gsmarena_video (GSMArena video), gsmarena_gaming (GSMArena gaming), notebookcheck_wifi (Notebookcheck Wi-Fi), notebookcheck_video (Notebookcheck video), notebookcheck_load (Notebookcheck load), notebookcheck_idle (Notebookcheck idle), other (Other)."},"brightness_nits":{"type":["number","null"],"description":"Brightness. Unit: nits."},"hours":{"type":["number","null"],"description":"Hours. Unit: h."}},"required":["test","brightness_nits","hours"]},"description":"Battery tests (measured). One reviewer test per row. Results compare only under matching test methodology, brightness and tested configuration.."},"measured_charge_time_min":{"type":["integer","null"],"description":"Full charge time (measured). Unit: min. Reviewer empty-to-full charge time with adapter, cable and tested configuration in the source note. Source upper bounds are labelled as such.."},"measured_loudspeaker_lufs":{"type":["number","null"],"description":"Loudspeaker loudness (measured). Unit: LUFS. Reviewer loudness in LUFS under the stated test. dB sound-pressure measurements are not substituted.."},"eu_energy_class":{"type":["string","null"],"enum":["A","B","C","D","E","F","G",null],"description":"EU energy class. Options: A (A), B (B), C (C), D (D), E (E), F (F), G (G). EU energy-label class for the exact model identified in the source. It is not a benchmark of ordinary video playback.."},"eu_battery_endurance_per_cycle_h":{"type":["number","null"],"description":"Battery endurance per cycle (EU test). Unit: h. EU regulated endurance test duration for one full charge. It is not the maker's claimed video-playback runtime. Wi-Fi and cellular models have their own EU entries, so it is per variant.."},"eu_battery_endurance_cycles":{"type":["integer","null"],"description":"Battery endurance in cycles (EU test). Unit: cycles. EU declared charge cycles before the specified capacity threshold, typically 80 percent. The source states the exact regulatory model. EPREL prints this value in hundreds, so 10 there is stored as 1000.."},"eu_free_fall_class":{"type":["string","null"],"enum":["A","B","C","D","E",null],"description":"Drop resistance class. Options: A (A), B (B), C (C), D (D), E (E)."},"eu_repairability_class":{"type":["string","null"],"enum":["A","B","C","D","E",null],"description":"Repairability class. Options: A (A), B (B), C (C), D (D), E (E)."},"sar_body_w_kg":{"type":["number","null"],"description":"SAR body (US). Unit: W/kg. US body SAR under the published averaging mass and separation. It applies only to the identified tested radio model.."},"sar_eu_body_w_kg":{"type":["number","null"],"description":"SAR body (EU). Unit: W/kg. EU body SAR under the published averaging mass and separation. It applies only to the identified tested radio model. Wi-Fi and cellular models have their own figures, so it is per variant.."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box. Contents of the exact regional standard box. Conditional nano-texture polishing cloths are listed only on nano-texture configurations. Promotional gifts are excluded.."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","form_factor","os_updates_years","security_updates_years","security_updates_until","height_mm","width_mm","thickness_mm","weight_g","frame_material","front_material","back_material","ip_rating","mil_std_810","sim_slots","kickstand","screen_size_in","resolution","pixel_density_ppi","aspect_ratio","display_technology","display_technology_name","local_dimming_zones","refresh_rate_modes","refresh_rate_max_hz","refresh_rate_min_hz","brightness_typical_nits","brightness_peak_nits","brightness_full_screen_nits","static_contrast_ratio","color_depth_bits","dci_p3_coverage_pct","hdr_formats","laminated_display","anti_reflection_coating","screen_surface","nano_texture_option","pwm_dimming_hz","os_at_launch","os_skin","os_latest","chipset","process_node_nm","cpu_core_count","cpu_clusters","cpu_max_ghz","gpu","gpu_core_count","npu_tops","ram_gb","ram_type","memory_bandwidth_gb_s","storage_gb","storage_type","memory_card_slot","memory_card_max_gb","rear_cameras","rear_camera_count","main_camera_mp","flash","rear_video_modes","video_max_resolution","video_hdr_formats","video_codecs","lidar_scanner","front_cameras","webcam_resolution","front_camera_position","front_camera_auto_framing","front_video_modes","front_camera_autofocus","speaker_count","speaker_arrangement","stereo_speakers","microphone_count","headphone_jack","audio_features","cellular","network_technologies","bands_2g","bands_3g","bands_4g","bands_5g","mmwave","max_download_mbps","cellular_modem","wifi_standard","wifi_bands","bluetooth_version","bluetooth_codecs","nfc","positioning","dual_frequency_gnss","usb_connector","usb_port_count","usb_version","thunderbolt_version","display_output","display_output_max","max_external_displays","stylus_support","stylus_models","stylus_pressure_levels_max","stylus_tilt","stylus_hover","accessory_connector","keyboard_accessories","keyboard_with_trackpad","keyboard_in_box","fingerprint_sensor","face_unlock","sensors","hardware_buttons","battery_capacity_mah","battery_capacity_typical_mah","battery_capacity_wh","battery_life_claimed","battery_life_video_claimed_h","wired_charging_max_w","wired_charging_standards","charging_notes","charge_time_0_50_min","charge_time_0_100_min","reverse_wired_charging","charger_in_box","charger_in_box_w","benchmark_geekbench_single","benchmark_geekbench_multi","benchmark_geekbench_gpu","benchmark_3dmark_wild_life_extreme","benchmark_3dmark_stress_stability_pct","benchmark_antutu","measured_brightness_nits","measured_brightness_auto_nits","measured_brightness_hdr_nits","measured_contrast_ratio","measured_color_accuracy_delta_e","measured_reflection_pct","measured_pwm_hz","measured_pwm_max_brightness_pct","measured_stylus_latency_ms","measured_battery_active_use_h","battery_life_measured","measured_charge_time_min","measured_loudspeaker_lufs","eu_energy_class","eu_battery_endurance_per_cycle_h","eu_battery_endurance_cycles","eu_free_fall_class","eu_repairability_class","sar_body_w_kg","sar_eu_body_w_kg","in_the_box"],"description":"Every tablet field in schema order. Unknown values are null."},"TvSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"segment":{"type":["string","null"],"enum":["standard","lifestyle","outdoor",null],"description":"Segment. Options: standard (Standard), lifestyle (Lifestyle), outdoor (Outdoor). Lifestyle is art and design TVs."},"model_year":{"type":["integer","null"],"description":"Model year. The year the maker sells it as."},"screen_size_in":{"type":["number","null"],"description":"Screen size class. Unit: in. Advertised diagonal size class. The measured viewable diagonal is listed separately.."},"screen_sizes_in":{"type":["array","null"],"items":{"type":"number"},"description":"Sizes covered. Unit: in. Advertised sizes represented by the verified model rows. Other sizes in a maker family may be excluded when their differences cannot be represented.."},"viewable_size_in":{"type":["number","null"],"description":"Viewable size. Unit: in."},"native_resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Native resolution."},"pixel_density_ppi":{"type":["number","null"],"description":"Pixel density (size class). Unit: ppi. Calculated from advertised screen-size class and native resolution. It is not calculated from the measured viewable diagonal.. Calculated from other fields."},"screen_surface":{"type":["string","null"],"enum":["matte","semi_glossy","glossy",null],"description":"Screen surface. Options: matte (Matte), semi_glossy (Semi-glossy), glossy (Glossy)."},"anti_reflection_coating":{"type":["string","null"],"description":"Anti-reflection coating."},"display_technology":{"type":["string","null"],"enum":["oled","mini_led","rgb_mini_led","qled","led","micro_led",null],"description":"Display type. Options: oled (OLED), mini_led (Mini-LED), rgb_mini_led (RGB Mini-LED), qled (QLED), led (LED), micro_led (Micro LED). QLED is a quantum dot LCD without mini LED."},"display_technology_name":{"type":["string","null"],"description":"Display type (as published)."},"panel_type":{"type":["string","null"],"enum":["va","ips","woled","qd_oled","rgb_oled","other",null],"description":"Panel type. Options: va (VA), ips (IPS), woled (WOLED), qd_oled (QD-OLED), rgb_oled (RGB OLED), other (Other)."},"backlight_type":{"type":["string","null"],"enum":["edge_lit_led","direct_lit_led","mini_led","rgb_mini_led","none_self_emissive",null],"description":"Backlight. Options: edge_lit_led (Edge-lit LED), direct_lit_led (Direct-lit LED), mini_led (Mini-LED), rgb_mini_led (RGB Mini-LED), none_self_emissive (None (self-emissive))."},"local_dimming":{"type":["boolean","null"],"description":"Local dimming. The backlight is dimmed in separate zones. Global dimming of the whole backlight is not local dimming, so it is false.."},"local_dimming_zones":{"type":["integer","null"],"description":"Local dimming zones. Independently controlled backlight zones for the exact screen size. Excludes LED count, self-emissive pixels and a series-wide up-to zone claim.."},"panel_manufacturer":{"type":["string","null"],"description":"Panel maker."},"panel_generation":{"type":["string","null"],"description":"Panel generation."},"subpixel_layout":{"type":["string","null"],"enum":["rgwb","rgb_stripe","bgr_stripe","rwbg","triangular_rgb","other",null],"description":"Subpixel layout. Options: rgwb (RGWB), rgb_stripe (RGB stripe), bgr_stripe (BGR stripe), rwbg (RWBG), triangular_rgb (Triangular RGB), other (Other)."},"color_depth_bits":{"type":["integer","null"],"description":"Native colour depth. Unit: bits. Native panel bits per colour channel. A displayed colour count or HDR input bit depth does not establish native panel depth.."},"native_refresh_rate_hz":{"type":["integer","null"],"description":"Native panel refresh rate. Unit: Hz. Panel refresh rate explicitly stated by the maker. Separate from the highest accepted PC or VRR input rate.."},"dci_p3_coverage_pct":{"type":["number","null"],"description":"DCI-P3 coverage (claimed). Unit: %. Gamut area coverage claimed by the maker. State the coordinate system in source notes. Colour volume or colour-ratio claims do not belong here.."},"rec2020_coverage_pct":{"type":["number","null"],"description":"Rec. 2020 coverage (claimed). Unit: %. Gamut area coverage claimed by the maker. State the coordinate system in source notes. Colour volume or colour-ratio claims do not belong here.."},"brightness_hdr_peak_nits":{"type":["number","null"],"description":"Peak HDR brightness (claimed). Unit: nits. Maker upper brightness claim for the stated size or series. Source notes identify screen size, test window and conditions when published.."},"hdr_formats":{"type":["array","null"],"items":{"type":"string","enum":["hdr10_plus_gaming","hdr10_plus_advanced","hdr10","hdr10_plus","hdr10_plus_adaptive","dolby_vision","dolby_vision_iq","dolby_vision_2","hlg","advanced_hdr_technicolor","hdr_vivid"]},"description":"HDR formats. Options: hdr10_plus_gaming (HDR10+ Gaming), hdr10_plus_advanced (HDR10+ Advanced), hdr10 (HDR10), hdr10_plus (HDR10+), hdr10_plus_adaptive (HDR10+ Adaptive), dolby_vision (Dolby Vision), dolby_vision_iq (Dolby Vision IQ), dolby_vision_2 (Dolby Vision 2), hlg (HLG), advanced_hdr_technicolor (Advanced HDR by Technicolor), hdr_vivid (HDR Vivid)."},"filmmaker_mode":{"type":["boolean","null"],"description":"Filmmaker Mode."},"hgig":{"type":["boolean","null"],"description":"HGiG. HDR tone mapping for games."},"picture_processor":{"type":["string","null"],"description":"Picture processor."},"motion_interpolation":{"type":["boolean","null"],"description":"Motion interpolation."},"black_frame_insertion":{"type":["boolean","null"],"description":"Black frame insertion."},"ambient_light_sensor":{"type":["boolean","null"],"description":"Ambient light sensor. Sensor in the TV that measures room lighting. A remote microphone or a generic auto-brightness setting alone does not establish a fitted light sensor.."},"calibration_software_support":{"type":["array","null"],"items":{"type":"string"},"description":"Calibration software."},"refresh_rate_modes":{"type":["array","null"],"items":{"type":"object","properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"input":{"type":["string","null"],"enum":["hdmi","displayport","usb_c","thunderbolt",null],"description":"Input. Options: hdmi (HDMI), displayport (DisplayPort), usb_c (USB-C), thunderbolt (Thunderbolt)."},"input_version":{"type":["string","null"],"description":"Input version."},"max_hz":{"type":["integer","null"],"description":"Maximum accepted rate. Unit: Hz. Verified accepted maximum under the documented input and signal conditions.."},"bit_depth":{"type":["integer","null"],"description":"Bit depth. Unit: bits. Bits per colour channel in the accepted input signal, not native panel depth.."},"chroma":{"type":["string","null"],"enum":["420","422","444",null],"description":"Chroma. Options: 420 (4:2:0), 422 (4:2:2), 444 (4:4:4)."},"dsc":{"type":["boolean","null"],"description":"DSC. Whether Display Stream Compression is required for this accepted mode. Missing means not specified.."}},"required":["width_px","height_px","input","input_version","max_hz","bit_depth","chroma","dsc"]},"description":"Maximum accepted refresh rate per resolution and input. Highest verified accepted rate without frame skipping at each resolution and input under the source conditions. Preset timing lists alone do not establish a maximum. Source notes identify ports, VRR, PC mode and any restrictions.."},"max_refresh_rate_hz":{"type":["integer","null"],"description":"Maximum accepted refresh rate. Unit: Hz. Highest verified accepted input rate across the stored resolution rows. Excludes motion interpolation ratings.. Calculated from other fields."},"max_refresh_rate_native_res_hz":{"type":["integer","null"],"description":"Maximum accepted refresh rate at 4K. Unit: Hz. Highest verified accepted input rate at the TV's native resolution, under the documented mode conditions. That is 3840 × 2160 on a 4K TV and 7680 × 4320 on an 8K TV.. Calculated from other fields."},"vrr_technologies":{"type":["array","null"],"items":{"type":"string","enum":["vesa_adaptive_sync","hdmi_vrr","freesync","freesync_premium","freesync_premium_pro","gsync_compatible","gsync","gsync_ultimate","gsync_pulsar"]},"description":"Adaptive sync. Options: vesa_adaptive_sync (VESA Adaptive-Sync), hdmi_vrr (HDMI VRR), freesync (FreeSync), freesync_premium (FreeSync Premium), freesync_premium_pro (FreeSync Premium Pro), gsync_compatible (G-SYNC Compatible), gsync (G-SYNC), gsync_ultimate (G-SYNC Ultimate), gsync_pulsar (G-SYNC Pulsar). Supported VRR protocols and maker-published license tiers. G-SYNC compatibility is not the same as formal NVIDIA certification unless the source explicitly states certification.."},"vrr_ranges":{"type":["array","null"],"items":{"type":"object","properties":{"input":{"type":["string","null"],"enum":["hdmi","displayport","usb_c","thunderbolt",null],"description":"Input. Options: hdmi (HDMI), displayport (DisplayPort), usb_c (USB-C), thunderbolt (Thunderbolt)."},"min_hz":{"type":["integer","null"],"description":"Min. Unit: Hz."},"max_hz":{"type":["integer","null"],"description":"Max. Unit: Hz."}},"required":["input","min_hz","max_hz"]},"description":"VRR range per input. Published variable refresh rate interval. A maximum without a minimum is not a complete interval. State LFC separately and do not infer a lower limit from it.."},"low_framerate_compensation":{"type":["boolean","null"],"description":"Low framerate compensation."},"dolby_vision_gaming":{"type":["boolean","null"],"description":"Dolby Vision gaming."},"game_mode_auto":{"type":["boolean","null"],"description":"Auto game mode (ALLM)."},"gaming_osd_features":{"type":["array","null"],"items":{"type":"string"},"description":"Game menu features."},"input_lag_claimed_ms":{"type":["number","null"],"description":"Input lag (claimed). Unit: ms."},"measured_input_lag":{"type":["array","null"],"items":{"type":"object","properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"hz":{"type":["integer","null"],"description":"Refresh rate. Unit: Hz."},"input":{"type":["string","null"],"enum":["hdmi","usb_c",null],"description":"Input. Options: hdmi (HDMI), usb_c (USB-C)."},"hdr":{"type":["boolean","null"],"description":"HDR."},"vrr":{"type":["boolean","null"],"description":"VRR."},"lag_ms":{"type":["number","null"],"description":"Input lag. Unit: ms."}},"required":["width_px","height_px","hz","input","hdr","vrr","lag_ms"]},"description":"Input lag (measured). Delay measured by a reviewer for each signal and documented input. Source notes identify the tested size and mode. Missing input, HDR or VRR cells mean the source did not specify them.."},"input_lag_60hz_ms":{"type":["number","null"],"description":"Input lag at 4K 60 Hz (measured). Unit: ms. Lowest measured value with the right settings. Calculated from other fields."},"input_lag_120hz_ms":{"type":["number","null"],"description":"Input lag at 4K 120 Hz (measured). Unit: ms. Lowest measured value with the right settings. Calculated from other fields."},"input_lag_144hz_ms":{"type":["number","null"],"description":"Input lag at 4K 144 Hz (measured). Unit: ms. Lowest measured value with the right settings. Calculated from other fields."},"measured_sdr_brightness_nits":{"type":["number","null"],"description":"SDR brightness in a real scene (measured). Unit: nits. Measured by a reviewer, not claimed by the maker."},"measured_hdr_brightness_real_scene_nits":{"type":["number","null"],"description":"HDR brightness in a real scene (measured). Unit: nits. Measured by a reviewer, not claimed by the maker."},"measured_hdr_brightness":{"type":["array","null"],"items":{"type":"object","properties":{"window_pct":{"type":["number","null"],"description":"Window. Unit: %."},"sustained":{"type":["boolean","null"],"description":"Sustained."},"nits":{"type":["number","null"],"description":"Brightness. Unit: nits."}},"required":["window_pct","sustained","nits"]},"description":"HDR brightness per window (measured). Measured by a reviewer, not claimed by the maker."},"measured_hdr_peak_nits":{"type":["number","null"],"description":"HDR peak brightness (measured). Unit: nits. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_full_screen_brightness_nits":{"type":["number","null"],"description":"Full-screen HDR brightness (measured). Unit: nits. Measured by a reviewer, not claimed by the maker. Calculated from other fields."},"measured_contrast_ratio":{"type":["number","null"],"description":"Contrast ratio (measured). Native, local dimming off. 1000 means 1000:1."},"measured_contrast_ratio_local_dimming":{"type":["number","null"],"description":"Contrast with local dimming (measured). 1000 means 1000:1. Measured by a reviewer."},"measured_contrast_infinite":{"type":["boolean","null"],"description":"Infinite contrast (measured). OLED shows no measurable black level."},"measured_dci_p3_coverage_pct":{"type":["number","null"],"description":"DCI-P3 coverage (measured). Unit: %. Measured gamut area coverage. Source notes identify the tested size, picture mode and coordinate system if stated.."},"measured_rec2020_coverage_pct":{"type":["number","null"],"description":"Rec. 2020 coverage (measured). Unit: %. Reviewer-measured Rec. 2020 gamut area coverage. Source notes identify the tested size, picture mode, method and coordinate system when stated. Excludes colour volume and maker claims.."},"measured_color_volume_1000_nits_pct":{"type":["number","null"],"description":"Colour volume at 1,000 nits (measured). Unit: %. DCI-P3. Measured by a reviewer."},"measured_color_volume_10000_nits_pct":{"type":["number","null"],"description":"Colour volume at 10,000 nits (measured). Unit: %. Rec. 2020. Measured by a reviewer."},"measured_color_accuracy_delta_e":{"type":["number","null"],"description":"Colour accuracy (measured Delta E). Before calibration. Measured by a reviewer."},"measured_gray_uniformity":{"type":["number","null"],"description":"Gray uniformity deviation (measured). Unit: %. Standard deviation of brightness on a 50% gray test image, expressed as a percentage. Lower is more uniform. Source notes identify the tested size and method.."},"measured_viewing_angle_color_deg":{"type":["number","null"],"description":"Colour shift angle (measured). Unit: deg. The angle where colour washes out."},"measured_reflection_pct":{"type":["number","null"],"description":"Reflections (measured). Unit: %. Measured by a reviewer, not claimed by the maker."},"measured_response_time_ms":{"type":["number","null"],"description":"Total pixel response time (measured). Unit: ms. Time for a complete pixel transition under the reviewer’s stated method. Source notes identify the refresh rate, tested size and settings.."},"measured_pwm_frequency_hz":{"type":["integer","null"],"description":"PWM flicker frequency (measured). Unit: Hz. Only when the reviewer found PWM flicker."},"measured_vrr_range":{"type":["object","null"],"properties":{"min_hz":{"type":["integer","null"],"description":"Min. Unit: Hz."},"max_hz":{"type":["integer","null"],"description":"Max. Unit: Hz."}},"required":["min_hz","max_hz"],"description":"VRR range (measured). Measured by a reviewer, not claimed by the maker."},"measured_chroma_444":{"type":["boolean","null"],"description":"4:4:4 chroma (measured). Text stays as sharp as on a PC screen."},"measured_power_sdr_w":{"type":["number","null"],"description":"Power use SDR (measured). Unit: W. Measured by a reviewer, not claimed by the maker."},"smart_platform":{"type":["string","null"],"description":"Smart platform."},"os_at_launch":{"type":["string","null"],"description":"OS at launch."},"os_latest":{"type":["string","null"],"description":"Latest OS."},"os_updates_years":{"type":["integer","null"],"description":"OS upgrade support period. Unit: years. Maker commitment to operating-system upgrades, counted from the stated start date. Source notes distinguish OS upgrades from security patches and availability of firmware files.."},"chipset":{"type":["string","null"],"description":"Chipset."},"ram_gb":{"type":["number","null"],"description":"RAM. Unit: GB."},"storage_gb":{"type":["integer","null"],"description":"Total internal storage. Unit: GB. Published physical storage capacity. Space available to install apps is smaller and must not be substituted.."},"voice_assistant":{"type":["array","null"],"items":{"type":"string"},"description":"Voice assistants."},"built_in_microphone":{"type":["boolean","null"],"description":"Hands-free microphone."},"casting_support":{"type":["array","null"],"items":{"type":"string","enum":["chromecast_built_in","airplay_2","miracast","dlna"]},"description":"Casting. Options: chromecast_built_in (Chromecast built-in), airplay_2 (AirPlay 2), miracast (Miracast), dlna (DLNA)."},"smart_home":{"type":["array","null"],"items":{"type":"string","enum":["matter","thread_border_router","zigbee_hub","homekit","google_home","alexa","smartthings","thinq"]},"description":"Smart home. Options: matter (Matter), thread_border_router (Thread border router), zigbee_hub (Zigbee hub), homekit (HomeKit), google_home (Google Home), alexa (Alexa), smartthings (SmartThings), thinq (ThinQ)."},"art_mode":{"type":["boolean","null"],"description":"Art or ambient mode."},"tuners":{"type":["array","null"],"items":{"type":"string","enum":["dvb_t","dvb_t2","dvb_c","dvb_s","dvb_s2","atsc_1","atsc_3","isdb_t","clear_qam","analog","none"]},"description":"Tuners. Options: dvb_t (DVB-T), dvb_t2 (DVB-T2), dvb_c (DVB-C), dvb_s (DVB-S), dvb_s2 (DVB-S2), atsc_1 (ATSC 1.0), atsc_3 (ATSC 3.0), isdb_t (ISDB-T), clear_qam (Clear QAM), analog (Analog), none (None). A tuner the maker calls ATSC with no version is ATSC 1.0. ATSC 3.0 is always named as such.."},"tuner_count":{"type":["integer","null"],"description":"Tuners per broadcast standard. Number of independent tuners for the specified digital broadcast standard. Analog and satellite counts may differ. Recording also depends on regional software support.."},"rf_inputs":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["terrestrial_cable","satellite",null],"description":"Type. Options: terrestrial_cable (Terrestrial and cable), satellite (Satellite)."},"count":{"type":["integer","null"],"description":"Count."}},"required":["type","count"]},"description":"Antenna inputs."},"ci_plus_slot":{"type":["boolean","null"],"description":"CI+ slot."},"usb_recording":{"type":["boolean","null"],"description":"Record to USB."},"broadcast_platforms":{"type":["array","null"],"items":{"type":"string"},"description":"Broadcast platforms."},"audio_channels":{"type":["string","null"],"description":"Physical speaker channels. Maker channel layout of the built-in speaker system. Excludes virtual surround up-mixing and connected soundbars.."},"speaker_count":{"type":["integer","null"],"description":"Physical speaker drivers. Number of built-in sound-producing drivers, including subwoofers and screen actuators. Channel count does not by itself establish driver count.."},"speaker_total_power_w":{"type":["number","null"],"description":"Total built-in speaker power. Unit: W. Published total output power of the TV’s built-in speaker system. Excludes optional speakers, soundbars and virtual channels.."},"built_in_subwoofer":{"type":["boolean","null"],"description":"Built-in subwoofer."},"up_firing_speakers":{"type":["boolean","null"],"description":"Up-firing speakers."},"audio_formats":{"type":["array","null"],"items":{"type":"string","enum":["dolby_digital","ac4","he_aac","mp2","mp3","pcm","dts_express","dts_hd_ma","dts_hd_hra","dolby_atmos","dolby_digital_plus","dolby_truehd","dts","dts_x","mpeg_h","aac","dolby_audio"]},"description":"Audio formats. Options: dolby_digital (Dolby Digital), ac4 (AC-4), he_aac (HE-AAC), mp2 (MP2), mp3 (MP3), pcm (PCM), dts_express (DTS Express), dts_hd_ma (DTS-HD Master Audio), dts_hd_hra (DTS-HD High Resolution Audio), dolby_atmos (Dolby Atmos), dolby_digital_plus (Dolby Digital Plus), dolby_truehd (Dolby TrueHD), dts (DTS), dts_x (DTS:X), mpeg_h (MPEG-H), aac (AAC), dolby_audio (Dolby Audio (formats not named)). Formats explicitly decoded by the TV. Virtual speaker processing such as DTS Virtual:X belongs in Audio features. Bluetooth codec direction must be stated before it is listed as a decoder. Dolby Audio (formats not named) is for a maker that lists Dolby Audio without naming the Dolby formats.."},"earc_passthrough_formats":{"type":["array","null"],"items":{"type":"string","enum":["dolby_atmos_truehd","dolby_atmos_dd_plus","dts","dts_hd_ma","dts_x","lpcm_5_1","lpcm_7_1"]},"description":"eARC passthrough. Options: dolby_atmos_truehd (Dolby Atmos (TrueHD)), dolby_atmos_dd_plus (Dolby Atmos (Dolby Digital Plus)), dts (DTS), dts_hd_ma (DTS-HD Master Audio), dts_x (DTS:X), lpcm_5_1 (LPCM 5.1), lpcm_7_1 (LPCM 7.1). What reaches a soundbar or receiver."},"audio_features":{"type":["array","null"],"items":{"type":"string"},"description":"Audio features."},"bluetooth_audio_out":{"type":["boolean","null"],"description":"Bluetooth headphones."},"video_inputs":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["hdmi","usb_c","composite","component",null],"description":"Type. Options: hdmi (HDMI), usb_c (USB-C), composite (Composite), component (Component)."},"port_label":{"type":["string","null"],"description":"Port."},"version":{"type":["string","null"],"description":"Version."},"count":{"type":["integer","null"],"description":"Count."},"max_bandwidth_gbps":{"type":["number","null"],"description":"Max bandwidth. Unit: Gbps."},"max_hz_4k":{"type":["integer","null"],"description":"Max refresh rate at 4K. Unit: Hz."},"earc":{"type":["boolean","null"],"description":"eARC."},"hdcp_version":{"type":["string","null"],"description":"HDCP."}},"required":["type","port_label","version","count","max_bandwidth_gbps","max_hz_4k","earc","hdcp_version"]},"description":"Video inputs. Physical input sockets on the exact reference model, grouped only when identical. HDMI revision, accepted 4K rate and link bandwidth are separate claims. Optional connection boxes are excluded unless included. Screen sizes of one line can have other ports, so it is per variant.."},"hdmi_port_count":{"type":["integer","null"],"description":"HDMI ports. Calculated from other fields."},"hdmi_4k_120_port_count":{"type":["integer","null"],"description":"HDMI ports with 4K 120 Hz. Calculated from other fields."},"hdmi_version_max":{"type":["string","null"],"description":"Highest HDMI version. Calculated from other fields."},"hdmi_max_bandwidth_gbps":{"type":["number","null"],"description":"Maximum HDMI link bandwidth. Unit: Gbps. Highest verified link bandwidth in Gbps. An HDMI revision or supported resolution alone does not prove 40 or 48 Gbps.. Calculated from other fields."},"hdmi_features":{"type":["array","null"],"items":{"type":"string","enum":["allm","vrr","qms","qft","earc","cec"]},"description":"HDMI features. Options: allm (ALLM), vrr (VRR), qms (QMS), qft (QFT), earc (eARC), cec (CEC)."},"usb_downstream_ports":{"type":["array","null"],"items":{"type":"object","properties":{"connector":{"type":["string","null"],"enum":["usb_a","usb_b","usb_c",null],"description":"Connector. Options: usb_a (USB-A), usb_b (USB-B), usb_c (USB-C)."},"usb_version":{"type":["string","null"],"description":"USB version."},"count":{"type":["integer","null"],"description":"Count."}},"required":["connector","usb_version","count"]},"description":"USB peripheral ports. USB sockets for media, storage or accessories. Count physical connectors. A connector without a published USB revision must leave the revision empty. The count can differ by screen size within one series, so it is per variant.."},"ethernet_max_gbps":{"type":["number","null"],"description":"Ethernet speed. Unit: Gbps. 0.1 is 100 Mbit."},"wifi_standard":{"type":["string","null"],"enum":["wifi_4","wifi_5","wifi_6","wifi_6e","wifi_7",null],"description":"Wi-Fi. Options: wifi_4 (Wi-Fi 4), wifi_5 (Wi-Fi 5), wifi_6 (Wi-Fi 6), wifi_6e (Wi-Fi 6E), wifi_7 (Wi-Fi 7). Newest Wi-Fi generation of this size. Some series change it between sizes.."},"wifi_bands":{"type":["array","null"],"items":{"type":"string","enum":["2.4ghz","5ghz","6ghz"]},"description":"Wi-Fi bands. Options: 2.4ghz (2.4 GHz), 5ghz (5 GHz), 6ghz (6 GHz)."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth. Can differ by screen size within one series, so it is per variant.."},"optical_audio_out":{"type":["boolean","null"],"description":"Optical out."},"audio_out_3_5mm":{"type":["boolean","null"],"description":"Headphone out."},"connection_box":{"type":["string","null"],"enum":["none","wired","wireless",null],"description":"Included connection box. Options: none (None), wired (Wired), wireless (Wireless). Whether the TV uses an included external input box. Optional add-on boxes do not change this value.."},"remote_included":{"type":["boolean","null"],"description":"Remote control."},"remote_connection":{"type":["array","null"],"items":{"type":"string","enum":["ir","bluetooth","rf"]},"description":"Remote connection. Options: ir (Infrared), bluetooth (Bluetooth), rf (RF)."},"remote_power":{"type":["string","null"],"enum":["aa_batteries","aaa_batteries","rechargeable_usb_c","solar_and_usb_c",null],"description":"Remote power. Options: aa_batteries (AA batteries), aaa_batteries (AAA batteries), rechargeable_usb_c (Rechargeable (USB-C)), solar_and_usb_c (Solar and USB-C)."},"remote_microphone":{"type":["boolean","null"],"description":"Voice button on remote."},"remote_pointer":{"type":["boolean","null"],"description":"Pointer remote. Point and click like an air mouse."},"stand_type":{"type":["string","null"],"enum":["feet","center_pedestal","easel","floor_stand","none",null],"description":"Stand. Options: feet (Feet), center_pedestal (Centre pedestal), easel (Easel), floor_stand (Floor stand), none (None)."},"stand_positions":{"type":["integer","null"],"description":"Stand installation positions. Number of distinct supported width or height installation configurations. A two-foot stand is not automatically two positions.."},"stand_height_adjustable":{"type":["boolean","null"],"description":"Stand height adjustment."},"stand_clearance_mm":{"type":["number","null"],"description":"Space under the screen. Unit: mm."},"stand_feet_spacing_mm":{"type":["number","null"],"description":"Distance between feet. Unit: mm. Outer edges, widest position."},"stand_footprint_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","depth_mm"],"description":"Stand footprint. Overall width and depth occupied by the stand in the documented installation position. Source notes identify wide, narrow or soundbar height positions.."},"vesa_mount":{"type":["string","null"],"enum":["800x600","800x400","600x500","100x100","200x100","200x200","200x300","200x400","300x200","300x300","400x200","400x300","400x400","500x400","600x400","none",null],"description":"VESA mount. Options: 800x600 (800 x 600), 800x400 (800 x 400), 600x500 (600 x 500), 100x100 (100 x 100), 200x100 (200 x 100), 200x200 (200 x 200), 200x300 (200 x 300), 200x400 (200 x 400), 300x200 (300 x 200), 300x300 (300 x 300), 400x200 (400 x 200), 400x300 (400 x 300), 400x400 (400 x 400), 500x400 (500 x 400), 600x400 (600 x 400), none (None)."},"vesa_screw":{"type":["string","null"],"description":"VESA screw. Thread size only, such as M6 or M8. Screw length and hole depth go in the source note.."},"wall_mount_included":{"type":["boolean","null"],"description":"Wall mount included."},"oled_care_features":{"type":["array","null"],"items":{"type":"string"},"description":"OLED care."},"burn_in_warranty":{"type":["boolean","null"],"description":"Burn-in covered by warranty."},"burn_in_warranty_years":{"type":["number","null"],"description":"Burn-in warranty length. Unit: years."},"dimensions_with_stand_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Dimensions with stand."},"dimensions_without_stand_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Dimensions without stand."},"thinnest_depth_mm":{"type":["number","null"],"description":"Thinnest depth. Unit: mm."},"weight_with_stand_kg":{"type":["number","null"],"description":"Weight with stand. Unit: kg."},"weight_without_stand_kg":{"type":["number","null"],"description":"Weight without stand. Unit: kg. What the wall mount carries."},"power_supply":{"type":["string","null"],"enum":["internal","external_adapter",null],"description":"Power supply. Options: internal (Internal), external_adapter (External adapter)."},"power_consumption_sdr_w":{"type":["number","null"],"description":"On-mode power in SDR (EU label). Unit: W. On-mode power demand under the EU energy label test. Match the exact regional model and screen size.."},"power_consumption_hdr_w":{"type":["number","null"],"description":"On-mode power in HDR (EU label). Unit: W. On-mode power demand under the EU energy label test. Match the exact regional model and screen size.."},"power_consumption_max_w":{"type":["number","null"],"description":"Maximum operating power. Unit: W. Maker-stated maximum operating power for the exact model. Rated mains input power and typical or measured draw are distinct and must be qualified in source notes.."},"power_consumption_standby_w":{"type":["number","null"],"description":"Standby power. Unit: W. Published standby power for the exact model. Source notes preserve less-than or maximum qualifiers.."},"power_consumption_networked_standby_w":{"type":["number","null"],"description":"Networked standby. Unit: W."},"eu_energy_class_sdr":{"type":["string","null"],"enum":["A","B","C","D","E","F","G",null],"description":"EU energy class SDR. Options: A (A), B (B), C (C), D (D), E (E), F (F), G (G)."},"eu_energy_class_hdr":{"type":["string","null"],"enum":["A","B","C","D","E","F","G",null],"description":"EU energy class HDR. Options: A (A), B (B), C (C), D (D), E (E), F (F), G (G)."},"energy_kwh_per_1000h_sdr":{"type":["number","null"],"description":"Energy per 1000 h SDR. Unit: kWh."},"energy_kwh_per_1000h_hdr":{"type":["number","null"],"description":"Energy per 1000 h HDR. Unit: kWh."},"color_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Picture certifications."},"energy_star":{"type":["boolean","null"],"description":"ENERGY STAR."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","segment","model_year","screen_size_in","screen_sizes_in","viewable_size_in","native_resolution","pixel_density_ppi","screen_surface","anti_reflection_coating","display_technology","display_technology_name","panel_type","backlight_type","local_dimming","local_dimming_zones","panel_manufacturer","panel_generation","subpixel_layout","color_depth_bits","native_refresh_rate_hz","dci_p3_coverage_pct","rec2020_coverage_pct","brightness_hdr_peak_nits","hdr_formats","filmmaker_mode","hgig","picture_processor","motion_interpolation","black_frame_insertion","ambient_light_sensor","calibration_software_support","refresh_rate_modes","max_refresh_rate_hz","max_refresh_rate_native_res_hz","vrr_technologies","vrr_ranges","low_framerate_compensation","dolby_vision_gaming","game_mode_auto","gaming_osd_features","input_lag_claimed_ms","measured_input_lag","input_lag_60hz_ms","input_lag_120hz_ms","input_lag_144hz_ms","measured_sdr_brightness_nits","measured_hdr_brightness_real_scene_nits","measured_hdr_brightness","measured_hdr_peak_nits","measured_full_screen_brightness_nits","measured_contrast_ratio","measured_contrast_ratio_local_dimming","measured_contrast_infinite","measured_dci_p3_coverage_pct","measured_rec2020_coverage_pct","measured_color_volume_1000_nits_pct","measured_color_volume_10000_nits_pct","measured_color_accuracy_delta_e","measured_gray_uniformity","measured_viewing_angle_color_deg","measured_reflection_pct","measured_response_time_ms","measured_pwm_frequency_hz","measured_vrr_range","measured_chroma_444","measured_power_sdr_w","smart_platform","os_at_launch","os_latest","os_updates_years","chipset","ram_gb","storage_gb","voice_assistant","built_in_microphone","casting_support","smart_home","art_mode","tuners","tuner_count","rf_inputs","ci_plus_slot","usb_recording","broadcast_platforms","audio_channels","speaker_count","speaker_total_power_w","built_in_subwoofer","up_firing_speakers","audio_formats","earc_passthrough_formats","audio_features","bluetooth_audio_out","video_inputs","hdmi_port_count","hdmi_4k_120_port_count","hdmi_version_max","hdmi_max_bandwidth_gbps","hdmi_features","usb_downstream_ports","ethernet_max_gbps","wifi_standard","wifi_bands","bluetooth_version","optical_audio_out","audio_out_3_5mm","connection_box","remote_included","remote_connection","remote_power","remote_microphone","remote_pointer","stand_type","stand_positions","stand_height_adjustable","stand_clearance_mm","stand_feet_spacing_mm","stand_footprint_mm","vesa_mount","vesa_screw","wall_mount_included","oled_care_features","burn_in_warranty","burn_in_warranty_years","dimensions_with_stand_mm","dimensions_without_stand_mm","thinnest_depth_mm","weight_with_stand_kg","weight_without_stand_kg","power_supply","power_consumption_sdr_w","power_consumption_hdr_w","power_consumption_max_w","power_consumption_standby_w","power_consumption_networked_standby_w","eu_energy_class_sdr","eu_energy_class_hdr","energy_kwh_per_1000h_sdr","energy_kwh_per_1000h_hdr","color_certifications","energy_star","other_certifications","in_the_box"],"description":"Every TV field in schema order. Unknown values are null."},"WebcamSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"form_factor":{"type":["string","null"],"enum":["standard","gimbal",null],"description":"Form factor. Options: standard (Standard), gimbal (Motorized gimbal). Gimbal means motors pan and tilt the camera. A camera that pans and zooms only by cropping the image is standard.."},"video_modes":{"type":["array","null"],"items":{"type":"object","properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."},"max_fps":{"type":["integer","null"],"description":"Max frame rate. Unit: fps."},"format":{"type":["string","null"],"enum":["mjpeg","yuy2","nv12","yuv","h264","h265","other",null],"description":"Format. Options: mjpeg (MJPEG), yuy2 (YUY2), nv12 (NV12), yuv (YUV (unnamed subformat)), h264 (H.264), h265 (H.265), other (Other). Video format of this mode. Left out when the source does not name it.."}},"required":["width_px","height_px","max_fps","format"]},"description":"Video modes. Highest frame rate the maker lists at each landscape resolution, one row per resolution and video format. Modes are over the fastest USB connection the camera supports. Limits on a slower USB port go in the source note. Portrait modes are not rows.."},"video_max_resolution":{"type":["object","null"],"properties":{"width_px":{"type":["integer","null"],"description":"Width. Unit: px."},"height_px":{"type":["integer","null"],"description":"Height. Unit: px."}},"required":["width_px","height_px"],"description":"Max video resolution. Calculated from other fields."},"video_max_fps_4k":{"type":["integer","null"],"description":"Max frame rate at 4K. Unit: fps. Calculated from other fields."},"video_max_fps_1080p":{"type":["integer","null"],"description":"Max frame rate at 1080p. Unit: fps. Calculated from other fields."},"video_max_fps":{"type":["integer","null"],"description":"Max frame rate at any resolution. Unit: fps. Often reached at 720p or lower.. Calculated from other fields."},"hdr":{"type":["boolean","null"],"description":"HDR video. The maker states that the camera captures HDR video. Low-light correction or automatic exposure alone does not count.."},"hdr_max_fps":{"type":["integer","null"],"description":"Max frame rate with HDR. Unit: fps. Highest frame rate at which the maker states HDR works. The resolution goes in the source note.."},"portrait_mode":{"type":["boolean","null"],"description":"Portrait video. The camera outputs vertical 9:16 video, by a native portrait mode or by turning the camera on its mount. Cropping in streaming software does not count.."},"sensor_size":{"type":["string","null"],"description":"Sensor optical format. Published optical-format notation, such as 1/1.2 inch. This is not the physical sensor diagonal in inches.."},"sensor_model":{"type":["string","null"],"description":"Sensor. Sensor maker and model or family as published, e.g. Sony STARVIS 2 IMX585. Maker plus model or family. When the maker names only the sensor brand, such as Sony, the brand alone is stored. A technology word alone, such as CMOS, BSI or stacked, is not a value.."},"sensor_resolution_mp":{"type":["number","null"],"description":"Sensor resolution. Unit: MP. Published image sensor resolution in megapixels. An interpolated photo resolution does not count. A maker's camera megapixel row can be the interpolated photo size, so check it against the video resolution and other sources. A quad Bayer sensor counts with its full published pixel count, such as 48 MP.."},"pixel_size_um":{"type":["number","null"],"description":"Pixel size. Unit: um. Physical pixel pitch of the sensor as published.."},"aperture_f":{"type":["number","null"],"description":"Aperture (f/). f-number of the lens. A lower number lets in more light.."},"focal_length_mm_equiv":{"type":["number","null"],"description":"Focal length (35 mm equivalent). Unit: mm. Full-frame equivalent focal length. The actual focal length of the lens does not count.."},"lens_material":{"type":["string","null"],"enum":["glass","plastic","other",null],"description":"Lens material. Options: glass (Glass), plastic (Plastic), other (Other). Material of the lens elements as published.."},"field_of_view_diagonal_deg":{"type":["number","null"],"description":"Field of view (diagonal). Unit: deg. Diagonal field of view of the widest setting in 16:9 video. When the source names no aspect ratio, the published diagonal value is stored. A diagonal value stated only for 4:3 is left out. A field of view whose axis no source names is left out. When a horizontal and a diagonal value are both published, they must fit 16:9: 71.4 degrees horizontal is about 79 degrees diagonal. A pair that fits 4:3 means the diagonal is left out.."},"field_of_view_horizontal_deg":{"type":["number","null"],"description":"Field of view (horizontal). Unit: deg. Horizontal field of view of the widest setting in 16:9 video, the same frame as the diagonal. A value that fits only a 4:3 frame next to a published 16:9 diagonal is left out.."},"field_of_view_presets_deg":{"type":["array","null"],"items":{"type":"number"},"description":"Selectable fields of view. Unit: deg. Diagonal fields of view the user can pick in the camera or the maker's app. Free digital zoom is not a preset.."},"focus_type":{"type":["string","null"],"enum":["pdaf","contrast","autofocus","fixed",null],"description":"Focus. Options: pdaf (Phase-detect autofocus), contrast (Contrast autofocus), autofocus (Autofocus), fixed (Fixed focus). Autofocus means the source does not name the autofocus method. A generic autofocus claim is not PDAF.."},"manual_focus":{"type":["boolean","null"],"description":"Manual focus. Focus can be set by hand on the camera or in the maker's app.."},"min_focus_distance_cm":{"type":["number","null"],"description":"Closest focus distance. Unit: cm. Nearest distance at which the subject is sharp. For fixed focus, the near end of the published sharp range. When ranges differ per resolution, the range at the highest resolution is used.."},"max_digital_zoom_x":{"type":["number","null"],"description":"Max digital zoom. Unit: x. Highest digital zoom the maker states for video.."},"auto_framing":{"type":["boolean","null"],"description":"Auto framing. Keeps people in frame automatically, by digital crop or by the gimbal. The feature can need the maker's app, named in the source note.."},"gimbal_pan_range_deg":{"type":["number","null"],"description":"Gimbal pan range. Unit: deg. Total controllable left-right sweep. ±140° is stored as 280. The controllable range is used when the maker also gives a mechanical range. If a ± figure is exactly double the predecessor's on the same body, leave it out until the maker explains it. A range the maker labels mechanical is not stored, even when it is the only one, since it can be much wider than the controllable range. A range with no label counts as controllable.."},"gimbal_tilt_range_deg":{"type":["number","null"],"description":"Gimbal tilt range. Unit: deg. Total controllable up-down sweep. 30° down to 70° up is stored as 100. The controllable range is used when the maker also gives a mechanical range. If a ± figure is exactly double the predecessor's on the same body, leave it out until the maker explains it. A range the maker labels mechanical is not stored, even when it is the only one, since it can be much wider than the controllable range. A range with no label counts as controllable.."},"gesture_control":{"type":["boolean","null"],"description":"Gesture control. Hand gestures control the camera, for example to start tracking or to zoom.."},"windows_hello_ir":{"type":["boolean","null"],"description":"IR face login. An infrared camera suitable for Windows Hello face authentication. An ordinary webcam does not qualify.."},"built_in_light":{"type":["boolean","null"],"description":"Built-in light. A light on the camera that lights the user's face, such as a ring light. Status lights do not count.."},"camera_features":{"type":["array","null"],"items":{"type":"string"},"description":"Other camera features. Named features as the maker writes them, such as DeskView or Smart Whiteboard.."},"built_in_microphone":{"type":["boolean","null"],"description":"Built-in microphone. False means the camera has no microphone.."},"microphone_count":{"type":["integer","null"],"description":"Microphones. Physical microphones in the camera, not beamforming channels or audio modes.."},"stereo_audio":{"type":["boolean","null"],"description":"Stereo audio. The camera sends a two-channel stereo signal. Two microphones mixed into one mono beam do not count.."},"microphone_pickup_range_m":{"type":["number","null"],"description":"Mic pickup range. Unit: m. The maker's stated distance for good voice pickup. The audio mode goes in the source note.."},"microphone_noise_reduction":{"type":["string","null"],"enum":["none","dsp","ai","yes",null],"description":"Mic noise reduction. Options: none (None), dsp (DSP), ai (AI), yes (Yes, method not stated). Processing that removes background noise from speech. A directional microphone alone does not count. Yes, method not stated, is for a maker that names noise reduction but not DSP or AI.."},"microphone_sample_rate_khz":{"type":["number","null"],"description":"Mic sample rate. Unit: kHz. Published audio capture sample rate.."},"usb_version":{"type":["string","null"],"description":"USB. USB standard the camera needs for its highest modes, as published. A USB-C plug alone does not establish USB 3. Store the standard the maker's spec table prints for the camera connection. If the maker also recommends a faster port, that goes in the source note. The 5 Gbps standard is written USB 3.0, also when the maker writes USB 3.1 Gen 1 or USB 3.2 Gen 1.."},"cable_detachable":{"type":["boolean","null"],"description":"Detachable cable. The cable unplugs from a socket on the camera.."},"cable_host_connector":{"type":["string","null"],"enum":["usb_a","usb_c",null],"description":"Cable host plug. Options: usb_a (USB-A), usb_c (USB-C). Plug on the computer end of the included cable. An included adapter is listed in In the box.."},"cable_length_m":{"type":["number","null"],"description":"Cable length. Unit: m. Length of the included USB cable.."},"mount_types":{"type":["array","null"],"items":{"type":"string","enum":["monitor_clip","magnetic","tripod_thread"]},"description":"Mounting. Options: monitor_clip (Monitor clip), magnetic (Magnetic mount), tripod_thread (Tripod thread). Ways to mount the camera with what is in the box. Tripod thread is a 1/4-inch thread on the camera or its clip. Monitor clip is a clip or base that sits on top of a monitor. Magnetic means the camera attaches by magnet to its base or to a metal surface. Store both when both apply.."},"privacy_shutter":{"type":["string","null"],"enum":["built_in","detachable","gimbal","none",null],"description":"Privacy cover. Options: built_in (Built-in shutter), detachable (Detachable cover), gimbal (Lens turns away), none (None). The main physical way to block the lens. A built-in shutter is fixed to the camera. A detachable cover is a separate part in the box. Lens turns away means the gimbal points the lens down or away. A software privacy mode does not count. A cover sold separately counts as none. A camera with a built-in shutter and a cap is built-in. A body that folds over the lens counts as built-in. A cover the user sticks or clips onto the camera is detachable, even when it flips open.."},"software_name":{"type":["string","null"],"description":"Software. The maker's camera app.."},"onboard_memory":{"type":["boolean","null"],"description":"Onboard memory. Camera settings stay saved in the camera when the app is closed or the camera moves to another computer.."},"firmware_updatable":{"type":["boolean","null"],"description":"User firmware updates. A public updater or a documented firmware update procedure exists for this exact model.."},"os_compatibility":{"type":["array","null"],"items":{"type":"string","enum":["windows","macos","linux","chromeos","ios","ipados","android"]},"description":"Works with. Options: windows (Windows), macos (macOS), linux (Linux), chromeos (ChromeOS), ios (iOS), ipados (iPadOS), android (Android). Operating systems the maker lists for basic video. App support can be narrower.."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Camera dimensions. Camera body without a detachable mount. A fixed clip is included. Width is left to right as seen from the front, height is bottom to top and depth is front to back. A camera that folds is measured in its working state.."},"weight_g":{"type":["number","null"],"description":"Camera weight. Unit: g. Without a detachable mount and without a detachable cable. A fixed clip and a cable that cannot be removed are included.."},"weight_with_mount_g":{"type":["number","null"],"description":"Weight with mount. Unit: g. Camera with its included mount attached, without a detachable cable. A cable that cannot be removed is included, as for the camera weight.."},"communication_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Communication certifications. Certifications for call apps, such as Microsoft Teams, Zoom or Google Meet. A works-with list does not count.."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","form_factor","video_modes","video_max_resolution","video_max_fps_4k","video_max_fps_1080p","video_max_fps","hdr","hdr_max_fps","portrait_mode","sensor_size","sensor_model","sensor_resolution_mp","pixel_size_um","aperture_f","focal_length_mm_equiv","lens_material","field_of_view_diagonal_deg","field_of_view_horizontal_deg","field_of_view_presets_deg","focus_type","manual_focus","min_focus_distance_cm","max_digital_zoom_x","auto_framing","gimbal_pan_range_deg","gimbal_tilt_range_deg","gesture_control","windows_hello_ir","built_in_light","camera_features","built_in_microphone","microphone_count","stereo_audio","microphone_pickup_range_m","microphone_noise_reduction","microphone_sample_rate_khz","usb_version","cable_detachable","cable_host_connector","cable_length_m","mount_types","privacy_shutter","software_name","onboard_memory","firmware_updatable","os_compatibility","dimensions_mm","weight_g","weight_with_mount_g","communication_certifications","other_certifications","in_the_box"],"description":"Every webcam field in schema order. Unknown values are null."},"WirelessSpeakerSpecs":{"type":"object","properties":{"series":{"type":["string","null"],"description":"Series."},"model_numbers":{"type":["array","null"],"items":{"type":"string"},"description":"Model numbers. Maker identifiers for this exact model and its listed variants. Excludes sibling models and other generations.."},"gtins":{"type":["array","null"],"items":{"type":"string"},"description":"GTIN / EAN."},"announce_date":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}(-\\d{2})?$","description":"Announced. The maker's first announcement of this model. This is separate from first retail availability.."},"status":{"type":["string","null"],"enum":["available","discontinued","cancelled",null],"description":"Status. Options: available (Available), discontinued (Discontinued), cancelled (Cancelled)."},"predecessor":{"type":["string","null"],"description":"Predecessor. The model this one directly replaced, in the same line, tier and size, as the maker or a trusted review names it.."},"successor":{"type":["string","null"],"description":"Successor. The model that directly replaced this one, in the same line, tier and size. A revision such as a Slim or OLED model does not count when a next generation exists.."},"launch_price_usd":{"type":["number","null"],"description":"Launch price (US). Unit: USD. The maker's US launch MSRP for the stated configuration, excluding tax. Current store prices and later discounts do not qualify.."},"launch_price_eur":{"type":["number","null"],"description":"Launch price (EU). Unit: EUR. The maker's euro launch price for the stated configuration, including VAT as published. Current store prices and later discounts do not qualify.."},"markets":{"type":["array","null"],"items":{"type":"string"},"description":"Markets. ISO country or region codes where this exact model or variant is sold. A source page's language does not establish availability.."},"colors":{"type":["array","null"],"items":{"type":"string"},"description":"Colours. The maker's own colour names."},"manufacturer_url":{"type":["string","null"],"format":"uri","description":"Product page."},"spec_sheet_url":{"type":["string","null"],"format":"uri","description":"Spec sheet."},"manual_url":{"type":["string","null"],"format":"uri","description":"Manual."},"eprel_registration_number":{"type":["string","null"],"description":"EPREL registration number. Id in the EU energy label database. Each size or model of a series has its own id, so it is per variant.."},"warranty_years":{"type":["number","null"],"description":"Manufacturer warranty (source market). Unit: years. The maker's warranty period for the exact SKU or configuration and market named in the source note. It applies only to that stated market, not every regional variant. Statutory consumer rights are excluded. The base term is stored. An extension that needs registration goes in the source note.."},"segment":{"type":["string","null"],"enum":["portable","party","home",null],"description":"Speaker type. Options: portable (Portable), party (Party), home (Home). Home covers speakers made to stay in one place, including smart speakers. A speaker with Wi-Fi or a voice assistant can be of any type.."},"audio_channels":{"type":["string","null"],"enum":["mono","stereo","other",null],"description":"Audio channels. Options: mono (Mono), stereo (Stereo), other (Other). Sound channels reproduced by one speaker. Pairing two speakers for stereo is separate.."},"drivers":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"description":"Driver type."},"count":{"type":["integer","null"],"description":"Count."},"diameter_mm":{"type":["number","null"],"description":"Diameter. Unit: mm."},"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"rated_power_w":{"type":["number","null"],"description":"Rated power per driver. Unit: W."}},"required":["type","count","diameter_mm","width_mm","height_mm","rated_power_w"]},"description":"Audio drivers. Powered audio transducers in one speaker. Passive radiators are counted separately. Circular diameter and rectangular width and height have separate columns. Per-driver power must state continuous or RMS basis and battery or mains operation in the source note.."},"passive_radiator_count":{"type":["integer","null"],"description":"Passive radiators. Passive, unpowered bass radiators. Excludes powered drivers.."},"total_rated_power_w":{"type":["number","null"],"description":"Rated audio power. Unit: W. Maker-published total rated continuous audio output. Battery power is used for portable speakers when mains and battery ratings differ. Peak marketing power is separate.."},"mains_rated_power_w":{"type":["number","null"],"description":"Rated audio power on mains. Unit: W. Total rated continuous audio output with external power. Store a separate battery rating when the maker publishes both.."},"audio_output_power_claimed_w":{"type":["number","null"],"description":"Audio output power (unspecified rating). Unit: W. Maker- or reviewer-published audio output power whose continuous or peak rating basis is not stated. This is separate from rated continuous output and explicitly published peak output.."},"peak_power_w":{"type":["number","null"],"description":"Peak audio power. Unit: W. Explicitly published peak audio output. Never substitute for rated continuous output.."},"frequency_response_min_hz":{"type":["number","null"],"description":"Frequency response lower limit (claimed). Unit: Hz. Published acoustic frequency response limit. Tolerance and operating mode belong in the source note. The Bluetooth transmission range that some spec tables and retailers label Frequency Response, such as A2DP 20 to 20,000 Hz, is not stored.."},"frequency_response_max_hz":{"type":["number","null"],"description":"Frequency response upper limit (claimed). Unit: Hz. Published acoustic frequency response limit. Tolerance and operating mode belong in the source note. The Bluetooth transmission range that some spec tables and retailers label Frequency Response, such as A2DP 20 to 20,000 Hz, is not stored.."},"signal_to_noise_ratio_db":{"type":["number","null"],"description":"Signal-to-noise ratio (claimed). Unit: dB."},"equalizer":{"type":["boolean","null"],"description":"Adjustable equalizer. User-adjustable frequency bands. Selecting fixed sound presets alone does not qualify.."},"eq_bands":{"type":["integer","null"],"description":"Equalizer bands. Number of user-adjustable frequency bands. Do not count sound presets.."},"automatic_sound_adjustment":{"type":["boolean","null"],"description":"Automatic sound adjustment. Adjusts audio to placement or playback conditions. Keep the named feature and conditions in the source note.."},"sound_modes":{"type":["array","null"],"items":{"type":"string"},"description":"Sound modes. Named playback modes. Battery extension modes are also qualified in battery source notes.."},"stereo_pairing":{"type":["boolean","null"],"description":"Wireless stereo pairing. Two compatible speakers can play separate left and right channels.."},"speaker_link_protocols":{"type":["array","null"],"items":{"type":"string"},"description":"Speaker link protocols. Named systems for linking compatible speakers, such as PartyBoost, Auracast or Party Connect. Linking support does not establish compatibility across all models.."},"max_linked_speakers":{"type":["integer","null"],"description":"Max linked speakers. Published maximum in a speaker group. A stereo pair is recorded separately. A figure such as 100+ is stored as 100.."},"max_linked_speakers_bluetooth":{"type":["integer","null"],"description":"Max Bluetooth group speakers. Published maximum speakers in one Bluetooth playback group, including the first speaker. Source notes name the compatible models or families, linking system and firmware requirements. Wi-Fi groups and concurrent Bluetooth source devices are excluded. A stereo pair alone does not establish the maximum when other Bluetooth linking systems are supported. A figure such as 100+ is stored as 100.."},"bluetooth_playback":{"type":["boolean","null"],"description":"Bluetooth audio playback. Plays audio streamed over Bluetooth from a phone or other source. Bluetooth used only for setup or app control does not count.."},"bluetooth_version":{"type":["string","null"],"description":"Bluetooth version. Version of the Bluetooth radio. Some Wi-Fi speakers use Bluetooth only for setup. See Bluetooth audio playback.."},"bluetooth_codecs":{"type":["array","null"],"items":{"type":"string"},"description":"Bluetooth codecs. Explicitly supported receive codecs. Bluetooth version alone does not establish codecs.."},"bluetooth_profiles":{"type":["array","null"],"items":{"type":"string"},"description":"Bluetooth profiles."},"bluetooth_le_audio":{"type":["boolean","null"],"description":"Bluetooth LE Audio. Explicit LE Audio support. Bluetooth LE for app control alone does not qualify.."},"auracast":{"type":["boolean","null"],"description":"Auracast. Explicit Auracast support. Sending, receiving and speaker-group roles belong in source notes.."},"multipoint":{"type":["boolean","null"],"description":"Multipoint. Concurrent Bluetooth source connections. Pairing memory and speaker-to-speaker linking do not qualify.."},"multipoint_device_count":{"type":["integer","null"],"description":"Multipoint source devices. Maximum concurrently connected Bluetooth source devices, not remembered pairings.."},"wireless_range_m":{"type":["number","null"],"description":"Bluetooth range (claimed). Unit: m. Maker-claimed Bluetooth range to the source device. Test conditions belong in the source note.."},"wifi":{"type":["boolean","null"],"description":"Wi-Fi. Built-in Wi-Fi, for audio streaming, setup or control.."},"wifi_standards":{"type":["array","null"],"items":{"type":"string"},"description":"Wi-Fi standards. One 802.11 name per item, such as 802.11ax. A Wi-Fi generation is written as its standard, so Wi-Fi 5 is 802.11ac and Wi-Fi 6 is 802.11ax. Older standards are listed only when a source names them.."},"network_audio_protocols":{"type":["array","null"],"items":{"type":"string"},"description":"Network audio protocols. Named systems that stream audio to the speaker over the home network. AirPlay is written as AirPlay 2. Chromecast built-in is written as Google Cast. Other names follow the maker, such as Spotify Connect.."},"usb_audio":{"type":["boolean","null"],"description":"USB audio input. Playback from a connected computer or phone through USB. Charging, service ports and USB flash-drive playback do not qualify.."},"usb_media_playback":{"type":["boolean","null"],"description":"USB drive playback. Playback of audio files on a connected USB storage device.."},"usb_media_formats":{"type":["array","null"],"items":{"type":"string"},"description":"USB audio file formats."},"ports":{"type":["array","null"],"items":{"type":"object","properties":{"type":{"type":["string","null"],"enum":["usb_a","usb_c","micro_usb","audio_3_5mm","audio_6_35mm","rca","optical","ac","dc","other",null],"description":"Connector. Options: usb_a (USB-A), usb_c (USB-C), micro_usb (Micro USB), audio_3_5mm (3.5 mm audio), audio_6_35mm (6.35 mm audio), rca (RCA), optical (Optical (TOSLINK)), ac (AC power), dc (DC power), other (Other)."},"count":{"type":["integer","null"],"description":"Count."},"role":{"type":["string","null"],"description":"Role."},"version":{"type":["string","null"],"description":"Version."}},"required":["type","count","role","version"]},"description":"Ports. Physical speaker connectors. Record charging, audio input, power output and service roles separately. A shared microphone and guitar jack is one port. A combo jack that takes XLR and 6.35 mm plugs is 6.35 mm audio, and the role names XLR. Optical is a TOSLINK digital audio socket.."},"speakerphone":{"type":["boolean","null"],"description":"Speakerphone. Built-in microphone and call support, through a connected phone or a voice assistant's calling. A microphone used only for voice commands does not count. Microphone inputs for karaoke are separate.."},"voice_assistants":{"type":["array","null"],"items":{"type":"string"},"description":"Voice assistants. Voice assistants explicitly usable through the speaker, such as Amazon Alexa, Google Assistant, Siri or Sonos Voice Control. State whether a connected phone is required.."},"controls":{"type":["array","null"],"items":{"type":"string"},"description":"Controls."},"companion_app":{"type":["string","null"],"description":"Companion app."},"companion_app_platforms":{"type":["array","null"],"items":{"type":"string"},"description":"App platforms."},"firmware_updatable":{"type":["boolean","null"],"description":"User firmware updates."},"lighting":{"type":["boolean","null"],"description":"Built-in lighting. Decorative or ambient lighting. Status, battery, connection and microphone indicator LEDs alone do not qualify.."},"lighting_modes":{"type":["array","null"],"items":{"type":"string"},"description":"Lighting modes."},"matter_controller":{"type":["boolean","null"],"description":"Matter controller. Can add and control Matter devices. Being a Matter device alone does not count.."},"thread_border_router":{"type":["boolean","null"],"description":"Thread border router. Connects Thread smart home devices to the home network.."},"zigbee_hub":{"type":["boolean","null"],"description":"Zigbee hub. A built-in Zigbee radio that controls Zigbee smart home devices.."},"battery":{"type":["boolean","null"],"description":"Built-in battery."},"battery_life_h":{"type":["number","null"],"description":"Playback time (claimed). Unit: h. Maximum maker-claimed music playback on one charge in normal playback mode. Battery extension or reduced-bass boost modes belong in battery_life_boost_h. Record volume and lighting conditions in the source note.."},"battery_life_boost_h":{"type":["number","null"],"description":"Playback with battery extension (claimed). Unit: h. Total claimed runtime with the named battery extension mode enabled. Store the total, not only the extra hours. Keep sound and lighting restrictions in the source note.."},"battery_capacity_wh":{"type":["number","null"],"description":"Battery energy. Unit: Wh. Published battery pack energy. Do not calculate from an assumed voltage.."},"battery_capacity_mah":{"type":["integer","null"],"description":"Battery capacity. Unit: mAh. Published pack capacity at the voltage in battery_voltage_v. Do not substitute power-bank output capacity. A figure written per cell, such as 5000mAh*2, is not a pack capacity unless the maker states the pack figure.."},"battery_voltage_v":{"type":["number","null"],"description":"Nominal battery voltage. Unit: V."},"battery_chemistry":{"type":["string","null"],"description":"Battery chemistry."},"replaceable_battery":{"type":["boolean","null"],"description":"User-replaceable battery. Battery that the maker documents as replaceable by the user. Service replacement does not qualify.."},"charge_time_h":{"type":["number","null"],"description":"Full charge time. Unit: h. Time from discharged to full under the maker conditions. Adapter rating and simultaneous use belong in source notes.."},"quick_charge_min":{"type":["integer","null"],"description":"Quick charge duration. Unit: min."},"quick_charge_playback_h":{"type":["number","null"],"description":"Playback after quick charge. Unit: h. Claimed music playback after quick_charge_min of charging. Source conditions apply.."},"charging_input":{"type":["string","null"],"description":"Charging input rating. Published speaker input voltage and current. An adapter rating alone does not establish device input.."},"charging_input_max_w":{"type":["number","null"],"description":"Max charging input. Unit: W. Published maximum charging input. USB audio power requirements and adapter output are separate.."},"usb_power_delivery":{"type":["boolean","null"],"description":"USB Power Delivery charging."},"powerbank":{"type":["boolean","null"],"description":"Charges other devices."},"powerbank_output_max_w":{"type":["number","null"],"description":"Max power-bank output. Unit: W. Published power delivered by the speaker to another device. Output voltage and current belong in the source note.."},"wireless_charging":{"type":["boolean","null"],"description":"Wireless charging. The speaker battery can be charged wirelessly. Wireless power output to another device is separate.."},"ip_rating":{"type":["array","null"],"items":{"type":"string"},"description":"Dust and water rating. Exact published IP rating. Keep separate ratings, such as IP68 and IP69, as separate entries.."},"floats":{"type":["boolean","null"],"description":"Floats."},"drop_resistance":{"type":["boolean","null"],"description":"Drop resistance. Explicit maker claim or defined drop test. Do not infer from rugged wording.."},"drop_test_height_m":{"type":["number","null"],"description":"Drop test height. Unit: m. Maker-published tested height. Surface and conditions belong in source notes.."},"carry_features":{"type":["array","null"],"items":{"type":"string"},"description":"Carry features. Published handles, straps, carabiners or wheels.."},"measured_battery_life_h":{"type":["number","null"],"description":"Playback time (measured). Unit: h. Reviewer-measured playback per charge. Volume, lighting, sound mode, firmware and connection belong in the source note.."},"measured_max_spl_db":{"type":["number","null"],"description":"Max sound pressure (measured). Unit: dB. Reviewer-measured maximum SPL. Distance, test method and power source belong in source notes.."},"measured_frequency_response_min_hz":{"type":["number","null"],"description":"Low-frequency extension (measured). Unit: Hz. Reviewer-measured low-frequency limit. Threshold and test method belong in source notes.."},"measured_frequency_response_max_hz":{"type":["number","null"],"description":"High-frequency extension (measured). Unit: Hz. Reviewer-measured high-frequency limit. Threshold and test method belong in source notes.."},"measured_latency":{"type":["array","null"],"items":{"type":"object","properties":{"connection":{"type":["string","null"],"description":"Connection."},"platform":{"type":["string","null"],"description":"Platform."},"latency_ms":{"type":["number","null"],"description":"Latency. Unit: ms."}},"required":["connection","platform","latency_ms"]},"description":"Audio latency (measured). Reviewer-measured source-to-speaker latency. Source device, app, codec, firmware and connection belong in source notes. App compensation may affect results.."},"measured_charge_time_h":{"type":["number","null"],"description":"Full charge time (measured). Unit: h. Reviewer-measured time from empty to full. Power adapter and method belong in the source note.."},"dimensions_mm":{"type":["object","null"],"properties":{"width_mm":{"type":["number","null"],"description":"Width. Unit: mm."},"height_mm":{"type":["number","null"],"description":"Height. Unit: mm."},"depth_mm":{"type":["number","null"],"description":"Depth. Unit: mm."}},"required":["width_mm","height_mm","depth_mm"],"description":"Dimensions. Speaker body width, height and depth on explicitly identified axes. Unlabeled tuples do not establish axis meanings. Handle, strap and orientation conditions belong in the source note.."},"weight_g":{"type":["number","null"],"description":"Weight. Unit: g. Speaker mass including its battery. Excludes packaging, charger and removable carry accessories unless the source states otherwise.."},"materials":{"type":["array","null"],"items":{"type":"string"},"description":"Body materials."},"fcc_ids":{"type":["array","null"],"items":{"type":"string"},"description":"FCC IDs."},"other_certifications":{"type":["array","null"],"items":{"type":"string"},"description":"Other certifications."},"in_the_box":{"type":["array","null"],"items":{"type":"string"},"description":"In the box."}},"required":["series","model_numbers","gtins","announce_date","status","predecessor","successor","launch_price_usd","launch_price_eur","markets","colors","manufacturer_url","spec_sheet_url","manual_url","eprel_registration_number","warranty_years","segment","audio_channels","drivers","passive_radiator_count","total_rated_power_w","mains_rated_power_w","audio_output_power_claimed_w","peak_power_w","frequency_response_min_hz","frequency_response_max_hz","signal_to_noise_ratio_db","equalizer","eq_bands","automatic_sound_adjustment","sound_modes","stereo_pairing","speaker_link_protocols","max_linked_speakers","max_linked_speakers_bluetooth","bluetooth_playback","bluetooth_version","bluetooth_codecs","bluetooth_profiles","bluetooth_le_audio","auracast","multipoint","multipoint_device_count","wireless_range_m","wifi","wifi_standards","network_audio_protocols","usb_audio","usb_media_playback","usb_media_formats","ports","speakerphone","voice_assistants","controls","companion_app","companion_app_platforms","firmware_updatable","lighting","lighting_modes","matter_controller","thread_border_router","zigbee_hub","battery","battery_life_h","battery_life_boost_h","battery_capacity_wh","battery_capacity_mah","battery_voltage_v","battery_chemistry","replaceable_battery","charge_time_h","quick_charge_min","quick_charge_playback_h","charging_input","charging_input_max_w","usb_power_delivery","powerbank","powerbank_output_max_w","wireless_charging","ip_rating","floats","drop_resistance","drop_test_height_m","carry_features","measured_battery_life_h","measured_max_spl_db","measured_frequency_response_min_hz","measured_frequency_response_max_hz","measured_latency","measured_charge_time_h","dimensions_mm","weight_g","materials","fcc_ids","other_certifications","in_the_box"],"description":"Every wireless speaker field in schema order. Unknown values are null."}}}}