How Uploader works
Connecting accounts, writing a post, and what happens after you publish
Uploader publishes to the social accounts you already own. You connect each one once, write a post, tick the accounts it should go to, and press Publish. There is nothing to install, and no developer account to register on any of the networks.
Getting started
- Create an account with an email address. We send you a six-digit code, or you can set a password.
- Connect a network. The accounts panel sits beside the composer, so connecting one never takes you off the page.
- Write the post, attach a photo or a video if you want one, and tick the accounts it should reach.
- Publish. Each account reports back on its own — one failing does not stop the others.
Connecting an account
Almost every network opens its own sign-in window. You approve the app there, on the network's own domain, and the window hands us back a token. Your password is never typed into Uploader and never reaches us.
Telegram is the exception, because a Telegram bot is not something you log into. You create the bot in Telegram itself, make it an administrator of the channel you want to post to, and paste its token here. Revoking that token in Telegram cuts us off immediately.
We ask each network for the narrowest permission that still lets us post, and for enough to show you which account is connected. Not your feed, not your followers, not your messages, not your analytics. What the approval window lists is the whole of what we can do.
What each network accepts
Not every network takes every kind of post. A network that cannot take what you have written is greyed out in the composer with the reason, before you press Publish rather than after.
| Network | Text only | Photo | Video | Connects with |
|---|---|---|---|---|
| yes | yes | yes | sign-in window | |
| no | yes | yes | sign-in window | |
| Threads | yes | yes | yes | sign-in window |
| YouTube | no | no | yes | sign-in window |
| yes | yes | yes | sign-in window | |
| X | yes | no | no | sign-in window |
| TikTok | no | no | yes | sign-in window |
| no | yes | yes | sign-in window | |
| Bluesky | yes | yes | yes | sign-in window |
| Telegram | yes | yes | yes | credentials you paste |
| Discord | yes | yes | yes | sign-in window |
This table is generated from the code that does the publishing, so it describes what Uploader can do today — not what the network's API allows in principle.
Photos and videos
You can attach a file or give a public URL. If you attach a file we keep a copy and serve it from our own domain, because several publishing APIs do not accept an upload at all — they fetch the media from a URL you hand them. That copy is listed in the privacy policy along with everything else we store.
Instagram, Threads and TikTok accept media only as a URL they fetch themselves, which is why a post to them always goes through that copy. YouTube is the other way round — it wants the bytes — so we fetch the video and stream it up. Either way, the media has to be reachable while the post is being published.
Reels, Stories and Shorts
A video sent to Instagram can be published as a Reel or as a Story; the composer has a switch for each. YouTube decides between a normal video and a Short from the video itself — a short, vertical clip becomes a Short without you asking. On YouTube you also choose whether the upload is public, unlisted or private.
After you publish
Every account answers separately, and the result is written to your post history whether it worked or not. A failure keeps its reason — an expired token, a file the network refused, a network that was down — because "why did this stop working?" is the question that history exists to answer.
Staying connected
Networks expire the tokens they issue on very different clocks, and the important ones can only be renewed while still valid. A sweep runs twice a day over anything lapsing within the week and renews it, so a restart or a day of downtime costs nothing.
If a token lapses anyway, only that account fails, and reconnecting it is one click. Disconnecting an account deletes its tokens immediately — there is nothing of ours left to revoke on the network's own settings page afterwards.
Networks that gate what we can do
Some networks restrict an application until they have reviewed it, and we would rather say so here than let you discover it from a post nobody can see.
- TikTok only allows an unreviewed application to post privately. Until our review passes, a TikTok post is uploaded as visible to you alone. We ask for the visibility you chose every time and fall back only when TikTok refuses it, so the day the review lands nothing needs changing here.
- YouTube locks uploads from an unreviewed application to private and emails the channel owner about it.
- Pinterest starts an application in trial access, which reaches your own account only.
Going further
Anything the website does, your own code can do too: the API reference covers keys, listing your accounts and publishing in one call. Shorter questions are answered in the FAQ, and anything else at hello@stapilo.com.