POST /api/notebookcheck/devices/search
Price: 10 credits
Search laptops, phones, tablets and other devices by hardware, measured display and noise values, review scores, price, size and age
The strongest filters here are the measured ones — brightness, colour coverage, PWM, noise, battery runtime — because they come from a lab bench rather than from a datasheet, so a question like 'a quiet laptop with a bright matte screen' is answerable directly. A query returns at most 500 rows and there is no paging, so split a broad filter set across `model_year_from` and `model_year_till` windows rather than widening `count`. `page_kind` tells you where a row's id resolves: `device` ids go to notebookcheck/devices, `review` ids to notebookcheck/articles. `min_price` and `max_price` read the launch list price, which many records leave unset, so both of them also drop everything without a stated price.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)manufacturer string nullable — Device manufacturer, lower case with underscores, as listed in service/parsers/notebookcheck/devices/catalogues.py (examples: "acer", "apple"; minLength: 1)model string nullable — Free text matched against the model name (examples: "Nitro", "ThinkPad X1"; minLength: 1)device_class string nullable — Kind of device to keep (one of: "laptop", "convertible", "desktop", "display", "gaming", "handheld", "mini_pc", "multimedia", "office", "smartphone", "smartwatch", "subnotebook", "tablet", "workstation")tag string nullable — Editorial tag, lower case with underscores, as listed in service/parsers/notebookcheck/devices/catalogues.py (examples: "gaming", "chromebook"; minLength: 1)cpu_vendor string nullable — Keep devices with a CPU from this vendor (one of: "amd", "apple", "intel", "mediatek", "qualcomm", "samsung", "unisoc")exclude_cpu_vendor string nullable — Drop devices with a CPU from this vendor (one of: "amd", "apple", "intel", "mediatek", "qualcomm", "samsung", "unisoc")cpu_model string nullable — Free text matched against the CPU generation name (examples: "Arrow Lake"; minLength: 1)min_cpu_cores integer nullable — Keep devices whose CPU has at least this many cores (min: 1)gpu_vendor string nullable — Keep devices with a GPU from this vendor (one of: "amd", "intel", "nvidia")gpu_architecture string nullable — Free text matched against the GPU architecture (examples: "Blackwell"; minLength: 1)gpu_class string nullable — Performance class the graphics solution belongs to (one of: "high_end", "mid_range", "low_midrange", "low_end", "office", "not_for_games")gpu_class_or_better boolean — Widen `gpu_class` to that class and every faster one (default: false)screen_inch_bucket integer nullable — Keep devices whose screen falls in this whole-inch bucket (min: 2; max: 20)min_screen_inch number nullable — Smallest screen diagonal in inches (>: 0)max_screen_inch number nullable — Largest screen diagonal in inches (>: 0)screen_ratio string nullable — Screen aspect ratio (examples: "16:9", "16:10"; minLength: 1)min_resolution_width integer nullable — Smallest horizontal screen resolution (min: 1)min_resolution_height integer nullable — Smallest vertical screen resolution (min: 1)resolution_or_better boolean — Widen the resolution bounds to that resolution and every higher one (default: false)screen_finish string nullable — Glossy or matte screen surface (one of: "unknown", "glossy", "matte")screen_panel string nullable — Free text matched against the panel model (minLength: 1)screen_panel_type string nullable — Panel technology (examples: "IPS", "OLED"; minLength: 1)min_refresh_rate_hz integer nullable — Lowest screen refresh rate in Hz (min: 1)touchscreen boolean — Keep only devices with a touchscreen (default: false)pen_support boolean — Keep only devices with a pressure sensitive pen (default: false)detachable_screen boolean — Keep only devices with a detachable screen (default: false)adaptive_sync boolean — Keep only devices with Adaptive Sync or G-Sync (default: false)min_rating number nullable — Lowest total review score in percent (min: 0; max: 100)min_review_count integer nullable — Fewest reviews the score must rest on (min: 1)min_rating_workmanship number nullable — Lowest build quality score in percent (min: 0; max: 100)min_rating_display number nullable — Lowest display score in percent (min: 0; max: 100)min_rating_emissions number nullable — Lowest noise and heat score in percent (min: 0; max: 100)min_rating_ergonomy number nullable — Lowest ergonomics score in percent (min: 0; max: 100)min_rating_performance number nullable — Lowest performance score in percent (min: 0; max: 100)min_rating_mobility number nullable — Lowest mobility score in percent (min: 0; max: 100)min_rating_temperature number nullable — Lowest temperature score in percent (min: 0; max: 100)min_rating_audio number nullable — Lowest sound score in percent (min: 0; max: 100)min_rating_camera number nullable — Lowest camera score in percent (min: 0; max: 100)review_source string nullable — Keep devices reviewed by Notebookcheck itself or only by other outlets (one of: "notebookcheck", "external")max_age_months integer nullable — Newest allowed age of the latest review in months (min: 1)min_age_months integer nullable — Oldest allowed age of the latest review in months (min: 1)model_year_from integer nullable — Earliest model year of the device, which is not the date of its latest review (min: 1990; max: 2100)model_year_till integer nullable — Latest model year of the device, which is not the date of its latest review (min: 1990; max: 2100)max_weight_kg number nullable — Heaviest allowed weight in kilograms (>: 0)max_width_mm number nullable — Widest allowed chassis width in millimetres (>: 0)max_length_mm number nullable — Longest allowed chassis length in millimetres (>: 0)max_depth_mm number nullable — Thickest allowed chassis depth in millimetres (>: 0)max_price number nullable — Highest allowed launch list price (>: 0)min_price number nullable — Lowest allowed launch list price (>: 0)min_ram_gb integer nullable — Smallest allowed amount of RAM in gigabytes (min: 1)min_storage_gb integer nullable — Smallest allowed main drive capacity in gigabytes (min: 1)storage_type string nullable — Technology of the main drive (one of: "hdd", "ssd", "hybrid", "emmc", "nvme_smartphone", "ufs_2_0", "ufs_2_1", "ufs_2_2", "ufs_3_0", "ufs_3_1_or_4")optical_drive string nullable — Presence of an optical disc drive (one of: "present", "absent")lan string nullable — Wired network port the device must carry (one of: "any", "gigabit", "multi_gigabit_2_5", "multi_gigabit_5", "multi_gigabit_10")wlan string nullable — Wireless standard the device must support (one of: "any", "wifi_4", "wifi_5", "wifi_6")operating_system string nullable — Operating system shipped with the device (one of: "windows", "mac_os", "linux", "dos", "chrome_os", "android", "ios", "windows_phone", "windows_rt", "blackberry")ruggedized boolean — Keep only ruggedized devices (default: false)fanless boolean — Keep only passively cooled devices (default: false)nfc boolean — Keep only devices with NFC (default: false)lte boolean — Keep only devices with a cellular modem (default: false)gps boolean — Keep only devices with GPS (default: false)brightness_sensor boolean — Keep only devices with an ambient light sensor (default: false)keyboard_light boolean — Keep only devices with a backlit keyboard (default: false)displayport boolean — Keep only devices with a DisplayPort output (default: false)thunderbolt boolean — Keep only devices with a Thunderbolt port (default: false)hdmi boolean — Keep only devices with an HDMI output (default: false)vga boolean — Keep only devices with a VGA output (default: false)cardreader boolean — Keep only devices with a card reader (default: false)removable_battery boolean — Keep only devices with a removable battery (default: false)min_battery_wh number nullable — Smallest allowed battery capacity in watt hours (>: 0)min_battery_mah number nullable — Smallest allowed battery capacity in milliamp hours (>: 0)min_battery_wlan_minutes integer nullable — Shortest allowed measured Wi-Fi battery runtime in minutes (min: 1)min_brightness_nits number nullable — Lowest allowed measured centre brightness (>: 0)max_colorchecker_delta_e number nullable — Highest allowed measured ColorChecker DeltaE 2000 (>: 0)min_srgb_coverage number nullable — Lowest allowed measured sRGB coverage in percent (>: 0)min_adobergb_coverage number nullable — Lowest allowed measured AdobeRGB coverage in percent (>: 0)min_pwm_hz number nullable — Lowest allowed screen PWM frequency in Hz (>: 0)max_noise_idle_db number nullable — Highest allowed measured idle noise in dB(A) (>: 0)max_noise_gaming_db number nullable — Highest allowed measured gaming noise in dB(A) (>: 0)max_noise_load_db number nullable — Highest allowed measured full load noise in dB(A) (>: 0)include_archived boolean — Include models the site has archived as discontinued (default: false)sort_by string — Order of the result (default: "date_desc"; one of: "date_desc", "date_asc", "rating", "rating_display", "rating_camera", "rating_application_performance", "rating_game_performance", "rating_battery", "name", "gpu_performance", "cpu_performance", "price", "weight", "screen_size", "volume")count integer required — Max number of results (min: 1; max: 500)@type string (default: "NotebookcheckDeviceListing")id string requiredurl string requiredpage_title string requiredpage_kind string requiredname string nullablereview_date string nullablerating number nullablerating_count integer nullablecpu string nullablegpu string nullablescreen_inch number nullablescreen_resolution string nullableweight_kg number nullableprice number nullablecurrency string nullablesummary string nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — The entity was not found, or a precondition failed Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.