Platform
Your team at the controls.
- The whole platform, under your own login
- You choose what posts, where and when
- Logins and roles for your whole team
SuitsAgencies and growth teams who want their hands on the controls.
Message usUpload your videos once. Olsaar schedules them, posts them automatically and checks they went live, across Instagram, TikTok, YouTube and Facebook. Run it yourself, or let our team run it for you.
01 Two ways to work
Same software, same phones. The only difference is who does the work.
Platform
SuitsAgencies and growth teams who want their hands on the controls.
Message usDone-for-you
SuitsBrands and creator teams who’d rather not do the posting themselves.
Message us02 The dashboard
Log in and Home shows you today at a glance: what’s going out now, what’s next, and the few things that need a person.
Screen recording of the Olsaar Home screen with example data. Clicking “3 posting now” opens the list of posts going out right now. The cursor runs along today’s hour-by-hour timeline, then the page passes the Up next list and a Needs attention list with folders running out of clips, and ends on this week’s top posts.
Posts leaving your accounts, as they happen.
Every post planned for the day, on one timeline.
Only what needs you, like a folder that’s running out of videos.
What did well this week, so you know what to post more of.
Everything else is one click away: Library, Calendar, Posts, Accounts, Inbox and Clips.
03 How it works
From upload to live post in four stops.
Stop 1 of 4.
Drop your videos into a folder. From then on it keeps count: how often each video has been used, and how many days of posts you have left.
Screen recording with example data: videos are dropped into a folder. The clips land in the folder in batches, and the days-of-posts-left count goes up from about 3 days to about 16 days.
Stop 2 of 4.
Send a whole folder to many accounts in one go. The posts are spread out at uneven times, the way people really post, instead of all landing on the same minute.
Screen recording with example data: a folder of 102 videos is scheduled. All 32 accounts are ticked, how often is set to 4 times a day between 09:00 and 21:00, and “Create 32 schedules” is pressed. On the Schedules page all 32 are running, and as each one lines up its first post the Up next strip fills at uneven times (in 4 minutes, in 8 minutes, in 14 minutes). One schedule opens: what was checked, then its settings, where a day timeline marks the four posting times inside the posting hours and a blue line marks now.
Stop 3 of 4.
When it’s time, each post goes out by itself, to Instagram, TikTok, YouTube or Facebook. Nobody has to be there to press post.
Screen recording with example data: the calendar shows one row per account, with each post at its time of day. As a time-lapse runs, the blue line for now moves across the afternoon and each post it reaches goes out by itself, from Scheduled to Posting now to Posted. A later post opens and says it goes out automatically at its time, with nothing else to do. The calendar then zooms out from one day, hour by hour, to the week and to the whole month, with each day’s number of posts.
Stop 4 of 4.
After a video posts, we check it’s really live. If a post fails, it’s tried again on its own. Anything still stuck shows up in Needs attention.
Screen recording with example data: on the Posts page, the newest TikTok post shows that it didn’t post because TikTok had a temporary problem. Without anyone clicking, it is tried again: it shows Posting now, the failed count drops to zero, and then it is posted. Opened, the post says it is posted to TikTok, links to it there and shows its timeline; its views are not in yet. A couple of hours later its views, likes and comments have come in.
04 Clips
Drop in a podcast, a webinar or a long talk. Clips finds the best moments, cuts them to vertical and adds captions. They land in your Library, ready to schedule.
A long video on the left, an arrow, and three phones on the right, each playing short vertical clips and moving on to the next one, like a feed.
One long video in
Screen recording with example data: a 48-minute podcast episode is picked from the library, the video type (Podcast), a caption style and a 30 to 60 second length are chosen, then six short clips appear one by one with scores, the best one is marked as the top pick, its preview plays, and a Schedule menu opens to add it to a folder’s schedule.
Short clips out
Choose a caption style and layout from templates, or copy one from a screenshot.
Add your logo and colours once, or fill them in from your website.
New captions, shapes and styles for clips you already have.
You see the most it can cost before you start, and you only pay for the clips we make.
05 Know what’s working
See results for one account, one platform or your whole network. Then answer messages and keep each client separate, in the same place.
See how each account did, day by day. Compare platforms, or add it all up by client or across your network.
Screen recording with example data: one account’s results with a daily views chart. Then the results for that client’s accounts, then for all organizations together, where follower growth splits into Instagram, TikTok, YouTube and Facebook.
Messages to all your Instagram accounts arrive in one inbox, and your team replies from a browser. Each client only sees their own.
Screen recording with example data: an Instagram account’s direct messages. A conversation opens, a reply is typed and sent, and the customer answers.
Each client gets their own space, with their own accounts and their own people.
Company login
Client: North Agency
Client: Harbor Coffee
Your logo, your colours
Client: Kiln Studio
06 The phones
Social apps are made for phones. So each of your accounts lives on a real iPhone of its own.
Accounts
@account_017 lives on exactly one iPhone.
Devices
A stock iPhone, not modified and never shared.
Network
With unlimited data, included.
Location
On the latest iOS, running 24/7, hosted by us.
Control
See any phone’s screen live and take over, wherever you are.
One example account, followed down the stack. Illustrative, not a device count.
Open any phone from the wall and use it from your browser: tap, swipe and type, open apps, go Home. Switch to the next phone in one click.
Screen recording with example names. From the multistreamer, one iPhone opens on its own page, with its apps listed beside the screen. Instagram opens on Reels: three reels are liked with a double tap and swiped past. Home goes back to the home screen, then TikTok opens and its videos are swiped past. The page’s Media Transfer and System tabs are shown, the phone list opens from Switch phone, and the page goes back to the multistreamer. Usernames, captions and sound names inside the apps are blurred.
Screen recording with example names. The multistreamer shows six iPhones’ live screens: one large on the left, five in a grid. Send to is set to All Active Streams. App Switcher opens the app switcher on all six phones at once (the app previews are blurred), Home closes it on all six, one swipe moves every phone to its next home screen and a second swipe brings them all back.
Open your phones as a wall of live screens. Tap, type or open an app on a group of them, or on all of them together. Send videos and photos straight to a phone.
Before a post goes out, we check the phone is online and the account is still logged in. If it’s signed out or waiting for a 2FA code, the post waits instead of getting lost.
07 AI agents
Ask in plain English. It happens on a real phone.
Connect Claude or Codex to your phones and say what you want done. It looks at the screen, taps, types and tells you what happened. Build your own automations on the same phones that run your accounts.
A Claude Code session on your computer sends each command to Olsaar, which passes it to your phones. The session below asks for the three Warmup phones, checks the count with you, then opens Instagram, scrolls and likes on each phone while the phones on the right do it.
Works the same in Codex and Claude Desktop.
Your Warmup phones
Your agent gets the app’s own element tree, even in apps like TikTok: the buttons, text and fields on screen, with their type, words and position. When an app update moves a button, it still finds it by name.
The same phone screen after an app update moved its Like button down, read two ways. Reading pixels: the tap lands where the button used to be and misses. Reading the element tree: the tree still lists the Like button, at its new position, so the agent taps it by name and keeps going. The tree also lists the Comment and Share buttons and the caption, numbered 1 to 4 on the screen.
Reading the element treeFound by name · keeps going
screen.xmlphone.PageSource(ctx)Every app
Then, by name: Tap the Like button.
or in Go phone.Tap(ctx, olsaar.Element(olsaar.Label("Like")))
No code for the first three. Other apps that can run an MCP server work too.
Put the helper we send you in place
mkdir -p ~/.local/bin
mv ~/Downloads/olsaar-mcp-darwin-* ~/.local/bin/olsaar-mcp
chmod +x ~/.local/bin/olsaar-mcp
xattr -c ~/.local/bin/olsaar-mcp
~/.local/bin/olsaar-mcp versionAdd Olsaar to Claude Code, then paste your team key
Nothing shows while you paste. The key goes into the macOS Keychain.
~/.local/bin/olsaar-mcp install claude-codeStart a new session and ask
claudePut launch.mp4 into the Photos app of every Launch phone.
Put the helper we send you in place
mkdir -p ~/.local/bin
mv ~/Downloads/olsaar-mcp-darwin-* ~/.local/bin/olsaar-mcp
chmod +x ~/.local/bin/olsaar-mcp
xattr -c ~/.local/bin/olsaar-mcp
~/.local/bin/olsaar-mcp versionPaste this, then your team key
Nothing shows while you paste the key.
printf "Paste your team key, then press Enter: "; read -rs OLSAAR_API_KEY; echo; export OLSAAR_API_KEYAdd Olsaar to Codex
Codex keeps the key in its settings file, ~/.codex/config.toml.
codex mcp add olsaar --env OLSAAR_API_KEY="$OLSAAR_API_KEY" -- "$HOME/.local/bin/olsaar-mcp" serveStart Codex and ask
codexRestart any stuck phones and tell me which came back.
Put the helper we send you in place
mkdir -p ~/.local/bin
mv ~/Downloads/olsaar-mcp-darwin-* ~/.local/bin/olsaar-mcp
chmod +x ~/.local/bin/olsaar-mcp
xattr -c ~/.local/bin/olsaar-mcp
~/.local/bin/olsaar-mcp versionAdd Olsaar to Claude Desktop, then paste your team key
Nothing shows while you paste. The key goes into the macOS Keychain.
~/.local/bin/olsaar-mcp install claude-desktopQuit Claude with ⌘ Q, open it again and ask
When Claude asks to use Olsaar, click Allow.
Check all my phones and tell me which aren’t ready or are low on battery.
Unpack the SDK we send you
mkdir -p ~/olsaar-scripts && cd ~/olsaar-scripts
unzip ~/Downloads/olsaar-go-*.zip
go mod init olsaar-scripts
go mod edit -replace github.com/olsaar/olsaar-go=./olsaar-goRead the screen, then tap by name
Part of main.go. Your key is read from OLSAAR_API_KEY.
c, err := olsaar.New()
if err != nil {
log.Fatal(err)
}
phone, err := c.Phone(ctx, "Warmup 1")
if err != nil {
log.Fatal(err)
}
src, err := phone.PageSource(ctx) // the element tree, as XML
if err != nil {
log.Fatal(err)
}
os.WriteFile("screen.xml", src.Text, 0o644)
if err := phone.Tap(ctx, olsaar.Element(olsaar.Label("Like"))); err != nil {
log.Fatal(err)
}Run it
Or publish posts from your own systems with the posting API.
go mod tidy
go run .Commands shown for macOS; Windows works too.
It asks before acting on lots of phones at once, and your key stays on your computer.
Talk to us for access08 Who it's for
Keep all your clients’ accounts posting, whoever’s on shift.
Best fit
You make the videos. We get them out across your accounts.
Best fit
Build account networks, see what lands, and put more behind what works.
Best fit
Keep regional, product and campaign accounts active and on message.
Best fit: either
09 Pricing
Run real phones yourself, just post from your own accounts, or hand the whole thing to us. All prices in GBP.
You run it, we host the phones
Real iPhones on their own SIM, hosted by us, controlled from one browser dashboard.
From£50per phone / month
US phones: available through our US partner, priced on request.
Message usYour phones, our software
You keep your iPhones and computers where they are. You run our host app and get the full dashboard and automation.
From£12per phone / month
Minimum 5 phones. No setup fee.
Message usSelf-hosted includes everything in Hosted phones except the phone and the SIM.
Your accounts, no phones
Connect your own Instagram, TikTok and YouTube accounts. Schedule and post from one dashboard. No phones involved.
From£4.50per account / month
Minimum 5 accounts. No setup fee.
Message usPosting and analytics run through each platform’s official API.
We run it
You send the content and tell us the goal. We set up and run the accounts, post daily, and report back.
Message usStarter
Up to 15 accounts
£1,500per month
£500 one-off setup
Growth
Up to 45 accounts
£3,000per month
£750 one-off setup
Scale
Up to 100 accounts
£5,500per month
£1,000 one-off setup
Custom
100+ accounts
Quotedper month
Setup quoted
US phones: available through our US partner at an extra cost per phone.
Contact us
Plans are built around how many accounts and phones you run. Message us and we’ll put one together for you.
Message usShort answers. Each one links to the part of the page with more.
Instagram, TikTok, YouTube and Facebook.
03How it worksReal iPhones. No emulators and no virtual machines.
06The phonesIts posts wait, and the account shows up in Needs attention so you can log back in.
06The phonesYes. Each client gets their own workspace and their own people.
05Know what’s workingYes. Done-for-you runs on the same platform, with our team doing the work.
01Two ways to workNo. Code is only for teams who want to build their own automations.
07AI agentsYes. Start with a few accounts and add phones as you grow.
Contact usRun it yourself, or let our team run it for you. Message us and we’ll get you set up.