Device profiles

Damru ships 155 real Android device profiles — genuine hardware fingerprints, not synthetic desktop values.

Each profile carries authentic device, GPU, CPU, RAM, screen, and touch characteristics for brands including Samsung, Google Pixel, Xiaomi, OPPO and Realme. Pick one explicitly or let Damru choose at random.

from damru import AsyncDamru, get_device, get_random_device

pixel = get_device("pixel_8_pro")
async with AsyncDamru(device="random") as browser:
    page = await browser.new_page()

What does a device profile look like?

A device profile maps one real handset to its authentic hardware values — device model, brand, GPU, RAM, screen, and Android version — so every spoofing layer agrees with it.

The entity-attribute table below shows a representative sample from the shipped set. Each row is a real device whose values stay consistent across Damru's GPU, hardware, and display spoofing.

DeviceBrandGPURAMScreenAndroid ver
Pixel 8 ProGoogleAdreno 74012 GB1344 × 2992Android 14
Pixel 7GoogleMali-G710 MP78 GB1080 × 2400Android 14
Galaxy S23 UltraSamsungAdreno 74012 GB1440 × 3088Android 14
Galaxy S22SamsungXclipse 9208 GB1080 × 2340Android 13
Galaxy A54SamsungMali-G68 MP58 GB1080 × 2340Android 13
Xiaomi 13 ProXiaomiAdreno 74012 GB1440 × 3200Android 13
Redmi Note 12XiaomiAdreno 6106 GB1080 × 2400Android 13
Find X5 ProOPPOAdreno 73012 GB1440 × 3216Android 13
Reno 8OPPOMali-G688 GB1080 × 2400Android 12
Realme GT 2RealmeAdreno 7308 GB1080 × 2412Android 13

The full list of all 155 profiles and the selection API live in DEVICE_PROFILES.md.

How are Damru's device profiles built?

Each profile records the authentic fingerprint of a real Android device, then Damru applies it consistently across the GPU binary, system properties, and display so the whole stack matches.

A profile is only convincing when every layer agrees: the GPU renderer string, RAM and CPU values, screen resolution and density, and Android version all have to be internally consistent. Damru sources these from genuine handsets rather than guessing values, which is why the device, hardware, and network signals line up the way a real phone's would. See how the layers fit together to follow the pipeline that applies a profile.

How do I select a device profile?

Load a specific profile with get_device() by name, or pass device="random" to let Damru pick one at launch.

Both approaches return a fully consistent fingerprint. Selecting at random is useful for spreading traffic across many device identities, while naming a profile is useful when you need to reproduce a specific device. Related: features and the instance manager for running many profiles in parallel.

FAQ

Are Damru's device profiles real devices?

Yes. Each of the 155 profiles is built from a genuine Android handset's fingerprint — real device, GPU, CPU, RAM, screen, and touch values — not synthetic numbers invented to look mobile. The sample table above shows representative entries.

How are the device profiles built?

Each profile records the authentic hardware identity of a real Android device — model and brand, GPU renderer, RAM, screen resolution and density, and Android version — so every spoofing layer (GPU binary, system properties, display) can be kept internally consistent with one another.

Can I add my own device profile?

Yes. The profiles are data, so you can extend the set with a new device definition and select it by name. The selection API and the full list are documented in DEVICE_PROFILES.md.

How do I pick a specific device or a random one?

Call get_device("pixel_8_pro") to load a specific profile, or pass device="random" to AsyncDamru to let Damru choose one for you at launch.

Get started →