Agorapulse

agorapulse.comcontributed by Samuele Ongaro

ALMOST

A weekend of work, and real gaps remain.

Social media management: schedule posts across networks, answer every comment and message from one inbox, and report on it.

Promptfree, for everyone, and the only version there is
Build me the social publishing and inbox tool I actually need instead of Agorapulse.

The constraint that shapes everything: **network APIs are the whole difficulty.** They are restricted, they change, they require app review, and some of what these tools do is available only to approved partners. Build for the networks that let you in and be explicit about the rest.

STACK
- Node 20+ with Fastify, server-rendered HTML with a little vanilla JS
- SQLite through better-sqlite3, WAL mode
- A worker process for publishing and polling
- Caddy in front

THE DATA MODEL
- accounts: id, network, handle, token_encrypted, refresh_token_encrypted, expires_at, scopes, status
- posts: id, body, media_ids_json, created_by, status
- targets: id, post_id, account_id, scheduled_for_utc, published_at, remote_id, status, error — **one row per network, because the same post succeeds on one and fails on another and a single status hides that**
- variants: per network overrides — length, mentions, first comment, alt text
- conversations and messages: id, account_id, remote_id, kind, author, body, at, assigned_to, status
- metrics: id, target_id, name, value, collected_at — sampled over time, since networks revise numbers for days

PUBLISHING RELIABLY
- The queue is a table with a lease; a crashed worker's job is reclaimed
- **Idempotency on every publish**, keyed by target id, and check the remote before retrying. Posting twice to a public account is a visible, embarrassing failure and retries are what cause it
- Per-network validation before scheduling — length, media counts, aspect ratios, mention syntax — with the errors shown at composition time and not at publish time
- Token refresh in the background with an alert well before expiry. **A silently expired token means a fortnight of posts that never went out**, which is the classic failure of homemade schedulers
- A visible queue with failures at the top and a one-button retry

THE INBOX
- Poll comments and messages where the API allows, store with the remote id, and never lose one to a redelivery
- Assignment, a status, and an internal note. Two people replying to the same comment is what an inbox exists to prevent
- Saved replies, and a keyboard-first list. Speed is the whole feature

REPORTING HONESTLY
- Collect what the API gives, on a schedule, and store each collection rather than overwriting. **Networks revise engagement numbers for days after a post**, and only a series shows that
- Report reach and engagement with the collection date attached
- Do not invent a composite score. It hides which number moved

ACCESSIBILITY AND CARE
- Alt text required on every image before scheduling. It takes ten seconds and it is the difference between a post everybody can read and one many cannot
- A preview per network, because a post that looks fine in the composer wraps badly on half of them

WHAT MATTERS MOST
Per-network target rows and idempotent publishing. The first makes failures visible; the second stops the retry doing damage.

What you lose

  • Publishing access to networks that restrict their APIs
  • A unified inbox pulling comments and messages from everywhere
  • Reports built from metrics the networks expose to partners only
  • The approvals maintained as each network changes its rules

If you would rather not build

  • The networks’ own schedulers, which are free and reliable
  • A queue table and a worker, which is the core in a day

What it costs

read from their page 15 Aug 2026

PlanBilled monthlyBilled yearlyLast read
—$79/mo—15 Aug 2026

Their pricing page is where these came from. Seeing a different price? Tell us.

The escape hatch

open source · no votes, no paid placement

Postiz

$0

Open-source social scheduling with a calendar and multiple accounts.

gitroomhq/postiz-appfree · open source

Mixpost

$0

Self-hosted social media management, one-time licence or free core.

inovector/mixpostfree · open source

Why this verdict

our own opinion · changed only by a person

50/100

Verdict kinda at 50: the scheduler is a weekend, the network access is a permanent maintenance job. Token expiry and double-posting are the two failures worth designing against from the start.

History

tracked since 14 Aug 2026 · nothing is ever overwritten

Interest · last 30 dayspeak 2/day
views01231 Aug5 Sept10 Sept15 Sept20 Sept25 Sept29 Sept
— views— prompt copies none yet— votes none yet

Questions about Agorapulse

answered from the record above

Is Agorapulse free?

No — the plan we track is $79 a month. Standard at $79 per user per month billed monthly, around $69 annually.

Can you replace Agorapulse by building your own?

ALMOST. A weekend of work, and real gaps remain. Replacement score 50 out of 100, build time a weekend. Read what you lose before you decide.

How much does Agorapulse cost?

$79 a month on Standard — $948 a year. Recorded 14 Aug 2026.

What do you lose by replacing Agorapulse?

Publishing access to networks that restrict their APIs; A unified inbox pulling comments and messages from everywhere; Reports built from metrics the networks expose to partners only; The approvals maintained as each network changes its rules. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Agorapulse?

Yes: Postiz, Mixpost. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 17 in Social media & links

Not sending yet

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.

free forever · no tracking pixel · stored here, never passed to anyone

Esc