Metricool

metricool.com

ALMOST

A weekend of work, and real gaps remain.

Social scheduling and analytics with competitor tracking and ad reporting, aimed at freelancers and small agencies.

Promptfree, for everyone, and the only version there is
Build me the social scheduling and reporting tool that replaces Metricool.

Same constraint as every tool in this category: **network APIs are the whole difficulty**, they change, and some data is available only to approved partners. Build the scheduler, be honest about the analytics.

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

THE DATA MODEL
- brands: id, name — an agency works per client, so this exists from day one
- accounts: id, brand_id, network, handle, token_encrypted, expires_at, status
- posts: id, brand_id, body, media_ids_json, created_by
- targets: id, post_id, account_id, scheduled_for_utc, published_at, remote_id, status, error — one row per network
- metrics: id, target_id, name, value, collected_at — **a series, because networks revise these numbers for days**
- reports: id, brand_id, period, generated_at, path

PUBLISHING RELIABLY
- A queue with a lease; a crashed worker's job is reclaimed rather than lost
- **Idempotency per target, and check the remote before retrying.** Double-posting publicly is the failure everybody notices
- Per-network validation at composition time: length, media count, aspect ratio, mention syntax
- Token refresh in the background with an alert well before expiry. A silently dead token means a fortnight of posts that never happened
- A visible queue with failures first and one-button retry

ANALYTICS, HONESTLY
- Collect what each API actually gives, on a schedule, storing every collection rather than overwriting
- Show the collection date on every figure. **A number that was true on Tuesday and is different on Friday is not an error, it is how these platforms work** — and a tool that hides that is lying by omission
- Do not compute a proprietary score. It obscures which underlying number moved

COMPETITORS, WITH THE LIMIT STATED
- You can record what is publicly visible on a public profile, politely and on an interval, and only what the platform's terms permit
- **You cannot get their reach or their impressions.** Say so in the interface rather than presenting a guess. An agency reporting an invented competitor number to a client is the worst outcome this tool can produce

CLIENT REPORTING
- A monthly report per brand, generated from the data, with the numbers, the best posts, and a written summary field
- Annotations on the timeline: campaigns, launches, anything that explains a spike
- Scheduled generation and delivery, because a report that has to be remembered is a report that arrives late

CARE
- Alt text required on every image before scheduling
- A per-network preview, because the same text wraps differently everywhere

WHAT MATTERS MOST
Collection dates on every figure and honesty about competitor data. An agency tool's whole value is that the client can trust the numbers.

What you lose

  • Publishing access to networks that restrict their APIs
  • Competitor metrics you cannot collect yourself
  • Ad platform reporting alongside organic
  • Client reports that generate themselves monthly

If you would rather not build

  • The networks’ own analytics, which are free and authoritative
  • A queue table and a worker, which is the core

The escape hatch

open source · no votes, no paid placement

Postiz

$0

Open-source scheduling with a calendar and multiple accounts.

gitroomhq/postiz-appfree · open source

Mixpost

$0

Self-hosted social management with scheduling and analytics.

inovector/mixpostfree · open source

Why this verdict

our own opinion · changed only by a person

52/100

Verdict kinda at 52: the scheduler is a weekend and network access is a permanent job. The honesty rules about revised metrics and competitor data are what make it usable by an agency.

History

tracked since 14 Aug 2026 · nothing is ever overwritten

Interest · last 30 days

Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.

Questions about Metricool

answered from the record above

Is Metricool free?

No — the plan we track is $22 a month. Starter at €22/month billed monthly, cheaper annually, priced by connected brands.

Can you replace Metricool by building your own?

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

How much does Metricool cost?

$22 a month on Starter — $264 a year. Recorded 14 Aug 2026.

What do you lose by replacing Metricool?

Publishing access to networks that restrict their APIs; Competitor metrics you cannot collect yourself; Ad platform reporting alongside organic; Client reports that generate themselves monthly. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Metricool?

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