DxOMark Camera, Lens & Sensor Score Scraper
ECOMMERCE
Independent tool. Trademarks referenced on this page are the property of their respective owners and are used only to identify the public website this tool reads. No affiliation or endorsement.
DxOMark Camera, Lens & Sensor Score Scraper
Extract objective lab-bench scores for cameras, lenses, and sensors from DxOMark — the world's leading independent image quality measurement authority since 2008.
What this actor does
This actor scrapes scored products from DxOMark, discovering them via the site's sitemap (3,500+ products). For each product it fetches:
- The test/review page to get the overall DxOMark score, protocol type, and review date
- The product page to get the brand and full set of sub-scores
Camera sensors — sub-scores extracted:
- Portrait (Color Depth, in bits)
- Landscape (Dynamic Range, in EV)
- Sports (Low-Light ISO)
Lenses — sub-scores extracted:
- Sharpness (P-Mpix)
- Transmission (TStop)
- Distortion (%)
- Vignetting (EV)
- Chromatic Aberration (µm)
- Tested-on camera body
Output data
Each record contains:
| Field | Type | Description |
|---|---|---|
product_name |
string | Full product name (e.g. "Sony A9 III", "Sigma 90mm F2.8 DG DN") |
brand |
string | Brand/manufacturer |
product_type |
string | camera-sensor or lens |
mount |
string | Lens mount (where available) |
dxomark_overall_score |
integer | Overall DxOMark score |
sub_scores |
string (JSON) | Sub-score key/value pairs as a JSON string |
sensor_specs |
string | Sensor specifications (reserved for future use) |
tested_on_body |
string | Camera body used to test the lens (lenses only) |
launch_price_usd |
number | Launch price in USD (not available in static HTML) |
rank_in_category |
integer | Rank in category (not available in static HTML) |
review_url |
string | URL of the DxOMark test/review page |
review_date |
string | Review publication date |
Sample output (camera sensor)
{
"product_name": "Sony a9 III",
"brand": "Sony",
"product_type": "camera-sensor",
"dxomark_overall_score": 87,
"sub_scores": "{\"Overall Sensor Score\":87,\"Portrait (Color Depth)\":24.1,\"Landscape (Dynamic Range)\":13,\"Sports (Low-Light ISO)\":3224}",
"review_url": "https://www.dxomark.com/sony-a9-iii-sensor-test/",
"review_date": "November 14, 2024"
}
Sample output (lens)
{
"product_name": "Sigma 90 mm F2.8 DG DN (for Sony)",
"brand": "Sigma",
"product_type": "lens",
"dxomark_overall_score": 39,
"sub_scores": "{\"Sharpness\":\"35 P-Mpix\",\"Transmission\":\"2.9 TStop\",\"Distortion\":\"1.2 %\",\"Vignetting\":\"-2.1 EV\",\"Chr. aberration\":\"17 µm\"}",
"tested_on_body": "Sony A7R IV",
"review_url": "https://www.dxomark.com/sigma-90mm-f2-8-dg-dn-for-sony-lens-test/",
"review_date": "June 30, 2022"
}
Input configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
maxItems |
integer | Yes | Maximum number of products to scrape |
startUrls |
array | No | Specific DxOMark test/review page URLs to scrape. Leave empty to discover all products via sitemap. |
Scrape specific products
To scrape specific products, provide their DxOMark test/review page URLs:
{
"maxItems": 10,
"startUrls": [
{ "url": "https://www.dxomark.com/sony-a9-iii-sensor-test/" },
{ "url": "https://www.dxomark.com/sigma-90mm-f2-8-dg-dn-for-sony-lens-test/" }
]
}
Discover and scrape all products (sitemap crawl)
Leave startUrls empty to walk the DxOMark sitemap and discover all scored products:
{
"maxItems": 500
}
Use cases
- Gear recommendation tools — build recommendation engines using objective sensor scores
- Affiliate content sites — programmatically enrich product pages with lab-measured scores
- Price-intelligence platforms — correlate DxOMark scores with market pricing
- ML training datasets — build computer vision and image quality models with ground-truth measurements
- Camera comparison apps — power comparison tools with the same data DxOMark uses
Notes
launch_price_usdandrank_in_categoryare loaded via JavaScript on the product page and are not available in the static HTML; both fields outputnull- Smartphone camera tests are filtered out; only camera sensors (
-sensor-test/) and lenses (-lens-test/,-lens-review/) are included - The
sub_scoresfield is a JSON-encoded string; parse it withJSON.parse()in your downstream code