Get started
Open source · AGPL-3.0 · self-host free or go hosted

One studio.
Every brand you run.

The social media studio for people who run many brands — publish to ten networks, collaborate in client-scoped rooms, and turn long video into clips, on a platform you fully own. No per-seat penalties.

No credit card required. Self-hosting is free forever.

app.antenna.sh
The Antenna queue: a masonry board of scheduled and published posts with native previews for LinkedIn, X, Instagram and Bluesky, filtered across three brands
Publishes natively to 10 networks — no compromises Facebook YouTube Instagram TikTok LinkedIn X / Twitter Pinterest Threads Bluesky Mastodon

From zero to client-approved in minutes

No enterprise sales calls, no training weeks. Set up your studio desk today.

01

Connect your portfolio

OAuth in, or bring your own developer app keys. Ten networks supported.

02

Segment your brands

A workspace per client, brand, or side project — assets, inboxes, and access stay separate.

03

Draft once, tailor everywhere

Write a post once — Antenna reformats it natively for every network.

04

Approve, queue, measure

Free reviewer seats for client sign-off; growth tracked across the whole roster.

The networks

Ten networks.
Native on every one.

No lowest-common-denominator crossposting — every post renders the way its network expects.

Facebookpages + reels
YouTubeshorts + long-form
Instagramreels + carousels
TikTok9:16 video
LinkedInfirst comments
X / Twitterthreads + polls
Pinterestpins + boards
Threadsnative threads
Blueskythreads + link cards
Mastodonthreads + CWs

More networks are coming soon — the roster keeps growing.

A network only ships after it passes live verification against the real API. Anything unverified stays switched off — never mocked.

Publishing & scheduling

Plan weeks of content for every client in one sitting.

A calendar built for people who juggle brand voices — schedule at custom slots, or let Antenna find the hours that perform for each audience.

app.antenna.sh/acme-studio

Draft once — Antenna tailors text, links, and tags per network from one composer, then schedules each version at the time that performs.

Draft once, fan outOne draft becomes native versions per network.
Smart auto-schedulingPeak-hour slots learned per network and audience.
Evergreen librariesYour best content quietly comes back around.
Client approval gatesLock scheduling behind client or manager sign-off.
Listening & engagement

Every DM, mention, and comment. Scoped by client.

Stop logging in and out of client accounts — YouTube comments, Instagram DMs, and Mastodon mentions all land on one desk.

app.antenna.sh/inbox
Antenna's unified inbox: open threads from Instagram, Bluesky, YouTube, Facebook and Mastodon across three brands, with an Instagram comment selected and a reply box below
Zero-switching inboxThreads from every brand flow in, neatly tagged.
Team routingAssign a thread to whoever owns the relationship.
Client-scoped viewsEach client sees their room — never the rest of your roster.
The flagship · slicing engine

One podcast episode.
A week of clips.

Don't pay for a separate clipping tool. Drop in keynotes, podcast episodes, or founder streams — Antenna finds the high-engagement hooks, reframes them to 9:16, and drafts the posts.

founder-podcast-ep-14.mp445:12 · 1080p
3 hooks foundtranscribed · reframed 9:16 · captioned
Clip one: a podcaster talking into a studio microphone, cropped to a vertical frame08:12"Your first five minutes decide everything."
tiktokreels0:34
Clip two: a sunny street interview with a red foam microphone, cropped to a vertical frame21:05"We deleted six steps from signup."
shorts0:41
Clip three: a speaker with a handheld microphone addressing a warm-lit audience, cropped to a vertical frame35:48"Retention isn't a metric. It's a feeling."
reelstiktok0:28

Reframed visually, captions burned in — you approve, and it queues straight to TikTok, Reels, and Shorts in one flow.

Analytics & growth

Roster analytics that prove your value.

No more spreadsheet builds the night before a client call — cross-brand charts, normalized growth metrics, exportable reports.

app.antenna.sh/acme-studio/analytics
Antenna's portfolio overview: impressions, engagement, clicks and reach tiles, a thirty-day trend chart, and a brand-comparison bar chart across three brands
Roster overviewEvery brand on one chart — see what's compounding.
White-label reportsClient-ready exports with your studio's name (Agency + self-host).
Best-time learningWhat performs feeds straight back into the scheduler.
See your portfolio in one view →
Signals

