Top 5 Social Media Data APIs for AI Agents (2026)
A practical guide to social media data APIs that AI agents can use in 2026, covering Chinese and Western platforms, pricing, and agent-readiness.

TL;DR — Five approaches to social media data for AI agents in 2026. Structured data APIs are the simplest fit when your agent needs JSON inside one turn: the SandBase catalog lists dozens to hundreds of public-data endpoints per platform (Douyin, TikTok, Weibo, Xiaohongshu, Instagram and more), called synchronously, with 100 free data API calls per organization per UTC day across eligible APIs and per-call billing at the catalog price beyond that. Apify fits when you need a site or extraction no structured endpoint covers. The real question is not “which API” but “what does your agent’s decision loop actually need” — and the answer shapes everything from architecture to budget.
Your agent needs social media data. Not a dashboard, not a CSV export, not a weekly report — it needs JSON at the moment it is making a decision.
This sounds simple until you actually build it. Then you discover: most platforms have no general unauthenticated API for arbitrary public data. Their official developer platforms are built for authorized, account-linked workflows, with OAuth flows that assume a human is present. And the third-party options range from “one HTTP request, JSON back” to “run a browser job, wait for it to finish, parse whatever comes back.”
The difference between these approaches is not a detail. It determines how many decisions your agent can make per hour.
Four scenarios that expose the real differences
Before comparing approaches, let’s define what “agent-ready” actually means through concrete scenarios.
Scenario 1: Competitor monitoring (daily loop)
An agent tracks 10 competitor Douyin accounts. Every morning it checks: new videos posted, engagement changes, content themes shifting.
What it needs per cycle:
- 10× user profile (follower count, bio changes)
- 10× latest videos (first page of each account’s posts with like/comment/share counts)
- 10× video detail (for any video that crossed a threshold)
Total: ~30 API calls per day.
The critical requirement: all 30 calls should complete in one agent turn. If each call becomes a job you submit and poll, the agent’s decision window grows with every job’s queue and run time. That’s the difference between a morning briefing and a morning wasted.
Scenario 2: KOL screening (batch + judgment)
A brand agent evaluates 200 Xiaohongshu influencers for a campaign. For each KOL, it needs: follower count, engagement on recent posts, content themes, audience quality signals.
What it needs:
- 200× user profile
- 200× recent notes (10 each = 2,000 note fetches)
- Optionally: 200× fan growth history (if available)
Total: ~2,400 calls for the entire screening.
The critical requirement: structured response schemas. The agent feeds each KOL’s data into a scoring function. If some responses have different field names or missing keys, the scoring function fails on those records and the batch needs error-handling that costs more engineering time than the data.
Scenario 3: Real-time trend detection (continuous)
An agent monitors Weibo hot search every 15 minutes, detects brand mentions or industry-relevant trends, and fires a Slack alert.
What it needs per cycle:
- 1× hot search list
- 3-5× topic detail (for flagged items)
- Optionally: sentiment sampling from top comments
Total: ~5 calls every 15 minutes = 480/day.
The critical requirement: low and predictable latency. If call time swings widely from one cycle to the next, the agent cannot hold a reliable 15-minute cadence. It either misses windows or backs up.
Scenario 4: Cross-platform content analysis (research)
A strategy agent collects the top 50 posts from Douyin, Weibo, and Xiaohongshu for a specific topic, analyzes content patterns across platforms.
What it needs:
- 3× search endpoint (one per platform, 50 results each)
- 150× post/video detail
- 150× engagement metrics
Total: ~303 calls across 3 platforms. The challenge: three different APIs with three different auth flows, three different response schemas, and three different error codes.
This is where contract normalization matters most. If calling Douyin search and Xiaohongshu search requires different code paths, the agent’s implementation complexity triples.
The five approaches, evaluated against these scenarios
This table is a qualitative design comparison, not a benchmark. Latency and reliability for Apify, Bright Data and RapidAPI depend on the specific Actor, product or provider you pick; for Bright Data, the answer also differs between its datasets and its Scraper APIs.
| Approach | Scenario 1 (monitor) | Scenario 2 (batch) | Scenario 3 (real-time) | Scenario 4 (cross-platform) |
|---|---|---|---|---|
| Structured data APIs | ✅ one request per call, JSON back | ✅ consistent per-endpoint schema | ✅ fits a 15-min loop | ✅ if all 3 platforms covered |
| Apify | ⚠️ depends on Actor run time | ⚠️ output schema set by each Actor | ⚠️ depends on Actor run time | ⚠️ one Actor per site, each with its own schema |
| Bright Data (datasets / Scraper APIs) | ⚠️ datasets refresh on a schedule you choose, not per post; Scraper APIs collect on request | ✅ bulk datasets work here | ⚠️ Scraper APIs: depends on the scraper’s run time; datasets: as fresh as the last refresh | ⚠️ schema set per dataset or scraper |
| RapidAPI | ⚠️ varies by provider | ⚠️ schema differs by provider | ⚠️ varies by provider | ❌ no cross-provider consistency |
| Official APIs | ❌ authorized, account-linked access | ❌ scoped to approved use cases | ⚠️ if approved, works | ❌ different auth per platform |
1. Structured data APIs — the sync-first approach
These services expose structured endpoints per platform that return JSON in the same HTTP response. As of 2026-10-01, the SandBase public catalog shows:
| Platform | Endpoints in catalog (2026-10-01) | Price on SandBase |
|---|---|---|
| Douyin | 262 | Billed per call (see catalog) |
| TikTok | 145 | Billed per call (see catalog) |
| 81 | Billed per call (see catalog) | |
| 52 | Billed per call (see catalog) | |
| Xiaohongshu | 34 | Billed per call (see catalog) |
The catalog also lists YouTube and Twitter/X endpoints, among others.
Each count comes from that vendor’s catalog page; the Instagram one is shown here.

