Monitor any account. Get a webhook when they post.
Watch a Twitter/X, Instagram, TikTok, and Reddit profile, subreddit, or search. Social Fetch polls, diffs, and delivers a signed webhook on new content — no cron or scraper to maintain.
How it works
Each monitor is a watched source, schedule, and delivery target. On each check we run the lookup, diff against the last result, and — only on genuinely new content — write an event and deliver an HMAC-signed webhook.
Launch coverage: Twitter/X, Instagram, TikTok, and Reddit. Interval or cron with timezone. Creation runs a synchronous baseline so existing content does not fire day-one events. No endpoint yet? Use a hosted test inbox.
Pricing, honestly
A check costs the same as the underlying operation — whether or not it finds anything new. No monitor fee or empty-result discount.
Monitor and webhook CRUD, manual triggers, and test sends are free (0 credits). Only scheduled or triggered polls bill. Plan limits cap monitor count, not poll interval. See Billing for monitors for the table.
The delivery guarantee
At-least-once, signed, and fully logged — modeled on the webhook systems developers already trust.
8
Delivery attempts
Exponential backoff, from immediate to +12h between attempts
~21h
Retry window
Full ladder before a delivery is marked failed
30 days
Event & delivery retention
Pull any event or redeliver any attempt within the window
4
Platforms at launch
Twitter/X, Instagram, TikTok, and Reddit
What you get
Zero-setup test inbox
Create a hosted sink endpoint and see a real, signed delivery before you've written a single line of handler code — no public URL required.
socialfetch listen
A Stripe-CLI-style command that forwards real signed events straight to localhost, byte-exact — no tunnel, no new infrastructure.
Signed like the systems you already trust
HMAC-SHA256 over the raw body, Stripe's t=…,v1=… scheme verbatim, with zero-downtime secret rotation.
Retried automatically, logged completely
8 attempts over roughly 21 hours on failure, with every attempt's headers, payload, and response captured — plus one-click manual redelivery.
Endpoints that protect themselves
An HTTP 410 disables an endpoint immediately; otherwise auto-disable kicks in after 100 consecutive failures or 3 days of failing, so a dead handler doesn't run forever unnoticed.
Cost you can see before you commit
A dryRun create call returns the exact per-check, per-day, and per-month credit math for your schedule — before anything is created or charged.
Go live in four steps
- 1
Pick a source and a schedule
GET /v1/monitors/sources lists every watchable operation, its minimum interval, and a realistic sample event for that source.
- 2
Preview the cost, then create
dryRun=true returns the credit math with nothing created. Drop it and the monitor runs a synchronous baseline so day-one content doesn't fire a false event.
- 3
Verify against the raw body
The SDK's verifySignature and constructEvent check the exact bytes received — read the raw body first, then verify, then parse.
- 4
Swap the test inbox for your real endpoint
Once your handler passes against the sink, PATCH the monitor's webhookEndpointId — nothing else about the monitor changes.
Monitors docs
- Monitoring quickstart
Create a monitor and receive your first webhook end to end.
- Receiving & verifying webhooks
Next.js, Hono, and Express handlers, plus the raw-body gotcha.
- Testing webhooks locally
Hosted test inbox, socialfetch listen, and the manual trigger endpoint.
- Delivery, retries & idempotency
The retry ladder, at-least-once semantics, and dedup guidance.
- Billing for monitors
Per-check credit math, dryRun previews, and the plan limits table.
- Monitors API reference
Every monitors and webhook-endpoints route, with schemas.
FAQ
What counts as a billed check?
Every scheduled or manually triggered poll, billed at the underlying operation's normal per-request credit price — whether or not it finds anything new. There's no discount for an empty result and no separate monitor fee.
Do monitor or webhook management calls cost credits?
No. Creating, listing, getting, updating, deleting, pausing, resuming, triggering, and testing are always free. Only the scheduled or triggered poll itself bills.
What happens if my endpoint goes down?
Failed deliveries retry automatically across 8 attempts spanning roughly 21 hours. The endpoint auto-disables after 100 consecutive failures or 3 days of continuous failure (or immediately on HTTP 410), but your monitor keeps polling and recording events the whole time — pull them via the events API or redeliver manually once you're back up.
Can I test this without deploying a webhook endpoint?
Yes. A hosted test inbox (sink endpoint) captures real, signed deliveries with no outbound URL and no deploy, and socialfetch listen forwards those same signed events to a server running on your machine.
Which platforms can I monitor today?
Twitter/X, Instagram, TikTok, and Reddit at launch. Every new watchable operation added to the public API becomes a monitorable source automatically — no separate integration required.
Is delivery exactly-once?
No — at-least-once, like every webhook system worth using. Retries and manual redeliveries carry the same event id as the original, so dedupe on that (not on the per-attempt delivery id) and your handler stays correct regardless of how many times an event actually arrives.
Watch your first account
100 free credits — create a monitor, see a real signed webhook land, and verify it end to end.