Documentation
Social data
Per-call reads of social platforms: 913 endpoints across 21 platforms behind two actions — tikhub/fetch for reads and tikhub/submit for POST-style operations. The endpoint is a param, most calls cost 1¢, and this is the only catalog source for CN platforms (Douyin, Weibo, Xiaohongshu, Bilibili, Kuaishou, WeChat, Zhihu, and more).
Finding the endpoint
Never guess an endpoint path. vaaya/discover (free) keyword-searches all 913 endpoints and returns exactly what you need — the endpoint, the real price_cents, and required_params. See Discovery.
# 1) find the endpoint — free
curl -X POST https://vaaya.ai/api/run/vaaya/discover \
-H "Authorization: Bearer $VAAYA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "douyin trending"}'
# 2) call it — the endpoint is a param
curl -X POST https://vaaya.ai/api/run/tikhub/fetch \
-H "Authorization: Bearer $VAAYA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"endpoint": "/api/v1/instagram/v2/fetch_user_info", "username": "nike"}'This vs bulk scraping
Apify actors (see Web scraping) are bulk collectors — N results for a capped per-result price, best for “get 100 posts matching X”. TikHub is precise per-object reads — one profile, one video’s comments, one search page — at a flat ~1¢, best for lookups, drill-downs, and the CN platforms Apify doesn’t cover.
Platform coverage
- Price
- most calls 1¢ —
vaaya/discovershows the real price per endpoint - Endpoints
- 913 across 21 platforms
- Actions
tikhub/fetch(reads) ·tikhub/submit(POST ops)
Endpoint counts per platform family: Douyin 275 · TikTok 173 · Weibo 64 · Instagram 56 · Bilibili 41 · Zhihu 41 · Kuaishou 38 · YouTube 38 · Xiaohongshu 36 · LinkedIn 29 (public content only — see policy below) · Reddit 24 · Pipixia 17 · Lemon8 16 · Twitter/X 12 · WeChat Channels 12 · Threads 9 · WeChat MP 9 · Xigua 7 · Toutiao 7 · Telegram 7 · WeChat Search 2.
Param conventions
Params are validated server-side, and the required_params list from discover is authoritative. The conventions:
- Profile reads take
usernameoruser_id/sec_user_id. - Content reads take the platform’s id —
aweme_id,note_id,tweet_id, or a url. - Searches take
keyword. - Paginated reads return a
pagination_token/cursor— pass it back to page. - Missing required params are rejected before any charge.
# platform-native ids, keyword searches, and job search all follow the same shape
curl -X POST https://vaaya.ai/api/run/tikhub/fetch \
-H "Authorization: Bearer $VAAYA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"endpoint": "/api/v1/twitter/web/fetch_search_timeline", "keyword": "vaaya"}'curl -X POST https://vaaya.ai/api/run/tikhub/fetch \
-H "Authorization: Bearer $VAAYA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"endpoint": "/api/v1/douyin/web/fetch_user_post_videos", "sec_user_id": "MS4wLjABAAAA..."}'LinkedIn policy
Gotchas
- Price is flat per call and charged on success only.
- Video-download style endpoints run up to 38¢ —
vaaya/discovershows the realprice_centsper endpoint before you call. - A
503 upstream_not_configuredmeans the vendor is temporarily unavailable — nothing is charged; see Errors & billing.