Caption: The Instagram vendor catalog shows “81 SHOWN”, matching the table, with user-id-by-username marked Available · Free; captured 2026-10-02. The Free label is from API Free Week, which has since ended; data API calls now include 100 free calls per organization per day on eligible APIs, then are billed per call.
Scope: the endpoints this article calls (douyin/app-v3/one-video, instagram/v3/user-id-by-username, instagram/v1/user-info-by-id, weibo/web-v2/hot-search) are public, read-only data endpoints. You need a SandBase API key, and this is not an official partnership with any of these platforms. These endpoints do not return private-account data, DMs or owner-only analytics, and they do not publish or take account actions. The catalog counts above include every listed endpoint, not only public-data ones.
Authentication-dependent capabilities. Some catalog endpoints fall outside that scope. For example, tiktok/creator/account-insights-overview takes a user cookie for authentication and returns metrics for a TikTok Shop creator account (revenue, exposure, clicks, orders). This article doesn’t use it. Separately, xiaohongshu/pgy/blogger-fans-profile returns PGY marketplace audience-distribution data for a creator (gender, age, region, interests, devices); its reference lists a creator user_id as the only input.
Every data call uses the same route: POST https://api.sandbase.ai/v1/api/<vendor>/<path> with your API key as a Bearer token and a JSON body containing only that endpoint’s parameters. The completed response is an envelope { id, status, model, outputs: [{ data }] }, and the platform payload sits in outputs[0].data. Endpoint references for the calls below: douyin/app-v3/one-video, instagram/v3/user-id-by-username, instagram/v1/user-info-by-id.
The one-video reference page shows the route and the single required field the first call below sends.

