Skip to main content

Device Emulation

Capture screenshots exactly as they would appear on specific mobile devices, tablets, and other form factors. Device emulation automatically configures viewport, user agent, touch capabilities, and pixel density to match real devices.

Device Emulation Parameter

emulateDevice (emulateDevice)

  • Default: None
  • Description: Emulates a specific device profile
  • Example: emulateDevice=iphone_15_pro
  • Effect: Overrides viewport, user agent, and scale factor settings

How to Use Device Emulation

Get Available Devices

Retrieve the complete list of supported devices:

curl "https://edge.capture.page/screenshot/devices"

Use Device Key

Apply the device key from the API response:

https://cdn.capture.page/KEY/HASH/image?url=https://example.com&emulateDevice=iphone_15_pro

Device Categories

Smartphones

iPhone Models

DeviceKeyScreen SizeScale Factor
iPhone 15 Pro Maxiphone_15_pro_max430×9323
iPhone 15 Proiphone_15_pro393×8523
iPhone 15iphone_15393×8523
iPhone 14iphone_14390×8443
iPhone SEiphone_se375×6672
iPhone 13 miniiphone_13_mini375×8123

Android Phones

DeviceKeyScreen SizeScale Factor
Pixel 8 Propixel_8_pro412×9153.5
Pixel 8pixel_8412×9153
Pixel 7pixel_7412×9152.625
Samsung Galaxy S23galaxy_s23360×7804
Samsung Galaxy S21galaxy_s21360×8003

Tablets

iPad Models

DeviceKeyScreen SizeScale Factor
iPad Pro 12.9"ipad_pro_12_91024×13662
iPad Pro 11"ipad_pro_11834×11942
iPad Airipad_air820×11802
iPad 10th Genipad_10810×10802
iPad Miniipad_mini768×10242

Android Tablets

DeviceKeyScreen SizeScale Factor
Pixel Tabletpixel_tablet800×12802
Galaxy Tab S9galaxy_tab_s9800×12802.25
Galaxy Tab A8galaxy_tab_a8800×12801.75

Other Devices

DeviceKeyScreen SizeScale Factor
Desktop HDdesktop_hd1920×10801
Desktop 4Kdesktop_4k3840×21601
Laptoplaptop1366×7681
Surface Prosurface_pro1368×9122

Usage Examples

Mobile Screenshot

iPhone 15 Pro screenshot:

https://cdn.capture.page/KEY/HASH/image?url=https://example.com&emulateDevice=iphone_15_pro

Tablet Screenshot

iPad Air in landscape:

https://cdn.capture.page/KEY/HASH/image?url=https://example.com&emulateDevice=ipad_air_landscape

Responsive Testing

Test multiple devices:

const devices = ['iphone_15', 'ipad_air', 'desktop_hd'];

devices.forEach(device => {
const url = `https://cdn.capture.page/KEY/HASH/image?url=site.com&emulateDevice=${device}`;
// Generate screenshots for each device
});

Device Properties

Automatic Configuration

When using device emulation, these properties are automatically set:

  1. Viewport Dimensions

    • Width and height match device screen
    • Proper orientation (portrait/landscape)
  2. User Agent String

    • Authentic user agent for the device
    • Includes OS version and browser info
  3. Device Scale Factor

    • Correct pixel density (DPR)
    • Ensures crisp rendering on high-DPI screens
  4. Touch Capabilities

    • hasTouch: Enable touch events
    • isMobile: Mobile viewport behavior
  5. Device Metrics

    • Screen orientation
    • Device type detection
    • Platform-specific features

Common Use Cases

Mobile App Landing Pages

Test how app store landing pages appear:

// iOS App Store appearance
&emulateDevice=iphone_15_pro

// Google Play Store appearance
&emulateDevice=pixel_8

Responsive Design Testing

Verify responsive breakpoints:

// Mobile breakpoint
&emulateDevice=iphone_15

// Tablet breakpoint
&emulateDevice=ipad_air

