{"success":true,"data":[{"key":"instagram.profile","platform":"instagram","platform_name":"Instagram","action":"profile","method":"POST","path":"/v1/instagram/profile","title":"Instagram profile","description":"Public profile of an Instagram account: bio, avatar, verification/business flags, follower/following/post counts and story-highlight info.","credits":1,"params":[{"name":"username","type":"string","required":true,"description":"Instagram username, @handle or profile URL.","example":"instagram"}],"one_of":null,"example":{"username":"instagram"},"response":[{"field":"id","type":"string","nullable":false,"description":"Instagram numeric user ID as string"},{"field":"username","type":"string","nullable":false,"description":"Instagram username"},{"field":"full_name","type":"string","nullable":false,"description":"Display name; empty string if none"},{"field":"biography","type":"string","nullable":false,"description":"Bio text; empty string if none"},{"field":"external_url","type":"string","nullable":true,"description":"Website link shown in bio"},{"field":"profile_pic_url","type":"string","nullable":true,"description":"Profile picture URL (standard size)"},{"field":"profile_pic_url_hd","type":"string","nullable":true,"description":"Profile picture URL (high resolution)"},{"field":"is_private","type":"boolean","nullable":false,"description":"Account is private"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Account has verified badge"},{"field":"is_business_account","type":"boolean","nullable":false,"description":"Account is a business account"},{"field":"category_name","type":"string","nullable":true,"description":"Business/creator category label"},{"field":"follower_count","type":"integer","nullable":true,"description":"Number of followers"},{"field":"following_count","type":"integer","nullable":true,"description":"Number of accounts followed"},{"field":"post_count","type":"integer","nullable":true,"description":"Number of posts published"},{"field":"has_highlights","type":"boolean","nullable":true,"description":"Has story highlights; null if unknown/private"},{"field":"highlight_count","type":"integer","nullable":true,"description":"Story highlight count; null if unknown/private"}],"notes":["Private and login-gated accounts return the public subset of fields; unavailable values are null.","Age-restricted profiles return 404 with code AGE_RESTRICTED."]},{"key":"instagram.photos","platform":"instagram","platform_name":"Instagram","action":"photos","method":"POST","path":"/v1/instagram/photos","title":"Instagram posts","description":"An Instagram profile plus its most recent posts (up to 60) with type, caption, thumbnail and engagement counts where available.","credits":2,"params":[{"name":"username","type":"string","required":true,"description":"Instagram username, @handle or profile URL.","example":"nasa"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of posts to return.","example":12,"default":12,"min":1,"max":60}],"one_of":null,"example":{"username":"nasa","limit":12},"response":[{"field":"id","type":"string","nullable":false,"description":"Instagram numeric user ID as string"},{"field":"username","type":"string","nullable":false,"description":"Instagram username"},{"field":"full_name","type":"string","nullable":false,"description":"Display name; empty string if none"},{"field":"biography","type":"string","nullable":false,"description":"Bio text; empty string if none"},{"field":"external_url","type":"string","nullable":true,"description":"Website link shown in bio"},{"field":"profile_pic_url","type":"string","nullable":true,"description":"Profile picture URL (standard size)"},{"field":"profile_pic_url_hd","type":"string","nullable":true,"description":"Profile picture URL (high resolution)"},{"field":"is_private","type":"boolean","nullable":false,"description":"Account is private"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Account has verified badge"},{"field":"is_business_account","type":"boolean","nullable":false,"description":"Account is a business account"},{"field":"category_name","type":"string","nullable":true,"description":"Business/creator category label"},{"field":"follower_count","type":"integer","nullable":true,"description":"Number of followers"},{"field":"following_count","type":"integer","nullable":true,"description":"Number of accounts followed"},{"field":"post_count","type":"integer","nullable":true,"description":"Number of posts published"},{"field":"has_highlights","type":"boolean","nullable":true,"description":"Has story highlights; null if unknown/private"},{"field":"highlight_count","type":"integer","nullable":true,"description":"Story highlight count; null if unknown/private"},{"field":"posts","type":"array<object>","nullable":false,"description":"Most recent posts, newest first, max limit","items":[{"field":"shortcode","type":"string","nullable":false,"description":"Post shortcode (URL code)"},{"field":"link","type":"string","nullable":false,"description":"Post URL (https://www.instagram.com/p/<code>/)"},{"field":"type","type":"string","nullable":false,"description":"'photo', 'video' or 'album'"},{"field":"is_video","type":"boolean","nullable":false,"description":"Post is a video/reel"},{"field":"like_count","type":"integer","nullable":true,"description":"Likes; null when source lacks counts"},{"field":"like_and_view_counts_disabled","type":"boolean","nullable":true,"description":"Owner hid counts; like_count unreliable"},{"field":"comment_count","type":"integer","nullable":true,"description":"Comments; null when source lacks counts"},{"field":"caption","type":"string","nullable":false,"description":"Caption, whitespace-collapsed, max 300 chars"},{"field":"thumbnail_url","type":"string","nullable":true,"description":"Image/cover URL (first item for albums)"},{"field":"taken_at","type":"integer","nullable":true,"description":"Publish time, Unix seconds"},{"field":"taken_at_text","type":"string","nullable":true,"description":"Day-precision date text, e.g. 'December 05, 2025'"}]},{"field":"posts_fetched","type":"integer","nullable":false,"description":"Number of posts returned"},{"field":"posts_source","type":"string","nullable":false,"description":"'feed', 'profile_html', 'profile_fallback' or 'none'"},{"field":"has_more","type":"boolean","nullable":false,"description":"More posts exist beyond those returned"}],"notes":["Returns every instagram.profile field plus up to 60 recent posts, newest first.","posts_source shows where the posts came from. Some sources do not include like and comment counts (null).","Private accounts return an empty posts array."]},{"key":"instagram.post","platform":"instagram","platform_name":"Instagram","action":"post","method":"POST","path":"/v1/instagram/post","title":"Instagram post","description":"A single Instagram post/reel by URL or shortcode: owner, type, likes, comments, views, caption, timestamp, thumbnail and video URL.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"Post, reel or IGTV URL (a bare shortcode also works).","example":"https://www.instagram.com/p/DYxz0A8Kinw/"},{"name":"shortcode","type":"string","required":false,"description":"Post shortcode; alias used only when url is empty.","example":"DYxz0A8Kinw"}],"one_of":[["url"],["shortcode"]],"example":{"url":"https://www.instagram.com/p/DYxz0A8Kinw/"},"response":[{"field":"shortcode","type":"string","nullable":false,"description":"Canonical 11-char shortcode (from og:url)"},{"field":"media_id","type":"string","nullable":true,"description":"'<media_pk>_<owner_id>'; null if owner id missing"},{"field":"link","type":"string","nullable":false,"description":"Canonical post URL"},{"field":"owner_username","type":"string","nullable":true,"description":"Username of the post owner"},{"field":"type","type":"string","nullable":false,"description":"'photo', 'video' or 'album'"},{"field":"is_video","type":"boolean","nullable":false,"description":"True only if a video URL was found"},{"field":"product_type","type":"string","nullable":true,"description":"Instagram product type, e.g. 'feed', 'clips'"},{"field":"like_count","type":"integer","nullable":true,"description":"Number of likes"},{"field":"like_and_view_counts_disabled","type":"boolean","nullable":true,"description":"Owner hid counts; like/view counts unreliable"},{"field":"comment_count","type":"integer","nullable":true,"description":"Number of comments"},{"field":"view_count","type":"integer","nullable":true,"description":"Video plays/views (videos/reels)"},{"field":"taken_at","type":"integer","nullable":true,"description":"Publish time, Unix seconds"},{"field":"taken_at_text","type":"string","nullable":true,"description":"Date text from og:description, e.g. 'May 25, 2026'"},{"field":"caption","type":"string","nullable":false,"description":"Caption, whitespace-collapsed (not truncated)"},{"field":"thumbnail_url","type":"string","nullable":true,"description":"Cover image URL"},{"field":"video_url","type":"string","nullable":true,"description":"Playable video URL (videos/reels)"}],"notes":["Works with post, reel and IGTV links or a bare shortcode.","Returns 404 with PRIVATE_ACCOUNT or AGE_RESTRICTED when the post exists but is not publicly viewable."]},{"key":"instagram.reel","platform":"instagram","platform_name":"Instagram","action":"reel","method":"POST","path":"/v1/instagram/reel","title":"Instagram reel","description":"A single Instagram reel by URL or shortcode: owner, caption, likes, comments, duration, resolution, audio, cover image and a downloadable MP4 link.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"Reel URL (/reel/, /reels/ and /p/ links work; a bare shortcode also works).","example":"https://www.instagram.com/reel/DYxz0A8Kinw/"},{"name":"shortcode","type":"string","required":false,"description":"Reel shortcode; alias used only when url is empty.","example":"DYxz0A8Kinw"}],"one_of":[["url"],["shortcode"]],"example":{"url":"https://www.instagram.com/reel/DYxz0A8Kinw/"},"response":[{"field":"shortcode","type":"string","nullable":false,"description":"Canonical 11-char shortcode (from og:url)"},{"field":"link","type":"string","nullable":false,"description":"Reel URL (https://www.instagram.com/reel/<code>/)"},{"field":"media_id","type":"string","nullable":true,"description":"'<media_pk>_<owner_id>'; null if owner id missing"},{"field":"owner_username","type":"string","nullable":true,"description":"Username of the reel owner"},{"field":"caption","type":"string","nullable":false,"description":"Caption, whitespace-collapsed (not truncated)"},{"field":"like_count","type":"integer","nullable":true,"description":"Number of likes"},{"field":"comment_count","type":"integer","nullable":true,"description":"Number of comments"},{"field":"like_and_view_counts_disabled","type":"boolean","nullable":true,"description":"Owner hid counts; like/view counts unreliable"},{"field":"view_count","type":"integer","nullable":true,"description":"Plays; null when Instagram does not expose them to logged-out visitors"},{"field":"taken_at","type":"integer","nullable":true,"description":"Publish time, Unix seconds"},{"field":"taken_at_text","type":"string","nullable":true,"description":"Date text from og:description, e.g. 'May 25, 2026'"},{"field":"duration_seconds","type":"number","nullable":true,"description":"Video length in seconds, 2 decimals"},{"field":"width","type":"integer","nullable":true,"description":"Original video width in pixels"},{"field":"height","type":"integer","nullable":true,"description":"Original video height in pixels"},{"field":"has_audio","type":"boolean","nullable":true,"description":"Video has an audio track"},{"field":"audio","type":"object","nullable":true,"description":"Sound used in the reel; null if unknown","fields":[{"field":"title","type":"string","nullable":false,"description":"Song title, or the original audio title"},{"field":"artist_name","type":"string","nullable":true,"description":"Display artist for licensed music; null for original audio"},{"field":"artist_username","type":"string","nullable":true,"description":"Instagram username of the artist or of the original audio creator"},{"field":"is_original","type":"boolean","nullable":false,"description":"Original audio by a creator (not licensed music)"}]},{"field":"thumbnail_url","type":"string","nullable":true,"description":"Cover image URL"},{"field":"video_url","type":"string","nullable":true,"description":"MP4 file URL (signed CDN link, expires)"},{"field":"video_url_expires_at","type":"string","nullable":true,"description":"When video_url stops working, ISO 8601 (read from the signed link)"}],"notes":["Accepts reel, post and IGTV links or a bare shortcode. Photo and album posts return 404 with code NOT_A_REEL.","video_url is a signed CDN link that stops working at video_url_expires_at, usually within a few days. Download it before then, for example: curl -L -o reel.mp4 \"<video_url>\"","Returns 404 with PRIVATE_ACCOUNT or AGE_RESTRICTED when the reel exists but is not publicly viewable."]},{"key":"instagram.comments","platform":"instagram","platform_name":"Instagram","action":"comments","method":"POST","path":"/v1/instagram/comments","title":"Instagram comments","description":"The most recent comments (up to 15) on an Instagram post or reel by URL or shortcode: text, time, likes, GIFs and author, plus the post's total comment count.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"Post, reel or IGTV URL (a bare shortcode also works).","example":"https://www.instagram.com/reel/DYxz0A8Kinw/"},{"name":"shortcode","type":"string","required":false,"description":"Post shortcode; alias used only when url is empty.","example":"DYxz0A8Kinw"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of comments to return. Logged-out Instagram exposes the 15 newest top-level comments.","example":15,"default":15,"min":1,"max":15}],"one_of":[["url"],["shortcode"]],"example":{"url":"https://www.instagram.com/reel/DYxz0A8Kinw/","limit":15},"response":[{"field":"shortcode","type":"string","nullable":false,"description":"Canonical 11-char shortcode (from og:url)"},{"field":"link","type":"string","nullable":false,"description":"Post URL (https://www.instagram.com/p/<code>/)"},{"field":"comment_count","type":"integer","nullable":true,"description":"Total number of comments on the post"},{"field":"comments","type":"array<object>","nullable":false,"description":"Most recent top-level comments, newest first, max limit (at most 15)","items":[{"field":"id","type":"string","nullable":false,"description":"Comment ID"},{"field":"text","type":"string","nullable":false,"description":"Comment text; empty for GIF-only (see gif_url) and other media-only comments"},{"field":"created_at","type":"integer","nullable":true,"description":"Comment time, Unix seconds"},{"field":"like_count","type":"integer","nullable":true,"description":"Likes on the comment"},{"field":"reply_count","type":"integer","nullable":true,"description":"Number of replies; null when Instagram leaves it out (common in logged-out data)"},{"field":"gif_url","type":"string","nullable":true,"description":"GIF image URL for GIF comments"},{"field":"author","type":"object","nullable":false,"description":"Comment author","fields":[{"field":"id","type":"string","nullable":true,"description":"Author's numeric user ID as string"},{"field":"username","type":"string","nullable":true,"description":"Author's username"},{"field":"profile_pic_url","type":"string","nullable":true,"description":"Author's profile picture URL"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Author has verified badge"}]}]},{"field":"comments_fetched","type":"integer","nullable":false,"description":"Number of comments returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"The post has more comments than were returned"}],"notes":["Logged-out access shows only the 15 most recent top-level comments of a post, so at most 15 comments are returned even when limit is higher. Older comments and replies are not available; has_more tells you whether more exist.","Comment authors' display names (full_name) are not part of logged-out data and are not returned.","Returns 404 with PRIVATE_ACCOUNT or AGE_RESTRICTED when the post exists but is not publicly viewable."]},{"key":"instagram.reels","platform":"instagram","platform_name":"Instagram","action":"reels","method":"POST","path":"/v1/instagram/reels","title":"Instagram reels","description":"An Instagram profile's Reels tab (up to 50 reels) with views, likes, comments, cover image and approximate publish time, plus profile basics.","credits":2,"params":[{"name":"username","type":"string","required":true,"description":"Instagram username, @handle or profile URL.","example":"nasa"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of reels to return.","example":12,"default":12,"min":1,"max":50}],"one_of":null,"example":{"username":"nasa","limit":12},"response":[{"field":"id","type":"string","nullable":false,"description":"Instagram numeric user ID as string"},{"field":"username","type":"string","nullable":false,"description":"Instagram username"},{"field":"full_name","type":"string","nullable":false,"description":"Display name; empty string if none"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Account has verified badge"},{"field":"profile_pic_url","type":"string","nullable":true,"description":"Profile picture URL"},{"field":"follower_count","type":"integer","nullable":true,"description":"Number of followers"},{"field":"reels","type":"array<object>","nullable":false,"description":"Reels in the order of the profile's Reels tab (newest first), max limit","items":[{"field":"shortcode","type":"string","nullable":false,"description":"Reel shortcode (URL code)"},{"field":"link","type":"string","nullable":false,"description":"Reel URL (https://www.instagram.com/reel/<code>/)"},{"field":"owner_id","type":"string","nullable":true,"description":"Numeric user ID of the reel's owner; differs from id for collab reels"},{"field":"thumbnail_url","type":"string","nullable":true,"description":"Cover image URL"},{"field":"taken_at","type":"integer","nullable":true,"description":"Approximate publish time, Unix seconds (decoded from the media ID; usually a few minutes early)"},{"field":"like_count","type":"integer","nullable":true,"description":"Number of likes"},{"field":"comment_count","type":"integer","nullable":true,"description":"Number of comments"},{"field":"view_count","type":"integer","nullable":true,"description":"Plays"},{"field":"like_and_view_counts_disabled","type":"boolean","nullable":true,"description":"Owner hid counts; like/view counts unreliable"},{"field":"is_pinned","type":"boolean","nullable":false,"description":"Pinned to the top of this profile's Reels tab"}]},{"field":"reels_fetched","type":"integer","nullable":false,"description":"Number of reels returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"More reels exist beyond those returned"}],"notes":["Reels come from the profile's public Reels tab, which also lists collab reels owned by another account (owner_id differs from id).","The logged-out Reels tab has no captions, exact publish times, durations or video URLs. taken_at is decoded from the media ID and is usually a few minutes earlier than the exact time; use instagram.reel with a reel's shortcode for full details.","Returns 404 with PRIVATE_ACCOUNT, AGE_RESTRICTED or LOGIN_REQUIRED when the account exists but its reels are not publicly viewable."]},{"key":"instagram.reels_search","platform":"instagram","platform_name":"Instagram","action":"reels_search","method":"POST","path":"/v1/instagram/reels_search","title":"Instagram reels search","description":"Find Instagram reels for a keyword through search-engine results, then open each reel for its owner, caption, likes, comments, views, duration, audio, cover image and MP4 link.","credits":3,"params":[{"name":"query","type":"string","required":true,"description":"Keyword or phrase to search for, 1-100 characters. site: and !bang operators are ignored.","example":"dogs"},{"name":"date_posted","type":"string","required":false,"description":"Only reels the search engine dates within this window: last-week, last-month or last-year. Omit for any time.","example":"last-month"},{"name":"page","type":"integer","required":false,"description":"Search results page, about 10 reels per page. Values outside 1-10 are rejected.","example":1,"default":1,"min":1,"max":10},{"name":"limit","type":"integer","required":false,"description":"How many of the page's reels to open for full details.","example":10,"default":10,"min":1,"max":10}],"one_of":null,"example":{"query":"dogs","date_posted":"last-month"},"response":[{"field":"query","type":"string","nullable":false,"description":"Query as searched (whitespace-collapsed, site: operators removed)"},{"field":"date_posted","type":"string","nullable":true,"description":"'last-week', 'last-month', 'last-year' or null (any time)"},{"field":"page","type":"integer","nullable":false,"description":"Results page returned"},{"field":"reels","type":"array<object>","nullable":false,"description":"Reels in search-engine order, at most limit","items":[{"field":"shortcode","type":"string","nullable":false,"description":"Reel shortcode (URL code)"},{"field":"link","type":"string","nullable":false,"description":"Reel URL (https://www.instagram.com/reel/<code>/)"},{"field":"details_available","type":"boolean","nullable":false,"description":"Reel page was read; false leaves the detail fields null"},{"field":"details_error","type":"string","nullable":true,"description":"Why details are missing: NOT_A_REEL, NOT_FOUND, PRIVATE_ACCOUNT, AGE_RESTRICTED, TARGET_BLOCKED, TIMEOUT, PARSE_ERROR or SKIPPED; null when details_available"},{"field":"owner_username","type":"string","nullable":true,"description":"Username of the reel owner"},{"field":"caption","type":"string","nullable":true,"description":"Caption, whitespace-collapsed (not truncated)"},{"field":"like_count","type":"integer","nullable":true,"description":"Number of likes"},{"field":"comment_count","type":"integer","nullable":true,"description":"Number of comments"},{"field":"like_and_view_counts_disabled","type":"boolean","nullable":true,"description":"Owner hid counts; like/view counts unreliable"},{"field":"view_count","type":"integer","nullable":true,"description":"Plays; null when Instagram does not expose them to logged-out visitors"},{"field":"taken_at","type":"integer","nullable":true,"description":"Publish time, Unix seconds"},{"field":"duration_seconds","type":"number","nullable":true,"description":"Video length in seconds, 2 decimals"},{"field":"width","type":"integer","nullable":true,"description":"Original video width in pixels"},{"field":"height","type":"integer","nullable":true,"description":"Original video height in pixels"},{"field":"audio","type":"object","nullable":true,"description":"Sound used in the reel; null if unknown","fields":[{"field":"title","type":"string","nullable":false,"description":"Song title, or the original audio title"},{"field":"artist_name","type":"string","nullable":true,"description":"Display artist for licensed music; null for original audio"},{"field":"artist_username","type":"string","nullable":true,"description":"Instagram username of the artist or of the original audio creator"},{"field":"is_original","type":"boolean","nullable":false,"description":"Original audio by a creator (not licensed music)"}]},{"field":"thumbnail_url","type":"string","nullable":true,"description":"Cover image URL"},{"field":"video_url","type":"string","nullable":true,"description":"MP4 file URL (signed CDN link, expires)"},{"field":"video_url_expires_at","type":"string","nullable":true,"description":"When video_url stops working, ISO 8601 (read from the signed link)"},{"field":"search_title","type":"string","nullable":true,"description":"Result title shown by the search engine"},{"field":"search_snippet","type":"string","nullable":true,"description":"Result snippet as indexed, usually '<likes>, <comments> - <username> on <date>: <caption>'"}]},{"field":"reels_found","type":"integer","nullable":false,"description":"Distinct reels found on this results page, before limit"},{"field":"reels_fetched","type":"integer","nullable":false,"description":"Reels whose details were read (details_available true)"},{"field":"has_more","type":"boolean","nullable":false,"description":"The search engine has another results page (request page + 1)"}],"notes":["Instagram's own search needs a login, so reels are found through a public search engine's index (DuckDuckGo, query site:instagram.com/reel <query>). Coverage, freshness and order follow that index, not Instagram: new reels show up with a delay and popular reels are not guaranteed.","date_posted uses the date the search engine assigns to each page, which is usually but not always the posting date. Check taken_at for the exact publish time.","Up to limit reels are opened on Instagram one by one, so a call can take 10-30 seconds. A reel that cannot be read stays in the list with its search_title and search_snippet, details_available false and the reason in details_error.","video_url is a signed CDN link that stops working at video_url_expires_at, usually within a few days. Download it before then, for example: curl -L -o reel.mp4 \"<video_url>\"","page above 1 needs an extra search request and is blocked by the search engine more often. If the search engine blocks the request, or Instagram blocks every reel on the page, the call fails (usually TARGET_BLOCKED) and the credits are refunded."]},{"key":"x.profile","platform":"x","platform_name":"X (Twitter)","action":"profile","method":"POST","path":"/v1/x/profile","title":"X profile","description":"Public X (Twitter) profile: bio, location, verification, follower/following/tweet/like/media/listed counts, avatar and banner.","credits":1,"params":[{"name":"username","type":"string","required":true,"description":"X username, @handle or profile URL.","example":"tesla"}],"one_of":null,"example":{"username":"tesla"},"response":[{"field":"user_id","type":"string","nullable":true,"description":"X numeric user ID (rest_id)"},{"field":"username","type":"string","nullable":false,"description":"Screen name (canonical casing)"},{"field":"full_name","type":"string","nullable":false,"description":"Display name"},{"field":"biography","type":"string","nullable":false,"description":"Bio text; empty string if none"},{"field":"location","type":"string","nullable":false,"description":"Profile location; empty string if none"},{"field":"external_url","type":"string","nullable":true,"description":"Expanded profile website URL"},{"field":"is_private","type":"boolean","nullable":false,"description":"Tweets are protected"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Legacy verified OR blue-verified"},{"field":"is_blue_verified","type":"boolean","nullable":false,"description":"Has X Premium (blue) checkmark"},{"field":"follower_count","type":"integer","nullable":true,"description":"Number of followers"},{"field":"following_count","type":"integer","nullable":true,"description":"Number of accounts followed"},{"field":"tweet_count","type":"integer","nullable":true,"description":"Total tweets incl. retweets"},{"field":"like_count","type":"integer","nullable":true,"description":"Tweets the user has liked"},{"field":"media_count","type":"integer","nullable":true,"description":"Number of media posts"},{"field":"listed_count","type":"integer","nullable":true,"description":"Number of lists including the user"},{"field":"created_at","type":"string","nullable":true,"description":"Join date, X legacy format"},{"field":"profile_image_url","type":"string","nullable":true,"description":"Full-size avatar URL"},{"field":"profile_banner_url","type":"string","nullable":true,"description":"Profile banner image URL"}],"notes":["created_at uses the X date format, for example \"Wed Jun 02 20:12:29 +0000 2010\"."]},{"key":"x.posts","platform":"x","platform_name":"X (Twitter)","action":"posts","method":"POST","path":"/v1/x/posts","title":"X posts","description":"An X profile plus its recent timeline (up to 60 tweets incl. pinned, retweets and own replies) with text, media and engagement counts.","credits":2,"params":[{"name":"username","type":"string","required":true,"description":"X username, @handle or profile URL.","example":"tesla"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of tweets to return.","example":20,"default":20,"min":1,"max":60}],"one_of":null,"example":{"username":"tesla","limit":20},"response":[{"field":"user_id","type":"string","nullable":true,"description":"X numeric user ID (rest_id)"},{"field":"username","type":"string","nullable":false,"description":"Screen name (canonical casing)"},{"field":"full_name","type":"string","nullable":false,"description":"Display name"},{"field":"biography","type":"string","nullable":false,"description":"Bio text; empty string if none"},{"field":"location","type":"string","nullable":false,"description":"Profile location; empty string if none"},{"field":"external_url","type":"string","nullable":true,"description":"Expanded profile website URL"},{"field":"is_private","type":"boolean","nullable":false,"description":"Tweets are protected"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Legacy verified OR blue-verified"},{"field":"is_blue_verified","type":"boolean","nullable":false,"description":"Has X Premium (blue) checkmark"},{"field":"follower_count","type":"integer","nullable":true,"description":"Number of followers"},{"field":"following_count","type":"integer","nullable":true,"description":"Number of accounts followed"},{"field":"tweet_count","type":"integer","nullable":true,"description":"Total tweets incl. retweets"},{"field":"like_count","type":"integer","nullable":true,"description":"Tweets the user has liked"},{"field":"media_count","type":"integer","nullable":true,"description":"Number of media posts"},{"field":"listed_count","type":"integer","nullable":true,"description":"Number of lists including the user"},{"field":"created_at","type":"string","nullable":true,"description":"Join date, X legacy format"},{"field":"profile_image_url","type":"string","nullable":true,"description":"Full-size avatar URL"},{"field":"profile_banner_url","type":"string","nullable":true,"description":"Profile banner image URL"},{"field":"posts","type":"array<object>","nullable":false,"description":"Timeline tweets in timeline order, max limit","items":[{"field":"id","type":"string","nullable":false,"description":"Tweet ID (original tweet for retweets)"},{"field":"link","type":"string","nullable":true,"description":"https://x.com/<author>/status/<id>"},{"field":"text","type":"string","nullable":false,"description":"Full text (long-form note text if present)"},{"field":"lang","type":"string","nullable":true,"description":"Language code detected by X"},{"field":"created_at","type":"string","nullable":true,"description":"Post time, X legacy date format"},{"field":"author_username","type":"string","nullable":true,"description":"Author screen name (original author for RTs)"},{"field":"is_pinned","type":"boolean","nullable":false,"description":"Tweet is the pinned tweet"},{"field":"is_retweet","type":"boolean","nullable":false,"description":"Entry is a retweet"},{"field":"retweeted_from","type":"string","nullable":true,"description":"Original author's username when retweet"},{"field":"is_reply","type":"boolean","nullable":false,"description":"Tweet is a reply"},{"field":"in_reply_to","type":"string","nullable":true,"description":"Screen name being replied to"},{"field":"is_quote","type":"boolean","nullable":false,"description":"Tweet quotes another tweet"},{"field":"quoted","type":"object","nullable":true,"description":"Quoted tweet summary","fields":[{"field":"id","type":"string","nullable":true,"description":"Quoted tweet ID"},{"field":"username","type":"string","nullable":true,"description":"Quoted tweet author"},{"field":"text","type":"string","nullable":false,"description":"Quoted tweet text"},{"field":"link","type":"string","nullable":true,"description":"Quoted tweet URL"}]},{"field":"reply_count","type":"integer","nullable":true,"description":"Number of replies"},{"field":"retweet_count","type":"integer","nullable":true,"description":"Number of retweets"},{"field":"quote_count","type":"integer","nullable":true,"description":"Number of quote tweets"},{"field":"like_count","type":"integer","nullable":true,"description":"Number of likes"},{"field":"bookmark_count","type":"integer","nullable":true,"description":"Number of bookmarks"},{"field":"view_count","type":"integer","nullable":true,"description":"Number of views"},{"field":"media","type":"array<object>","nullable":false,"description":"Attached media; empty array if none","items":[{"field":"type","type":"string","nullable":false,"description":"'photo', 'video' or 'animated_gif'"},{"field":"image_url","type":"string","nullable":true,"description":"Image or video thumbnail URL"},{"field":"video_url","type":"string","nullable":true,"description":"Highest-bitrate MP4 URL"},{"field":"duration_ms","type":"integer","nullable":true,"description":"Video duration in milliseconds"},{"field":"width","type":"integer","nullable":true,"description":"Original width in pixels"},{"field":"height","type":"integer","nullable":true,"description":"Original height in pixels"}]}]},{"field":"posts_fetched","type":"integer","nullable":false,"description":"Number of tweets returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"More tweets exist beyond those returned"}],"notes":["Includes the pinned post, reposts and the account's own replies, up to 60 items.","For reposts the post fields describe the original post and retweeted_from holds its author.","Protected accounts return an empty posts array."]},{"key":"x.post","platform":"x","platform_name":"X (Twitter)","action":"post","method":"POST","path":"/v1/x/post","title":"X post","description":"A single X post (tweet) by URL or ID: text, author, reply/quote/retweet info, media and engagement counts including views.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"Tweet URL (a bare tweet ID also works).","example":"https://x.com/jack/status/20"},{"name":"id","type":"string","required":false,"description":"Tweet ID; used only when url is empty.","example":"20"}],"one_of":[["url"],["id"]],"example":{"url":"https://x.com/jack/status/20"},"response":[{"field":"id","type":"string","nullable":false,"description":"Tweet ID (original tweet if a retweet)"},{"field":"link","type":"string","nullable":true,"description":"https://x.com/<author>/status/<id>"},{"field":"text","type":"string","nullable":false,"description":"Full text (long-form note text if present)"},{"field":"lang","type":"string","nullable":true,"description":"Language code detected by X"},{"field":"created_at","type":"string","nullable":true,"description":"Post time, X legacy date format"},{"field":"author_username","type":"string","nullable":true,"description":"Author screen name"},{"field":"is_pinned","type":"boolean","nullable":false,"description":"Always false for this endpoint"},{"field":"is_retweet","type":"boolean","nullable":false,"description":"Tweet is a retweet"},{"field":"retweeted_from","type":"string","nullable":true,"description":"Original author's username when retweet"},{"field":"is_reply","type":"boolean","nullable":false,"description":"Tweet is a reply"},{"field":"in_reply_to","type":"string","nullable":true,"description":"Screen name being replied to"},{"field":"is_quote","type":"boolean","nullable":false,"description":"Tweet quotes another tweet"},{"field":"quoted","type":"object","nullable":true,"description":"Quoted tweet summary","fields":[{"field":"id","type":"string","nullable":true,"description":"Quoted tweet ID"},{"field":"username","type":"string","nullable":true,"description":"Quoted tweet author"},{"field":"text","type":"string","nullable":false,"description":"Quoted tweet text"},{"field":"link","type":"string","nullable":true,"description":"Quoted tweet URL"}]},{"field":"reply_count","type":"integer","nullable":true,"description":"Number of replies"},{"field":"retweet_count","type":"integer","nullable":true,"description":"Number of retweets"},{"field":"quote_count","type":"integer","nullable":true,"description":"Number of quote tweets"},{"field":"like_count","type":"integer","nullable":true,"description":"Number of likes"},{"field":"bookmark_count","type":"integer","nullable":true,"description":"Number of bookmarks"},{"field":"view_count","type":"integer","nullable":true,"description":"Number of views"},{"field":"media","type":"array<object>","nullable":false,"description":"Attached media; empty array if none","items":[{"field":"type","type":"string","nullable":false,"description":"'photo', 'video' or 'animated_gif'"},{"field":"image_url","type":"string","nullable":true,"description":"Image or video thumbnail URL"},{"field":"video_url","type":"string","nullable":true,"description":"Highest-bitrate MP4 URL"},{"field":"duration_ms","type":"integer","nullable":true,"description":"Video duration in milliseconds"},{"field":"width","type":"integer","nullable":true,"description":"Original width in pixels"},{"field":"height","type":"integer","nullable":true,"description":"Original height in pixels"}]}],"notes":["Send id as a string. Post IDs are larger than JSON numbers can hold exactly; numeric IDs are rejected."]},{"key":"tiktok.profile","platform":"tiktok","platform_name":"TikTok","action":"profile","method":"POST","path":"/v1/tiktok/profile","title":"TikTok profile","description":"Public TikTok profile: nickname, bio, link, verification, follower/following/like/video counts, avatar, region and creation date.","credits":1,"params":[{"name":"username","type":"string","required":true,"description":"TikTok username, @handle or profile URL.","example":"khaby.lame"}],"one_of":null,"example":{"username":"khaby.lame"},"response":[{"field":"user_id","type":"string","nullable":true,"description":"TikTok numeric user ID"},{"field":"username","type":"string","nullable":false,"description":"Unique username (uniqueId)"},{"field":"full_name","type":"string","nullable":false,"description":"Display name (nickname)"},{"field":"biography","type":"string","nullable":false,"description":"Bio text (signature)"},{"field":"external_url","type":"string","nullable":true,"description":"Bio link URL"},{"field":"is_private","type":"boolean","nullable":false,"description":"Account is private"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Account has verified badge"},{"field":"follower_count","type":"integer","nullable":true,"description":"Number of followers"},{"field":"following_count","type":"integer","nullable":true,"description":"Number of accounts followed"},{"field":"like_count","type":"integer","nullable":true,"description":"Total likes (hearts) received"},{"field":"video_count","type":"integer","nullable":true,"description":"Number of videos posted"},{"field":"profile_image_url","type":"string","nullable":true,"description":"Largest available avatar URL"},{"field":"region","type":"string","nullable":true,"description":"Account region code"},{"field":"created_at","type":"string","nullable":true,"description":"Account creation time, ISO 8601"}],"notes":[]},{"key":"tiktok.posts","platform":"tiktok","platform_name":"TikTok","action":"posts","method":"POST","path":"/v1/tiktok/posts","title":"TikTok videos","description":"A TikTok profile summary plus its newest videos (max 12, from the public embed) with cover, play URL and play count.","credits":1,"params":[{"name":"username","type":"string","required":true,"description":"TikTok username, @handle or profile URL.","example":"khaby.lame"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of videos to return.","example":12,"default":12,"min":1,"max":12}],"one_of":null,"example":{"username":"khaby.lame","limit":12},"response":[{"field":"user_id","type":"string","nullable":true,"description":"TikTok numeric user ID"},{"field":"username","type":"string","nullable":false,"description":"Unique username (uniqueId)"},{"field":"nickname","type":"string","nullable":false,"description":"Display name"},{"field":"signature","type":"string","nullable":false,"description":"Bio text"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Account has verified badge"},{"field":"is_private","type":"boolean","nullable":false,"description":"Account is private"},{"field":"follower_count","type":"integer","nullable":true,"description":"Number of followers"},{"field":"following_count","type":"integer","nullable":true,"description":"Number of accounts followed"},{"field":"heart_count","type":"integer","nullable":true,"description":"Total likes (hearts) received"},{"field":"avatar_url","type":"string","nullable":true,"description":"Avatar thumbnail URL"},{"field":"posts","type":"array<object>","nullable":false,"description":"Newest videos from the embed, max limit","items":[{"field":"id","type":"string","nullable":false,"description":"Video ID"},{"field":"link","type":"string","nullable":false,"description":"Video URL on tiktok.com"},{"field":"description","type":"string","nullable":false,"description":"Video caption"},{"field":"cover_url","type":"string","nullable":true,"description":"Cover image URL"},{"field":"origin_cover_url","type":"string","nullable":true,"description":"Original cover image URL"},{"field":"dynamic_cover_url","type":"string","nullable":true,"description":"Animated cover URL"},{"field":"play_url","type":"string","nullable":true,"description":"Video playback URL (expiring CDN link)"},{"field":"play_count","type":"integer","nullable":true,"description":"Number of plays"},{"field":"width","type":"integer","nullable":true,"description":"Video width in pixels"},{"field":"height","type":"integer","nullable":true,"description":"Video height in pixels"},{"field":"ratio","type":"string","nullable":true,"description":"Resolution/ratio label from TikTok"},{"field":"is_private","type":"boolean","nullable":false,"description":"Video is private"}]},{"field":"posts_fetched","type":"integer","nullable":false,"description":"Number of videos returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"Embed list had more than limit"}],"notes":["Returns the newest videos (up to 12) with play counts. Use tiktok.video for full per-video stats.","The profile block uses nickname, signature, heart_count and avatar_url."]},{"key":"tiktok.video","platform":"tiktok","platform_name":"TikTok","action":"video","method":"POST","path":"/v1/tiktok/video","title":"TikTok video","description":"A single TikTok video by URL or ID: caption, timestamp, like/comment/share/play/save counts, cover, duration, author and music.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"TikTok video URL.","example":"https://www.tiktok.com/@scout2015/video/6718335390845095173"},{"name":"video","type":"string","required":false,"description":"Alias of url (URL or ID).","example":"https://www.tiktok.com/embed/v2/6718335390845095173"},{"name":"id","type":"string","required":false,"description":"Numeric video ID.","example":"6718335390845095173"}],"one_of":[["url"],["video"],["id"]],"example":{"url":"https://www.tiktok.com/@scout2015/video/6718335390845095173"},"response":[{"field":"id","type":"string","nullable":false,"description":"Video ID"},{"field":"link","type":"string","nullable":true,"description":"Video URL on tiktok.com"},{"field":"description","type":"string","nullable":false,"description":"Video caption"},{"field":"created_at","type":"string","nullable":true,"description":"Publish time, ISO 8601"},{"field":"like_count","type":"integer","nullable":true,"description":"Number of likes"},{"field":"comment_count","type":"integer","nullable":true,"description":"Number of comments"},{"field":"share_count","type":"integer","nullable":true,"description":"Number of shares"},{"field":"play_count","type":"integer","nullable":true,"description":"Number of plays"},{"field":"save_count","type":"integer","nullable":true,"description":"Number of saves (collects)"},{"field":"cover_url","type":"string","nullable":true,"description":"Cover image URL"},{"field":"dynamic_cover_url","type":"string","nullable":true,"description":"Animated cover URL"},{"field":"duration","type":"integer","nullable":true,"description":"Video duration in seconds"},{"field":"author","type":"object","nullable":false,"description":"Video author","fields":[{"field":"user_id","type":"string","nullable":true,"description":"Author numeric user ID"},{"field":"username","type":"string","nullable":false,"description":"Author unique username"},{"field":"nickname","type":"string","nullable":false,"description":"Author display name"},{"field":"signature","type":"string","nullable":false,"description":"Author bio text"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Author has verified badge"},{"field":"avatar_url","type":"string","nullable":true,"description":"Author avatar URL"}]},{"field":"music","type":"object","nullable":false,"description":"Sound used in the video","fields":[{"field":"id","type":"string","nullable":true,"description":"Music/sound ID"},{"field":"title","type":"string","nullable":false,"description":"Sound title"},{"field":"author","type":"string","nullable":false,"description":"Sound author name"},{"field":"is_original","type":"boolean","nullable":false,"description":"Original sound by the creator"}]}],"notes":["Short share links (vm.tiktok.com, tiktok.com/t/...) are not supported. Use the full video URL.","Send id as a string."]},{"key":"tiktok.comments","platform":"tiktok","platform_name":"TikTok","action":"comments","method":"POST","path":"/v1/tiktok/comments","title":"TikTok video comments","description":"Top-level comments on a TikTok video by URL or ID: text, likes, reply count, time, pinned and creator-liked flags and the commenter, plus the video's total comment count. Up to 100 comments.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"TikTok video URL.","example":"https://www.tiktok.com/@khaby.lame/video/7694335322922044703"},{"name":"id","type":"string","required":false,"description":"Numeric video ID.","example":"7694335322922044703"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of comments to return.","example":20,"default":20,"min":1,"max":100}],"one_of":[["url"],["id"]],"example":{"url":"https://www.tiktok.com/@khaby.lame/video/7694335322922044703","limit":20},"response":[{"field":"video_id","type":"string","nullable":false,"description":"Video ID"},{"field":"comment_count","type":"integer","nullable":true,"description":"Total comments on the video as reported by TikTok"},{"field":"comments","type":"array<object>","nullable":false,"description":"Top-level comments in TikTok's relevance order, max limit","items":[{"field":"id","type":"string","nullable":false,"description":"Comment ID"},{"field":"text","type":"string","nullable":false,"description":"Comment text"},{"field":"like_count","type":"integer","nullable":true,"description":"Number of likes"},{"field":"reply_count","type":"integer","nullable":true,"description":"Number of replies"},{"field":"created_at","type":"string","nullable":true,"description":"Comment time, ISO 8601"},{"field":"is_author_liked","type":"boolean","nullable":false,"description":"Liked by the video's creator"},{"field":"is_pinned","type":"boolean","nullable":false,"description":"Pinned by the video's creator"},{"field":"language","type":"string","nullable":true,"description":"Detected comment language code"},{"field":"image_url","type":"string","nullable":true,"description":"Attached image URL (image comments)"},{"field":"author","type":"object","nullable":false,"description":"Commenter","fields":[{"field":"user_id","type":"string","nullable":true,"description":"Commenter numeric user ID"},{"field":"username","type":"string","nullable":false,"description":"Commenter unique username"},{"field":"nickname","type":"string","nullable":false,"description":"Commenter display name"},{"field":"avatar_url","type":"string","nullable":true,"description":"Commenter avatar URL"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Commenter has verified badge"}]}]},{"field":"comments_fetched","type":"integer","nullable":false,"description":"Number of comments returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"More comments exist beyond those returned"}],"notes":["Replies are not included; reply_count shows how many each comment has.","TikTok hides some comments, so fewer than comment_count may be returned.","A video with comments turned off returns 404 with code COMMENTS_DISABLED. A video without comments returns an empty list.","Short share links (vm.tiktok.com, tiktok.com/t/...) are not supported. Use the full URL. Send id as a string."]},{"key":"tiktok.transcript","platform":"tiktok","platform_name":"TikTok","action":"transcript","method":"POST","path":"/v1/tiktok/transcript","title":"TikTok video transcript","description":"Timestamped transcript of a TikTok video from its captions (auto-generated or creator-added), with the caption languages available. Pick a language with lang.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"TikTok video URL.","example":"https://www.tiktok.com/@esan_doctor/video/7696087114202647826"},{"name":"id","type":"string","required":false,"description":"Numeric video ID.","example":"7696087114202647826"},{"name":"lang","type":"string","required":false,"description":"Caption language: a code like en or es, or TikTok's code like eng-US. Defaults to the video's original language.","example":"en"}],"one_of":[["url"],["id"]],"example":{"url":"https://www.tiktok.com/@esan_doctor/video/7696087114202647826"},"response":[{"field":"video_id","type":"string","nullable":false,"description":"Video ID"},{"field":"language","type":"string","nullable":false,"description":"TikTok language code of the returned captions, e.g. eng-US"},{"field":"is_auto_generated","type":"boolean","nullable":true,"description":"Captions were generated automatically (speech recognition or machine translation)"},{"field":"available_languages","type":"array<object>","nullable":false,"description":"Caption languages available for the video","items":[{"field":"code","type":"string","nullable":false,"description":"TikTok language code, e.g. eng-US"},{"field":"is_auto_generated","type":"boolean","nullable":true,"description":"Captions in this language were generated automatically"}]},{"field":"segments","type":"array<object>","nullable":false,"description":"Caption lines in order","items":[{"field":"start","type":"number","nullable":false,"description":"Start time in seconds"},{"field":"duration","type":"number","nullable":false,"description":"Duration in seconds"},{"field":"text","type":"string","nullable":false,"description":"Caption text"}]},{"field":"text","type":"string","nullable":false,"description":"Full transcript as one string"},{"field":"segment_count","type":"integer","nullable":false,"description":"Number of segments"}],"notes":["Only videos with captions have a transcript. Others, and languages not offered, return 404 with code NO_TRANSCRIPT.","Times are in seconds, rounded to 2 decimals.","Short share links (vm.tiktok.com, tiktok.com/t/...) are not supported. Use the full URL. Send id as a string."]},{"key":"tiktok.music","platform":"tiktok","platform_name":"TikTok","action":"music","method":"POST","path":"/v1/tiktok/music","title":"TikTok sound","description":"A TikTok sound by URL or ID: title, artist, duration, original-sound flag, cover, audio URL and how many videos use it, plus the top videos using it (max 12, from the public embed).","credits":2,"params":[{"name":"url","type":"string","required":false,"description":"TikTok sound URL (tiktok.com/music/...).","example":"https://www.tiktok.com/music/original-sound-7694335437137087262"},{"name":"id","type":"string","required":false,"description":"Numeric sound (music) ID.","example":"7694335437137087262"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of videos to return.","example":12,"default":12,"min":1,"max":12}],"one_of":[["url"],["id"]],"example":{"url":"https://www.tiktok.com/music/original-sound-7694335437137087262","limit":12},"response":[{"field":"id","type":"string","nullable":false,"description":"Sound (music) ID"},{"field":"title","type":"string","nullable":true,"description":"Sound title"},{"field":"author","type":"string","nullable":true,"description":"Sound author or artist name"},{"field":"album","type":"string","nullable":true,"description":"Album name (licensed music)"},{"field":"duration","type":"integer","nullable":true,"description":"Sound duration in seconds"},{"field":"is_original","type":"boolean","nullable":true,"description":"Original sound made by a creator"},{"field":"cover_url","type":"string","nullable":true,"description":"Sound cover image URL"},{"field":"play_url","type":"string","nullable":true,"description":"Audio URL (expiring CDN link)"},{"field":"video_count","type":"integer","nullable":true,"description":"Number of videos using the sound"},{"field":"link","type":"string","nullable":false,"description":"Sound URL on tiktok.com"},{"field":"videos","type":"array<object>","nullable":false,"description":"Top videos using the sound from the embed, max limit","items":[{"field":"id","type":"string","nullable":false,"description":"Video ID"},{"field":"link","type":"string","nullable":false,"description":"Video URL on tiktok.com"},{"field":"description","type":"string","nullable":false,"description":"Video caption"},{"field":"cover_url","type":"string","nullable":true,"description":"Cover image URL"},{"field":"origin_cover_url","type":"string","nullable":true,"description":"Original cover image URL"},{"field":"dynamic_cover_url","type":"string","nullable":true,"description":"Animated cover URL"},{"field":"play_url","type":"string","nullable":true,"description":"Video playback URL (expiring CDN link)"},{"field":"play_count","type":"integer","nullable":true,"description":"Number of plays"},{"field":"width","type":"integer","nullable":true,"description":"Video width in pixels"},{"field":"height","type":"integer","nullable":true,"description":"Video height in pixels"},{"field":"ratio","type":"string","nullable":true,"description":"Resolution/ratio label from TikTok"},{"field":"is_private","type":"boolean","nullable":false,"description":"Video is private"},{"field":"author_username","type":"string","nullable":true,"description":"Username of the video's creator"}]},{"field":"videos_fetched","type":"integer","nullable":false,"description":"Number of videos returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"Embed list had more than limit"}],"notes":["Returns the top videos (up to 12) that TikTok's public embed shows; video_count is the full total.","Video items use the same fields as tiktok.posts plus author_username.","title, duration, is_original and play_url are read from the first video and are null if TikTok does not return it."]},{"key":"tiktok.hashtag","platform":"tiktok","platform_name":"TikTok","action":"hashtag","method":"POST","path":"/v1/tiktok/hashtag","title":"TikTok hashtag stats","description":"TikTok hashtag stats: ID, title, description, total video and view counts, and cover image.","credits":1,"params":[{"name":"hashtag","type":"string","required":true,"description":"Hashtag with or without #, or a tiktok.com/tag/... URL.","example":"learnfromkhaby"}],"one_of":null,"example":{"hashtag":"learnfromkhaby"},"response":[{"field":"id","type":"string","nullable":true,"description":"Hashtag (challenge) ID"},{"field":"title","type":"string","nullable":false,"description":"Hashtag name without #"},{"field":"description","type":"string","nullable":false,"description":"Hashtag description"},{"field":"link","type":"string","nullable":true,"description":"Hashtag page URL on tiktok.com"},{"field":"video_count","type":"integer","nullable":true,"description":"Number of videos with the hashtag"},{"field":"view_count","type":"integer","nullable":true,"description":"Total views of those videos"},{"field":"cover_url","type":"string","nullable":true,"description":"Hashtag cover image URL"},{"field":"is_commerce","type":"boolean","nullable":false,"description":"Branded (commercial) hashtag"}],"notes":["Returns hashtag stats only, not the hashtag's videos.","Hashtags are matched case-insensitively."]},{"key":"youtube.profile","platform":"youtube","platform_name":"YouTube","action":"profile","method":"POST","path":"/v1/youtube/profile","title":"YouTube channel","description":"YouTube channel info by handle, channel ID or URL: title, description, approximate subscriber/video counts, avatar and banner.","credits":1,"params":[{"name":"username","type":"string","required":false,"description":"Channel @handle, handle, channel ID or channel URL.","example":"@MrBeast"},{"name":"channel","type":"string","required":false,"description":"Alias of username (same accepted formats).","example":"UCX6OQ3DkcsbYNE6H8uQQuVA"}],"one_of":[["username"],["channel"]],"example":{"username":"@MrBeast"},"response":[{"field":"channel_id","type":"string","nullable":true,"description":"Channel ID (UC...)"},{"field":"handle","type":"string","nullable":true,"description":"Channel handle including '@'"},{"field":"title","type":"string","nullable":false,"description":"Channel name"},{"field":"description","type":"string","nullable":false,"description":"Channel description"},{"field":"keywords","type":"string","nullable":false,"description":"Channel keywords as one string"},{"field":"subscriber_count","type":"integer","nullable":true,"description":"Approximate subscribers parsed from rounded text"},{"field":"subscriber_count_text","type":"string","nullable":true,"description":"Raw text, e.g. '521M subscribers'"},{"field":"video_count","type":"integer","nullable":true,"description":"Approximate video count from rounded text"},{"field":"video_count_text","type":"string","nullable":true,"description":"Raw text, e.g. '1K videos'"},{"field":"is_family_safe","type":"boolean","nullable":false,"description":"Channel flagged family safe"},{"field":"channel_url","type":"string","nullable":true,"description":"Vanity or canonical channel URL"},{"field":"avatar_url","type":"string","nullable":true,"description":"Largest avatar image URL"},{"field":"banner_url","type":"string","nullable":true,"description":"Largest banner image URL"},{"field":"available_countries","type":"integer","nullable":true,"description":"COUNT of available country codes"}],"notes":["Subscriber and video counts are YouTube's rounded figures (for example 521M).","Legacy /user/ and /c/ links are not supported. Use the @handle or the channel ID (UC...)."]},{"key":"youtube.videos","platform":"youtube","platform_name":"YouTube","action":"videos","method":"POST","path":"/v1/youtube/videos","title":"YouTube videos","description":"A YouTube channel summary plus its latest uploads (max 30) with title, approximate views, relative publish time, duration and thumbnail.","credits":1,"params":[{"name":"username","type":"string","required":false,"description":"Channel @handle, handle, channel ID or channel URL.","example":"MrBeast"},{"name":"channel","type":"string","required":false,"description":"Alias of username (same accepted formats).","example":"UCX6OQ3DkcsbYNE6H8uQQuVA"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of videos to return.","example":5,"default":12,"min":1,"max":30}],"one_of":[["username"],["channel"]],"example":{"username":"MrBeast","limit":5},"response":[{"field":"channel_id","type":"string","nullable":true,"description":"Channel ID (UC...)"},{"field":"title","type":"string","nullable":false,"description":"Channel name"},{"field":"channel_url","type":"string","nullable":true,"description":"Vanity or canonical channel URL"},{"field":"avatar_url","type":"string","nullable":true,"description":"Largest avatar image URL"},{"field":"subscriber_count","type":"integer","nullable":true,"description":"Approximate subscribers from rounded text"},{"field":"subscriber_count_text","type":"string","nullable":true,"description":"Raw text, e.g. '521M subscribers'"},{"field":"videos_fetched","type":"integer","nullable":false,"description":"Number of videos returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"First page held more than limit"},{"field":"videos","type":"array<object>","nullable":false,"description":"Latest uploads from Videos tab, max limit","items":[{"field":"video_id","type":"string","nullable":false,"description":"11-char video ID"},{"field":"link","type":"string","nullable":false,"description":"Watch URL"},{"field":"title","type":"string","nullable":false,"description":"Video title"},{"field":"view_count","type":"integer","nullable":true,"description":"Approximate views from rounded text"},{"field":"view_count_text","type":"string","nullable":true,"description":"Raw text, e.g. '74M views'"},{"field":"published_text","type":"string","nullable":true,"description":"Relative time, e.g. '12 days ago'"},{"field":"duration_text","type":"string","nullable":true,"description":"Duration badge, e.g. '32:15'"},{"field":"duration_seconds","type":"integer","nullable":true,"description":"Duration in seconds"},{"field":"thumbnail_url","type":"string","nullable":true,"description":"Largest thumbnail URL"}]}],"notes":["Returns up to 30 latest uploads. View counts are approximate and publish times are relative, for example \"2 days ago\"."]},{"key":"youtube.video","platform":"youtube","platform_name":"YouTube","action":"video","method":"POST","path":"/v1/youtube/video","title":"YouTube video","description":"A single YouTube video by URL or ID: title, description, exact views, likes, duration, publish date, category, keywords and channel.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"YouTube video URL (a bare ID also works).","example":"https://www.youtube.com/watch?v=jNQXAC9IVRw"},{"name":"id","type":"string","required":false,"description":"11-character video ID.","example":"0e3GPea1Tyg"},{"name":"video","type":"string","required":false,"description":"Alias (URL or ID).","example":"https://youtu.be/dQw4w9WgXcQ"}],"one_of":[["url"],["id"],["video"]],"example":{"url":"https://www.youtube.com/watch?v=jNQXAC9IVRw"},"response":[{"field":"video_id","type":"string","nullable":false,"description":"11-char video ID"},{"field":"link","type":"string","nullable":false,"description":"Canonical watch URL"},{"field":"title","type":"string","nullable":false,"description":"Video title"},{"field":"description","type":"string","nullable":false,"description":"Full video description"},{"field":"duration_seconds","type":"integer","nullable":true,"description":"Duration in seconds"},{"field":"view_count","type":"integer","nullable":true,"description":"Exact view count"},{"field":"like_count","type":"integer","nullable":true,"description":"Like count from microformat"},{"field":"published_at","type":"string","nullable":true,"description":"Publish date from microformat (ISO)"},{"field":"category","type":"string","nullable":true,"description":"YouTube category name"},{"field":"is_live","type":"boolean","nullable":false,"description":"Video is/was live-stream content"},{"field":"is_family_safe","type":"boolean","nullable":true,"description":"Flagged family safe"},{"field":"playability","type":"string","nullable":true,"description":"Playability status, e.g. 'OK', 'LOGIN_REQUIRED'"},{"field":"keywords","type":"array<string>","nullable":false,"description":"Video tags, max 30"},{"field":"thumbnail_url","type":"string","nullable":true,"description":"Largest thumbnail URL"},{"field":"channel","type":"object","nullable":false,"description":"Uploading channel","fields":[{"field":"channel_id","type":"string","nullable":true,"description":"Channel ID (UC...)"},{"field":"name","type":"string","nullable":false,"description":"Channel name"},{"field":"handle","type":"string","nullable":true,"description":"Channel handle including '@'"},{"field":"url","type":"string","nullable":true,"description":"Channel URL"}]}],"notes":["View and like counts are exact.","is_live is also true for recordings of finished live streams."]},{"key":"youtube.search","platform":"youtube","platform_name":"YouTube","action":"search","method":"POST","path":"/v1/youtube/search","title":"YouTube search","description":"Search YouTube by keyword: videos, Shorts, channels and playlists with views, publish time, duration and channel. Optional type, popularity sort and upload-date filters.","credits":1,"params":[{"name":"query","type":"string","required":true,"description":"Search keywords (max 200 characters).","example":"lofi hip hop"},{"name":"type","type":"string","required":false,"description":"Result type: all, video, shorts, channel or playlist. Default all.","example":"video"},{"name":"sort","type":"string","required":false,"description":"relevance or popularity (view_count is accepted as an alias). Default relevance.","example":"popularity"},{"name":"upload_date","type":"string","required":false,"description":"Only results uploaded within: today, week, month or year.","example":"week"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of results to return.","example":10,"default":20,"min":1,"max":50}],"one_of":null,"example":{"query":"lofi hip hop","limit":10},"response":[{"field":"query","type":"string","nullable":false,"description":"Normalized search query"},{"field":"type","type":"string","nullable":false,"description":"Applied type filter: all, video, shorts, channel or playlist"},{"field":"sort","type":"string","nullable":false,"description":"Applied sort: relevance or popularity"},{"field":"upload_date","type":"string","nullable":true,"description":"Applied upload-date filter, null when not set"},{"field":"results_fetched","type":"integer","nullable":false,"description":"Number of results returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"YouTube has more results beyond limit"},{"field":"results","type":"array<object>","nullable":false,"description":"Results in YouTube's order, max limit. Fields depend on type","items":[{"field":"type","type":"string","nullable":false,"description":"video, channel or playlist (Shorts are videos with is_short true)"},{"field":"video_id","type":"string","nullable":false,"description":"Video items: 11-char video ID"},{"field":"link","type":"string","nullable":false,"description":"Video items: watch URL (/shorts/ URL for Shorts)"},{"field":"title","type":"string","nullable":false,"description":"Video, channel or playlist title"},{"field":"channel","type":"object","nullable":true,"description":"Video items: uploading channel (null for Shorts shelf items)","fields":[{"field":"name","type":"string","nullable":true,"description":"Channel name"},{"field":"channel_id","type":"string","nullable":true,"description":"Channel ID (UC...)"},{"field":"handle","type":"string","nullable":true,"description":"Channel handle including '@' when YouTube exposes it"},{"field":"url","type":"string","nullable":true,"description":"Channel URL"}]},{"field":"view_count","type":"integer","nullable":true,"description":"Video items: views (exact for regular results, rounded for Shorts shelf items; current viewers for live streams)"},{"field":"view_count_text","type":"string","nullable":true,"description":"Video items: raw text, e.g. '14,709,279 views' or '3,597 watching'"},{"field":"published_text","type":"string","nullable":true,"description":"Video items: relative time, e.g. '1 month ago'"},{"field":"duration_text","type":"string","nullable":true,"description":"Video items: duration, e.g. '6:10:58'"},{"field":"duration_seconds","type":"integer","nullable":true,"description":"Video items: duration in seconds"},{"field":"thumbnail_url","type":"string","nullable":true,"description":"Video and playlist items: largest thumbnail URL"},{"field":"is_live","type":"boolean","nullable":false,"description":"Video items: live right now"},{"field":"is_short","type":"boolean","nullable":false,"description":"Video items: YouTube Short"},{"field":"channel_id","type":"string","nullable":false,"description":"Channel items: channel ID (UC...)"},{"field":"handle","type":"string","nullable":true,"description":"Channel items: handle including '@'"},{"field":"description","type":"string","nullable":true,"description":"Channel items: description snippet"},{"field":"subscriber_count","type":"integer","nullable":true,"description":"Channel items: approximate subscribers from rounded text"},{"field":"subscriber_count_text","type":"string","nullable":true,"description":"Channel items: raw text, e.g. '521M subscribers'"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Channel items: verified badge"},{"field":"avatar_url","type":"string","nullable":true,"description":"Channel items: largest avatar URL"},{"field":"url","type":"string","nullable":false,"description":"Channel and playlist items: channel or playlist URL"},{"field":"playlist_id","type":"string","nullable":false,"description":"Playlist items: playlist ID"},{"field":"channel_name","type":"string","nullable":true,"description":"Playlist items: owner shown by YouTube"},{"field":"video_count","type":"integer","nullable":true,"description":"Playlist items: number of videos (null for Mixes)"},{"field":"video_count_text","type":"string","nullable":true,"description":"Playlist items: raw text, e.g. '43 videos'"}]}],"notes":["Results are fetched in pages of about 20 (up to 3 pages for limit 50).","Sorting by upload date or rating is not available: YouTube removed those sorts and ignores them. Use upload_date to restrict recency; popularity is YouTube's own ranking, not a strict view-count order.","With type all, YouTube's Shorts shelves are skipped; use type shorts to get Shorts. Shorts from shelves have no channel, publish time or duration."]},{"key":"youtube.comments","platform":"youtube","platform_name":"YouTube","action":"comments","method":"POST","path":"/v1/youtube/comments","title":"YouTube comments","description":"Top-level comments of a YouTube video by URL or ID, sorted by top or newest: text, author, likes, reply count, pinned and hearted flags, plus the total comment count.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"YouTube video URL (watch, youtu.be, shorts, live or embed link; a bare ID also works).","example":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"},{"name":"id","type":"string","required":false,"description":"11-character video ID.","example":"dQw4w9WgXcQ"},{"name":"sort","type":"string","required":false,"description":"top or newest. Default top.","example":"newest"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of comments to return.","example":20,"default":20,"min":1,"max":100}],"one_of":[["url"],["id"]],"example":{"url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","limit":20},"response":[{"field":"video_id","type":"string","nullable":false,"description":"11-char video ID"},{"field":"sort","type":"string","nullable":false,"description":"Applied sort: top or newest"},{"field":"comment_count","type":"integer","nullable":true,"description":"Total comments on the video (exact)"},{"field":"comments_fetched","type":"integer","nullable":false,"description":"Number of comments returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"More comments are available beyond limit"},{"field":"comments","type":"array<object>","nullable":false,"description":"Top-level comments, max limit","items":[{"field":"id","type":"string","nullable":false,"description":"Comment ID"},{"field":"link","type":"string","nullable":false,"description":"Permalink to the comment"},{"field":"text","type":"string","nullable":false,"description":"Full comment text"},{"field":"author","type":"object","nullable":false,"description":"Comment author","fields":[{"field":"name","type":"string","nullable":true,"description":"Display name (usually the @handle)"},{"field":"channel_id","type":"string","nullable":true,"description":"Author channel ID (UC...)"},{"field":"handle","type":"string","nullable":true,"description":"Author handle including '@'"},{"field":"avatar_url","type":"string","nullable":true,"description":"Author avatar URL"},{"field":"is_channel_owner","type":"boolean","nullable":false,"description":"Author is the video's channel"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Author has a verified badge"}]},{"field":"like_count","type":"integer","nullable":true,"description":"Likes, approximate from rounded text (0 when none)"},{"field":"like_count_text","type":"string","nullable":true,"description":"Raw text, e.g. '8.4K'; null when no likes"},{"field":"reply_count","type":"integer","nullable":true,"description":"Number of replies"},{"field":"published_text","type":"string","nullable":true,"description":"Relative time, e.g. '2 months ago' or '6 years ago (edited)'"},{"field":"is_pinned","type":"boolean","nullable":false,"description":"Pinned by the channel"},{"field":"is_hearted","type":"boolean","nullable":false,"description":"Hearted by the channel"}]}],"notes":["Top-level comments only, about 20 per page; replies are not included. A pinned comment is listed first in both sorts.","Like counts are YouTube's rounded figures (for example 8.4K); comment_count is exact.","Returns 404 with code COMMENTS_DISABLED when comments are turned off, and NOT_FOUND when the video does not exist."]},{"key":"youtube.transcript","platform":"youtube","platform_name":"YouTube","action":"transcript","method":"POST","path":"/v1/youtube/transcript","title":"YouTube transcript","description":"Transcript of a YouTube video from its captions: timed segments, joined plain text, chosen language and the list of available caption languages.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"YouTube video URL (watch, youtu.be, shorts, live or embed link; a bare ID also works).","example":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"},{"name":"id","type":"string","required":false,"description":"11-character video ID.","example":"dQw4w9WgXcQ"},{"name":"lang","type":"string","required":false,"description":"Caption language code such as en, de, pt-BR or es-419. Default: the video's original language.","example":"en"}],"one_of":[["url"],["id"]],"example":{"url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"},"response":[{"field":"video_id","type":"string","nullable":false,"description":"11-char video ID"},{"field":"language","type":"string","nullable":false,"description":"Language code of the returned track"},{"field":"language_name","type":"string","nullable":false,"description":"Track name, e.g. 'English' or 'English (auto-generated)'"},{"field":"is_auto_generated","type":"boolean","nullable":false,"description":"Track is YouTube's automatic captions"},{"field":"available_languages","type":"array<object>","nullable":false,"description":"All caption tracks of the video","items":[{"field":"code","type":"string","nullable":false,"description":"Language code"},{"field":"name","type":"string","nullable":false,"description":"Track name"},{"field":"is_auto_generated","type":"boolean","nullable":false,"description":"Automatic captions"}]},{"field":"segment_count","type":"integer","nullable":false,"description":"Number of segments"},{"field":"text","type":"string","nullable":false,"description":"All segments joined as plain text"},{"field":"segments","type":"array<object>","nullable":false,"description":"Timed caption segments","items":[{"field":"start","type":"number","nullable":false,"description":"Start time in seconds (2 decimals)"},{"field":"duration","type":"number","nullable":true,"description":"Duration in seconds (2 decimals)"},{"field":"text","type":"string","nullable":false,"description":"Segment text"}]}],"notes":["Without lang, the hand-written track in the video's spoken language is preferred, then YouTube's default track, then automatic captions.","lang matches the exact code first, then the same base language (pt matches pt-BR). Machine-translated transcripts are not offered.","Returns 404 with code NO_TRANSCRIPT when the video has no captions or none in the requested language (the message lists the available codes)."]},{"key":"youtube.playlist","platform":"youtube","platform_name":"YouTube","action":"playlist","method":"POST","path":"/v1/youtube/playlist","title":"YouTube playlist","description":"A YouTube playlist by URL or ID: title, description, owner channel, video and view counts, plus its videos (max 100) with views, publish time and duration.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"Playlist URL or any YouTube link with a list= parameter (a bare playlist ID also works).","example":"https://www.youtube.com/playlist?list=PLOzDu-MXXLlj7croDcwz33c-a5rpNEBNe"},{"name":"id","type":"string","required":false,"description":"Playlist ID (PL..., OLAK5uy_..., UU...).","example":"PLOzDu-MXXLlj7croDcwz33c-a5rpNEBNe"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of videos to return.","example":10,"default":50,"min":1,"max":100}],"one_of":[["url"],["id"]],"example":{"url":"https://www.youtube.com/playlist?list=PLOzDu-MXXLlj7croDcwz33c-a5rpNEBNe","limit":10},"response":[{"field":"playlist_id","type":"string","nullable":false,"description":"Playlist ID"},{"field":"title","type":"string","nullable":false,"description":"Playlist title"},{"field":"description","type":"string","nullable":false,"description":"Playlist description"},{"field":"channel","type":"object","nullable":true,"description":"Owner channel","fields":[{"field":"name","type":"string","nullable":true,"description":"Channel name"},{"field":"channel_id","type":"string","nullable":true,"description":"Channel ID (UC...)"},{"field":"handle","type":"string","nullable":true,"description":"Channel handle including '@' when YouTube exposes it"},{"field":"url","type":"string","nullable":true,"description":"Channel URL"}]},{"field":"video_count","type":"integer","nullable":true,"description":"Number of videos in the playlist"},{"field":"video_count_text","type":"string","nullable":true,"description":"Raw text, e.g. '43 videos'"},{"field":"view_count","type":"integer","nullable":true,"description":"Total playlist views"},{"field":"view_count_text","type":"string","nullable":true,"description":"Raw text, e.g. '306,365 views'"},{"field":"thumbnail_url","type":"string","nullable":true,"description":"Playlist thumbnail URL"},{"field":"url","type":"string","nullable":false,"description":"Playlist URL"},{"field":"videos_fetched","type":"integer","nullable":false,"description":"Number of videos returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"The playlist has more videos than returned"},{"field":"videos","type":"array<object>","nullable":false,"description":"Videos in playlist order, max limit","items":[{"field":"video_id","type":"string","nullable":false,"description":"11-char video ID"},{"field":"link","type":"string","nullable":false,"description":"Watch URL"},{"field":"title","type":"string","nullable":false,"description":"Video title"},{"field":"channel","type":"object","nullable":true,"description":"Uploading channel","fields":[{"field":"name","type":"string","nullable":true,"description":"Channel name"},{"field":"channel_id","type":"string","nullable":true,"description":"Channel ID (UC...)"},{"field":"handle","type":"string","nullable":true,"description":"Channel handle including '@' when YouTube exposes it"},{"field":"url","type":"string","nullable":true,"description":"Channel URL"}]},{"field":"view_count","type":"integer","nullable":true,"description":"Approximate views from rounded text"},{"field":"view_count_text","type":"string","nullable":true,"description":"Raw text, e.g. '4.4M'"},{"field":"published_text","type":"string","nullable":true,"description":"Relative time, e.g. '4 years ago'"},{"field":"duration_text","type":"string","nullable":true,"description":"Duration badge, e.g. '2:03:14'"},{"field":"duration_seconds","type":"integer","nullable":true,"description":"Duration in seconds"},{"field":"thumbnail_url","type":"string","nullable":true,"description":"Largest thumbnail URL"},{"field":"is_live","type":"boolean","nullable":false,"description":"Live right now"}]}],"notes":["Returns the first page of the playlist (up to 100 videos). Unavailable videos are hidden by YouTube, so a page can hold fewer than 100.","Video view counts are YouTube's rounded figures (for example 4.4M); playlist view and video counts are exact.","Returns 404 when the playlist does not exist or is private."]},{"key":"facebook.profile","platform":"facebook","platform_name":"Facebook","action":"profile","method":"POST","path":"/v1/facebook/profile","title":"Facebook page","description":"Public Facebook Page/profile metadata from Open Graph tags: name, bio, image and (for Pages) like/follower/talking-about counts.","credits":1,"params":[{"name":"username","type":"string","required":true,"description":"Page/profile vanity name, numeric profile ID, or facebook.com URL.","example":"cristiano"}],"one_of":null,"example":{"username":"cristiano"},"response":[{"field":"username","type":"string","nullable":false,"description":"Echo of the requested vanity name or ID"},{"field":"name","type":"string","nullable":false,"description":"Page/profile name (og:title)"},{"field":"like_count","type":"integer","nullable":true,"description":"Page likes"},{"field":"follower_count","type":"integer","nullable":true,"description":"Page followers"},{"field":"talking_about_count","type":"integer","nullable":true,"description":"People talking about this"},{"field":"bio","type":"string","nullable":false,"description":"Description text; empty string if none"},{"field":"profile_url","type":"string","nullable":false,"description":"Canonical URL (og:url) or constructed URL"},{"field":"profile_image_url","type":"string","nullable":true,"description":"Profile image URL (og:image)"}],"notes":["Data comes from the public page preview. Counts are available for public Pages only.","Pages that do not exist or require login return 502 TARGET_BLOCKED instead of 404 and are not charged."]},{"key":"telegram.profile","platform":"telegram","platform_name":"Telegram","action":"profile","method":"POST","path":"/v1/telegram/profile","title":"Telegram profile","description":"Telegram channel/group/bot/user card from t.me: name, type, verification, description, photo and subscriber/member/online counts.","credits":1,"params":[{"name":"username","type":"string","required":true,"description":"Telegram username, @handle or t.me link.","example":"durov"}],"one_of":null,"example":{"username":"durov"},"response":[{"field":"username","type":"string","nullable":false,"description":"Username as requested"},{"field":"name","type":"string","nullable":false,"description":"Display name/title"},{"field":"type","type":"string","nullable":false,"description":"'channel', 'group', 'bot' or 'user' (heuristic)"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Has verified badge"},{"field":"description","type":"string","nullable":false,"description":"Bio/description; empty string if none"},{"field":"photo_url","type":"string","nullable":true,"description":"Profile photo URL"},{"field":"subscriber_count","type":"integer","nullable":true,"description":"Channel subscribers (exact)"},{"field":"member_count","type":"integer","nullable":true,"description":"Group members (exact)"},{"field":"online_count","type":"integer","nullable":true,"description":"Group members online now"},{"field":"monthly_users","type":"integer","nullable":true,"description":"Bot/mini-app monthly users"},{"field":"extra_text","type":"string","nullable":true,"description":"Raw counter line from the page"},{"field":"link","type":"string","nullable":false,"description":"https://t.me/<username>"},{"field":"preview_url","type":"string","nullable":true,"description":"t.me/s/ feed URL (channels only)"}],"notes":["Works for channels, groups, bots and users. type is inferred from the public counters."]},{"key":"telegram.posts","platform":"telegram","platform_name":"Telegram","action":"posts","method":"POST","path":"/v1/telegram/posts","title":"Telegram channel posts","description":"A public Telegram channel's header (counters, description) plus its latest messages (up to 100) with text, media, views and dates.","credits":2,"params":[{"name":"username","type":"string","required":true,"description":"Public channel username, @handle or t.me link.","example":"durov"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of messages to return.","example":25,"default":20,"min":1,"max":100}],"one_of":null,"example":{"username":"durov","limit":25},"response":[{"field":"username","type":"string","nullable":false,"description":"Channel username from page header"},{"field":"name","type":"string","nullable":false,"description":"Channel title"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Has verified badge"},{"field":"description","type":"string","nullable":false,"description":"Channel description; empty string if none"},{"field":"photo_url","type":"string","nullable":true,"description":"Channel photo URL"},{"field":"subscriber_count","type":"integer","nullable":true,"description":"Approximate subscribers from compact text"},{"field":"subscriber_count_text","type":"string","nullable":true,"description":"Raw counter text, e.g. '11M'"},{"field":"photo_count","type":"integer","nullable":true,"description":"Approximate number of photos"},{"field":"video_count","type":"integer","nullable":true,"description":"Approximate number of videos"},{"field":"file_count","type":"integer","nullable":true,"description":"Approximate number of files"},{"field":"link_count","type":"integer","nullable":true,"description":"Approximate number of links"},{"field":"link","type":"string","nullable":false,"description":"https://t.me/<username>"},{"field":"posts_fetched","type":"integer","nullable":false,"description":"Number of messages returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"Older messages exist beyond those returned"},{"field":"posts","type":"array<object>","nullable":false,"description":"Messages, newest first, max limit","items":[{"field":"id","type":"integer","nullable":true,"description":"Message ID within the channel"},{"field":"post","type":"string","nullable":false,"description":"'<channel>/<id>' identifier"},{"field":"link","type":"string","nullable":false,"description":"https://t.me/<channel>/<id>"},{"field":"type","type":"string","nullable":false,"description":"text|photo|album|video|poll|document|voice|round_video|sticker"},{"field":"text","type":"string","nullable":false,"description":"Plain-text message body"},{"field":"photo_urls","type":"array<string>","nullable":false,"description":"Photo URLs; empty if none"},{"field":"video_url","type":"string","nullable":true,"description":"Video file URL"},{"field":"video_thumb_url","type":"string","nullable":true,"description":"Video thumbnail URL"},{"field":"video_duration","type":"string","nullable":true,"description":"Duration text, e.g. '0:32'"},{"field":"view_count","type":"integer","nullable":true,"description":"Approximate views from compact text"},{"field":"view_count_text","type":"string","nullable":true,"description":"Raw views text, e.g. '3.76M'"},{"field":"posted_at","type":"string","nullable":true,"description":"Post time, ISO 8601 datetime"},{"field":"is_forwarded","type":"boolean","nullable":false,"description":"Message was forwarded"},{"field":"forwarded_from","type":"string","nullable":true,"description":"Original source name if forwarded"},{"field":"link_preview","type":"object","nullable":true,"description":"Link preview card","fields":[{"field":"url","type":"string","nullable":false,"description":"Previewed URL"},{"field":"title","type":"string","nullable":true,"description":"Preview title"},{"field":"description","type":"string","nullable":true,"description":"Preview description"}]}]}],"notes":["Public channels with web preview only.","Up to 100 latest messages. View counts are approximate; the original text is in view_count_text."]},{"key":"telegram.post","platform":"telegram","platform_name":"Telegram","action":"post","method":"POST","path":"/v1/telegram/post","title":"Telegram post","description":"A single public Telegram channel message by link: text, media, views, date, forward info, link preview and channel info.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"Message link t.me/<channel>/<id>.","example":"https://t.me/durov/342"},{"name":"post","type":"string","required":false,"description":"Alias of url, e.g. 'durov/342'.","example":"durov/342"},{"name":"username","type":"string","required":false,"description":"Channel username; only together with id.","example":"durov"},{"name":"id","type":"integer","required":false,"description":"Message ID; only together with username.","example":342}],"one_of":[["url"],["post"],["username","id"]],"example":{"url":"https://t.me/durov/342"},"response":[{"field":"channel","type":"object","nullable":false,"description":"Channel that posted the message","fields":[{"field":"username","type":"string","nullable":false,"description":"Channel username as requested"},{"field":"name","type":"string","nullable":true,"description":"Channel title"},{"field":"photo_url","type":"string","nullable":true,"description":"Channel photo URL"},{"field":"link","type":"string","nullable":false,"description":"https://t.me/<username>"}]},{"field":"id","type":"integer","nullable":true,"description":"Message ID within the channel"},{"field":"post","type":"string","nullable":false,"description":"'<channel>/<id>' identifier"},{"field":"link","type":"string","nullable":false,"description":"https://t.me/<channel>/<id>"},{"field":"type","type":"string","nullable":false,"description":"text|photo|album|video|poll|document|voice|round_video|sticker"},{"field":"text","type":"string","nullable":false,"description":"Plain-text message body"},{"field":"photo_urls","type":"array<string>","nullable":false,"description":"Photo URLs; empty if none"},{"field":"video_url","type":"string","nullable":true,"description":"Video file URL"},{"field":"video_thumb_url","type":"string","nullable":true,"description":"Video thumbnail URL"},{"field":"video_duration","type":"string","nullable":true,"description":"Duration text, e.g. '0:32'"},{"field":"view_count","type":"integer","nullable":true,"description":"Approximate views from compact text"},{"field":"view_count_text","type":"string","nullable":true,"description":"Raw views text, e.g. '3.76M'"},{"field":"posted_at","type":"string","nullable":true,"description":"Post time, ISO 8601 datetime"},{"field":"is_forwarded","type":"boolean","nullable":false,"description":"Message was forwarded"},{"field":"forwarded_from","type":"string","nullable":true,"description":"Original source name if forwarded"},{"field":"link_preview","type":"object","nullable":true,"description":"Link preview card","fields":[{"field":"url","type":"string","nullable":false,"description":"Previewed URL"},{"field":"title","type":"string","nullable":true,"description":"Preview title"},{"field":"description","type":"string","nullable":true,"description":"Preview description"}]}],"notes":["Pass url, post (\"channel/123\") or username together with id. Private channel links (t.me/c/...) are not supported."]},{"key":"spotify.track","platform":"spotify","platform_name":"Spotify","action":"track","method":"POST","path":"/v1/spotify/track","title":"Spotify track","description":"A Spotify track by link/URI/ID: title, artists, duration, release date, explicit flag, cover image and 30-second preview URL.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"Track link, URI or ID.","example":"https://open.spotify.com/track/0V3wPSX9ygBnCm8psDIegu"},{"name":"id","type":"string","required":false,"description":"22-character track ID.","example":"0V3wPSX9ygBnCm8psDIegu"},{"name":"track","type":"string","required":false,"description":"Alias (link, URI or ID).","example":"spotify:track:0V3wPSX9ygBnCm8psDIegu"}],"one_of":[["url"],["id"],["track"]],"example":{"url":"https://open.spotify.com/track/0V3wPSX9ygBnCm8psDIegu"},"response":[{"field":"id","type":"string","nullable":false,"description":"Spotify track ID"},{"field":"link","type":"string","nullable":false,"description":"open.spotify.com track URL"},{"field":"title","type":"string","nullable":false,"description":"Track title"},{"field":"artists","type":"array<object>","nullable":false,"description":"Credited artists","items":[{"field":"id","type":"string","nullable":true,"description":"Spotify artist ID"},{"field":"name","type":"string","nullable":false,"description":"Artist name"},{"field":"link","type":"string","nullable":true,"description":"open.spotify.com artist URL"}]},{"field":"duration_ms","type":"integer","nullable":true,"description":"Track length in milliseconds"},{"field":"release_date","type":"string","nullable":true,"description":"Release date, ISO string"},{"field":"is_explicit","type":"boolean","nullable":false,"description":"Marked explicit"},{"field":"is_playable","type":"boolean","nullable":false,"description":"Playable in the embed"},{"field":"has_video","type":"boolean","nullable":false,"description":"Track has a video"},{"field":"preview_url","type":"string","nullable":true,"description":"30-second MP3 preview URL"},{"field":"image_url","type":"string","nullable":true,"description":"Largest cover image URL"}],"notes":["Short links (spotify.link, spoti.fi) are not supported."]},{"key":"spotify.artist","platform":"spotify","platform_name":"Spotify","action":"artist","method":"POST","path":"/v1/spotify/artist","title":"Spotify artist","description":"A Spotify artist by link/URI/ID: name, image and top tracks (~10) with durations and preview URLs.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"Artist link, URI or ID.","example":"https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02"},{"name":"id","type":"string","required":false,"description":"22-character artist ID.","example":"06HL4z0CvFAxyc27GXpf02"},{"name":"artist","type":"string","required":false,"description":"Alias (link, URI or ID).","example":"spotify:artist:06HL4z0CvFAxyc27GXpf02"}],"one_of":[["url"],["id"],["artist"]],"example":{"url":"https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02"},"response":[{"field":"id","type":"string","nullable":false,"description":"Spotify artist ID"},{"field":"link","type":"string","nullable":false,"description":"open.spotify.com artist URL"},{"field":"name","type":"string","nullable":false,"description":"Artist name"},{"field":"image_url","type":"string","nullable":true,"description":"Largest artist image URL"},{"field":"top_tracks","type":"array<object>","nullable":false,"description":"Artist's top tracks (~10)","items":[{"field":"id","type":"string","nullable":true,"description":"Spotify track ID"},{"field":"title","type":"string","nullable":false,"description":"Track title"},{"field":"artists_text","type":"string","nullable":false,"description":"Artist names as one string"},{"field":"duration_ms","type":"integer","nullable":true,"description":"Track length in milliseconds"},{"field":"is_explicit","type":"boolean","nullable":false,"description":"Marked explicit"},{"field":"preview_url","type":"string","nullable":true,"description":"30-second MP3 preview URL"},{"field":"link","type":"string","nullable":true,"description":"open.spotify.com track URL"}]},{"field":"top_tracks_count","type":"integer","nullable":false,"description":"Number of top tracks returned"}],"notes":["Monthly listeners, followers and genres are not publicly available and are not returned."]},{"key":"spotify.album","platform":"spotify","platform_name":"Spotify","action":"album","method":"POST","path":"/v1/spotify/album","title":"Spotify album","description":"A Spotify album by link/URI/ID: title, artists, release date, cover and the full track list.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"Album link, URI or ID.","example":"https://open.spotify.com/album/151w1FgRZfnKZA9FEcg9Z3"},{"name":"id","type":"string","required":false,"description":"22-character album ID.","example":"151w1FgRZfnKZA9FEcg9Z3"},{"name":"album","type":"string","required":false,"description":"Alias (link, URI or ID).","example":"spotify:album:151w1FgRZfnKZA9FEcg9Z3"}],"one_of":[["url"],["id"],["album"]],"example":{"id":"151w1FgRZfnKZA9FEcg9Z3"},"response":[{"field":"id","type":"string","nullable":false,"description":"Spotify album ID"},{"field":"link","type":"string","nullable":false,"description":"open.spotify.com album URL"},{"field":"title","type":"string","nullable":false,"description":"Album title"},{"field":"artists_text","type":"string","nullable":false,"description":"Album artist names as one string"},{"field":"release_date","type":"string","nullable":true,"description":"Release date, ISO string"},{"field":"is_explicit","type":"boolean","nullable":false,"description":"Marked explicit"},{"field":"image_url","type":"string","nullable":true,"description":"Largest cover image URL"},{"field":"track_count","type":"integer","nullable":false,"description":"Number of tracks returned"},{"field":"tracks","type":"array<object>","nullable":false,"description":"Album track list","items":[{"field":"id","type":"string","nullable":true,"description":"Spotify track ID"},{"field":"title","type":"string","nullable":false,"description":"Track title"},{"field":"artists_text","type":"string","nullable":false,"description":"Artist names as one string"},{"field":"duration_ms","type":"integer","nullable":true,"description":"Track length in milliseconds"},{"field":"is_explicit","type":"boolean","nullable":false,"description":"Marked explicit"},{"field":"preview_url","type":"string","nullable":true,"description":"30-second MP3 preview URL"},{"field":"link","type":"string","nullable":true,"description":"open.spotify.com track URL"}]}],"notes":[]},{"key":"spotify.playlist","platform":"spotify","platform_name":"Spotify","action":"playlist","method":"POST","path":"/v1/spotify/playlist","title":"Spotify playlist","description":"A public Spotify playlist by link/URI/ID: title, owner, cover, total duration and up to ~50 tracks.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"Playlist link, URI or ID.","example":"https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M"},{"name":"id","type":"string","required":false,"description":"22-character playlist ID.","example":"37i9dQZF1DXcBWIGoYBM5M"},{"name":"playlist","type":"string","required":false,"description":"Alias (link, URI or ID).","example":"spotify:playlist:37i9dQZF1DXcBWIGoYBM5M"}],"one_of":[["url"],["id"],["playlist"]],"example":{"url":"https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M"},"response":[{"field":"id","type":"string","nullable":false,"description":"Spotify playlist ID"},{"field":"link","type":"string","nullable":false,"description":"open.spotify.com playlist URL"},{"field":"title","type":"string","nullable":false,"description":"Playlist title"},{"field":"owner","type":"string","nullable":false,"description":"Owner display name"},{"field":"image_url","type":"string","nullable":true,"description":"Largest cover image URL"},{"field":"total_duration_ms","type":"integer","nullable":true,"description":"Whole-playlist duration in milliseconds"},{"field":"track_count","type":"integer","nullable":false,"description":"Tracks returned (max ~50), not total"},{"field":"tracks","type":"array<object>","nullable":false,"description":"First ~50 playlist tracks","items":[{"field":"id","type":"string","nullable":true,"description":"Spotify track ID"},{"field":"title","type":"string","nullable":false,"description":"Track title"},{"field":"artists_text","type":"string","nullable":false,"description":"Artist names as one string"},{"field":"duration_ms","type":"integer","nullable":true,"description":"Track length in milliseconds"},{"field":"is_explicit","type":"boolean","nullable":false,"description":"Marked explicit"},{"field":"preview_url","type":"string","nullable":true,"description":"30-second MP3 preview URL"},{"field":"link","type":"string","nullable":true,"description":"open.spotify.com track URL"}]}],"notes":["Public playlists only. Up to about 50 tracks are returned and track_count is the number of returned tracks."]},{"key":"pinterest.profile","platform":"pinterest","platform_name":"Pinterest","action":"profile","method":"POST","path":"/v1/pinterest/profile","title":"Pinterest profile","description":"Public Pinterest profile: name, about, website, verification and follower/following/pin/board/video-pin counts.","credits":1,"params":[{"name":"username","type":"string","required":true,"description":"Pinterest username, @handle or profile URL.","example":"nasa"}],"one_of":null,"example":{"username":"nasa"},"response":[{"field":"user_id","type":"string","nullable":true,"description":"Pinterest numeric user ID"},{"field":"username","type":"string","nullable":false,"description":"Pinterest username"},{"field":"full_name","type":"string","nullable":false,"description":"Display name"},{"field":"about","type":"string","nullable":false,"description":"Profile bio text"},{"field":"website_url","type":"string","nullable":true,"description":"Profile website URL"},{"field":"domain","type":"string","nullable":true,"description":"Claimed/canonical website domain"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Verified identity or verified merchant"},{"field":"follower_count","type":"integer","nullable":true,"description":"Number of followers"},{"field":"following_count","type":"integer","nullable":true,"description":"Number of accounts followed"},{"field":"pin_count","type":"integer","nullable":true,"description":"Number of pins"},{"field":"board_count","type":"integer","nullable":true,"description":"Number of boards"},{"field":"video_pin_count","type":"integer","nullable":true,"description":"Number of video pins"},{"field":"profile_image_url","type":"string","nullable":true,"description":"Largest profile image URL"}],"notes":[]},{"key":"pinterest.pins","platform":"pinterest","platform_name":"Pinterest","action":"pins","method":"POST","path":"/v1/pinterest/pins","title":"Pinterest pins","description":"A Pinterest profile plus its recent pins (up to 50) with images/videos, titles, descriptions, links and engagement counts.","credits":2,"params":[{"name":"username","type":"string","required":true,"description":"Pinterest username, @handle or profile URL.","example":"nasa"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of pins to return.","example":12,"default":12,"min":1,"max":50}],"one_of":null,"example":{"username":"nasa","limit":12},"response":[{"field":"user_id","type":"string","nullable":true,"description":"Pinterest numeric user ID"},{"field":"username","type":"string","nullable":false,"description":"Pinterest username"},{"field":"full_name","type":"string","nullable":false,"description":"Display name"},{"field":"about","type":"string","nullable":false,"description":"Profile bio text"},{"field":"website_url","type":"string","nullable":true,"description":"Profile website URL"},{"field":"domain","type":"string","nullable":true,"description":"Claimed/canonical website domain"},{"field":"is_verified","type":"boolean","nullable":false,"description":"Verified identity or verified merchant"},{"field":"follower_count","type":"integer","nullable":true,"description":"Number of followers"},{"field":"following_count","type":"integer","nullable":true,"description":"Number of accounts followed"},{"field":"pin_count","type":"integer","nullable":true,"description":"Number of pins"},{"field":"board_count","type":"integer","nullable":true,"description":"Number of boards"},{"field":"video_pin_count","type":"integer","nullable":true,"description":"Number of video pins"},{"field":"profile_image_url","type":"string","nullable":true,"description":"Largest profile image URL"},{"field":"pins","type":"array<object>","nullable":false,"description":"Recent pins, max limit","items":[{"field":"id","type":"string","nullable":false,"description":"Pin ID"},{"field":"link","type":"string","nullable":false,"description":"https://www.pinterest.com/pin/<id>/"},{"field":"title","type":"string","nullable":false,"description":"Pin title; empty string if none"},{"field":"description","type":"string","nullable":false,"description":"Pin description; empty string if none"},{"field":"alt_text","type":"string","nullable":true,"description":"Alt text (auto or user-provided)"},{"field":"dominant_color","type":"string","nullable":true,"description":"Dominant color hex, e.g. '#0b0b09'"},{"field":"image_url","type":"string","nullable":true,"description":"Largest image URL (orig preferred)"},{"field":"image_width","type":"integer","nullable":true,"description":"Image width in pixels"},{"field":"image_height","type":"integer","nullable":true,"description":"Image height in pixels"},{"field":"is_video","type":"boolean","nullable":false,"description":"Pin is a video"},{"field":"video_url","type":"string","nullable":true,"description":"Highest-resolution video URL"},{"field":"video_duration_ms","type":"integer","nullable":true,"description":"Video duration in milliseconds"},{"field":"repin_count","type":"integer","nullable":true,"description":"Number of saves/repins"},{"field":"reaction_count","type":"integer","nullable":true,"description":"Sum of all reactions"},{"field":"comment_count","type":"integer","nullable":true,"description":"Number of comments"},{"field":"favorite_count","type":"integer","nullable":true,"description":"Number of favorites (detail only)"},{"field":"share_count","type":"integer","nullable":true,"description":"Number of shares (detail only)"},{"field":"outbound_link","type":"string","nullable":true,"description":"Destination URL of the pin"},{"field":"outbound_domain","type":"string","nullable":true,"description":"Destination domain"},{"field":"created_at","type":"string","nullable":true,"description":"Creation date string as given by Pinterest"},{"field":"board_name","type":"string","nullable":true,"description":"Board containing the pin"},{"field":"board_url","type":"string","nullable":true,"description":"Board URL on pinterest.com"},{"field":"pinner_username","type":"string","nullable":true,"description":"Pinner's username"},{"field":"pinner_full_name","type":"string","nullable":true,"description":"Pinner's display name"},{"field":"pinner_image_url","type":"string","nullable":true,"description":"Pinner's avatar URL"}]},{"field":"pins_fetched","type":"integer","nullable":false,"description":"Number of pins returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"More pins exist beyond those returned"}],"notes":["Up to 50 recent pins. Grid results carry fewer counts than pinterest.pin."]},{"key":"pinterest.pin","platform":"pinterest","platform_name":"Pinterest","action":"pin","method":"POST","path":"/v1/pinterest/pin","title":"Pinterest pin","description":"A single Pinterest pin by URL or ID: title, description, image/video, outbound link, engagement counts, board and pinner.","credits":1,"params":[{"name":"url","type":"string","required":false,"description":"Pin URL (a bare pin ID also works).","example":"https://www.pinterest.com/pin/142567144449027286/"},{"name":"id","type":"string","required":false,"description":"Numeric pin ID; used only when url is empty.","example":"142567144449027286"}],"one_of":[["url"],["id"]],"example":{"url":"https://www.pinterest.com/pin/142567144449027286/"},"response":[{"field":"id","type":"string","nullable":false,"description":"Pin ID"},{"field":"link","type":"string","nullable":false,"description":"https://www.pinterest.com/pin/<id>/"},{"field":"title","type":"string","nullable":false,"description":"Pin title; empty string if none"},{"field":"description","type":"string","nullable":false,"description":"Pin description; empty string if none"},{"field":"alt_text","type":"string","nullable":true,"description":"Alt text (auto or user-provided)"},{"field":"dominant_color","type":"string","nullable":true,"description":"Dominant color hex"},{"field":"image_url","type":"string","nullable":true,"description":"Largest image URL (orig preferred)"},{"field":"image_width","type":"integer","nullable":true,"description":"Image width in pixels"},{"field":"image_height","type":"integer","nullable":true,"description":"Image height in pixels"},{"field":"is_video","type":"boolean","nullable":false,"description":"Pin is a video"},{"field":"video_url","type":"string","nullable":true,"description":"Highest-resolution video URL"},{"field":"video_duration_ms","type":"integer","nullable":true,"description":"Video duration in milliseconds"},{"field":"repin_count","type":"integer","nullable":true,"description":"Number of saves/repins"},{"field":"reaction_count","type":"integer","nullable":true,"description":"Sum of all reactions"},{"field":"comment_count","type":"integer","nullable":true,"description":"Number of comments"},{"field":"favorite_count","type":"integer","nullable":true,"description":"Number of favorites"},{"field":"share_count","type":"integer","nullable":true,"description":"Number of shares"},{"field":"outbound_link","type":"string","nullable":true,"description":"Destination URL of the pin"},{"field":"outbound_domain","type":"string","nullable":true,"description":"Destination domain"},{"field":"created_at","type":"string","nullable":true,"description":"Creation date string as given by Pinterest"},{"field":"board_name","type":"string","nullable":true,"description":"Board containing the pin"},{"field":"board_url","type":"string","nullable":true,"description":"Board URL on pinterest.com"},{"field":"pinner_username","type":"string","nullable":true,"description":"Pinner's username"},{"field":"pinner_full_name","type":"string","nullable":true,"description":"Pinner's display name"},{"field":"pinner_image_url","type":"string","nullable":true,"description":"Pinner's avatar URL"}],"notes":["Send id as a string."]},{"key":"pinterest.search","platform":"pinterest","platform_name":"Pinterest","action":"search","method":"POST","path":"/v1/pinterest/search","title":"Pinterest search","description":"Search Pinterest pins by keyword: up to 50 results with images/videos, titles, descriptions, outbound links, board and pinner.","credits":2,"params":[{"name":"query","type":"string","required":true,"description":"Search keywords (up to 200 characters).","example":"minimalist kitchen"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of pins to return.","example":20,"default":20,"min":1,"max":50}],"one_of":null,"example":{"query":"minimalist kitchen","limit":20},"response":[{"field":"query","type":"string","nullable":false,"description":"Search query as used (whitespace collapsed)"},{"field":"pins","type":"array<object>","nullable":false,"description":"Matching pins in Pinterest's order, max limit","items":[{"field":"id","type":"string","nullable":false,"description":"Pin ID"},{"field":"link","type":"string","nullable":false,"description":"https://www.pinterest.com/pin/<id>/"},{"field":"title","type":"string","nullable":false,"description":"Pin title; empty string if none"},{"field":"description","type":"string","nullable":false,"description":"Pin description; empty string if none"},{"field":"alt_text","type":"string","nullable":true,"description":"Alt text (auto or user-provided)"},{"field":"dominant_color","type":"string","nullable":true,"description":"Dominant color hex, e.g. '#0b0b09'"},{"field":"image_url","type":"string","nullable":true,"description":"Largest image URL (orig preferred)"},{"field":"image_width","type":"integer","nullable":true,"description":"Image width in pixels"},{"field":"image_height","type":"integer","nullable":true,"description":"Image height in pixels"},{"field":"is_video","type":"boolean","nullable":false,"description":"Pin is a video"},{"field":"video_url","type":"string","nullable":true,"description":"Highest-resolution video URL"},{"field":"video_duration_ms","type":"integer","nullable":true,"description":"Video duration in milliseconds"},{"field":"repin_count","type":"integer","nullable":true,"description":"Number of saves/repins"},{"field":"reaction_count","type":"integer","nullable":true,"description":"Sum of all reactions"},{"field":"comment_count","type":"integer","nullable":true,"description":"Number of comments"},{"field":"favorite_count","type":"integer","nullable":true,"description":"Number of favorites (detail only)"},{"field":"share_count","type":"integer","nullable":true,"description":"Number of shares (detail only)"},{"field":"outbound_link","type":"string","nullable":true,"description":"Destination URL of the pin"},{"field":"outbound_domain","type":"string","nullable":true,"description":"Destination domain"},{"field":"created_at","type":"string","nullable":true,"description":"Creation date string as given by Pinterest"},{"field":"board_name","type":"string","nullable":true,"description":"Board containing the pin"},{"field":"board_url","type":"string","nullable":true,"description":"Board URL on pinterest.com"},{"field":"pinner_username","type":"string","nullable":true,"description":"Pinner's username"},{"field":"pinner_full_name","type":"string","nullable":true,"description":"Pinner's display name"},{"field":"pinner_image_url","type":"string","nullable":true,"description":"Pinner's avatar URL"}]},{"field":"pins_fetched","type":"integer","nullable":false,"description":"Number of pins returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"More results exist beyond those returned"}],"notes":["Up to 50 pins in Pinterest's logged-out relevance order. Promoted pins and board suggestions are skipped.","Search results carry fewer counts than pinterest.pin: repin, comment, favorite and share counts are usually null."]},{"key":"pinterest.board","platform":"pinterest","platform_name":"Pinterest","action":"board","method":"POST","path":"/v1/pinterest/board","title":"Pinterest board","description":"A public Pinterest board: name, description, pin/follower/section counts, owner and cover image, plus its first pins with images, links and engagement counts.","credits":2,"params":[{"name":"url","type":"string","required":false,"description":"Board URL: https://www.pinterest.com/<username>/<board>/.","example":"https://www.pinterest.com/nasa/learn-with-nasa/"},{"name":"username","type":"string","required":false,"description":"Board owner's username, @handle or profile URL; used with board when url is empty.","example":"nasa"},{"name":"board","type":"string","required":false,"description":"Board slug as in the URL; a board name with spaces is converted to a slug.","example":"learn-with-nasa"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of pins to return (logged-out Pinterest serves at most about 25 pins of a board).","example":20,"default":20,"min":1,"max":25}],"one_of":[["url"],["username","board"]],"example":{"url":"https://www.pinterest.com/nasa/learn-with-nasa/","limit":20},"response":[{"field":"board","type":"object","nullable":false,"description":"Board details","fields":[{"field":"id","type":"string","nullable":false,"description":"Pinterest numeric board ID"},{"field":"name","type":"string","nullable":false,"description":"Board name"},{"field":"description","type":"string","nullable":false,"description":"Board description; empty string if none"},{"field":"link","type":"string","nullable":false,"description":"https://www.pinterest.com/<username>/<board>/"},{"field":"pin_count","type":"integer","nullable":true,"description":"Number of pins on the board"},{"field":"follower_count","type":"integer","nullable":true,"description":"Number of board followers"},{"field":"section_count","type":"integer","nullable":true,"description":"Number of board sections"},{"field":"cover_image_url","type":"string","nullable":true,"description":"Board cover image URL"},{"field":"owner","type":"object","nullable":false,"description":"Board owner","fields":[{"field":"username","type":"string","nullable":false,"description":"Owner's username"},{"field":"full_name","type":"string","nullable":false,"description":"Owner's display name"},{"field":"image_url","type":"string","nullable":true,"description":"Owner's largest avatar URL"}]}]},{"field":"pins","type":"array<object>","nullable":false,"description":"Board pins in board order, max limit","items":[{"field":"id","type":"string","nullable":false,"description":"Pin ID"},{"field":"link","type":"string","nullable":false,"description":"https://www.pinterest.com/pin/<id>/"},{"field":"title","type":"string","nullable":false,"description":"Pin title; empty string if none"},{"field":"description","type":"string","nullable":false,"description":"Pin description; empty string if none"},{"field":"alt_text","type":"string","nullable":true,"description":"Alt text (auto or user-provided)"},{"field":"dominant_color","type":"string","nullable":true,"description":"Dominant color hex, e.g. '#0b0b09'"},{"field":"image_url","type":"string","nullable":true,"description":"Largest image URL (orig preferred)"},{"field":"image_width","type":"integer","nullable":true,"description":"Image width in pixels"},{"field":"image_height","type":"integer","nullable":true,"description":"Image height in pixels"},{"field":"is_video","type":"boolean","nullable":false,"description":"Pin is a video"},{"field":"video_url","type":"string","nullable":true,"description":"Highest-resolution video URL"},{"field":"video_duration_ms","type":"integer","nullable":true,"description":"Video duration in milliseconds"},{"field":"repin_count","type":"integer","nullable":true,"description":"Number of saves/repins"},{"field":"reaction_count","type":"integer","nullable":true,"description":"Sum of all reactions"},{"field":"comment_count","type":"integer","nullable":true,"description":"Number of comments"},{"field":"favorite_count","type":"integer","nullable":true,"description":"Number of favorites (detail only)"},{"field":"share_count","type":"integer","nullable":true,"description":"Number of shares (detail only)"},{"field":"outbound_link","type":"string","nullable":true,"description":"Destination URL of the pin"},{"field":"outbound_domain","type":"string","nullable":true,"description":"Destination domain"},{"field":"created_at","type":"string","nullable":true,"description":"Creation date string as given by Pinterest"},{"field":"board_name","type":"string","nullable":true,"description":"Board containing the pin"},{"field":"board_url","type":"string","nullable":true,"description":"Board URL on pinterest.com"},{"field":"pinner_username","type":"string","nullable":true,"description":"Pinner's username"},{"field":"pinner_full_name","type":"string","nullable":true,"description":"Pinner's display name"},{"field":"pinner_image_url","type":"string","nullable":true,"description":"Pinner's avatar URL"}]},{"field":"pins_fetched","type":"integer","nullable":false,"description":"Number of pins returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"The board has more pins than those returned"}],"notes":["Logged-out Pinterest only serves the first 25 or so pins of a board, so fewer pins than limit can come back. has_more is true when the board has more pins.","Board pins have the same fields as pinterest.pins."]},{"key":"twitch.channel","platform":"twitch","platform_name":"Twitch","action":"channel","method":"POST","path":"/v1/twitch/channel","title":"Twitch channel","description":"Twitch channel info: display name, description, partner/affiliate status, followers, images and live-stream / last-broadcast details.","credits":1,"params":[{"name":"username","type":"string","required":true,"description":"Twitch login name or channel URL.","example":"shroud"}],"one_of":null,"example":{"username":"shroud"},"response":[{"field":"user_id","type":"string","nullable":true,"description":"Twitch numeric user ID"},{"field":"username","type":"string","nullable":false,"description":"Login name (lowercase)"},{"field":"display_name","type":"string","nullable":false,"description":"Display name"},{"field":"description","type":"string","nullable":false,"description":"Channel bio; empty string if none"},{"field":"created_at","type":"string","nullable":true,"description":"Account creation time, ISO 8601"},{"field":"is_partner","type":"boolean","nullable":false,"description":"Twitch Partner"},{"field":"is_affiliate","type":"boolean","nullable":false,"description":"Twitch Affiliate"},{"field":"follower_count","type":"integer","nullable":true,"description":"Number of followers"},{"field":"profile_image_url","type":"string","nullable":true,"description":"Profile image URL (300px)"},{"field":"banner_image_url","type":"string","nullable":true,"description":"Channel banner image URL"},{"field":"is_live","type":"boolean","nullable":false,"description":"Channel is streaming right now"},{"field":"stream","type":"object","nullable":true,"description":"Current stream; null when offline","fields":[{"field":"id","type":"string","nullable":true,"description":"Stream ID"},{"field":"title","type":"string","nullable":false,"description":"Stream title"},{"field":"type","type":"string","nullable":true,"description":"'live' or 'rerun'"},{"field":"viewer_count","type":"integer","nullable":true,"description":"Current viewers"},{"field":"started_at","type":"string","nullable":true,"description":"Stream start time, ISO 8601"},{"field":"game","type":"string","nullable":true,"description":"Category/game name"}]},{"field":"last_broadcast","type":"object","nullable":true,"description":"Most recent broadcast info","fields":[{"field":"started_at","type":"string","nullable":true,"description":"Broadcast start time, ISO 8601"},{"field":"title","type":"string","nullable":false,"description":"Broadcast title"},{"field":"game","type":"string","nullable":true,"description":"Category/game name"}]}],"notes":["When the channel is live, is_live is true and stream holds the broadcast. Otherwise last_broadcast describes the previous one."]},{"key":"twitch.videos","platform":"twitch","platform_name":"Twitch","action":"videos","method":"POST","path":"/v1/twitch/videos","title":"Twitch videos","description":"A Twitch channel's latest videos (past broadcasts, highlights or uploads, up to 50) with title, duration, view count, dates, thumbnail and game.","credits":1,"params":[{"name":"username","type":"string","required":true,"description":"Twitch login name or channel URL.","example":"shroud"},{"name":"type","type":"string","required":false,"description":"Video type: archive (past broadcasts), highlight, upload or all.","example":"archive","default":"archive"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of videos to return.","example":20,"default":20,"min":1,"max":50}],"one_of":null,"example":{"username":"shroud","type":"archive","limit":20},"response":[{"field":"user_id","type":"string","nullable":true,"description":"Twitch numeric user ID"},{"field":"username","type":"string","nullable":false,"description":"Login name (lowercase)"},{"field":"display_name","type":"string","nullable":false,"description":"Display name"},{"field":"type","type":"string","nullable":false,"description":"Video type that was requested"},{"field":"total_count","type":"integer","nullable":true,"description":"Total videos of this type on the channel"},{"field":"videos","type":"array<object>","nullable":false,"description":"Videos, newest first, max limit","items":[{"field":"id","type":"string","nullable":false,"description":"Video ID"},{"field":"link","type":"string","nullable":false,"description":"https://www.twitch.tv/videos/<id>"},{"field":"title","type":"string","nullable":false,"description":"Video title; empty string if none"},{"field":"type","type":"string","nullable":true,"description":"Lowercase broadcast type, e.g. 'archive', 'highlight', 'upload'"},{"field":"duration_seconds","type":"integer","nullable":true,"description":"Length in seconds"},{"field":"view_count","type":"integer","nullable":true,"description":"Number of views"},{"field":"created_at","type":"string","nullable":true,"description":"Creation time, ISO 8601"},{"field":"published_at","type":"string","nullable":true,"description":"Publish time, ISO 8601"},{"field":"thumbnail_url","type":"string","nullable":true,"description":"Preview thumbnail URL (640x360)"},{"field":"game","type":"object","nullable":true,"description":"Game/category; null if none","fields":[{"field":"id","type":"string","nullable":true,"description":"Twitch game ID"},{"field":"name","type":"string","nullable":true,"description":"Game/category name"}]}]},{"field":"videos_fetched","type":"integer","nullable":false,"description":"Number of videos returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"More videos exist beyond those returned"}],"notes":["Newest first, up to 50 videos. Twitch refuses later pages to logged-out clients, so has_more only tells you that older videos exist.","type=all also includes premieres."]},{"key":"twitch.clips","platform":"twitch","platform_name":"Twitch","action":"clips","method":"POST","path":"/v1/twitch/clips","title":"Twitch clips","description":"A Twitch channel's most viewed clips for a period (last day, week, month or all time, up to 50) with views, duration, creator, game and the source VOD timestamp.","credits":1,"params":[{"name":"username","type":"string","required":true,"description":"Twitch login name or channel URL.","example":"shroud"},{"name":"period","type":"string","required":false,"description":"Time window: last_day, last_week, last_month or all_time.","example":"last_week","default":"last_week"},{"name":"limit","type":"integer","required":false,"description":"Maximum number of clips to return.","example":20,"default":20,"min":1,"max":50}],"one_of":null,"example":{"username":"shroud","period":"last_week","limit":20},"response":[{"field":"user_id","type":"string","nullable":true,"description":"Twitch numeric user ID"},{"field":"username","type":"string","nullable":false,"description":"Login name (lowercase)"},{"field":"display_name","type":"string","nullable":false,"description":"Display name"},{"field":"period","type":"string","nullable":false,"description":"Period that was requested"},{"field":"clips","type":"array<object>","nullable":false,"description":"Clips, most viewed first, max limit","items":[{"field":"id","type":"string","nullable":false,"description":"Clip ID"},{"field":"slug","type":"string","nullable":false,"description":"Clip slug"},{"field":"link","type":"string","nullable":false,"description":"https://www.twitch.tv/<channel>/clip/<slug>"},{"field":"title","type":"string","nullable":false,"description":"Clip title; empty string if none"},{"field":"view_count","type":"integer","nullable":true,"description":"Number of views"},{"field":"duration_seconds","type":"integer","nullable":true,"description":"Clip length in seconds"},{"field":"created_at","type":"string","nullable":true,"description":"Creation time, ISO 8601"},{"field":"thumbnail_url","type":"string","nullable":true,"description":"Thumbnail URL"},{"field":"creator","type":"object","nullable":true,"description":"User who made the clip","fields":[{"field":"username","type":"string","nullable":true,"description":"Login name"},{"field":"display_name","type":"string","nullable":true,"description":"Display name"}]},{"field":"game","type":"object","nullable":true,"description":"Game/category; null if none","fields":[{"field":"id","type":"string","nullable":true,"description":"Twitch game ID"},{"field":"name","type":"string","nullable":true,"description":"Game/category name"}]},{"field":"video_id","type":"string","nullable":true,"description":"Source VOD ID; null when the VOD is gone"},{"field":"video_offset_seconds","type":"integer","nullable":true,"description":"Clip start offset in the source VOD, in seconds"},{"field":"vod_link","type":"string","nullable":true,"description":"Source VOD URL at the clip's timestamp"}]},{"field":"clips_fetched","type":"integer","nullable":false,"description":"Number of clips returned"},{"field":"has_more","type":"boolean","nullable":false,"description":"More clips exist in this period beyond those returned"}],"notes":["Most viewed first within the period, up to 50 clips. Twitch refuses later pages to logged-out clients.","video_id, video_offset_seconds and vod_link are null when the source VOD has expired or was deleted."]}]}