Caption: The douyin/app-v3/one-video reference shows POST /v1/api/douyin/app-v3/one-video with one required aweme_id string and the outputs[0].data envelope; captured 2026-10-02.
import os
import requests
def run(model: str, params: dict) -> dict:
"""Call a SandBase data API and return outputs[0].data."""
resp = requests.post(
f"https://api.sandbase.ai/v1/api/{model}",
headers={"Authorization": f"Bearer {os.environ['SANDBASE_API_KEY']}"},
json=params,
timeout=120,
)
body = resp.json()
outputs = body.get("outputs") or []
if body.get("status") != "completed" or not outputs:
raise RuntimeError(f"SandBase call did not complete: {body.get('status')} {body.get('error')}")
return outputs[0].get("data") or {}
video = run("douyin/app-v3/one-video", {"aweme_id": "7688258340685679882"})["aweme_detail"]
print(video["desc"], video["statistics"])
ig_id = run("instagram/v3/user-id-by-username", {"username": "natgeo"})["user_id"]
profile = run("instagram/v1/user-info-by-id", {"user_id": ig_id})
print(profile["full_name"], profile["edge_followed_by"]["count"])Tested on 2026-10-01 (UTC). Public resources: a video from Luckin Coffee’s official Douyin account and National Geographic’s official Instagram account (natgeo). Requests exactly as in the code above. Trimmed real responses (outputs[0].data):
douyin/app-v3/one-video with {"aweme_id": "7688258340685679882"}:
{
"aweme_detail": {
"aweme_id": "7688258340685679882",
"desc": "在瑞幸,LOVE的意思是……#love转场#国庆节#节假日#瑞幸最美门店#瑞幸咖啡",
"create_time": 1790823600,
"statistics": {
"digg_count": 184,
"comment_count": 23,
"share_count": 19,
"collect_count": 18,
"play_count": 0
},
"author": { "nickname": "瑞幸咖啡", "unique_id": "luckincoffee01" }
}
}instagram/v3/user-id-by-username with {"username": "natgeo"}, then instagram/v1/user-info-by-id with the returned {"user_id": "787132"}:
{ "user_id": "787132" }{
"id": "787132",
"username": "natgeo",
"full_name": "National Geographic",
"is_verified": true,
"is_private": false,
"edge_followed_by": { "count": 268469840 },
"edge_follow": { "count": 194 }
}Run ids: b4d4888f-7814-4a31-bbfa-f614a25193d7, 1883959b-97d8-4a69-a56c-b905cff99650, 2b730378-b3d8-41c6-b538-2896b14d5774. The payload field names are observed-only from these calls, not documented guarantees, so read them defensively with .get() in production. Note that play_count came back 0 for this video, so don’t treat it as a view count without checking.
A stable per-endpoint shape is what makes batching (Scenario 2) reliable and real-time monitoring (Scenario 3) feasible.
Call volume in practice (each organization gets 100 free data API calls per UTC day on eligible APIs, so the 30-call monitor fits within them if the endpoints are eligible; for the larger scenarios, multiply the calls beyond 100 a day by each endpoint’s catalog price to get the data budget):
| Scenario | Calls/day | Calls/month |
|---|---|---|
| 10-account competitor monitor | 30 | ~900 |
| Weekly 200-KOL screen | 343/day avg | ~10,290 |
| 15-min trend detection | 480 | ~14,400 |
| Cross-platform research (weekly) | 43/day avg | ~1,300 |
Each endpoint’s model page shows its current per-call price, for example the Instagram ID lookup used above. The screenshot below is from 2026-10-02, when it still showed a promotional Free price.