// Desktop view
&emulateDevice=desktop_hd

Social Media Preview

Check how content appears on mobile social apps:

// Instagram mobile view
&emulateDevice=iphone_14&waitFor=.instagram-embed

// Twitter mobile view
&emulateDevice=pixel_7&selector=.tweet-container

E-commerce Mobile Experience

// Product page on mobile
&emulateDevice=galaxy_s23&waitFor=.product-gallery

// Checkout flow on tablet
&emulateDevice=ipad_pro_11&selector=.checkout-form

Advanced Techniques

Landscape Orientation

Many devices support landscape mode:

// Portrait (default)
&emulateDevice=iphone_15_pro

// Landscape
&emulateDevice=iphone_15_pro_landscape

Combining with Other Options

With Page Enhancements

// Mobile dark mode
&emulateDevice=iphone_15&darkMode=true

// Tablet without ads
&emulateDevice=ipad_air&blockAds=true

With Timing Options

// Wait for mobile menu
&emulateDevice=pixel_8&waitFor=.mobile-nav

// Delay for animations
&emulateDevice=galaxy_s21&delay=2

With Selection

// Capture mobile header only
&emulateDevice=iphone_14&selector=header

// Specific mobile component
&emulateDevice=pixel_7&selectorId=mobile-carousel

Best Practices

1. Test Key Devices

Focus on your audience's most-used devices:

// Analytics-driven device selection
const topDevices = [
'iphone_15', // 35% of mobile traffic
'iphone_14', // 25% of mobile traffic
'galaxy_s23', // 20% of mobile traffic
'ipad_air' // 15% of tablet traffic
];

2. Consider Network Conditions

Mobile devices often have slower connections:

// Allow extra time for mobile loading
&emulateDevice=iphone_15&delay=3

// Wait for lazy-loaded mobile content
&emulateDevice=pixel_8&waitFor=.mobile-content-loaded

3. Test Both Orientations

If your app supports rotation:

// Portrait mode
&emulateDevice=ipad_pro_11

// Landscape mode
&emulateDevice=ipad_pro_11_landscape

4. Verify Touch Interactions

Some sites have mobile-specific features:

// Mobile menu that requires touch
&emulateDevice=iphone_15&waitFor=.hamburger-menu

// Swipeable galleries
&emulateDevice=galaxy_s23&selector=.touch-gallery

Performance Considerations

Scale Factor Impact

Higher scale factors mean larger images:

  • iPhone 15 Pro (3x): 1179×2556 actual pixels
  • Galaxy S23 (4x): 1440×3120 actual pixels
  • iPad Pro (2x): 2048×2732 actual pixels

Optimization Tips

  1. Use appropriate image formats
  2. Consider bandwidth limitations
  3. Cache device-specific screenshots
  4. Monitor processing times

Resource Usage

// Lower resource usage
&emulateDevice=iphone_se // 2x scale factor

// Higher resource usage
&emulateDevice=galaxy_s23 // 4x scale factor

Troubleshooting

Device Not Recognized

If device key is invalid:

  • Verify against devices endpoint
  • Check for typos in device key
  • Fallback to manual viewport settings

Unexpected Rendering

Some sites detect emulation:

  • Try bypassBotDetection option
  • Use manual viewport as alternative
  • Check for device-specific redirects

Missing Mobile Features

If mobile-specific content missing:

  • Verify user agent is set correctly
  • Check for JavaScript device detection
  • Allow time for mobile content to load

Manual Alternative

If device emulation doesn't work as expected, manually configure:

// Manual iPhone 15 Pro settings
&vw=393&vh=852&scaleFactor=3&userAgent=Mozilla%2F5.0%20(iPhone%3B%20CPU%20iPhone%20OS%2017_0%20like%20Mac%20OS%20X)

// Manual iPad Air settings
&vw=820&vh=1180&scaleFactor=2&userAgent=Mozilla%2F5.0%20(iPad%3B%20CPU%20OS%2017_0%20like%20Mac%20OS%20X)

See Also