Catch the trend while it's still rising.

Signals watches the conversation around each brand and scores what's worth riding — sentiment, classification, and momentum in one feed. Rate what it surfaces, and it tunes itself to your roster.

  • Per-brand tuning — scoped to each audience, not a global firehose.
  • Sentiment + classification — every signal arrives pre-read, stats attached.
  • A feedback loop — your ratings sharpen tomorrow's feed.
app.antenna.sh/signals
Antenna's signals feed: sixteen live signals with sentiment and classification statistics, ratings, and statuses
Automations

The quiet weeks carry themselves.

Evergreen rotation, cron schedules, and an RSS trigger that drafts a post the moment your blog publishes. Every rule shows its run history, so you always know what fired and why.

  • RSS → posts — a blog post lands, a scheduled draft appears.
  • Evergreen rotation — your best content returns on schedule.
  • Run log — every execution recorded, nothing fires silently.
app.antenna.sh/automations
Antenna's automations: run statistics and four rules, including RSS Feed to Schedule Post and an evergreen rotation on a weekly cron
app.antenna.sh/monitoring
Antenna's monitoring: three sites up with 99.95 percent average uptime and a resolved HTTP 503 incident
Monitoring

The sites behind the brands, watched.

Uptime checks for every property your brands depend on, on the same desk as the content that points at them. When the shop throws a 503, you hear it from Antenna — not from a client screenshot.

  • Per-site uptime — every brand's web properties, checked continuously.
  • Incident timeline — outages logged with resolutions, not vibes.
  • Next to your alerts — downtime can page the same rules.
Alerts

Know before the client asks.

Spikes, drops, and keywords worth waking up for — alert rules per brand, with quick presets so the obvious ones take one click. When something fires, you see exactly when and why.

app.antenna.sh/alerts
Antenna's alerts: quick presets and four active rules, one showing its last-triggered timestamp
Quick presetsThe alerts everyone needs, armed in one click.
Spike + drop detectionMovement in either direction, surfaced.
Keyword triggersThe phrases that matter, watched around the clock.
SEO & keywords

Search health, on the same desk.

A per-brand SEO score with category breakdowns, Core Web Vitals, a live SERP preview, and the structured data your pages actually ship — next to the content that targets those queries.

  • Site score — one number per brand, broken down by category.
  • Core Web Vitals — the metrics search engines actually grade.
  • SERP + JSON-LD preview — see the result page before Google does.
app.antenna.sh/acme-studio/seo
Antenna's SEO dashboard: a score ring at 82, category breakdown, Core Web Vitals, a SERP preview, and a JSON-LD panel
Reports

Client-ready proof, on schedule.

Weekly portfolio pulses and brand spotlights, generated and waiting before your Monday call. On the Agency plan they go out white-label — your studio's name on the work.

  • Scheduled reports — the weekly pulse builds itself.
  • Brand spotlights — a deep-dive when one brand needs the story told.
  • White-label on Agency — your logo, your design, your client.
app.antenna.sh/reports
Antenna's reports: three ready reports — two Weekly Portfolio Pulse editions and a Brand Spotlight
Content engine

A shared library in every voice.

Themes, tags, and reusable library items with usage counts, so no brand ever starts from a blank page. AI assist drafts in each brand's voice — powered by your own keys, gated by your approvals.

  • Shared library — themes and tags with usage counts across the roster.
  • Brand-voice drafts — AI assist that writes like the brand, not like AI.
  • Your own keys — bring your model; nothing trains on your content.
app.antenna.sh/content-engine
Antenna's content engine, Shared Library tab: four library items with themes, tags, and usage counts
"Generators come and go. Networks rise and fall. The thing that compounds is your library — every post, clip, and conversation, on a rail you can take anywhere. That's what we're building."
Why Antenna exists — and why the whole product is open source.

Purpose-built for multi-brand operators

The brand-first architecture isn't a filter bolted on top — every calendar, inbox, and report is scoped from the ground up.

Agencies

Client rosters under one roof: free reviewer seats for approvals, client rooms scoped to their brands, white-label reports with your name on the work.

SaaS & content studios

Product brand, founder brand, launch brand — organized without cross-brand leaks, with one portfolio view that shows where the compounding is happening.

Independent SMMs

