All posts

Social Media Monitoring APIs: Official, Tools and Data APIs

November 8, 2026

A social media monitoring API answers one question on a schedule: what was said about this topic since I last checked? You send queries, get new posts back, store them, and alert on the ones that matter. There are three ways to get that data, and each has a different catch.

Three kinds of monitoring API

  1. Official platform APIs. First-party data, but one platform per integration, each with its own approval process, quota and schema.
  2. Social listening tools with an API. A finished product with dashboards and sentiment. The API is usually an add-on, and you pay a monthly fee per keyword set.
  3. Data APIs. Raw search and profile endpoints across many platforms. You build the monitoring logic, but you control queries, schedule and cost.

Official APIs: what you actually get

PlatformAccessMonitoring limit that matters
XPay-per-use credits, no subscription$0.005 per post read, capped at 3 million post reads per billing cycle
YouTube Data APIFree with a Google Cloud project10,000 units a day; search.list has its own cap of 100 calls a day
Instagram Graph APIBusiness or Creator account, Meta app30 unique hashtags per account in a rolling 7 days
BlueskyOpen protocolJetstream live tail needs no authentication and serves the whole network
TikTok Research APIApplicationAcademic and not-for-profit researchers only, no commercial use

The YouTube cap is the one that surprises people. A monitor that checks 20 keywords every hour needs 480 searches a day, almost five times the default search.list limit. Instagram's 30-hashtag window rules out broad hashtag tracking for most brands. Bluesky is the easy one: connect to a public Jetstream endpoint, filter on app.bsky.feed.post, and match keywords yourself.

Listening tools with an API

If you want sentiment and dashboards without building them, a listening tool is the shorter path. Two that publish prices:

  • Awario lists API access on its Starter plan, which is $49 a month billed monthly or $29 a month billed annually, for 3 topics and 30,000 new mentions a month. Its pricing page lists Twitter, Instagram, Reddit and YouTube monitoring; TikTok was not listed.
  • Brand24 starts at $249 a month ($199 billed annually) for 3 keywords and 2,000 mentions, updated every 12 hours. Its source list includes TikTok, Instagram, X, Reddit and YouTube. API access is an extra $149.

These are good when a marketing team will live in the dashboard. They are a poor fit when you need the raw posts in your own database, or when your keyword list changes every week.

Design a monitor that does not waste calls

  1. Write narrow queries. Brand name plus a product word beats the brand name alone. Add common misspellings as separate queries.
  2. Sort by latest. Monitoring wants recency, not relevance. Most search endpoints have a sort option.
  3. Stop paging at the last seen id. Keep the newest post id per query. When a page contains it, stop.
  4. Deduplicate by platform plus id. The same post often matches two queries.
  5. Match the interval to the platform. X and TikTok move fast; LinkedIn and YouTube can be checked a few times a day.
  6. Alert on thresholds, not on every hit. For example, any post with more than 10,000 plays, or more than 20 mentions in an hour.

The cost formula

Calls per month = queries × platforms × runs per day × pages per run × 30.

Example: 10 queries on 4 platforms, every 6 hours, one page per run: 10 × 4 × 4 × 1 × 30 = 4,800 calls a month. At $1.88 per 1,000 calls that is about $9. Hourly checks on the same set would be 28,800 calls, or about $54. The interval is the biggest lever you have, so set it per platform.

A minimal polling loop

const seen = new Set(); // load from your database
async function poll(query) {
  const url = "https://scrapeio.com/v1/twitter/search?type=latest&query=" + encodeURIComponent(query);
  const res = await fetch(url, { headers: { "x-api-key": process.env.SCRAPEIO_API_KEY } });
  if (!res.ok) return [];
  const { data } = await res.json();
  const fresh = data.items.filter((p) => !seen.has("x:" + p.id));
  fresh.forEach((p) => seen.add("x:" + p.id));
  return fresh; // store, then alert on likes, plays or volume
}

Doing it with ScrapeIO

ScrapeIO gives you one key for the search endpoints a monitor needs: the X search API, TikTok keyword search, Reddit search, Instagram post search, Threads search and LinkedIn post search. Results share one schema, a cached repeat costs nothing, and credits never expire, so a quiet month costs only what you ran.

Sources

Checked on 8 November 2026 from each vendor's own pages. Prices and limits change; follow the links before you decide.

100 free credits, no card. Credits never expire.

Get API key