Cookie warm-up
Let a new profile visit ordinary sites before its first real use, so it arrives with a browsing history and cookies.
A brand-new profile has no cookies, no history and no storage, which is itself a signal some sites look for. The warm-up robot gives it a past: it opens the profile without a window, visits a list of sites, scrolls each one for a while like a reader, and closes it again. Everything the visits leave behind is saved with the profile's browser data.
Warm-ups run on a computer with the desktop agent, through the profile's own fingerprint and proxy.
From the dashboard
- Open the profile's details from the profiles list and choose Warm up.
- List the sites, one per line, or choose Use popular sites for a starter list.
- Pick how long to stay on each site (3 to 120 seconds, 10 by default) and the computer to run it on.
- Choose Start warm-up.
The profile shows as launching, then running, while it works. When it closes and its data is saved the dialog says so. You can hide the dialog; the warm-up carries on.
A warm-up needs the profile closed, and the profile stays busy until it finishes: launches and edits wait for it.
From the CLI
veil warmup <profile-id> https://www.wikipedia.org/ https://www.bbc.com/ --dwell 15
# or keep the list in a file, one address per line
veil warmup <profile-id> --file sites.txtSITE RESULT TIME
https://www.wikipedia.org/ ok 17s
https://www.bbc.com/ ok 18s
Visited 2 of 2. The profile is closed and its data saved.AI agents get the same through the warm_up_profile tool of the
MCP server.
What it does on each site
- Opens a new tab and loads the site, waiting up to 30 seconds for it.
- Scrolls with real mouse-wheel input at irregular intervals until the dwell time is up.
- Closes the tab. The profile's own tabs from its last session are left as they were.
A site that fails to load is skipped and reported; the warm-up only fails when none of the sites opened.
API
POST /v1/profiles/{id}/warmup with a dashboard session queues it, exactly
like a dashboard launch:
{
"deviceId": "<device-id>",
"urls": ["https://www.wikipedia.org/", "https://www.bbc.com/"],
"dwellSec": 15
}It answers 202 with a commandId. Follow it at
GET /v1/devices/commands/{commandId}: progress reads warming:<percent>
while it visits, and status is done once the profile has closed and saved.
Up to 50 sites per warm-up.
On the computer itself, the agent's loopback API runs one directly and answers
when it is finished: POST http://127.0.0.1:38923/profiles/{id}/warmup with
{ "urls": [...], "dwellSec": 15 } and the agent's X-API-Key.