Caption: The instagram/v3/user-id-by-username model page shows Base price “Free”, Execution “sync” and one input field; captured 2026-10-02. The Free label is from API Free Week, which has since ended; data API calls now include 100 free calls per organization per day on eligible APIs, then are billed per call.
Limitation that matters: coverage is per platform and per endpoint. Check the catalog for the exact data your agent needs before you design around it; if a site or field isn’t there, you’re looking at a scraping tool such as Apify.
2. Apify — when you need a site or extraction no endpoint covers
Apify’s model is different. Per Apify’s docs, Actors are serverless cloud programs that take JSON input and perform a task such as web scraping or browser automation. Many public Actors are listed in Apify Store, built and priced by their authors.
You can start an Actor run through the API and fetch its results when it finishes, or use the run-synchronously endpoint, which waits for the run and returns its dataset items. Either way, response time is the Actor’s run time, which depends on what the Actor does (for example, loading pages in a browser). The output schema is defined by each Actor, so two Actors for different sites usually return different shapes.
Where Apify genuinely fits:
- Sites or fields not in a structured catalog — you pick or write an Actor for exactly what you need
- Custom crawls — you control navigation, extraction and scheduling
- One-off or scheduled bulk jobs where waiting for a run is acceptable
Pricing depends on the Actor and your Apify plan; check the Actor’s page and Apify’s pricing before estimating. For agent loops, plan for run-time variance: a timeout, a retry path, and possibly a queue.
3. Bright Data — datasets for bulk, Scraper APIs for on-request collection
Bright Data’s product lines include proxy networks, Scraper APIs, and datasets. The datasets and the Scraper APIs behave differently, so pick by product.
The datasets are marketplace or custom collections of records. Per the datasets page (viewed 2026-10-01, UTC), you can choose instantly available pre-collected data or freshly collected data, subscribe to refreshes on a schedule, buy only new or updated records, and filter and retrieve data through an API, webhook or cloud storage. The page lists per-record pricing with a minimum order; check it for current terms. You still work with a dataset you filter and download, not a lookup of one specific post.
For collection on request, Bright Data sells a separate product, Scraper APIs: you call a prebuilt scraper with target URLs and receive parsed results via API, webhook or cloud storage. Output fields and response time depend on the scraper you pick.
Best fit: datasets for Scenarios 2 and 4 (bulk and research). “Give me a large set of TikTok videos about cooking from last month” is a dataset query. For “give me this creator’s latest video right now”, look at the Scraper API for that site instead, and check its delivery model and run time against your loop.
The proxy approach is different — you run your own scraping code through their network. This gives maximum control but puts all parsing, anti-blocking and maintenance on you.
4. RapidAPI aggregators — quick prototype, harder production
RapidAPI is a marketplace where independent providers list APIs, including many social media data APIs. Each provider sets its own schema, pricing, limits and reliability. That’s useful for a quick prototype. For a production agent running Scenario 3 every 15 minutes, the questions to answer per provider are: does the schema match its docs, how does it fail, and who fixes it when the platform changes. Mixing providers across platforms (Scenario 4) also means mixing schemas and auth.
5. Official platform APIs — the compliance choice
| Platform | What it’s built for | Auth requirement |
|---|---|---|
| Douyin Open Platform | Apps acting for authorized users and businesses | OAuth 2.0 + app review |
| TikTok for Developers | Login, display and content APIs; a separate Research API for approved researchers | OAuth + review |
| Weibo Open Platform | Apps acting for authorized users | OAuth 2.0 |
| Meta’s Instagram Platform | Business/creator accounts and apps acting for them | Meta app + account authorization |
| Xiaohongshu (commercial) | Partner and commerce integrations | Business agreement |
Review times and rate limits vary by product and app; check each developer platform for current terms.
The fundamental mismatch: these APIs assume someone authorized access to their own account or data. An agent monitoring a competitor’s public posts does not have that competitor’s OAuth token. Official APIs serve a different use case: dashboards, content management and commerce for accounts you operate.
Architecture implications
The choice of data approach directly shapes your agent architecture:
Sync approach (structured APIs):
Agent turn starts → call data API → get JSON → reason → decide → actJob-based approach (Actors / scrapers):
Agent turn starts → start scraping job → wait for run / poll → get data → reason → decide → actThe job-based path forces either: (a) longer agent turns, bounded by the slowest job (bad for user-facing agents), or (b) a two-phase architecture where data collection is decoupled from reasoning (adds complexity).
For agents that make frequent decisions on fresh data (Scenarios 1, 3), sync APIs remove that extra layer of infrastructure.
Making raw APIs orchestrable
Getting data is step one. Making it useful inside an agent workflow is step two. Individual API calls become more powerful when they are:
- Normalized into a single contract — the agent calls Douyin user profiles and Weibo hot search the same way
- Composable — search results feed directly into a scoring function without manual parsing
- Exposed via MCP — agents using Model Context Protocol can discover and invoke data APIs as tools without custom integration code
- Observable — you can trace which calls the agent made and what it decided
- Reusable — a “screen 200 KOLs” workflow is packaged once, used by any agent
The MCP angle
Many agent frameworks now support Model Context Protocol (MCP) for tool discovery. Social data APIs that expose themselves as MCP tools become usable by MCP-compatible agents such as Claude Desktop, Cursor and OpenHands without writing integration code.
The pattern: instead of hardcoding API calls, you declare the data endpoint as an MCP tool with its schema. The agent discovers it at runtime, calls it with the right parameters, and processes the result. This works well for social data because the same “fetch user profile” tool works regardless of which agent framework orchestrates it. This is a general architecture pattern; this article doesn’t cover connecting SandBase endpoints to a specific external MCP client.
This is what agent platforms provide. They sit above individual APIs and add the orchestration layer: session management, multi-step composition, cost tracking, MCP tool exposure, and skill packaging.
On SandBase, for example, the catalog shows 262 Douyin, 145 TikTok, 81 Instagram, 52 Weibo and 34 Xiaohongshu endpoints as of 2026-10-01, and every one is called through the same POST /v1/api/<vendor>/<path> route with the same envelope, whether the upstream call is a GET or a POST. Normalizing Hundreds of Social APIs into One Agent Contract explains how that contract is built. But the value is not the endpoint count; it’s that your agent can compose a “cross-platform competitor analysis” as a single reusable skill rather than gluing together three different API clients.
Have an API that would work well for AI agents? Reach out — we integrate quality capabilities into the ecosystem.
FAQ
How much does a complete competitor monitoring setup cost?
For 10 Douyin accounts monitored daily with structured APIs: ~30 data calls/day, which fits within the 100 free data API calls each organization gets per day if the endpoints are eligible (calls beyond that are billed per call at the SandBase catalog price), plus LLM analysis. LLM cost is an estimate that depends on your prompt: one daily summary with ~3,000 input and ~500 output tokens on openai/gpt-4.1-mini ($0.40/M input, $1.60/M output on SandBase as of 2026-10-01) is 3,000 × $0.40/M + 500 × $1.60/M = $0.0012 + $0.0008 = $0.002 per day, about $0.06 per 30 days. Adding Weibo and Xiaohongshu monitoring for the same brands brings data calls to roughly 60/day.
My agent needs Instagram data. What’s the most reliable option?
Start with structured public-data endpoints. As of 2026-10-01 the SandBase catalog shows 81 Instagram endpoints, called synchronously like every other platform: for example, instagram/v3/user-id-by-username resolves natgeo to 787132, and instagram/v1/user-info-by-id returns that account’s public profile (see the tested responses above, and the Instagram User ID API tutorial for the full lookup flow). These cover public profiles and content only. For owner-side insights or publishing, use Meta’s official Instagram Platform with an authorized account. If you need a field neither covers, a scraping Actor on Apify is the fallback.
Can I use official Douyin APIs for competitive intelligence?
Not practically. Douyin’s official OAuth flow requires the account owner to authorize your app. Your competitor will not authorize your competitive intelligence tool. Official APIs are designed for apps where the user is the account owner — analytics dashboards, content management, commerce integrations.
What’s the latency difference between sync APIs and scraping for trend detection?
It depends on the tool, so measure your own path. As one data point, in 9 calls on 2026-10-01 (3 each to douyin/app-v3/one-video, instagram/v1/user-info-by-id and weibo/web-v2/hot-search), wall-clock time from our client ranged from 1.7 to 5.9 seconds per call. That’s a small sample, not a guarantee. For a scraping job, the equivalent number is the job’s run time plus any polling. For a 15-minute loop with 5 calls per cycle, what matters is that the worst case fits comfortably inside the window.
How do I handle cross-platform analysis without maintaining three different integrations?
Use a platform layer that normalizes the contract. When calling Douyin search and Xiaohongshu search uses the same request format and auth, your agent’s cross-platform logic is one code path, not three. On SandBase that’s the single POST /v1/api/<vendor>/<path> route and outputs[0].data envelope shown above.
For more on search APIs in agent workflows, see our AI search API comparison and top search APIs roundup.
Related Reading
- Best Douyin Data API Services in 2026
- Social Data API vs Web Scraping for Agents (2026)
- Build a Social Listening Agent: Weibo + Douyin
- China Social Commerce Data: The Agent Opportunity
- Build a Social Monitor Agent (OpenAI SDK)
- Weibo & Xiaohongshu Data APIs Now on SandBase
Key takeaways
- The choice between data approaches is primarily an architecture decision, not a vendor comparison — sync vs job-based shapes your entire agent design
- Structured data APIs (one request, JSON back; 100 free calls per organization per day on eligible APIs, then billed per call at the SandBase catalog price) are the simplest fit for agents that make frequent decisions on public social data, including Chinese platforms and Instagram
- Apify fits sites or fields no structured endpoint covers — plan for Actor run time, timeouts and retries
- Real production cost for a daily social monitoring agent is mostly LLM spend and call volume — data is cheap, the architecture to use it well is the real investment
- The multiplier comes from the platform layer: contract normalization, skill composition, and observability turn raw API calls into reusable agent capabilities