Introducing the Instagram APIRead more →

Rumble Engagement API. Send a handle or channel link.

Engagement rate from a channel's latest videos. We handle the proxies, blocks and platform changes.

Rumble Engagement API at a glance

Returns a Rumble channel's or user's engagement rate per follower and per view, computed over its latest videos, shorts or live streams. The same request returns the profile, each video with its exact counts and its own rate compared with the account's typical video, views, likes, comments and reposts per video, median views, comment-to-like ratio, posting cadence, and the top and bottom video. Accepts a channel or user name, any channel or user link, or a channel ID.

GET /v1/rumble/engagement

Read the API reference
  • 1 credit per request, $0.75–$1.97 per 1,000 requests
  • 12 typed fields null when unknown
  • handle is all it needs, e.g. Bongino
  • 100 credits free when you sign up, no card, so you can build before you spend

Send one request. Get 12 fields back.

Copy the request in your language, or hand it to your agent. Sign up for an API key and your first 100 credits are free.

$ npm install socialtap
handle = Bongino
GET /v1/rumble/engagementTry in
const params = new URLSearchParams({
  handle: "Bongino",
});
const res = await fetch(`https://socialtap.dev/v1/rumble/engagement?${params}`, {
  headers: { "x-api-key": process.env.SOCIALTAP_API_KEY ?? "" },
});
const body = await res.json();
if (!res.ok) throw new Error(`${body.error.code}: ${body.error.message}`);
const { data, meta } = body;
console.log(data, meta.credits_charged);
200 OK · GET https://socialtap.dev/v1/rumble/engagementLong arrays and strings are shortened here. Real responses are complete.Docs

One schema on 6 platforms.

The response reference lists every field, its type and when it is null. See the full schema.

  • Null means unknown

    A field Rumble doesn't show is null, never zero or an empty string, so a real zero always means zero.

  • What it accepts

    Rumble channel or user: a bare name (Bongino: a channel, else the user of that name), c/<name> for a channel or user/<name> for a user, any channel or user link with any tab after it (rumble.com/c/Bongino, rumble.com/c/Bongino/videos, rumble.com/user/vivafrei/about, the root rumble.com/Bongino link), or a channel's id as this API returns it (_c276782) or its c/c-<channel id> name.

  • Write one parser

    Rumble, TikTok, Instagram and 3 more platforms answer in these fields, so the code that reads one reads them all.

platformstring
Platform ID (tiktok, instagram, …).
idstring
Platform-native account ID (equals profile.id).
urlstring
Canonical profile URL (equals profile.url).
profileobject
The account, as its profile endpoint returns it; its metrics.follower_count divides every engagement_rate.
postsobject[]
The sampled recent posts in the profile's order, each with its own figures. [] when none; [] and in unknown_fields when unreadable (a private account, a failed posts request).
metricsobject
Figures over the counted posts (by the account, not pinned); each null when no counted post has its inputs.
oldest_post_atstring
Publish time of the oldest counted post, RFC 3339 UTC: where the sample starts.
newest_post_atstring
Publish time of the newest counted post, RFC 3339 UTC: when the account last posted.

What teams build with the Rumble Engagement API.

  • Vet creators before a sponsorship

  • Compare engagement across a shortlist

  • Track a channel's posting cadence

  • Spot a creator's outlier videos

Good to know before you build.

  • The figures cover the account's latest uploads on one tab, the first page of the Rumble Channel Videos API: its Videos tab by default, or tab=shorts or tab=live (its Livestreams tab, where many Rumble shows are; a stream on air or scheduled is in the sample with its counts so far). The profile and each video are exactly what the Rumble Channel API and the Rumble Channel Videos API return.
  • Engagement rate counts likes plus comments, per follower and per view, so it means the same on every platform. Reposts have their own average, and Rumble's dislikes are on each video (platform_specific.rumble.dislike_count), not in the rate.
  • profile.metrics.follower_count is exact, read from the account's own videos in the sample, because Rumble's profile header cuts it to three significant figures. When the sample has none of the account's videos it is the header's count, listed in approximate_fields with every per-follower rate. View, like, comment and repost counts are exact.
  • A user's Videos tab (user/<name>) also lists the uploads of the channels it owns: those are in posts with is_counted false, since their followers are the channel's, and the figures cover the user's own uploads.
  • When the profile's About tab can't be read, the profile comes from the account's home tab (no description, join date, or video and view counts, which a partial_data warning names) and the figures are the same. An account without uploads returns its profile with an empty sample.
  • Names that are no channel or user return not_found.

1 credit per request. Failed requests are free.

Buy credits once and spend them on any endpoint, on any platform.

SourcePrice per successful requestPer 1,000 requests
Public page page1 credit$0.75–$1.97
  • Cache hits are free.
  • Credits from packs and top-ups never expire.
  • A monthly plan's credits are spent first, and what is left of them ends at each renewal.
  • Prices exclude tax: sales tax is added at checkout where it applies.
  • Outside the US, plans and packs are sold to businesses: checkout asks for your VAT, GST or other business tax ID.

Questions about the Rumble Engagement API.

More in the API reference.

How is the engagement rate calculated?
Likes plus comments, divided by followers and by views. It is worked out for each of the account's latest uploads on one tab, and you get the mean, median and spread. Reposts have their own average and dislikes are left out.
How much does the Rumble Engagement API cost?
A request costs 1 credit. SocialTap credits cost $0.75–$1.97 per 1,000, depending on the plan or pack.

Try it on an account you know.

Paste its handle or link in the playground, or copy the request into your code.

100free credits
  • No credit card
  • Failed requests are free
  • Works on all 218 endpoints
Start for free Read the docs