Server definition
- Hash
- sha256:33d2581196d25fad66419b9cf3dc12dddb212f292309ac9ba73d324143b3cf03
- What it is
- What a remote MCP server returned when asked what it offers: 178 tools
The blob, as servednamed by its sha256
{
"instructions": "Captapi exposes structured data from 32 platforms — YouTube, TikTok, Instagram, Facebook, X/Twitter, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Twitch, Spotify, GitHub, TikTok Shop, ad libraries, link-in-bio pages and more (178 tools: transcripts, AI summaries, comments, stats, search). Authenticate by sending your Captapi API key in the 'Authorization: Bearer capt_live_...' header. Create a key at https://captapi.com/dashboard/api-keys. Each tool maps 1:1 to a REST endpoint and costs credits (cached results are free, failed calls are never charged).",
"tools": [
{
"description": "Plan, subscription vs top-up credits, monthly quota, and renewsAt — 0 credits. Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "account_balance",
"outputSchema": null
},
{
"description": "Day-by-day credit usage for spend monitoring (0 credits). Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"days": {
"description": "Number of days to include (default 30, max 365).",
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "account_daily_usage",
"outputSchema": null
},
{
"description": "Ranked list of which Captapi routes your key calls most (0 credits). Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"days": {
"description": "Number of days to include (default 30, max 365).",
"minimum": 1,
"type": "integer"
},
"limit": {
"description": "Max rows to return (default 20, max 100). Free — does not consume credits.",
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "account_most_used_routes",
"outputSchema": null
},
{
"description": "Recent API requests for your key — requestId, status, credits, cacheHit (0 credits). Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cursor": {
"description": "Pagination cursor from nextCursor (createdAt of the last row). Leave empty for the first page.",
"type": "string"
},
"endpoint": {
"description": "Exact Captapi path filter, e.g. /v1/instagram/basic-profile.",
"type": "string"
},
"limit": {
"description": "Max rows to return (default 50, max 500). Free — does not consume credits.",
"minimum": 1,
"type": "integer"
},
"since": {
"description": "Inclusive lower bound on createdAt (ISO date or datetime).",
"type": "string"
},
"statusCode": {
"description": "Filter by HTTP status code (e.g. 500).",
"minimum": 1,
"type": "integer"
},
"until": {
"description": "Exclusive upper bound on createdAt (ISO date or datetime).",
"type": "string"
}
},
"type": "object"
},
"name": "account_request_history",
"outputSchema": null
},
{
"description": "Third-party seller storefronts (/sp?seller= / /s?me=) — ASIN + canonical /dp URLs, price, badges. Not influencer /shop/{handle}. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor from nextCursor (page or page:offset). Leave empty for the first page.",
"type": "string"
},
"limit": {
"description": "Max products to include (default 20, max 200; 0 = seller metadata only). Billed per storefront page — 1 credit per ~16 products.",
"minimum": 1,
"type": "integer"
},
"marketplace": {
"description": "Amazon marketplace code. Default US.",
"type": "string"
},
"url": {
"description": "Amazon seller storefront URL (/sp?seller=… or /s?me=…) or raw seller ID. Not influencer /shop/<handle> pages. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "amazon_shop_page",
"outputSchema": null
},
{
"description": "Compare unified metrics across up to 10 URLs — each row is the analytics/post object (1 credit/resolved URL). Costs 1 credit/url. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"urls": {
"description": "Comma-separated post/video/reel URLs (up to 10), any mix of the same 11 platforms as Post Analytics. Example: a TikTok URL and a YouTube URL in one call.",
"type": "string"
}
},
"required": [
"urls"
],
"type": "object"
},
"name": "analytics_compare",
"outputSchema": null
},
{
"description": "Unified metrics for one post, video, or reel — platform auto-detected (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Public post/video/reel URL from one of 11 platforms: YouTube, TikTok, Instagram, Facebook, X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, or Rumble. Platform is auto-detected — cross-platform URLs are expected here (unlike single-platform endpoints). Not in scope: Kwai, Twitch, Spotify, Snapchat, and other Captapi platforms.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "analytics_post",
"outputSchema": null
},
{
"description": "Post thread via getPostThread — nested replies[], facet links/mentions/hashtags, rich author (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"depth": {
"description": "Reply nesting levels under the post (0 = post only with no replies[], default 1, max 6). Maps to Bluesky getPostThread depth.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Bluesky post URL, e.g. https://bsky.app/profile/handle/post/RKEY. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "bluesky_post_details",
"outputSchema": null
},
{
"description": "Bluesky profile — handle, did, bio, counts, banner, verification{}, labels[], and associated{} (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"url": {
"description": "Bluesky profile URL, @handle, or handle, e.g. bsky.app/profile/handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "bluesky_profile",
"outputSchema": null
},
{
"description": "Author feed — posts and reposts (isRepost marked), quote/external/images embeds, opaque cursor. Costs ~3 credits (0.1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not invent a cursor from publishedAt — the feed is ordered by feed time (reposts sort by repost time).",
"type": "string"
},
"filter": {
"description": "Bluesky getAuthorFeed filter: posts_with_replies (default), posts_no_replies, posts_with_media, posts_and_author_threads, or posts_with_video. Controls replies/media/threads — not reposts. Use includeReposts=false to drop reposts.",
"type": "string"
},
"includeReposts": {
"description": "When false, omit repost rows (reasonRepost). Default true — reposts are included and marked with isRepost / repostedBy / repostedAt.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 25, max 100). Billed per result.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Bluesky profile URL, @handle, or handle, e.g. https://bsky.app/profile/handle.bsky.social. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "bluesky_user_posts",
"outputSchema": null
},
{
"description": "One Meta ad by ID — same creative as search, plus delivery breakdowns when Meta publishes them. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Meta Ad Library ad URL or ad ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "facebook_ad_library_ad_details",
"outputSchema": null
},
{
"description": "Written creative copy from a Meta ad — headline, body, CTA, landing URL. Not a speech transcript. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Meta Ad Library ad URL or ad ID. Returns the ad's written copy — headline, body text, CTA and landing URL. Meta does not expose ad audio, so this is not a speech transcript. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "facebook_ad_library_ad_transcript",
"outputSchema": null
},
{
"description": "Ads for one Meta page — active by default, cursor through the HTML batch, same envelope as /facebook/search. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"country": {
"description": "Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY.",
"type": "string"
},
"cursor": {
"description": "Pagination cursor from a previous nextCursor. Pages through the current Meta HTML result batch.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call on the native path; the extended fallback bills per returned ad.",
"minimum": 1,
"type": "integer"
},
"status": {
"description": "Ad delivery status: ACTIVE (default), INACTIVE, or ALL. Use ACTIVE for \"what are they running now?\".",
"type": "string"
},
"url": {
"description": "pageId from /search-companies (preferred), libraryUrl, vanity page URL (facebook.com/nike/), or Ad Library URL with view_all_page_id. Do not pass profileId from facebook.com/{digits}/ when it differs from pageId. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "facebook_ad_library_company_ads",
"outputSchema": null
},
{
"description": "Search Meta Ad Library by keyword — active/inactive, media type, date range, platforms, cursor, and spend/impressions when Meta publishes them. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"ad_type": {
"description": "all (default) or political_and_issue_ads. Spend/impressions are typically only filled for political/issue ads.",
"type": "string"
},
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"country": {
"description": "Two-letter ISO country code (e.g. US, GB, DE). Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY — Meta would otherwise ignore the code and search globally while echoing it back as if the filter worked.",
"type": "string"
},
"cursor": {
"description": "Pagination cursor from a previous nextCursor. Pages through the current Meta HTML result batch.",
"type": "string"
},
"end_date": {
"description": "Only ads with delivery start on/before this date (YYYY-MM-DD).",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"media_type": {
"description": "Creative filter: ALL (default), IMAGE, VIDEO, MEME, IMAGE_AND_MEME, or NONE.",
"type": "string"
},
"platforms": {
"description": "Comma-separated publisher platforms to keep: FACEBOOK, INSTAGRAM, MESSENGER, AUDIENCE_NETWORK, THREADS.",
"type": "string"
},
"q": {
"description": "Keyword, brand, or advertiser to search Meta Ad Library (min 2 characters).",
"type": "string"
},
"search_type": {
"description": "keyword_unordered (default) or keyword_exact_phrase.",
"type": "string"
},
"sort_by": {
"description": "Meta sort mode: total_impressions or relevancy_monthly_grouped.",
"type": "string"
},
"start_date": {
"description": "Only ads with delivery start on/after this date (YYYY-MM-DD).",
"type": "string"
},
"status": {
"description": "Ad delivery status: ACTIVE (default), INACTIVE, or ALL. Use ACTIVE for \"what are they running now?\".",
"type": "string"
},
"trim": {
"description": "When true, omit cards/images/videos typed arrays (media[] stays). Captapi payloads are already lean vs Meta nested snapshots.",
"type": "boolean"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "facebook_ad_library_search",
"outputSchema": null
},
{
"description": "Find Meta Ad Library pages by brand — name-matched, pageId for company-ads (not profileId). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"country": {
"description": "Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Company or brand name to search for (min 2 characters). Name-matched — off-brand pages are dropped.",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "facebook_ad_library_search_companies",
"outputSchema": null
},
{
"description": "Comment Replies Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"commentId": {
"description": "ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 50, max 500). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Facebook post URL the comment belongs to. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url",
"commentId"
],
"type": "object"
},
"name": "facebook_comment_replies",
"outputSchema": null
},
{
"description": "Facebook post comments with reactionCount, reactions.like when mixed, author.id (pfbid), and replyCount. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"feedbackId": {
"description": "Post feedback id from /v1/facebook/details (base64 feedback:POSTID). Prefer when you already have it — also accepts feedback_id.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 50, max 500). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Facebook post or Reel URL. Omit when feedbackId is set. The URL platform must match this endpoint's platform. A page/profile URL also works: Facebook renders the page's most recent post first, so you get that post's comments (each comment's url names the actual post).",
"format": "uri",
"type": "string"
}
},
"type": "object"
},
"name": "facebook_comments",
"outputSchema": null
},
{
"description": "Facebook post or Reel — caption, engagement, author id, video{} playback, and music when Facebook exposes them. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Public Facebook video or post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "facebook_details",
"outputSchema": null
},
{
"description": "Get a Facebook event — title, local start/end, timezone, place, host id, and attendance when exposed. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Facebook event URL, e.g. https://facebook.com/events/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "facebook_event_details",
"outputSchema": null
},
{
"description": "Search Facebook events by topic and city — local startDate/timezone, venue. 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"from": {
"description": "Inclusive local start date filter YYYY-MM-DD. Use for upcoming-only windows — Facebook/SERP may return past events.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call. Response `source` is native or extended (fetch path — not a price change).",
"minimum": 1,
"type": "integer"
},
"location": {
"description": "City/place geo filter (e.g. London). Matches timezone, location.city, or coords near the city — not a title substring.",
"type": "string"
},
"q": {
"description": "Topic keyword, e.g. 'comedy'. Pair with location for city-scoped results.",
"type": "string"
},
"to": {
"description": "Inclusive local start date filter YYYY-MM-DD.",
"type": "string"
},
"upcoming": {
"description": "When true and from is omitted, sets from to today's UTC date so past events are dropped.",
"type": "boolean"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "facebook_event_search",
"outputSchema": null
},
{
"description": "Public Facebook group posts — listingHits / hydrateFailures / hydrateSkipped, sortBy, and per-count *IsApproximate. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"sortBy": {
"description": "TOP_POSTS | RECENT_ACTIVITY | CHRONOLOGICAL (default) | CHRONOLOGICAL_LISTINGS. Maps to Facebook sorting_setting.",
"type": "string"
},
"url": {
"description": "Public Facebook group URL, e.g. https://facebook.com/groups/ID. Must contain /groups/ — profile/page URLs are a definitive 400 (use /v1/facebook/profile-posts for those). The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "facebook_group_posts",
"outputSchema": null
},
{
"description": "Marketplace listing — title, priceAmount, status, seller{}, condition, coords (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Facebook Marketplace item URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "facebook_marketplace_item",
"outputSchema": null
},
{
"description": "Disambiguate city names into Marketplace hubs — id + lat/lng. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 10, max 50). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "City/place query. Bare names like 'Austin' may return multiple candidates (TX/MN/IN); include a state for a single hit (e.g. 'Austin, TX').",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "facebook_marketplace_location_search",
"outputSchema": null
},
{
"description": "Search Marketplace by keyword + city — filters, isLocal/shipsOutsideRadius, opaque cursor (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"availability": {
"description": "available | sold | all.",
"type": "string"
},
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"category": {
"description": "Top-level category slug, e.g. electronics.",
"type": "string"
},
"condition": {
"description": "new, like_new, good, fair (comma-separated ok).",
"type": "string"
},
"cursor": {
"description": "Opaque pagination cursor from a previous nextCursor.",
"type": "string"
},
"daysSinceListed": {
"description": "Facebook calendar-day recency: 1 = since the start of yesterday (not a rolling 24 hours), 7, or 30.",
"type": "string"
},
"deliveryMethod": {
"description": "local_pickup | shipping | all. Shipped listings can appear nationwide outside radiusMiles — use local_pickup for nearby-only; rows expose isLocal / shipsOutsideRadius.",
"type": "string"
},
"details": {
"description": "When true, adds description/condition/coordinates/full photo gallery/seller/distanceMiles — billed as 2 + 2 credits per listing. Default false → flat 2 credits; cover photo is still in image.",
"type": "boolean"
},
"limit": {
"description": "How many listings to return (1–200). Flat 2 credits when details=false; details=true billed as 2 + 2 per listing.",
"minimum": 1,
"type": "integer"
},
"location": {
"description": "Alias of searchLocation. Prefer searchLocation. Either one is required.",
"type": "string"
},
"maxPrice": {
"description": "Maximum price in local currency units.",
"minimum": 1,
"type": "integer"
},
"minPrice": {
"description": "Minimum price in local currency units.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Product or keyword to search Facebook Marketplace for.",
"type": "string"
},
"radiusMiles": {
"description": "Radius in miles: 1,2,5,10,20,40,60,80,100,250,500. Does not exclude nationwide shipped inventory.",
"minimum": 1,
"type": "integer"
},
"searchLocation": {
"description": "Search-origin city or place name, e.g. 'Austin, TX'. Required — there is no default city. Echoed on the envelope and inside filters. Not listings[].location. Names that don't resolve to a real place are a definitive 400 UNKNOWN_LOCATION (Facebook would otherwise silently search an unrelated metro) — /v1/facebook/marketplace-location-search finds valid ones.",
"type": "string"
},
"sortBy": {
"description": "suggested | distance | creation_time | price_ascend | price_descend.",
"type": "string"
}
},
"required": [
"q",
"searchLocation"
],
"type": "object"
},
"name": "facebook_marketplace_search",
"outputSchema": null
},
{
"description": "Facebook page profile — likes vs followers (distinct), talkingAbout, category, website, and public email. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Facebook page URL, @handle, or page name, e.g. https://facebook.com/PageName. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "facebook_page_details",
"outputSchema": null
},
{
"description": "List a Facebook Page's events — local startDate, timezone, venue. 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call. Response `source` is native or extended (fetch path — not a price change).",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "facebook_profile_events",
"outputSchema": null
},
{
"description": "Photo grid from a Facebook Page — full image URL plus accessibilityCaption (alt-text, not a post caption). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 200). The public /photos grid is a single SSR batch (often ~8) — retrievableCount is that batch, not a promise Facebook will fill limit. Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "facebook_profile_photos",
"outputSchema": null
},
{
"description": "Latest posts and Reels from a Facebook page — listingHits / timings.phase; 60s deadline, failures 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 4, max 4). The logged-out listing hop is ~23–29s typical, hard-capped at 40s. Each hydrate is typically 6–10s (can be ~100ms when listing already carried the post) and is capped at 12s. The next-item fit check uses that 12s cap, not the typical 6–10s, so a call cannot exceed 60s. The loop stops when the next item would miss the 60s deadline and returns what it has (truncatedReason=hydrate-budget | deadline). Asking for 20 cannot return 20 inside that ceiling. Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "facebook_profile_posts",
"outputSchema": null
},
{
"description": "Latest Facebook page Reels — views, likes, comments, shares; newest-first without archive padding. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "facebook_profile_reels",
"outputSchema": null
},
{
"description": "Summarizer Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Public Facebook video or post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "facebook_summarize",
"outputSchema": null
},
{
"description": "Public events with typed payload (Push commits/ref, PR/issue action) — 90-event ceiling. Costs ~12 credits (0.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Opaque cursor from a previous nextCursor. Pagination stops after GitHub's 90-event public activity ceiling.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 30, max 90). Billed per result.",
"minimum": 1,
"type": "integer"
},
"username": {
"description": "GitHub username or profile URL, e.g. getify.",
"type": "string"
}
},
"required": [
"username"
],
"type": "object"
},
"name": "github_activity",
"outputSchema": null
},
{
"description": "GitHub contribution graph — sorted days[], currentStreak (today grace), longestStreak (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"username": {
"description": "GitHub username or profile URL, e.g. getify or https://github.com/getify.",
"type": "string"
}
},
"required": [
"username"
],
"type": "object"
},
"name": "github_contributions",
"outputSchema": null
},
{
"description": "Follower cards {id, login, type, url, avatar} — ~0.1/row; large accounts are expensive to page fully. Costs ~3 credits (0.1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 30, max 100). Billed per result.",
"minimum": 1,
"type": "integer"
},
"username": {
"description": "GitHub username or profile URL, e.g. getify.",
"type": "string"
}
},
"required": [
"username"
],
"type": "object"
},
"name": "github_followers",
"outputSchema": null
},
{
"description": "Accounts a user follows — same card and ~0.1/row pricing as followers. Costs ~3 credits (0.1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 30, max 100). Billed per result.",
"minimum": 1,
"type": "integer"
},
"username": {
"description": "GitHub username or profile URL, e.g. getify.",
"type": "string"
}
},
"required": [
"username"
],
"type": "object"
},
"name": "github_following",
"outputSchema": null
},
{
"description": "List repo PRs — draft, labels, author{}, head/base, opaque Link cursor (state echoed). Costs ~12 credits (0.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 30, max 100). Billed per result.",
"minimum": 1,
"type": "integer"
},
"repo": {
"description": "Repository URL or owner/name, e.g. vercel/next.js.",
"type": "string"
},
"state": {
"description": "open (API default), closed, or all. Echoed as data.state. Docs example uses closed so mergedAt is visible.",
"type": "string"
}
},
"required": [
"repo"
],
"type": "object"
},
"name": "github_pull_requests",
"outputSchema": null
},
{
"description": "List a user's repos with sort/direction/type — opaque Link cursor (~0.4/repo). Costs ~12 credits (0.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number.",
"type": "string"
},
"direction": {
"description": "asc or desc (default desc). Echoed as data.direction.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 30, max 100). Billed per result.",
"minimum": 1,
"type": "integer"
},
"sort": {
"description": "created | updated | pushed | full_name (default updated). Not stars — GitHub's user-repos API has no stars sort. Echoed as data.sort.",
"type": "string"
},
"type": {
"description": "owner (default) | member | all — affiliation filter. Echoed as data.type.",
"type": "string"
},
"username": {
"description": "GitHub username or profile URL, e.g. torvalds.",
"type": "string"
}
},
"required": [
"username"
],
"type": "object"
},
"name": "github_repositories",
"outputSchema": null
},
{
"description": "GitHub repo — stars, real watchers (subscribers), openIssuesAndPrs, license, parent when fork (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"repo": {
"description": "Repository URL or owner/name, e.g. torvalds/linux or https://github.com/torvalds/linux.",
"type": "string"
}
},
"required": [
"repo"
],
"type": "object"
},
"name": "github_repository",
"outputSchema": null
},
{
"description": "github.com/trending/developers — windowed ranks with popularRepo + followers (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"language": {
"description": "Optional programming-language slug → /trending/developers/{language}.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 25, max 100). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"since": {
"description": "Trending window: daily (default), weekly, or monthly — matches github.com/trending/developers?since=.",
"type": "string"
}
},
"type": "object"
},
"name": "github_trending_developers",
"outputSchema": null
},
{
"description": "github.com/trending — repos ranked by starsGained (daily|weekly|monthly), not all-time stars (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"language": {
"description": "Optional programming-language slug (e.g. python, typescript) → /trending/{language}.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 25, max 100). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"since": {
"description": "Trending window: daily (default), weekly, or monthly — matches github.com/trending?since=.",
"type": "string"
}
},
"type": "object"
},
"name": "github_trending_repositories",
"outputSchema": null
},
{
"description": "GitHub public profile — login, type User|Organization, email when public, followers (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"username": {
"description": "GitHub username or profile URL, e.g. getify or https://github.com/getify.",
"type": "string"
}
},
"required": [
"username"
],
"type": "object"
},
"name": "github_user",
"outputSchema": null
},
{
"description": "Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"country": {
"description": "Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY.",
"type": "string"
},
"creative_id": {
"description": "Google Ads Transparency URL containing AR... advertiser and CR... creative IDs. A creative that does not exist under the advertiser is a definitive 404 AD_NOT_FOUND (upstream answered) — 503 is reserved for actual transport failures.",
"type": "string"
}
},
"required": [
"creative_id"
],
"type": "object"
},
"name": "google_ad_library_ad_details",
"outputSchema": null
},
{
"description": "Find Google Ads Transparency AR… entities — ranked multi-result (1 credit when found; empty is free). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"country": {
"description": "Two-letter ISO country code used for ranking (e.g. US). Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 10, max 50). Flat 1 credit when results are returned; 0 credits when totalReturned is 0.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Brand, domain, or advertiser name (min 2 characters). Expanded + ranked so US prefers Inc. over SRL.",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "google_ad_library_advertiser_search",
"outputSchema": null
},
{
"description": "Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"advertiser": {
"description": "Advertiser name, domain (e.g. nike.com), or Google advertiser ID (AR…). Prefer AR… from advertiser-search.",
"type": "string"
},
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"country": {
"description": "Two-letter ISO country / region code (soft filter). Default US. Alias: region. Non-ISO codes are a definitive 400 INVALID_COUNTRY.",
"type": "string"
},
"cursor": {
"description": "Pagination cursor from nextCursor.",
"type": "string"
},
"end_date": {
"description": "YYYY-MM-DD — keep creatives whose shown window overlaps this end.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits when results are returned; 0 credits when totalReturned is 0.",
"minimum": 1,
"type": "integer"
},
"region": {
"description": "Alias for country.",
"type": "string"
},
"sort": {
"description": "Client-side sort: last_shown (recent activity first) or first_shown. Default is ATC order.",
"type": "string"
},
"start_date": {
"description": "YYYY-MM-DD — keep creatives whose shown window overlaps this start.",
"type": "string"
},
"topic": {
"description": "Only \"all\" is supported (commercial ATC). Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days.",
"type": "string"
}
},
"required": [
"advertiser"
],
"type": "object"
},
"name": "google_ad_library_company_ads",
"outputSchema": null
},
{
"description": "Instagram profile by user ID or @handle — camelCase schema aligned with Channel Details (followers, externalUrl, businessAddress). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"userId": {
"description": "Instagram numeric pk (e.g. 13460080 — the id field on this endpoint), or a profile URL / @handle / username. A Facebook/Graph fbid (17-digit 17841…) is 400 WRONG_ID_TYPE.",
"type": "string"
}
},
"required": [
"userId"
],
"type": "object"
},
"name": "instagram_basic_profile",
"outputSchema": null
},
{
"description": "Instagram profile stats — fixed key set (null fillers), fbid, bioLinks, isBusinessAccount, approx flags. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"url": {
"description": "Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "instagram_channel_details",
"outputSchema": null
},
{
"description": "Latest posts from a public Instagram profile — carousel children[], mediaCount, user{} in one call. Costs ~6 credits (0.3/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (e.g. 3937014945555313553_1697296). A null nextCursor means the end of the list.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Billed per result.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "instagram_channel_posts",
"outputSchema": null
},
{
"description": "Latest Reels from a public Instagram profile — pass userId to skip resolve; ceil(n×0.3) credits; nextCursor + hasMore. Costs ~6 credits (0.3/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass nextCursor from the previous response (clips:{userId}:{opaque} on the native Reels path, or legacy {mediaId}_{userId}). Stop when hasMore is false.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Billed per result.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Instagram profile URL, @handle, or username. Omit when userId is set. The URL platform must match this endpoint's platform.",
"format": "uri",
"type": "string"
},
"userId": {
"description": "Instagram numeric user ID (e.g. 173560420). Skips handle→ID resolve (legacy sequential WPI alone could cost ~80s). Prefer when you already have the ID from basic-profile or profile-search.",
"type": "string"
}
},
"type": "object"
},
"name": "instagram_channel_reels",
"outputSchema": null
},
{
"description": "Session-paged Instagram comments — a logged-out 2-row preview of a larger thread is 503 SESSION_UNAVAILABLE at 0 credits. Costs ~45 credits (0.9/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor from the previous nextCursor ({mediaPk}:{minId}). Omit on the first page. hasMore is true when nextCursor is set, or when more exist and cannot be paged (nextCursor null + truncatedReason).",
"type": "string"
},
"limit": {
"description": "Max items to return (default 50, max 500). Billed per result.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "instagram_comments",
"outputSchema": null
},
{
"description": "Get an Instagram post, Reel or carousel — caption, likes, comments, views, media URLs, author, and per-slide children on carousels. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "instagram_details",
"outputSchema": null
},
{
"description": "Classic Instagram embed snippet — blockquote.instagram-media + embed.js. Drop html into your page. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Instagram post, reel, or profile URL (or @handle), e.g. https://instagram.com/reel/ID/ or https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "instagram_embed",
"outputSchema": null
},
{
"description": "Hashtag Explore: session-raced native grid, Apify only on miss. Max 50. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 50). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"mediaType": {
"description": "all (default) or reels — return only Reels/clips when set to reels.",
"type": "string"
},
"q": {
"description": "Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES.",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "instagram_hashtag_search",
"outputSchema": null
},
{
"description": "Persistent Story Highlight albums for a public profile — id, title, cover, owner. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Instagram profile URL, @handle, or username. Omit when userId is set.",
"format": "uri",
"type": "string"
},
"userId": {
"description": "Numeric Instagram user ID. Prefer when known — skips handle→ID resolve. When only userId is set we reverse-resolve the username so the WPI / profile-HTML shelf can still run.",
"type": "string"
}
},
"type": "object"
},
"name": "instagram_highlights",
"outputSchema": null
},
{
"description": "Items inside one Instagram Story Highlight album — media URLs, type, takenAt. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"id": {
"description": "Highlight id from /v1/instagram/highlights (with or without highlight: prefix).",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "instagram_highlights_details",
"outputSchema": null
},
{
"description": "Resolve a brand or @handle to one public Instagram profile — stable id, bio, links, and stats (not niche discovery). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh.",
"type": "boolean"
},
"q": {
"description": "Account name, @handle, or profile URL to resolve (min 2 characters). A leading _ is stripped. Not a niche keyword search.",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "instagram_profile_search",
"outputSchema": null
},
{
"description": "Is this Instagram sound trending? Reels that use it + isTrendingInClips / trendRank / rich music{}. Costs ~28 credits (1.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"audioId": {
"description": "Instagram audio/music ID or full audio URL, e.g. 27919946310946207.",
"type": "string"
},
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 200). Billed per result.",
"minimum": 1,
"type": "integer"
}
},
"required": [
"audioId"
],
"type": "object"
},
"name": "instagram_reels_by_audio_id",
"outputSchema": null
},
{
"description": "Cascade: native (session residential + Android tag feed) → Decodo → Apify. Max 50. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"datePosted": {
"description": "last_24_hours | last_week | last_month | last_year (aliases: today, this_week, this_month, this_year).",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 50). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES.",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "instagram_reels_search",
"outputSchema": null
},
{
"description": "Get an AI summary of any Instagram Reel — a short paragraph plus key points, without watching the video. Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"language": {
"description": "ISO code, e.g. \"tr\": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary.",
"type": "string"
},
"url": {
"description": "Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "instagram_summarize",
"outputSchema": null
},
{
"description": "Posts that tag an Instagram account — author verified/avatar when available, staleFeed when Instagram only exposes an archive. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 1 credit per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "instagram_tagged_posts",
"outputSchema": null
},
{
"description": "Turn any Instagram Reel's speech into text — the full transcript plus timestamped segments, ready for search, subtitles, or AI pipelines. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"language": {
"description": "Preferred caption language as an ISO code, e.g. \"en\". Defaults to auto-detect.",
"type": "string"
},
"url": {
"description": "Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "instagram_transcript",
"outputSchema": null
},
{
"description": "Cache-first trending Reels. Wall miss is labelled stale 200, not 502. Max 50. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Successful calls bill even on cache hits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Default true (cache-first): serve the per-country response cache when present (TTL 4 hours). Every successful call costs 2 credits — including cache hits. Set false to force a live scrape (measured miss 45–75s, hard-capped at 110s). Raise client timeouts above 90s — n8n/Make defaults will fail a miss. The fresh result still refreshes the cache.",
"type": "boolean"
},
"country": {
"description": "Country for Reels localization — full name or ISO code (e.g. 'United States', 'US', 'Turkey', 'TR'). Default United States. Unsupported values return 400 with supportedCountries[].",
"type": "string"
},
"limit": {
"description": "Max items to return (default 10, max 50). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "instagram_trending_reels",
"outputSchema": null
},
{
"description": "Get a Kick clip — source + stages/ms, 7d clip cache, Evomi→Webshare→Decodo→Apify. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"limit": {
"description": "Channel mode only — max recent clips to return (default 30, max 100). Ignored when url is a clip. Flat 1 credit. No cursor — Kick returns a single page.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Kick clip URL for one enriched clip (e.g. https://kick.com/{channel}/clips/clip_…), or channel input for recent clips[]: kick.com/{name}, kick.com/@{name}, @{name}, or {name}. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "kick_clip",
"outputSchema": null
},
{
"description": "Komi link-in-bio → identity, socials{} (incl. website), content LINK/PRODUCT rows with price/currency. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"url": {
"description": "Komi page URL or username, e.g. https://komi.io/kimkardashian or https://kimkardashian.komi.io/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "komi_page",
"outputSchema": null
},
{
"description": "Single Kwai video — caption (\"\" when none), hashtags[], author, mp4 (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Kwai video URL, e.g. https://www.kwai.com/@topfilmeseseriesnatv/video/5240932700689736196. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "kwai_post",
"outputSchema": null
},
{
"description": "Fetch Kwai profile — display name, bio, counts, and verification as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Kwai profile URL or @handle, e.g. https://www.kwai.com/@topfilmeseseriesnatv. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "kwai_profile",
"outputSchema": null
},
{
"description": "Kwai profile posts — caption (\"\" when none), engagement, mp4 + transcript (~1 credit/post). Costs ~20 credits (1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Opaque pagination cursor from the previous nextCursor. Pages within posts from one profile fetch.",
"type": "string"
},
"limit": {
"description": "Max posts to return (1–200). Default 20. ~1 credit per post returned (min 2).",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Kwai profile URL or @handle, e.g. https://www.kwai.com/@topfilmeseseriesnatv. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "kwai_user_posts",
"outputSchema": null
},
{
"description": "lnk.bio → id, socials{}, titled links[], website/email/whatsapp, other[]. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"url": {
"description": "Linkbio (lnk.bio) page URL or username, e.g. https://lnk.bio/charlidamelio. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "linkbio_page",
"outputSchema": null
},
{
"description": "One LinkedIn Ad Library ad by ID. LinkedIn withholds Ran-from / impressions / targeting on most creatives — those keys are omitted, not 404. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "LinkedIn Ad Library URL or numeric ad ID (also accepts urn:li:sponsoredCreative:ID). Inputs that are neither numeric nor an ad-library detail URL are a definitive 400. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "linkedin_ad_library_ad_details",
"outputSchema": null
},
{
"description": "LinkedIn publishes run dates, impressions and targeting only on a subset of creatives. Search is the SERP card; source is native|extended. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"company": {
"description": "Alias of q — advertiser / account owner name.",
"type": "string"
},
"companyId": {
"description": "LinkedIn numeric company id for exact advertiser match.",
"type": "string"
},
"countries": {
"description": "Comma-separated ISO country codes (e.g. US,CA,MX). Each code is validated — non-ISO codes are a 400 INVALID_COUNTRY.",
"type": "string"
},
"country": {
"description": "Single ISO country code. Default US. Ignored when countries is set. Non-ISO codes are a definitive 400 INVALID_COUNTRY — LinkedIn would otherwise answer an empty result set as if the filter worked.",
"type": "string"
},
"cursor": {
"description": "Pagination token from paginationToken / nextCursor.",
"type": "string"
},
"endDate": {
"description": "Custom range end YYYY-MM-DD (use with startDate).",
"type": "string"
},
"keyword": {
"description": "Optional keyword filter on ad creative copy. Whole-word hits are ordered first; already-fetched SERP cards without a literal hit fill behind them up to limit (matchedFrom [] = ranked fill).",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). One LinkedIn SERP page is ~25 cards — when limit is higher, further pages are pulled automatically within the request's time budget, so limit=50 fills to 50 when LinkedIn has the ads (hasMore + nextCursor cover the rest). Flat 2 credits per call on the native path; the extended fallback bills ~3.5 credits per returned ad. Response `source` is native or extended so you can see which price applied.",
"minimum": 1,
"type": "integer"
},
"paginationToken": {
"description": "Alias of cursor.",
"type": "string"
},
"q": {
"description": "Advertiser / account owner name (min 2 when used). Provide q/company, keyword, or companyId.",
"type": "string"
},
"startDate": {
"description": "Custom range start YYYY-MM-DD (use with endDate).",
"type": "string"
}
},
"type": "object"
},
"name": "linkedin_ad_library_search_ads",
"outputSchema": null
},
{
"description": "Company page for B2B intel — specialties, similarPages, employeeCount, founded, slogan, cover. Native 1 / enrich 2. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "LinkedIn company URL, e.g. https://www.linkedin.com/company/shopify. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "linkedin_company",
"outputSchema": null
},
{
"description": "Company posts with engagement{likes,comments} — cursor pages up to 100. Flat 1 credit on the native path. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 100 posts).",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 100). Flat 1 credit per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "LinkedIn company URL, e.g. https://linkedin.com/company/slug. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "linkedin_company_posts",
"outputSchema": null
},
{
"description": "Get a LinkedIn post — text, author, reactions, and comments count as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "LinkedIn post or activity URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "linkedin_post_details",
"outputSchema": null
},
{
"description": "LinkedIn post text as a transcript — paragraph segments, timingSource none. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "LinkedIn post or activity URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "linkedin_post_transcript",
"outputSchema": null
},
{
"description": "LinkedIn person profile with experience[], education[], skills[], similarProfiles[] — masked guest text becomes restricted:true. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "LinkedIn profile URL, e.g. https://www.linkedin.com/in/paul-martin-a5aa98. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "linkedin_profile",
"outputSchema": null
},
{
"description": "Keyword search of public LinkedIn posts — offset cursor, ceiling 50. Costs ~16 credits (0.8/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 50 posts).",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 50). Billed per result.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Search query or keywords (min 2 characters).",
"type": "string"
},
"sort": {
"description": "relevance (default, search-engine rank — dates can span years) or date (recency).",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "linkedin_search_posts",
"outputSchema": null
},
{
"description": "Linkme profile → bio, profileVisitCount, featured links, webLinks, email/infoLinks, stripeStatus. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"url": {
"description": "Linkme profile URL or username, e.g. https://link.me/danucd or danucd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "linkme_profile",
"outputSchema": null
},
{
"description": "Link-in-bio → creator graph: typed links, socialAccounts{} that feed TikTok/Instagram/Spotify/SoundCloud, email, verticals. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"url": {
"description": "Linktree profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "linktree_page",
"outputSchema": null
},
{
"description": "Pillar link-in-bio → identity, socials{}, links[] with per-link clicks, products[]. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"url": {
"description": "Pillar page URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "pillar_page",
"outputSchema": null
},
{
"description": "Pins on a Pinterest board — saves, imageOriginal, destinationUrl, top-level author. ~0.5 credits/pin. Costs ~13 credits (0.5/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (pidgets ~100).",
"type": "string"
},
"limit": {
"description": "Max items to return (default 25, max 200). Billed per result.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Pinterest board URL (.../username/board-name/), not a /pin/ URL. Example: https://www.pinterest.com/potterybarn/rustic-lodge-lookbook/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "pinterest_board",
"outputSchema": null
},
{
"description": "Get a Pinterest pin — title, description, link, board, origin creator, and engagement as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Pinterest pin URL, e.g. https://pinterest.com/pin/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "pinterest_pin_details",
"outputSchema": null
},
{
"description": "Keyword pin search — offset cursor, SERP window 40. Costs ~13 credits (0.5/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the SERP window (max 40).",
"type": "string"
},
"limit": {
"description": "Max items to return (default 25, max 200). Billed per result.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Keywords or search query (min 2 characters).",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "pinterest_search",
"outputSchema": null
},
{
"description": "Boards on a Pinterest profile — pinCount, coverImage (474x), privacy, sections. Board followers when scoped. Costs ~13 credits (0.5/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (max 200).",
"type": "string"
},
"limit": {
"description": "Max items to return (default 25, max 200). Billed per result.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Pinterest profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "pinterest_user_boards",
"outputSchema": null
},
{
"description": "Pins from a Pinterest profile — offset cursor, pidgets window ~100. Costs ~13 credits (0.5/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (pidgets ~100).",
"type": "string"
},
"limit": {
"description": "Max items to return (default 25, max 200). Billed per result.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Pinterest profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "pinterest_user_pins",
"outputSchema": null
},
{
"description": "Flat Reddit comment threads with depth/parentId, cursor pagination, and the parent post in one call. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 50, max 500). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Reddit post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "reddit_post_comments",
"outputSchema": null
},
{
"description": "Get a Reddit post — title, body, score, comments count, subreddit, and author as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Reddit post URL, e.g. https://reddit.com/r/sub/comments/ID/... The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "reddit_post_details",
"outputSchema": null
},
{
"description": "Written post text — title, body and top comments. Not a speech transcript. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 50, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Reddit post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "reddit_post_transcript",
"outputSchema": null
},
{
"description": "Reddit site-wide post search — sort + timeframe + cursor, score/upvoteRatio, authorFullname. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 25, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Keyword or phrase to search Reddit posts site-wide (min 2 characters).",
"type": "string"
},
"sort": {
"description": "relevance (default) | new | top | hot | comments (alias: comment_count).",
"type": "string"
},
"timeframe": {
"description": "For sort=top or comments: hour | day | week | month | year | all (default all).",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "reddit_search",
"outputSchema": null
},
{
"description": "Subreddit card — id (t5_…), members, activeUsers, rules[], ISO createdAt, nsfw/type. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Subreddit URL, r/name, or bare name (case-insensitive), e.g. r/technology or AskReddit. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "reddit_subreddit_details",
"outputSchema": null
},
{
"description": "List posts from a subreddit with sort, timeframe, and cursor pagination — title, score, upvote ratio, flair, and more. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 25, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"sort": {
"description": "Feed sort: best, hot, new (default), top, or rising.",
"type": "string"
},
"timeframe": {
"description": "For sort=top: hour, day (default), week, month, year, or all.",
"type": "string"
},
"url": {
"description": "Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "reddit_subreddit_posts",
"outputSchema": null
},
{
"description": "Search posts inside one subreddit — not subreddit discovery. Same sort/timeframe as site-wide Search. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 25, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Keywords or search query (min 2 characters).",
"type": "string"
},
"sort": {
"description": "relevance (default) | new | top | hot | comments (alias: comment_count).",
"type": "string"
},
"timeframe": {
"description": "For sort=top or comments: hour | day | week | month | year | all (default all).",
"type": "string"
},
"url": {
"description": "Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url",
"q"
],
"type": "object"
},
"name": "reddit_subreddit_search",
"outputSchema": null
},
{
"description": "Rumble channel uploads — lean streams[{url,type}]; call video-details for rendition meta. Costs ~12 credits (0.6/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 200). Billed per result.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Rumble channel URL, e.g. https://rumble.com/c/name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "rumble_channel_videos",
"outputSchema": null
},
{
"description": "Rumble top-level comments — publishedAt ISO-8601 UTC from title= on the comment time link. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 50, max 500). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "rumble_comments",
"outputSchema": null
},
{
"description": "Rumble keyword search — same video card shape as channel-videos (type, durationSeconds + durationText, UTC publishedAt). Costs ~12 credits (0.6/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 200). Billed per result.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Keywords or search query (min 2 characters).",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "rumble_search",
"outputSchema": null
},
{
"description": "Rumble video metadata — uniform streams[] with rendition meta, captions[], audioStreams. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "rumble_video_details",
"outputSchema": null
},
{
"description": "Rumble published captions as timed segments — parses the .vtt from video-details (not speech-to-text). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"language": {
"description": "Preferred caption language as an ISO code, e.g. \"en\". Defaults to auto-detect.",
"type": "string"
},
"url": {
"description": "Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "rumble_video_transcript",
"outputSchema": null
},
{
"description": "Snapchat profile — stable identity card, millisecond timestamps, mediaType image/video (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Snapchat username or profile URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "snapchat_user_profile",
"outputSchema": null
},
{
"description": "SoundCloud artist — handle + name, subscriptionTier, externalLinks, verified (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"url": {
"description": "SoundCloud artist profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "soundcloud_artist",
"outputSchema": null
},
{
"description": "Artist track list — opaque cursor, native-window when the api-v2 page ends (2 credits; empty is 0). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not edit or invent values.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 100). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "SoundCloud artist profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "soundcloud_artist_tracks",
"outputSchema": null
},
{
"description": "SoundCloud track — plays/likes/license, tags[], nested artist{}, streamUrl when streamable (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"url": {
"description": "SoundCloud track URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "soundcloud_track",
"outputSchema": null
},
{
"description": "Spotify album — tracks[] with playCount, joinable artists[], releaseDate, explicit (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"raw": {
"description": "Include the upstream GraphQL payload as data.raw. Default false — omit unless you need fields not in the normalized shape.",
"type": "boolean"
},
"url": {
"description": "Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "spotify_album",
"outputSchema": null
},
{
"description": "Spotify artist — followers, monthlyListeners, worldRank, topCities, topTracks with playCount, concerts, and related artists (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"raw": {
"description": "Include the upstream GraphQL payload as data.raw. Default false — omit unless you need fields not in the normalized shape (~80% of the old response body).",
"type": "boolean"
},
"url": {
"description": "Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "spotify_artist",
"outputSchema": null
},
{
"description": "Spotify podcast show — publisher, rating, topics, explicit flag, and totalEpisodes as clean JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "spotify_podcast",
"outputSchema": null
},
{
"description": "Podcast episode archive — previewUrl, releaseDate, explicit, cursor pagination (flat 2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 50). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"raw": {
"description": "Include slimmed per-episode upstream payload as episodes[].raw. Default false. visualIdentity / playedState / podcastV2 are never included.",
"type": "boolean"
},
"url": {
"description": "Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "spotify_podcast_episodes",
"outputSchema": null
},
{
"description": "Search Spotify — canonical spotify: URIs, explicit, fetchedAt (flat 2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 50). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Search term (min 2 chars).",
"type": "string"
},
"raw": {
"description": "Include per-result upstream payload as results[].raw. Default false. Pathfinder GraphQL vs Apify scraper shapes differ — see FAQ.",
"type": "boolean"
},
"type": {
"description": "Result kind: tracks (default), albums, artists, podcasts, or episodes.",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "spotify_search",
"outputSchema": null
},
{
"description": "Spotify track — playCount, joinable artists[]/album{}, explicit, releaseDate (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"raw": {
"description": "Include the upstream GraphQL payload as data.raw. Default false — getTrack embeds bulky artist discography.",
"type": "boolean"
},
"url": {
"description": "Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "spotify_track",
"outputSchema": null
},
{
"description": "Threads post — engagement (views when exposed), comments[], relatedPosts[], threadId/isReply. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Threads post URL, e.g. https://threads.net/@user/post/CODE. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "threads_post_details",
"outputSchema": null
},
{
"description": "Threads profile — displayName, private/isPrivate, bioLinks (Meta verified), isThreadsOnlyUser, transparencyLabel, bioFragments, HD avatars (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Threads profile URL or @handle, e.g. https://threads.net/@username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "threads_profile",
"outputSchema": null
},
{
"description": "Threads keyword search — posts with engagement + media. orderBy relevant | post_dated | engagement. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 25, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"orderBy": {
"description": "Sort the fetched page: relevant (default, Meta Top / similar to query), post_dated (newest publishedAt first), or engagement (likes+replies+reposts+quotes+views). Unknown values are 400.",
"type": "string"
},
"q": {
"description": "Keyword or phrase to search public Threads posts (min 2 characters).",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "threads_search",
"outputSchema": null
},
{
"description": "Threads user discovery from keyword search — id, handle, avatar, verified. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 100). Flat 1 credit per call.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Keyword to find Threads users / creators (min 2 characters).",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "threads_search_users",
"outputSchema": null
},
{
"description": "Recent Threads posts — engagement{views,likes,replies,reposts,quotes}, threadId/isReply. Flat 2 credits. source + stages/ms. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 100). Threads exposes only a short window of recent public posts on this surface. limit caps what you receive; it cannot increase what Threads returns. Flat 2 credits on every successful path (native and extended).",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Threads profile URL or @handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "threads_user_posts",
"outputSchema": null
},
{
"description": "One TikTok Commercial Content Library ad by ID — calendar-day dates, always 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"country": {
"description": "Two-letter ISO country code. Default GB. Only EU/EEA + UK + CH are covered by TikTok's library; other codes return 400 UNSUPPORTED_REGION.",
"type": "string"
},
"url": {
"description": "TikTok Ad Library URL or numeric ad ID. Inputs with no extractable numeric ID are a definitive 400. An ID TikTok's library positively reports as nonexistent is a definitive 404 AD_NOT_FOUND (ads outside the EU/EEA+UK+CH never enter the library, and entries expire one year after last impression). The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_ad_library_ad_details",
"outputSchema": null
},
{
"description": "Search TikTok Commercial Content Library — relevance-filtered, uniform null schema (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"country": {
"description": "Two-letter ISO country code (e.g. GB, DE, FR). Default GB. TikTok's Commercial Content Library only covers the EU/EEA, the UK and Switzerland (32 countries) — other codes (US, SA, …) return 400 UNSUPPORTED_REGION with the supported list; TikTok has no ad-library data for them.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"match": {
"description": "Keyword token mode: \"any\" (default, OR whole-word) or \"all\" (AND). hair ≠ wheelchair. Literal hits lead; already-fetched SERP ads fill behind them up to limit (matchedFrom [] = ranked fill). Empty results are free.",
"type": "string"
},
"q": {
"description": "Keyword or advertiser to search TikTok Commercial Content Library (min 2 characters).",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "tiktok_ad_library_search",
"outputSchema": null
},
{
"description": "TikTok Creative Center Top Ads — one ~20-row leaderboard page, not a library search (flat 2 / ~1 Apify). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"adFormat": {
"description": "Optional format filter: spark or non_spark. Served only by the extended fetcher — while it is disabled, adFormat returns 503 filter_unavailable (retryable false, not billed). Omit adFormat for the native leaderboard.",
"type": "string"
},
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"country": {
"description": "Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY (Creative Center used to quietly return an empty leaderboard for them).",
"type": "string"
},
"industry": {
"description": "Optional industry key or label from Creative Center.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 20). One Creative Center leaderboard page is ~20 rows; limit only trims that pool — it cannot scan more candidates. Flat 2 credits on Decodo-native; Apify ~1 credit per returned ad (min 2).",
"minimum": 1,
"type": "integer"
},
"match": {
"description": "Keyword token mode: \"any\" (default, OR) or \"all\" (AND). Zero whole-word hits still return TikTok's keyword-ranked page as matchBasis=ranked (literalMatches=0).",
"type": "string"
},
"objective": {
"description": "Optional campaign objective (e.g. Traffic, Conversion, Reach).",
"type": "string"
},
"orderBy": {
"description": "Sort: for_you, likes, ctr, impressions, or cost. Default for_you.",
"type": "string"
},
"period": {
"description": "Lookback window in days: 7, 30, or 180. Default 30.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Optional keyword that ranks the one ~20-row leaderboard page — not a library search. Case-insensitive whole-word hits on title/brandName/industry/objective (hair ≠ wheelchair) come first; the rest of TikTok's keyword-ranked page follows as fill (matchedFrom [] on those ads, rankedFill in the envelope). There is no tags field. advertiser.name is often null in the default US market. Envelope candidatesScanned is the pre-filter pool size. For a known advertiser, use /tiktok/ad-details by ad id.",
"type": "string"
}
},
"type": "object"
},
"name": "tiktok_ad_library_top_ads",
"outputSchema": null
},
{
"description": "Audience country + language mix for a TikTok creator — engagement sample, not a follower census. Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"countriesLimit": {
"description": "Max countries in audienceLocations; remainder folds into other{count,percentage}. Omit for the full list (other is omitted when unused).",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
},
"videos": {
"description": "How many recent videos to sample comments from: 12 (default, 3 credits), 30 (5 credits), or 60 (8 credits).",
"minimum": 1,
"type": "integer"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_audience_demographics",
"outputSchema": null
},
{
"description": "Resolve a TikTok @handle to id + secUid — createTime, ttSeller, bioLink, decoded privacy flags. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"raw": {
"description": "Set true to include TikTok's upstream user/statsV2 blob under raw, plus createTimeUnix (unix twin of createTime). Default false — curated fields only.",
"type": "boolean"
},
"url": {
"description": "TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_channel_details",
"outputSchema": null
},
{
"description": "Latest videos from a TikTok profile. May return a labelled 6h-stale snapshot (degraded + staleAgeMs) when the live list is blocked. Failures are 0 credits. Costs 2 credits native; extended 1/20 posts (min 2). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (TikTok's max_cursor timestamp, e.g. 1783614676000). A null nextCursor means the end of the list.",
"type": "string"
},
"limit": {
"description": "How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Native serves cost a flat 2 credits; extended serves scale with returned posts — 1 credit per 20, minimum 2 (200 posts = 10 credits).",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_channel_posts",
"outputSchema": null
},
{
"description": "Replies under a TikTok comment — same authorId/authorSecUid/commentLanguage shape as comments. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"commentId": {
"description": "ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id.",
"type": "string"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value from the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 50, max 500). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url",
"commentId"
],
"type": "object"
},
"name": "tiktok_comment_replies",
"outputSchema": null
},
{
"description": "TikTok comments — clean schema plus authorName, stable authorId/authorSecUid and commentLanguage for listening loops. Unresolvable videos are 404 at 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (a numeric offset, e.g. 50). A null nextCursor means the end of the comments.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 50, max 500). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_comments",
"outputSchema": null
},
{
"description": "Is this TikTok creator live — isLive/status, creator.id/secUid, room, streamQualities with flv/hls/cmaf/dash. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_live",
"outputSchema": null
},
{
"description": "Identical to TikTok Live (isLive, creator.id/secUid, streamQualities hls/cmaf). Costs 7 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_live_info",
"outputSchema": null
},
{
"description": "List TikTok videos that use a specific sound — caption, author, exact engagement, canonical hashtags, and mentions, with cursor pagination. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. hasMore is true only when nextCursor is present.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_music_posts",
"outputSchema": null
},
{
"description": "Creative Center creators + createTime / bioLinkRisk / ttSeller hydrate for partnership vetting. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"country": {
"description": "Two-letter ISO country code. Default US.",
"type": "string"
},
"follower_count": {
"description": "Optional range on FYP/Apify fallthrough: 10k-100k, 100k-1m, 1m-10m, >10m.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 100). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"page": {
"description": "Creative Center page (default 1).",
"minimum": 1,
"type": "integer"
},
"sort": {
"description": "follower, engagement, or popularity. Default follower.",
"type": "string"
}
},
"type": "object"
},
"name": "tiktok_popular_creators",
"outputSchema": null
},
{
"description": "Related TikTok hashtags — Creative Center chart when it answers, otherwise a disclosed niche fallback. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"country": {
"description": "Two-letter ISO country for the Creative Center chart. Default US.",
"type": "string"
},
"industryId": {
"description": "Optional Creative Center industry_id.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 100). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"newOnBoard": {
"description": "Only hashtags newly on the Top 100.",
"type": "boolean"
},
"page": {
"description": "Creative Center page (default 1).",
"minimum": 1,
"type": "integer"
},
"period": {
"description": "Lookback days: 7, 30, or 120 (180→120). Default 7.",
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Optional niche seed for co-occurrence + challenge/detail enrich. Omit, or pass trending, to try the Creative Center chart (25s); a miss falls through to related tags for fyp (source=niche_fallback) and opens a service-wide chart circuit. Later default calls skip the chart (chartStatus=skipped_circuit_open) until the cooldown expires. Any other value skips the chart.",
"type": "string"
},
"sortBy": {
"description": "Chart sort: popular (default).",
"type": "string"
}
},
"type": "object"
},
"name": "tiktok_popular_hashtags",
"outputSchema": null
},
{
"description": "REMOVED 2026-09-26: TikTok deleted the public Creative Center song chart (TikTok One migration). Every call answers 410 Gone (ENDPOINT_REMOVED) at 0 credits. Will be re-enabled if TikTok restores the chart. Use tiktok_popular_hashtags / tiktok_trending_videos / tiktok_popular_creators for TikTok trends. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"commercialMusic": {
"description": "Only Commercial Music Library–cleared sounds.",
"type": "boolean"
},
"country": {
"description": "Two-letter ISO country. Default US.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 20). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"newOnBoard": {
"description": "Only sounds newly on the Top 100.",
"type": "boolean"
},
"page": {
"description": "Creative Center page (1–20). Echoed on a native chart 200 with hasMore. Omitted on the extended path — that list is one page.",
"minimum": 1,
"type": "integer"
},
"period": {
"description": "7, 30, or 120 days (180→120). Default 7.",
"minimum": 1,
"type": "integer"
},
"rankType": {
"description": "popular | surging. Default popular.",
"type": "string"
}
},
"type": "object"
},
"name": "tiktok_popular_songs",
"outputSchema": null
},
{
"description": "Find out where a TikTok creator is likely based and what language they use — country, language, stable ids, and core profile stats. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 7d response cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"raw": {
"description": "Set true to include TikTok's upstream user/statsV2 blob under raw. Default false — curated fields only.",
"type": "boolean"
},
"url": {
"description": "TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_profile_region",
"outputSchema": null
},
{
"description": "Videos from TikTok's /tag/{name} challenge feed — not keyword or username search. Cursor + hasMore. Costs ~14 credits (0.7/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination offset. Leave at 0 (or omit) for the first page; then pass the nextCursor value returned in the previous response. A null nextCursor means the end of the results.",
"minimum": 1,
"type": "integer"
},
"limit": {
"description": "Max items to return (default 20, max 100). Billed per result.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Single hashtag token for the /tag/{name} challenge feed, with or without # (min 2). Spaces are 400 — use /v1/tiktok/search/top for a keyword query.",
"type": "string"
},
"region": {
"description": "Two-letter ISO 3166-1 country our request is sent from. Default US. Does not filter results by country.",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "tiktok_search_by_hashtag",
"outputSchema": null
},
{
"description": "Get the autocomplete terms TikTok suggests in its search bar for a keyword — the real phrases people search, ranked, so you can find trending queries and long-tail keyword ideas. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"country": {
"description": "Two-letter ISO country code that localizes the suggestions to a market, e.g. US, GB, DE. Default US.",
"type": "string"
},
"language": {
"description": "Interface language for the suggestions, e.g. en-US or de-DE. Default en-US.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 100). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Seed keyword to expand into autocomplete suggestions, e.g. skincare.",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "tiktok_search_suggestions",
"outputSchema": null
},
{
"description": "Search TikTok users — distinct creators only, id + secUid, per-counter isApproximate flags, cursor pagination. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Omit (or pass 0) for the first page; then pass the nextCursor value from the previous response verbatim — it carries the search session, not just an offset. A null nextCursor means the end of the results.",
"type": "string"
},
"fallback": {
"description": "Opt into the scraper actor when native search is unavailable (~2 min, capped at 100 s, degraded-empty on timeout). Default false — return an empty degraded page (0 credits) instead.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 100). Flat 1 credit per call.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Search query matched against usernames, display names and bios (min 2 characters).",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "tiktok_search_users",
"outputSchema": null
},
{
"description": "PDP — price (sku_min when guest min is *), sold vs stock, seller id/url, images[]. Unresolved URL is 404 at 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"region": {
"description": "Two-letter market region (default US). A region= or oec_region= query on the product URL wins over this default so a BR share URL is not fetched as US. Echoed as data.region.",
"type": "string"
},
"url": {
"description": "TikTok Shop product URL, e.g. https://shop.tiktok.com/view/product/1731410956394792439?region=BR or https://www.tiktok.com/shop/pdp/1731098552908944370. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_shop_product_details",
"outputSchema": null
},
{
"description": "TikTok Shop product reviews — star rating, text, SKU variant, verified purchase, country, and review photos. Costs ~45 credits (2.25/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 200). Billed per result.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "TikTok Shop product URL, e.g. https://www.tiktok.com/shop/pdp/1731962298839634826. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_shop_product_reviews",
"outputSchema": null
},
{
"description": "Store catalog with shopInfo (sold/followers/rating) + products priced with sold, rating, typed discount. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"region": {
"description": "Two-letter market region (default US). Non-US coverage depends on TikTok exposing that shop in the selected region — empty results outside the US are often a platform limit, not a Captapi bug.",
"type": "string"
},
"url": {
"description": "TikTok Shop store URL with numeric shop id, e.g. https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079. A slug-only /shop/store/{name} URL is a definitive 400 — TikTok's catalog SSR is keyed by shop id. Get the full URL from /v1/tiktok-shop/user-showcase or a product's seller.url. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_shop_products",
"outputSchema": null
},
{
"description": "TikTok Shop keyword search — priced products with sold, rating/reviews, typed discount, seller id. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 10, max 10). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Product search query (min 2 characters), e.g. phone case.",
"type": "string"
},
"region": {
"description": "Two-letter market region for the search (default US). Echoed on the response as data.region — not a creator home country. Native search is a SERP window (not TikTok's full catalog); compare requested to serpHits / windowMax.",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "tiktok_shop_search",
"outputSchema": null
},
{
"description": "Creator Shop showcase — affiliate shelf products with per-product sold, rating, typed discount, and seller name/url. Costs ~45 credits (2.25/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 200). Billed per result.",
"minimum": 1,
"type": "integer"
},
"username": {
"description": "TikTok username, @handle, or profile URL, e.g. jeffreestar or https://www.tiktok.com/@jeffreestar.",
"type": "string"
}
},
"required": [
"username"
],
"type": "object"
},
"name": "tiktok_shop_user_showcase",
"outputSchema": null
},
{
"description": "TikTok sound metadata — usageCount, artists[{id,secUid,handle}], audio{bpm,loudness,beats}, commerce rights (1 credit native). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_song_details",
"outputSchema": null
},
{
"description": "Summarizer Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"language": {
"description": "ISO code, e.g. \"tr\": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary.",
"type": "string"
},
"url": {
"description": "Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_summarize",
"outputSchema": null
},
{
"description": "TikTok Top/General search — videos and photo carousels when TikTok includes them, with contentType + images[]. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave 0 for the first page; then pass nextCursor from the previous response. TikTok may return duplicates across pages.",
"minimum": 1,
"type": "integer"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Search query or keywords (min 2 characters).",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "tiktok_top_search",
"outputSchema": null
},
{
"description": "Transcript Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh.",
"type": "boolean"
},
"language": {
"description": "Preferred caption language as an ISO code, e.g. \"en\". Defaults to auto-detect.",
"type": "string"
},
"url": {
"description": "Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_transcript",
"outputSchema": null
},
{
"description": "For You by default; pass orderBy/period/page for Creative Center popular videos (like/hot/comment/repost) with totalCount. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"country": {
"description": "Two-letter ISO country (default US). For You: region-availability hint. Creative Center mode: chart market.",
"type": "string"
},
"countryCode": {
"description": "Alias of country. Wins when both are set.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"orderBy": {
"description": "Creative Center sort: hot (views), like, comment, or repost. Unknown values are 400. vv/views/plays are aliases of hot — the response echoes the public name. Setting this (or period / page>1) switches from For You to the popular-videos chart. On a For You fallthrough the same sort is applied locally.",
"type": "string"
},
"page": {
"description": "Creative Center page (default 1). page>1 triggers chart mode.",
"minimum": 1,
"type": "integer"
},
"period": {
"description": "Lookback days: 7, 30, or 120 (180→120). Triggers chart mode. Every returned publishedAt is inside this window — a For You fallthrough is filtered the same way.",
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "tiktok_trending_feed",
"outputSchema": null
},
{
"description": "List a TikTok user's followers — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 50, max 500). Flat 1 credit per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_user_followers",
"outputSchema": null
},
{
"description": "List who a TikTok user follows — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 50, max 500). Flat 1 credit per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_user_followings",
"outputSchema": null
},
{
"description": "Get everything about one TikTok video from its URL — caption, view/like/comment/share/save counts, creator, sound, hashtags, and thumbnail. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_video_details",
"outputSchema": null
},
{
"description": "One Truth — text, links[], card, reblog/quote chain, media.meta, externalVideoId. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Truth Social post URL or post ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "truth_social_post",
"outputSchema": null
},
{
"description": "Prominent public Truth Social profiles — isPrivate/bot/group, CP-F counts, avatar/banner. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Truth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "truth_social_profile",
"outputSchema": null
},
{
"description": "Recent Truths — same post mapper as /post (links, card, reblog/quote, mentions). 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"limit": {
"description": "Max posts to return (default 20, max 80). Truth Social's statuses page is ~20 items — a full page returns nextCursor. On the extended path hasMore can be true with nextCursor null (truncatedReason=single_page_only). Flat 2 credits.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Truth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "truth_social_user_posts",
"outputSchema": null
},
{
"description": "Twitch clip — curator vs channel, signedVideoUrl, unwrapped token, relatedClips (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"url": {
"description": "Twitch clip URL (clips.twitch.tv/<slug> or twitch.tv/<channel>/clip/<slug>). The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "twitch_clip",
"outputSchema": null
},
{
"description": "Twitch channel — handle + displayName, socials[], topClips, schedule preview, stream only when live (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"url": {
"description": "Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "twitch_profile",
"outputSchema": null
},
{
"description": "Twitch channel schedule — startAt/endAt, title, game, isRecurring (0 credits when empty). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max schedule segments to return (default 50, max 100). Flat 1 credit per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "twitch_user_schedule",
"outputSchema": null
},
{
"description": "Twitch channel VODs — lean rows, video-id cursor, filter/sort, top-level broadcaster{} (flat 2). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor = last video id from the previous nextCursor. Leave empty for the first page. Pages the first 100 matching videos only (not a raw offset).",
"type": "string"
},
"filterBy": {
"description": "ARCHIVE | HIGHLIGHT | UPLOAD. Omit for all types — there is no default filter (unset filterBy is omitted, not null).",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 100). Flat 2 credits per call. Hard ceiling: first 100 matching videos only — deeper history is not available (windowMax=100).",
"minimum": 1,
"type": "integer"
},
"sortBy": {
"description": "TIME (default, newest first) or VIEWS.",
"type": "string"
},
"url": {
"description": "Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "twitch_user_videos",
"outputSchema": null
},
{
"description": "X Community metadata — ISO createdAt, flat creator handle, isNsfw + bannerImage, rules[]. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "X community URL (x.com/i/communities/ID) or community ID — not a tweet/status URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "twitter_community",
"outputSchema": null
},
{
"description": "Posts in an X Community — same 6-metric tweet shape as search. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 25, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "X community URL (x.com/i/communities/ID) or community ID — not a tweet/status URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "twitter_community_tweets",
"outputSchema": null
},
{
"description": "X profile: verified + blue/legacy/identity, displayName, avatar/banner, tipjar→contact{}, expanded website. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to use the 1-hour profile cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge for 1d–30d.",
"type": "boolean"
},
"cacheMaxAge": {
"description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.",
"type": "string"
},
"url": {
"description": "Twitter/X profile URL or @handle, e.g. https://x.com/username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "twitter_profile",
"outputSchema": null
},
{
"description": "Tweet text as a transcript — timingSource none (not Whisper). Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "twitter_transcript",
"outputSchema": null
},
{
"description": "One tweet as JSON — text, author (followers), likes/replies/retweets/quotes, media, ISO publishedAt. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "twitter_tweet_details",
"outputSchema": null
},
{
"description": "Most popular public tweets from a Twitter/X profile (~100 cap) — not chronological. Text, author, engagement, hashtags, media. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max tweets to return (default 20, max 200). Twitter's public surface usually caps around ~100 most popular posts — not chronological latest. Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Twitter/X profile URL or @handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "twitter_user_tweets",
"outputSchema": null
},
{
"description": "Whisper + AI summary of an uploaded file — transcript included; 1 credit/min + 1. Costs 1 credit/min +1. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"file": {
"description": "Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes.",
"type": "string"
},
"language": {
"description": "ISO-639-1 Whisper language hint, e.g. \"en\" or \"tr\". Omit to auto-detect.",
"type": "string"
},
"timestampGranularity": {
"description": "segment (default) or word.",
"type": "string"
},
"translate": {
"description": "When true, translate speech to English before summarizing. Default false.",
"type": "boolean"
}
},
"required": [
"file"
],
"type": "object"
},
"name": "video_summarize",
"outputSchema": null
},
{
"description": "Whisper transcription of an uploaded file — 1 credit/min; noSpeech=true and 0 credits when there is no speech. Costs 1 credit/min. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"file": {
"description": "Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes.",
"type": "string"
},
"language": {
"description": "ISO-639-1 Whisper language hint, e.g. \"en\" or \"tr\". Omit to auto-detect.",
"type": "string"
},
"timestampGranularity": {
"description": "segment (default) or word — word-level timings when Whisper exposes them.",
"type": "string"
},
"translate": {
"description": "When true, translate speech to English (Whisper translations API). Default false.",
"type": "boolean"
}
},
"required": [
"file"
],
"type": "object"
},
"name": "video_transcript",
"outputSchema": null
},
{
"description": "Speech-to-text for YouTube audio. Use it when a video has no captions — or when you want a transcript of what was actually spoken rather than YouTube's published captions. Priced per started minute of audio. Costs 2 credits/min of audio. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"language": {
"description": "Preferred caption language as an ISO code, e.g. \"en\". Defaults to auto-detect.",
"type": "string"
},
"maxCredits": {
"description": "Refuse before STT when estimatedCredits would exceed this (400 cost_exceeds_max, 0 credits). The estimate is on every success and, when the extract miss is retryable, as estimatedCreditsIfRetried.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_audio_transcript",
"outputSchema": null
},
{
"description": "YouTube channel stats — ISO country, createdAt date-only, real banner or null, quote-aware SEO tags, absolute links. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_channel_details",
"outputSchema": null
},
{
"description": "Channel playlists with cursor pagination — id, title, totalVideos, thumbnailUrl. Flat 2 credits/page. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_channel_playlists",
"outputSchema": null
},
{
"description": "Channel Shorts with cursor pagination — same row shape as channel-videos (exact publishedAt). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_channel_shorts",
"outputSchema": null
},
{
"description": "Channel Live tab only — liveStatus per row; 0 credits when hasLiveTab is false. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits when hasLiveTab is true; 0 credits when hasLiveTab is false.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_channel_streams",
"outputSchema": null
},
{
"description": "Channel uploads with cursor pagination — exact publishedAt from reel_item_watch (same as channel-shorts). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"fast": {
"description": "Set true to use YouTube RSS for faster results with less detailed metadata. Leave false when viewCount/duration quality matters.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_channel_videos",
"outputSchema": null
},
{
"description": "Replies under a top-level comment — parentReplyCount + cursor. Nested reply ids return 404. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"commentId": {
"description": "ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id.",
"type": "string"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 50, max 500). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url",
"commentId"
],
"type": "object"
},
"name": "youtube_comment_replies",
"outputSchema": null
},
{
"description": "Get comments on any YouTube video — text, author, likes, and truncated publishedTimeApprox from the relative label, with cursor pagination (nextCursor + hasMore). Flat 2 credits per call. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 50, max 500). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_comments",
"outputSchema": null
},
{
"description": "One community post — list schema + commentCount trio + isEdited. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "YouTube community post URL (/post/Ugkx… or /community?lb=). Trailing whitespace is stripped. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_community_post_details",
"outputSchema": null
},
{
"description": "Community posts — channel{}, publishedTimeApprox, likeCountIsApproximate, linkedVideos[], cursor (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 1 credit per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_community_posts",
"outputSchema": null
},
{
"description": "Videos from youtube.com/hashtag/{name} — nested channel{}, viewCountIsApproximate. Not keyword search. Costs ~20 credits (1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 200). Returns a single window; use limit to size it. No cursor. Billed per result.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Hashtag with or without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES.",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "youtube_hashtag_search",
"outputSchema": null
},
{
"description": "Playlist metadata only — title, channel{}, totalVideos, thumbnailUrl. No videos[]. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "YouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_playlist",
"outputSchema": null
},
{
"description": "Paginated playlist contents — cursor/nextCursor/hasMore, same row shape as channel-videos. Flat 2 credits/page. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"fast": {
"description": "Set true to use YouTube RSS for faster results with less detailed metadata. Leave false when viewCount/duration quality matters.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 50, max 500). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "YouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_playlist_videos",
"outputSchema": null
},
{
"description": "YouTube search with cursor pagination — typed hits, ids, canonical URLs, filters (2 credits/page). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"duration": {
"description": "any | under_4 | 4_20 | over_20. Applies to long-form videos (not Shorts).",
"type": "string"
},
"limit": {
"description": "Max items to return (default 20, max 200). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Search query or keywords (min 2 characters).",
"type": "string"
},
"region": {
"description": "ISO country code for localized results (default US).",
"type": "string"
},
"sortBy": {
"description": "relevance | date | views | rating (alias: popular→views).",
"type": "string"
},
"type": {
"description": "all | videos | shorts | channels | playlists.",
"type": "string"
},
"uploadDate": {
"description": "any | today | this_week | this_month | this_year.",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "youtube_search",
"outputSchema": null
},
{
"description": "Comments on a YouTube Short — rejects long-form videos (≤3 min only). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"cursor": {
"description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.",
"type": "string"
},
"limit": {
"description": "Max items to return (default 50, max 500). Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_shorts_comments",
"outputSchema": null
},
{
"description": "YouTube Short metadata — same schema as Video Details, with isShort:true; long-form videos get HTTP 422. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_shorts_details",
"outputSchema": null
},
{
"description": "AI summary of a YouTube Short — rejects long-form videos (≤3 min only). Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"language": {
"description": "Preferred caption language as an ISO code, e.g. \"en\". Defaults to auto-detect.",
"type": "string"
},
"url": {
"description": "Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_shorts_summarize",
"outputSchema": null
},
{
"description": "Transcript for a YouTube Short — rejects long-form videos (≤3 min only). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"language": {
"description": "Preferred caption language as an ISO code, e.g. \"en\". Defaults to auto-detect.",
"type": "string"
},
"url": {
"description": "Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_shorts_transcript",
"outputSchema": null
},
{
"description": "GPT summary from YouTube's published captions — same source as /transcript. Flat 3 credits; caption-miss 404 is free. Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"language": {
"description": "Preferred caption language as an ISO code, e.g. \"en\". Defaults to auto-detect.",
"type": "string"
},
"url": {
"description": "Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_summarize",
"outputSchema": null
},
{
"description": "YouTube's published captions with timestamps — not speech-to-text. Flat 1 credit; 404 is free. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"language": {
"description": "Preferred caption language as an ISO code, e.g. \"en\". Defaults to auto-detect.",
"type": "string"
},
"url": {
"description": "Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_transcript",
"outputSchema": null
},
{
"description": "YouTube Shorts recommendation sequence — fixed window per call (no cursor), not a global chart. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"limit": {
"description": "Max items to return (default 20, max 100). Returns a single window; use limit to size it. No cursor. Flat 2 credits per call.",
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Optional topic seed for the Shorts recommendation sequence. Omit (or pass trending/shorts) for the default reel feed — not a keyword search.",
"type": "string"
}
},
"type": "object"
},
"name": "youtube_trending_shorts",
"outputSchema": null
},
{
"description": "YouTube video metadata + stats. Always includes degraded / degradedReason — retry when degraded is true. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"url": {
"description": "Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_video_details",
"outputSchema": null
},
{
"description": "SponsorBlock community segments — free while the CC BY-NC-SA commercial-use exception is pending. Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cache": {
"description": "Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.",
"type": "boolean"
},
"categories": {
"description": "Comma-separated categories. Default sponsor,selfpromo,interaction. Also intro,outro,preview,music_offtopic,poi_highlight,filler.",
"type": "string"
},
"minVotes": {
"description": "Minimum SponsorBlock votes to keep a segment. Default 0 (drops community-rejected votes < 0).",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_video_sponsors",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:33d2581196d25fad66419b9cf3dc12dddb212f292309ac9ba73d324143b3cf03 | sha256sum