A whole roster solo, no team required. Evergreen automations, RSS auto-drafting, and MCP agents do the work of a full desk.

AI & MCP

Let your AI run the studio. Safely.

A full MCP server ships in the box — connect Claude, ChatGPT, or a local model over OAuth and it can drive all 57 tools, from drafting to analytics.

Claude connected · 57 tools
// "line up next week for Volt Records"
call antenna.search_trends({ brand: "volt-records" })
call antenna.draft_post({ hook: trends[0], voice: "brand" })
call antenna.find_next_slot({ platform: "youtube" })
call antenna.schedule({ at: slot, fanout: true })
→ 4 drafts queued · pending your approval
ChatGPT connected · 57 tools
// "what needs a reply this morning?"
call antenna.list_inbox({ status: "open", unread: true })
call antenna.draft_reply({ thread: inbox[0], voice: "kelp-co" })
→ 3 unread across 2 brands · reply drafted
→ waiting for you to hit send
Gemini connected · 57 tools
// "slice yesterday's keynote into clips"
call antenna.slice_video({ source: "keynote-q3.mp4" })
call antenna.compose_from_slices({ networks: ["tiktok", "reels", "shorts"] })
→ 3 hooks found · reframed 9:16 · captioned
→ 9 platform drafts, none published without you
Any local model connected · 57 tools
// your local model, same rail
call antenna.get_analytics({ compare: "brands", days: 30 })
call antenna.rotate_evergreen({ brand: "acme-studio" })
→ 57 tools · scoped tokens · your approval queue

Bring whichever model you trust — every risky action lands in your approval queue, not on the wire.

Two ways to connect

Same studio, same permissions — pick the rail that fits how you work.

MCP · OAuth

Remote-control from your local AI session

Point Claude Desktop, Claude Code, ChatGPT, or any MCP client at Antenna's built-in MCP server and authorize with OAuth. The agent gets scoped tokens — and every risky action lands in your approval queue.

claude mcp add antenna https://app.antenna.sh/mcp

REST API

Or use the REST API

Mint an API key in the portal — Settings → API keys — and drive the same studio from scripts and backends. Everything the app can do, your code can do.

curl -H "Authorization: Bearer an_live_…" https://app.antenna.sh/api/v1/posts

Self-host · open source

Own your stack. Keep your data.

Tired of platform lock-in? Antenna's core is AGPL-3.0 — the whole product, not a demo tier. Run it on your own box with Docker Compose, bring your own platform credentials, and keep every post, token, and DM archive on hardware you control.

  • The whole product — publishing, inbox, slicing, analytics, MCP. No crippled tiers.
  • No lock-in — your data lives in your Postgres; export is a pg_dump.
  • Migrate freely — move between self-hosted and antenna.sh without losing a scheduled post.
$ git clone https://github.com/antenna-oss/antenna
$ cd antenna && cp .env.example .env
$ docker compose up -d
$ pnpm install && pnpm db:migrate && pnpm dev:all

# publishing · inbox · slicing · analytics · MCP
# your studio is on air at localhost:3500
10networks, natively
1,400+automated tests on every commit
57MCP tools for your agents
1docker-compose file to self-host
AGPL-3.0the whole product, not a demo

Simple pricing. No per-seat penalties.

Unlimited brands, unlimited team members, and free reviewer seats on every paid plan — the whole product in every one. The dials are channels, slicing minutes, and storage.

Solo

$7.50 /mo
$9 /mo

billed $90 yearly 2 months free

billed monthly

For a single operator with a fistful of brands.

Everything in Antenna, plus

  • 10 connected channels
  • Video slicing · 30 min/mo
  • 10 GB media storage
Choose Solo
Most popular

Studio

$24.17 /mo
$29 /mo

billed $290 yearly 2 months free

billed monthly

For growing teams and boutique agencies.

Everything in Antenna, plus

  • 25 connected channels
  • Video slicing · 300 min/mo
  • 50 GB media storage
Choose Studio

Agency

$65.83 /mo
$79 /mo

billed $790 yearly 2 months free

billed monthly

For full client rosters and white-label work.

Everything in Antenna, plus

  • 150 connected channels
  • Video slicing · 1,000 min/mo
  • 250 GB media storage
  • White-label reports
Choose Agency

Annual plans keep the lights on for an independent open-source team — and save you two months.

