Download · PullPath · Downloads
This tool on every surface: CLI · MCP · Python · JavaScript · Go · Java · .NET
Bring back a file from where the device keeps downloads — Android's shared Download folder, or on iOS an app's own Documents — to check what an app saved. These call app_download.
Download
public IDictionary<string, object?> Download(string name, string path)
public IDictionary<string, object?> Download(string name, string path, string app)
public byte[] Download(string name)
Brings back a file from where the device keeps downloads and saves
it at path on this machine, to check what an app
saved: Android's shared Download folder, or on an iOS simulator the
Documents of the app in front. The copy's size is read back against
the device's, on a simulator or a real iPhone alike.
Downloads() lists what there is to fetch.
Returns
The transfer: device, app (iOS), name,
where, bytes, checked and path, the
absolute path it was saved at.
As Download(string, string), from the Documents of
app, a bundle id, rather than the app in front.
Android ignores it.
Brings back a file from where the device keeps downloads, as
Download(string, string) does, and returns its bytes
rather than saving it — for a caller whose disk is not the daemon's.
PullPath
public IDictionary<string, object?> PullPath(string devicePath, string path, string? app = null)
Brings back the file or folder at a path on the device — the paths
PushPath takes — to path, which must
not exist yet for a folder, and checks every file's size.
Returns The transfer, with files and folder.
Downloads
public IList<IDictionary<string, object?>> Downloads()
public IList<IDictionary<string, object?>> Downloads(string app)
What the downloads folder holds, each file with name,
bytes and modified: Android's shared Download folder,
or on iOS, a simulator or a real iPhone, the Documents of the app in
front.
As Downloads(), for the Documents of
app, a bundle id, rather than the app in front.
Android ignores it.
Examples
Bring back a file an app saved
var saved = device.Download("mobium-report.txt", "report.txt");
Console.WriteLine(saved["path"]);
// Or the file itself, as bytes
byte[] report = device.Download("mobium-report.txt");
The same call from the command line, mobium download mobium-report.txt -o report.txt, printed on an Android 15 emulator:
downloaded mobium-report.txt from Download/mobium-report.txt to …/report.txt (44 bytes) — confirmed by the copy's size read back against the device's

The Files Demo's Download the report saved mobium-report.txt in the Download folder, and the line under it says how big and which save it was; mobium download brought that file back — on an Android 15 emulator
List what the folder holds
foreach (var f in device.Downloads())
{
Console.WriteLine($"{f["name"]} {f["bytes"]}");
}
The same call from the command line, mobium download, printed on an Android 15 emulator:
the Download folder holds 1 file
mobium-report.txt 44 bytes 2026-09-29 03:41
Bring back a folder from a path on the device
var got = device.PullPath("/sdcard/seed", "seed-copy");
Console.WriteLine($"{got["files"]} {got["path"]}");
The same call from the command line, mobium download --device-path /sdcard/seed -o seed-copy, printed on an Android 15 emulator:
downloaded seed from /sdcard/seed to …/seed-copy (a folder of 2 files, 8 bytes) — confirmed by each of its 2 files' sizes read back against the device's