Viral Outliers

com.viraloutliers/viral-outliers · v1.0.0 · marketing-and-seo

Viral Outliers is healthy: it completed an MCP handshake in 1418 ms and exposes 34 tools.

Find viral outlier posts on TikTok, Instagram and YouTube, pull creator stats, and crawl on demand.

Endpoint: https://viraloutliers.com/api/mcp (streamable-http)

No repository listed · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count34
Latency1418 ms
Last checked (UTC)2026-10-16T01:20:08.971Z

Health history

Checked (UTC)StatusLatencyError
2026-10-16T01:20:08.971ZHealthy1418
2026-10-14T22:45:41.809ZHealthy2785

Tools (34)

search_outliersSearch a continuously-crawled database of social media posts ranked by outlier score: how strongly a post overperforms the account's own baseline. Filter by platform, keyword, exact creator handle, content type, an outlier-score band (min/max), a view band (min/max), a follower band (min/max), an en
search_profilesSearch tracked social media profiles by handle or name, filtered by platform. Returns profile metadata, follower counts and average performance stats. Use it to resolve a handle to a profile id before fetching stats or posts, or to discover creators in the database. Results may include deactivated p
list_categoriesReturns the curated niche taxonomy (up to four levels, e.g. "Health > Exercise > Gym") with, for each category, its id, path, level, parent and how many active profiles are categorized under it including its sub-niches. Only categories with at least minProfiles profiles in their subtree are returned
find_related_social_media_profilesDiscover new creators on TikTok, Instagram or YouTube from one seed: a creator handle (walks who they follow on TikTok, who they collaborate with, tag or mention on Instagram), a hashtag, or a search phrase. Every account surfaced is screened live with one provider call (recent posts: how many reach
get_postFetch a single post by id: views, likes, comments, engagement rate, outlier scores for seven time windows, thumbnail and the owning profile. When a transcript or visual analysis already exists it is included at no extra cost. The visual analysis is a structured scene-by-scene breakdown (per-scene ti
get_profileFetch one tracked profile by id: follower count, bio, average views/likes/engagement across time windows, and recent tracked posts. The averages are the baseline outlier scores are computed against. Use search_profiles first to resolve a handle to an id. Cost: 1 credit per call.
request_transcriptQueues AI transcription of the spoken audio for a video post. Accepts a public post URL or an internal post id. Asynchronous: returns a job reference to poll with get_job_status; once complete the transcript is attached to get_post responses. Credits are charged on queueing and automatically refunde
request_visual_analysisQueues a structured visual analysis for a post: for a video, a scene-by-scene breakdown (per-scene timing, scene type, on-screen text, visual elements and a recreation note) plus an overall-style summary (color palette, text style, editing pace); for an image slideshow, per-slide text and visual des
crawl_profileSubmits a public profile for crawling: profile metadata plus its recent posts, stats and thumbnails, after which it stays tracked and appears in searches. Asynchronous. Returns a job reference for get_job_status. If the profile is already tracked, this returns immediately without charging a full cra
get_job_statusReturns the status of an asynchronous job started by crawl_profile or request_transcript: pending, processing, completed or failed. Free to call: polling must never cost credits. Poll every 10–30 seconds; jobs typically complete within a few minutes. Cost: free.
get_credit_balanceReturns the current API credit balance for the authenticated account, plus the automatic top-up state of the account (autoTopup: configured, enabled, pack, monthly charge cap and count, last error) so an agent can tell whether a zero balance is a hard stop or refills itself on the next billable call
compare_profilesCompares 2–5 tracked profiles (by profile id or platform+handle) and returns each one's stats (follower count, average views/likes across time windows, engagement rate) plus a computed ranking flagging the top performer by followers and by engagement. Pure lookup, fast. Unresolved profiles come back
niche_trendsReturns the top overperforming posts in a niche over a recent window (default one week), plus a breakdown of which content types are driving the trend and which creators are represented. Filter by keyword and platform. Great as the first call in a content-research loop: see what's hot, then deep-div
resolve_post_urlTakes a public post URL (TikTok video/photo, Instagram post/reel, YouTube video/short) and resolves it to the tracked post: the entry point when your input is a link. found:true returns the postId for get_post, request_transcript, download_post_media and remix_post. found:false tells you whether the
download_post_mediaReturns direct media URLs for a tracked post, the video file, or slideshow images with positions. Accepts a public post URL or an internal post id. When media is not stored yet it queues an on-demand fetch and returns a jobRef to poll (typically ready within ~90 seconds); call again once complete. P
remix_postTakes a post (pass a public post URL or an internal post id) plus a target niche/brand description, and produces an adapted content idea: rewritten title and description, segment-by-segment script, a short analysis of why the original went viral, and an execution checklist, the proven format transpl
get_remix_resultReturns the finished remix for a remix_post job: adapted title, description, script segments, why-it-went-viral analysis (whyItWorks) and checklist. Free to call. Poll get_job_status until the job reports completed, then fetch here. The result is also viewable in the web app under Content Ideas. Cos
create_topup_linkCreates a Stripe Checkout link for a credit pack, so when the balance runs out mid-task you can hand the account owner a one-click payment link instead of instructions. Credits land within seconds of payment. Free to call (5 links/hour); links are valid for 24 hours. Packs: see the pricing table in
report_issueReport a problem with any skill: an error you keep hitting, data that looks wrong or stale, or something you needed that the API could not do. Free: never spend credits on telling us something is broken. Include what you called, what you expected and what happened. Set wantsUpdate to true to get an
track_profileStarts monitoring a profile so it is automatically re-crawled at a cadence you choose (daily, every_3_days or weekly), keeping its posts and stats fresh without you polling crawl_profile. Identify the profile by profileId, platform+handle, or a public profile/post URL. Managing monitoring is free; e
untrack_profileStops monitoring a profile: no further scheduled refresh crawls are charged for it. Free to call. Pass the internal profileId (from list_tracked_profiles or search results). The profile and its already-crawled posts stay in the database and searchable; only the recurring refresh stops. Returns not_f
list_tracked_profilesReturns every profile you are currently monitoring, with its handle, platform, follower count, refresh cadence, next scheduled crawl time, when it was last checked for updates, and any paused reason (e.g. paused for insufficient credits). Free to call. Use it to audit what is being refreshed and wha
create_viral_alertCreates a viral alert: we watch a TikTok, Instagram or YouTube profile and email the address you give when it publishes a post whose outlier score (views divided by the profile's own average) reaches minOutlierScore (default 3, minimum 1.5) within postAgeDays of posting (default 7, max 30). Identify
list_viral_alertsReturns your viral alerts (active first, then recently ended, up to 100) with the watched profile, destination email and whether it is confirmed, threshold and score window, post age window, preferred send hour and timezone, emails sent out of the cap, paused or ended reason, expiry and the last ema
delete_viral_alertEnds a viral alert by alertId (from list_viral_alerts or create_viral_alert). Free. If this alert is what started the profile's tracking and no other active alert of yours needs it, the paid refresh crawls stop as well; tracking you started yourself with track_profile is left untouched. Returns not_
create_watchlistCreates an empty watchlist (a named set of creators) and returns its watchlistId. Fill it with add_watchlist_profiles, then pass the id to search_outliers as watchlistId to scope any search to exactly those accounts. Watchlists created here appear in the owner's web app too. Free to call. Watchlists
list_watchlistsReturns every watchlist on the account (both agent-created and web-app-created) with its watchlistId, name, notes, profile count and last-updated time. Free to call. Use it to recall an id for search_outliers, add_watchlist_profiles or get_watchlist. Cost: free.
get_watchlistReturns a single watchlist by watchlistId with every member profile: profileId, handle, platform and follower count. Free to call. Use it to review or explain a list before searching it, or to pick profileIds for remove_watchlist_profiles. Cost: free.
add_watchlist_profilesAdds creators to one of your watchlists. Pass profileIds (from search_profiles or any search result) and/or handles as {platform, handle} pairs; up to 25 per call. Creators must already be tracked (crawl_profile first if not; unresolved ones come back in notFound). Already-present creators are repor
remove_watchlist_profilesRemoves the given profileIds from a watchlist and returns how many were removed plus the new profile count. Free to call. Use get_watchlist to find the profileIds. Cost: free.
delete_watchlistDeletes one of your watchlists including its memberships, and frees the watchlist slot and followed-profile slots it used. Free to call. Works for lists created through the API or in the web app; only the owner can delete a list. Cost: free.
get_tracked_updatesReturns the posts newly discovered (first stored by our crawler) since your last check, across all the profiles you are monitoring. Free to call. Each call advances a per-profile cursor, so a subsequent call only returns posts crawled after it (a feed, not a re-scan). New posts arrive when a profile
get_trending_outliersReturns the current top trending outlier posts across TikTok, Instagram and YouTube, deduplicated to one per creator. Free and unauthenticated (rate-limited per IP; cached ~2 hours). A taste of the database. For filtered search, transcripts and on-demand crawling, create an API key. Cost: free.
get_pricingReturns the current price list as structured JSON: the USD value of one credit, every skill with its credit cost and REST route, the one-time credit packs, and every subscription plan with its monthly and yearly price, included API credits per month, and watchlist limits. Free and unauthenticated, s