Start free with 2 channels — no card required. Create your workspace →

Or run it yourself. Unlimited channels, unlimited slicing on your own hardware, white-label included — free forever under AGPL-3.0.

Read the self-host guide

Slicing beyond your plan is $0.05 per source-minute. X/Twitter API usage is passed through at cost — we don't mark it up.

Every plan, side by side

The whole product on every tier — hosted or on your own hardware.

What you getSoloStudioAgencySelf-host
Price $90/yr$9/mo $290/yr$29/mo $790/yr$79/mo Free
Connected channels1025150Unlimited
Brands & workspace membersUnlimitedUnlimitedUnlimitedUnlimited
Publishing, queue + calendar
Unified inbox
Video slicing30 min/mo300 min/mo1,000 min/moUnmetered
Media storage10 GB50 GB250 GBYour disk
Analytics + reports
White-label reports
Approvals + reviewer seats
Automations, evergreen + RSS
MCP server + API keys
Bring-your-own AI keys
Slicing overage$0.05/min$0.05/min$0.05/minn/a

Hosted or self-hosted, it's the same code — your library is yours to take anywhere.

AGPL-3.0 · your Postgres · your keys · export is a pg_dump

Questions, answered plainly

What's the difference between hosted and self-hosted?

Same code, different operator. antenna.sh runs it for you — updates, backups, and platform app credentials included. Self-hosting gives you the whole product free under AGPL-3.0 on your own hardware, with your own platform credentials and no usage caps.

Can I use Antenna for free?

Two ways. Hosted: start with a free workspace and two connected channels — no card required. Self-hosted: the entire product is AGPL-3.0, so you can run it on your own hardware with no caps and no bill.

How does Antenna compare to Hootsuite or Sprout Social?

Legacy suites charge per seat and per channel, so the bill balloons as your roster grows. Antenna's plans include unlimited team members and free reviewer seats, plus a built-in video slicing engine and MCP server the legacy suites don't have — and you can always self-host for $0.

How is Antenna different from Postiz?

Postiz is a solid open-source scheduler. Antenna is built brand-first for people who run many: isolated client rooms with approval queues, a unified cross-brand inbox, a video slicing engine, and a full MCP server for agent control.

Which networks does Antenna publish to?

Bluesky, Mastodon, X/Twitter, LinkedIn, Instagram, Facebook, TikTok, YouTube, Threads, and Pinterest. We're honest about readiness: a network ships only after it passes live verification against the real API — anything that hasn't is switched off, never mocked. Some networks gate hosted publishing behind platform app review; self-hosters can connect their own approved credentials from day one.

Does AI write my posts?

Only if you ask it to, and only with your own keys. Antenna is "the rail AI operates" — it gives your models and agents structured, permissioned access (drafting, transcription, scheduling via MCP), but it never ghostwrites behind your back and never trains on your content.

Is pricing per seat or per workspace?

Per workspace. One subscription covers every brand you run and everyone who works on them — team members are unlimited and reviewer seats are free. The dials that separate plans are channels, slicing minutes, and storage. Headcount is never one of them.

How does annual billing work?

Annual plans are billed upfront for the year and cost ten months' worth — two months free compared to paying monthly. Switch plans, or between monthly and annual, whenever you like; Stripe prorates the difference automatically. For anything billing-related we haven't covered here, write to hello@antenna.sh.

What happens when I hit a plan's limits?

You'll see an upgrade prompt, not a surprise on your invoice. Channel and storage caps ask you to move up a tier (or make room) before adding more. Video slicing is the one metered dial: past your plan's source-minutes it keeps working at $0.05 per source-minute.

How does video slicing billing work?

Each paid plan includes a monthly allowance of source-minutes (the length of the video you upload, not the clips out). Beyond that it's $0.05 per source-minute. Self-hosters run the slicing engine on their own hardware with no metering.

Is my data mine?

Yes. Self-hosted: everything lives in your Postgres and object storage — export is a pg_dump. Hosted: full export any time, and the AGPL license means the platform can never become a black box you're trapped in.

Can clients approve posts before they go out?

Yes — reviewer seats see exactly their brand's queue and nothing else. Posts can require approval before publishing, and white-label reports (Agency plan) keep your studio's name on the work.

Put your studio on air.

Start free with two channels, or clone the repo and own the whole stack tonight.