---
title: Devices and stores
description: The device taxonomy, which store each screenshot comes from, how Android devices are classified, and how often the library refreshes.
---

## Device taxonomy

Every screenshot has a device, a form factor, a platform and a store.

| Device           | Form factor | Platform  | Store       | Interface tab |
| ---------------- | ----------- | --------- | ----------- | ------------- |
| `iphone`         | `phone`     | `ios`     | `appStore`  | iOS           |
| `ipad`           | `tablet`    | `ios`     | `appStore`  | iOS           |
| `android_phone`  | `phone`     | `android` | `playStore` | Android       |
| `android_tablet` | `tablet`    | `android` | `playStore` | Android       |
| `mac`            | `desktop`   | `macos`   | `appStore`  | Desktop       |
| `windows`        | `desktop`   | `windows` | `msStore`   | Desktop       |
| `appletv`        | `tv`        | `ios`     | `appStore`  | hidden        |
| `xbox`           | `tv`        | `windows` | `msStore`   | hidden        |

These exact strings are what the [MCP tools](/mcp/tool-reference) accept for `device` and `platform`.

## Where screenshots come from

- **App Store** (iPhone, iPad, Mac): the public iTunes lookup and the App Store listing.
- **Google Play** (Android phone and tablet): the public Play listing.
- **Microsoft Store** (Windows): the public store listing.

Only these store hosts are read: `itunes.apple.com`, `apps.apple.com`, `play.google.com` and `apps.microsoft.com`. Images are downloaded only from the stores' own image hosts, with a 15 MB size limit and a 20 second timeout.

Each screenshot is stored in two sizes. The thumbnail is for grids and the full size is for the viewer and downloads.

## How Android devices are classified

Google Play does not label screenshots by device. We read each image's dimensions and classify by aspect ratio, the long side divided by the short side, in either orientation:

- 1.7 or more counts as a phone (a 1080 × 1920 portrait shot, or the same rotated to landscape).
- Anything squarer counts as a tablet or Chromebook shot (for example 1600 × 2560, or 2048 × 1536).

The threshold lives in code with tests. A few screenshots will still land in the wrong bucket, for example a tablet image cropped to phone proportions.

## Refresh cadence

Once a week every app in the library is fetched again from the store listings it was first found on, whether or not its version changed. Each screenshot is downloaded and matched by content hash: unchanged screenshots are not stored again, and only new ones are uploaded. When the screenshots of an app change, a new capture is added and the version picker on the app page shows it. A new store release can take up to a week to appear.

To get an app that is missing, use [Request an app](/request-an-app).
