API Direct
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Search social media, news, forums and Google Maps: LinkedIn, X, Reddit, TikTok, YouTube.
| Author | io.apidirect |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2814 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"API Direct": {
"url": "https://apidirect.io/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (145)
list_skillsread-onlyList API Direct's ready-made skills: playbooks that chain the data tools, with filters such as author_title, mentions_company and AI sentiment, to reach a business outcome (lead generation, competitor and brand monitoring, recruiting, due diligence, deal sourcing, market research). Returns each skill's id, name, category, summary and inputs. Use it when a request matches one of those goals, then run the chosen skill with get_skill. Free.
Parameters:
category— string — Optional: filter to a category substring, e.g. "sales", "recruiting", "investing", "crisis".
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_skillread-onlyGet one skill's step-by-step playbook with your inputs filled in: the ordered tool calls and filters that produce its outcome, for you to run. Pass the skill_id from list_skills, or the skill name the user gave (close matches resolve). Omit inputs and the playbook lists what to ask the user for. Free.
Parameters:
skill_id(required) — string — The skill id from list_skills, e.g. "competitor-conquest-radar".inputs— object — The skill's inputs as key/value pairs, e.g. {"competitor": "Notion"}. Optional — omit and the playbook will tell you what to ask the user for.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
search_linkedinread-onlySearch LinkedIn posts by keyword and/or filters: author (posts by a person), author_title (posts by people with a job title, e.g. Founder), author_company (posts by a company's employees), from_company (posts by a company page), mentions_company or mentions_member (posts mentioning a company or person), author_industry. Returns post text, author, date, engagement metrics, attached media and a has_content_entities flag (true when an image, article, video or job is attached). Company ids come from search_linkedin_companies. 20 posts per page. Billed $0.006 per request.
Parameters:
page— integer — Page number, 1-25 (default: 1). 20 posts per pagequery— string — Search keyword (max 500 characters). Optional if you supply a filter below.author— string — Posts authored by this person — profile URL, public slug (e.g. williamhgates), or member URN. Comma-separate for multiple.sort_by— string — Sort order: "most_recent" or "relevance"posted_ago— string — Only posts from this period: "24h", "7d", or "30d" (default: all time). Works with both sort orders and every filterauthor_title— string — Posts by authors whose job title matches this free text (e.g. "CEO", "Founder"). Applies alongside a query.from_company— string — Posts authored by a company page. Numeric company id(s), comma-separated.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.author_company— string — Posts by people who work at this company. Numeric LinkedIn company id (from search_linkedin_companies).author_industry— string — Posts by authors in these numeric LinkedIn industry id(s), comma-separated. Advanced; applies alongside a query.mentions_member— string — Posts that mention this person (profile URL, public slug, or member URN).mentions_company— string — Posts that mention this company. Numeric company id.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
linkedin_person_detailsread-onlyGet a LinkedIn person's profile by profile URL, public slug or member URN. Returns name, headline, about, location, follower and connection counts, open-to-work status, and the experience, education, skills, certifications, languages, honors, publications, volunteering and projects sections. Use linkedin_person_posts for their posts. Billed $0.006 per request.
Parameters:
url(required) — string — LinkedIn profile URL, public slug (e.g. reidhoffman), or member URN (ACoAA...)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
linkedin_person_postsread-onlyGet the recent posts a LinkedIn person authored, by profile URL or public slug. Returns post text, engagement metrics (likes, comments, shares, reactions), author info, images, videos and articles. 20 posts per page, up to about 600 posts. Use search_linkedin with author to filter a person's posts by keyword. Billed $0.006 per request.
Parameters:
url(required) — string — LinkedIn profile URL or public slug (e.g. williamhgates)page— integer — Page number, 1-30 (default: 1). 20 posts per page — up to ~600 of the person's most recent posts.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
linkedin_post_detailsread-onlyGet one LinkedIn post by URL. Returns full post text, author details, images, embedded links and engagement metrics with reaction breakdowns. Billed $0.002 per request.
Parameters:
url(required) — string — LinkedIn post URLget_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
linkedin_company_detailsread-onlyGet a LinkedIn company page by URL. Returns name, description, employee count, industry, headquarters and locations, specialities, website and similar companies. Use search_linkedin_companies to find a company by name. Billed $0.006 per request.
Parameters:
url(required) — string — LinkedIn company page URL
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
linkedin_company_postsread-onlyGet recent posts from a LinkedIn company page by URL. Returns post text, author info, images, videos and engagement metrics (likes, comments, shares, reactions). 10 posts per page. Billed $0.006 per request.
Parameters:
url(required) — string — LinkedIn company page URLpage— integer — Page number, 1-50 (default: 1). 10 posts per pageget_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_linkedin_companiesread-onlySearch LinkedIn companies by keyword. Returns name, subtitle (industry and location), description, follower count as text (e.g. 2M followers), logo, URL and company_id, the numeric id that search_linkedin (author_company, from_company, mentions_company) and search_linkedin_jobs (company_ids) take. 10 results per page. Billed $0.006 per request.
Parameters:
query(required) — string — Search keyword (max 500 characters)page— integer — Page number, 1-100 (default: 1). 10 results per page.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_linkedin_jobsread-onlySearch LinkedIn job listings by keyword. Returns title, company and company_id, location, posting date, job type, experience level, workplace type, industry, salary and full description. Filter by recency, job type, company and location; useful as a hiring or expansion signal. 25 jobs per page. Billed $0.006 per request.
Parameters:
query(required) — string — Search keyword (max 500 characters)page— integer — Page number, 1-40 (default: 1). 25 jobs per pagesort_by— string — Sort order: "most_recent" or "relevance" (default: relevance)job_type— string — Job type filter: full_time, part_time, contract, temporary, volunteer, internship, other. Comma-separated for multiple.posted_ago— string — Maximum job age: "1h", "24h", "7d", or "30d" (default: all time)company_ids— string — Filter by company — comma-separated numeric LinkedIn company id(s) (from search_linkedin_companies).location_id— string — Filter by location — a numeric LinkedIn location id (see https://apidirect.io/docs/linkedin-job-locations).
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
linkedin_job_detailsread-onlyGet one LinkedIn job listing by URL or numeric job ID. Returns title, company, location, posting date, job type, experience level, workplace type, industry, salary, benefits and full description. Billed $0.002 per request.
Parameters:
url(required) — string — LinkedIn job URL (e.g. https://linkedin.com/jobs/view/1234567890) or numeric job ID
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_twitterread-onlySearch Twitter/X posts by keyword; X search operators work in query. Returns tweet text, author username, URL, date and engagement metrics (likes, retweets, replies, views). Filter by time window (posted_ago) or date range. Use twitter_user_tweets for one account's timeline. Billed $0.006 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters). Supports X search operatorspages— integer — Number of pages to fetch, 1-20 (default: 1)sort_by— string — Sort order: "most_recent" or "relevance"end_date— string — Only posts up to and including this date (YYYY-MM-DD, UTC). Not with posted_agoposted_ago— string — Only posts from this period: "1h", "24h", "7d", "30d", or "12m" (default: all time). Works with both sort ordersstart_date— string — Only posts from this date onward (YYYY-MM-DD, UTC). Not with posted_agoget_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_twitter_usersread-onlySearch Twitter/X users by keyword. Returns username, display name, bio, follower and following counts, verification status and profile image. Use twitter_user_profile when you know the username. Billed $0.006 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch, 1-20 (default: 1)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
twitter_user_profileread-onlyGet a Twitter/X user's profile by username. Returns display name, bio, follower and following counts, verification status and account metadata. Use search_twitter_users to find an account by keyword. Billed $0.006 per request.
Parameters:
username(required) — string — Twitter username (without @, max 50 characters)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
twitter_user_tweetsread-onlyGet the tweets a Twitter/X user posted, by username. Returns tweet text, engagement metrics and metadata. Use twitter_user_replies for their replies. Billed $0.006 per page.
Parameters:
username(required) — string — Twitter username (without @, max 50 characters)pages— integer — Number of pages to fetch, 1-20 (default: 1)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
twitter_user_followersread-onlyGet the followers of a Twitter/X user by username. Returns each follower's username, bio, follower counts and verification status. Use twitter_verified_followers for verified followers only. Billed $0.006 per page.
Parameters:
username(required) — string — Twitter username (without @, max 50 characters)pages— integer — Number of pages to fetch, 1-20 (default: 1)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
twitter_user_followingread-onlyGet the accounts a Twitter/X user follows, by username. Returns profile details for each account, about 50 per page. Billed $0.006 per page.
Parameters:
username(required) — string — Twitter username (without @, max 50 characters)pages— integer — Number of pages to fetch, 1-175 (default: 1). Each page returns ~50 accounts.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
twitter_verified_followersread-onlyGet only the verified (blue checkmark) followers of a Twitter/X user, by username. Returns profile details for each. Use twitter_user_followers for all followers. Billed $0.006 per page.
Parameters:
username(required) — string — Twitter username (without @, max 50 characters)pages— integer — Number of pages to fetch, 1-20 (default: 1)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
twitter_user_repliesread-onlyGet the replies a Twitter/X user posted, by username. Returns each reply's text and engagement metrics. Use twitter_user_tweets for their tweets. Billed $0.006 per page.
Parameters:
username(required) — string — Twitter username (without @, max 50 characters)pages— integer — Number of pages to fetch, 1-20 (default: 1)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
twitter_tweet_detailsread-onlyGet one tweet by its numeric ID. Returns full text, engagement metrics, author info and metadata. Billed $0.006 per request.
Parameters:
tweet_id(required) — string — Numeric tweet IDget_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
twitter_tweet_retweetsread-onlyGet the users who retweeted a tweet, by numeric tweet ID. Returns profile details for each user. Use twitter_tweet_quotes for retweets that added a comment. Billed $0.006 per page.
Parameters:
tweet_id(required) — string — Numeric tweet IDpages— integer — Number of pages to fetch, 1-20 (default: 1)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
twitter_tweet_quotesread-onlyGet the quote tweets of a tweet, by numeric tweet ID. Returns each quote's text and engagement metrics. Billed $0.006 per page.
Parameters:
tweet_id(required) — string — Numeric tweet IDpages— integer — Number of pages to fetch, 1-20 (default: 1)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
twitter_tweet_commentsread-onlyGet the replies (comments) on a tweet, by numeric tweet ID. Returns each reply's text and engagement metrics. Billed $0.006 per page.
Parameters:
tweet_id(required) — string — Numeric tweet IDpages— integer — Number of pages to fetch, 1-20 (default: 1)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
twitter_trendsread-onlyGet the current Twitter/X trending topics for a location by WOEID (1 = worldwide). Returns trend names, search queries and tweet volumes where available. Billed $0.006 per request.
Parameters:
woeid(required) — integer — Where On Earth ID for the location. Use 1 for Worldwide.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_redditread-onlySearch Reddit posts by keyword. Returns title, URL, subreddit, author, text, score, comment count, flair and video/gallery links. Sort by newest, relevance, hot, top or most commented, limit to a time window or one subreddit, and optionally include NSFW posts. 20 posts per page. Use search_reddit_comments to search comment text and reddit_subreddit_posts to browse a subreddit. Billed $0.003 per request.
Parameters:
query(required) — string — Search keyword (max 500 characters)page— integer — Page number, 1-12 (default: 1). 20 posts per pagesort_by— string — Sort order: "most_recent", "relevance", "hot", "top", or "most_commented"subreddit— string — Only posts from this subreddit, with or without r/ (e.g. Python)posted_ago— string — Only posts from this period: "1h", "24h", "7d", "30d", "12m", or "all" (default: all). Works with every sort_byinclude_nsfw— boolean — Include posts marked NSFW (left out by default)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_reddit_commentsread-onlySearch Reddit comments by keyword, optionally in one subreddit. Returns comment text, subreddit, author, date, the comment, post and parent IDs, a link to the comment and a link for the parent post (its Reddit thread, or the article, image or video a link post shares). Use search_reddit for posts. Billed $0.003 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch, 1-10 (default: 1)sort_by— string — Sort order: "most_recent", "relevance", or "top"subreddit— string — Only comments from this subreddit, with or without r/ (e.g. Python)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_reddit_usersread-onlySearch Reddit users by keyword. Returns username, user ID, bio, post and comment karma, account creation date, banner, verified, moderator, employee and NSFW flags and profile link. 25 per page, up to 4 pages. Billed $0.003 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch, 1-4 (default: 1). Each page returns up to 25 users
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_reddit_subredditsread-onlySearch subreddits by keyword. Returns name, ID, title, member count, description, creation date, type, language and icon for each. 25 per page. Use reddit_subreddit_details for one subreddit's weekly activity. Billed $0.003 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch, 1-10 (default: 1). Each page returns up to 25 subreddits.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
reddit_post_detailsread-onlyGet one Reddit post by URL or post ID (provide exactly one). Returns title, text, author, subreddit, date, score, upvote ratio, comment and crosspost counts, flair, the shared link, thumbnail, video links, gallery images and NSFW/spoiler/locked flags. Use reddit_post_comments for its comments. Billed $0.003 per request.
Parameters:
url— string — Reddit post URL, e.g. https://www.reddit.com/r/Python/comments/1wwv97o/my_python_magic_is_gone/ or https://redd.it/1wwv97o (max 500 characters). Provide exactly one of url or post_id.post_id— string — Reddit post ID, e.g. 1wwv97o (a t3_ prefix is accepted). Provide exactly one of url or post_id.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
reddit_post_commentsread-onlyGet the comments on a Reddit post, replies included, by URL or post ID (provide exactly one). Comments come in thread order with depth and parent ID, plus text, author, score, date and permalink. Sort by top, best, most_recent, controversial, oldest or qa. 50 per page, up to ~4,000 per thread; more than 10 pages can take over a minute on a big thread. Billed $0.003 per page.
Parameters:
url— string — Reddit post URL, e.g. https://www.reddit.com/r/Python/comments/1wwv97o/my_python_magic_is_gone/ or https://redd.it/1wwv97o (max 500 characters). Provide exactly one of url or post_id.pages— integer — Number of pages to fetch, 1-80 (default: 1). Each page returns up to 50 comments.post_id— string — Reddit post ID, e.g. 1wwv97o (a t3_ prefix is accepted). Provide exactly one of url or post_id.sort_by— string — Sort order: top, best (Reddit's default order), most_recent, controversial, oldest, or qa (Q&A) (default: top)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
reddit_post_crosspostsread-onlyGet the crossposts and reposts of a Reddit post's link across Reddit, by URL or post ID (provide exactly one). Returns subreddit, author, date, score, upvote ratio and comment count for each, up to 100. Billed $0.003 per request.
Parameters:
url— string — Reddit post URL, e.g. https://www.reddit.com/r/Python/comments/1wwv97o/my_python_magic_is_gone/ or https://redd.it/1wwv97o (max 500 characters). Provide exactly one of url or post_id.post_id— string — Reddit post ID, e.g. 1wwv97o (a t3_ prefix is accepted). Provide exactly one of url or post_id.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
reddit_user_profileread-onlyGet a Reddit user's profile by username or profile URL (provide exactly one). Returns display name, followers, post and comment counts, post, comment, total and award karma, bio, avatar, banner, account creation date and verified, Premium, moderator and employee flags. Billed $0.003 per request.
Parameters:
url— string — Reddit profile URL, e.g. https://www.reddit.com/user/spez (max 500 characters). Provide exactly one of username or url.username— string — Reddit username, with or without u/ (3-20 characters). Provide exactly one of username or url.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
reddit_user_postsread-onlyGet a Reddit user's submitted posts by username or profile URL (provide exactly one), sorted most_recent, hot, top or controversial; posted_ago sets the window for top and controversial (default: all time). Returns title, text, subreddit, date, score, upvote ratio, comment count, flair, shared link and video/gallery links for each post. 25 per page, up to ~1,000 posts. Billed $0.003 per page.
Parameters:
url— string — Reddit profile URL, e.g. https://www.reddit.com/user/spez (max 500 characters). Provide exactly one of username or url.pages— integer — Number of pages to fetch, 1-40 (default: 1). Each page returns up to 25 posts.sort_by— string — Sort order: most_recent, hot, top, or controversial (default: most_recent)username— string — Reddit username, with or without u/ (3-20 characters). Provide exactly one of username or url.posted_ago— string — Time window for sort_by=top or sort_by=controversial: 1h, 24h, 7d, 30d, 12m, or all (default: all). Rejected with any other sort_by.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
reddit_user_commentsread-onlyGet a Reddit user's comments by username or profile URL (provide exactly one), sorted most_recent, hot, top or controversial; posted_ago sets the window for top and controversial (default: all time). Returns text, score, date, subreddit and permalink for each, plus the title and link of the post it was on. 25 per page, up to ~1,000 comments. Billed $0.003 per page.
Parameters:
url— string — Reddit profile URL, e.g. https://www.reddit.com/user/spez (max 500 characters). Provide exactly one of username or url.pages— integer — Number of pages to fetch, 1-40 (default: 1). Each page returns up to 25 comments.sort_by— string — Sort order: most_recent, hot, top, or controversial (default: most_recent)username— string — Reddit username, with or without u/ (3-20 characters). Provide exactly one of username or url.posted_ago— string — Time window for sort_by=top or sort_by=controversial: 1h, 24h, 7d, 30d, 12m, or all (default: all). Rejected with any other sort_by.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
reddit_subreddit_detailsread-onlyGet a subreddit's details by name or URL (provide exactly one). Returns members, weekly active users, weekly contributions, description, sidebar, creation date, type, language, icon, banner, NSFW and quarantine flags, and status (active, private, banned or quarantined). Billed $0.003 per request.
Parameters:
url— string — Subreddit URL, e.g. https://www.reddit.com/r/Python/ (max 500 characters). Provide exactly one of subreddit or url.subreddit— string — Subreddit name, with or without r/, e.g. Python. Provide exactly one of subreddit or url.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
reddit_subreddit_postsread-onlyGet a subreddit's posts by name or URL (provide exactly one), sorted hot, new, top, rising or controversial; posted_ago sets the window for top and controversial (1h to all); flair keeps only posts with that flair. Returns title, text, author, date, score, upvote ratio, comment count, flair, shared link and video/gallery links for each post. 25 per page, up to ~1,000 posts. Billed $0.003 per page.
Parameters:
url— string — Subreddit URL, e.g. https://www.reddit.com/r/Python/ (max 500 characters). Provide exactly one of subreddit or url.flair— string — Only posts with exactly this flair, e.g. Hiring (max 64 characters, not case-sensitive).pages— integer — Number of pages to fetch, 1-40 (default: 1). Each page returns up to 25 posts.sort_by— string — Sort order: hot, most_recent, top, rising, or controversial (default: hot)subreddit— string — Subreddit name, with or without r/, e.g. Python. Provide exactly one of subreddit or url.posted_ago— string — Time window for sort_by=top or sort_by=controversial: 1h, 24h, 7d, 30d, 12m, or all (default: 24h, Reddit's own default). Rejected with any other sort_by.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
reddit_subreddit_rulesread-onlyGet a subreddit's rules by name or URL (provide exactly one), in order. Returns each rule's title, full text, what it applies to (link, comment or all), report reason and the date it was added. Billed $0.003 per request.
Parameters:
url— string — Subreddit URL, e.g. https://www.reddit.com/r/Python/ (max 500 characters). Provide exactly one of subreddit or url.subreddit— string — Subreddit name, with or without r/, e.g. Python. Provide exactly one of subreddit or url.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
reddit_trendingread-onlyGet the posts trending across Reddit: r/popular (feed=popular, worldwide or one country's with country, e.g. GB) or r/all (feed=all), sorted hot, most_recent, top, rising or controversial; posted_ago sets the window for top and controversial. Returns title, text, subreddit, author, date, score, upvote ratio, comment count, flair, shared link and video/gallery links for each post. 25 per page, up to ~500 posts. Billed $0.003 per page.
Parameters:
feed— string — popular (r/popular: the most active posts in public, non-NSFW communities) or all (r/all: every community) (default: popular)pages— integer — Number of pages to fetch, 1-20 (default: 1). Each page returns up to 25 posts.country— string — One country's r/popular, as on reddit.com: AR, AU, BG, CA, CL, CO, CZ, DE, ES, FI, FR, GB, GR, HR, HU, IE, IN, IS, IT, JP, MX, MY, NZ, PH, PL, PR, PT, RO, RS, SE, SG, TH, TR, TW or US (default: worldwide). Only with feed=popular.sort_by— string — Sort order: hot, most_recent, top, rising, or controversial (default: hot)posted_ago— string — Time window for sort_by=top or sort_by=controversial: 1h, 24h, 7d, 30d, 12m, or all (default: 24h). Rejected with any other sort_by.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_youtuberead-onlySearch YouTube videos by keyword. Returns title, URL, channel, publish date, description, view count, length and thumbnail. Filter by upload date. Use youtube_video_details for one video's full metadata. Billed $0.005 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch, 1-20 (default: 1)upload_date— string — Filter by upload date: "last_hour", "today", "this_week", "this_month", or "this_year"get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_youtube_channelsread-onlySearch YouTube channels by keyword. Returns channel name, description, subscriber count and thumbnail. Use youtube_channel_details for one channel's full stats. Billed $0.005 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch, 1-20 (default: 1)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
get_youtube_commentsread-onlyGet the comments on a YouTube video by URL or video ID. Returns each comment's text, author, like and reply counts, date, link and up to 5 preview replies. Sort by newest or relevance. Up to about 100 comments per page. Billed $0.005 per page.
Parameters:
url(required) — string — YouTube video URL or 11-character video IDpages— integer — Number of pages to fetch, 1-20 (default: 1). Each page returns up to ~100 comments.sort_by— string — Sort order: most_recent (newest first) or relevance (default: relevance)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
youtube_channel_detailsread-onlyGet a YouTube channel by channel ID, URL or name/@handle (provide exactly one). Returns name, description, subscriber, video and total view counts, country, creation date, verification status, external links, profile picture and banner. Billed $0.005 per request.
Parameters:
id— string — YouTube channel ID (24 characters, starts with UC)url— string — Channel URL: youtube.com/channel/..., youtube.com/@handle, /c/ or /user/ formsname— string — Channel name or @handle (e.g. @mkbhd or Linus Tech Tips)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
youtube_video_detailsread-onlyGet one YouTube video by URL or 11-character video ID. Returns title, full description, channel name and ID, publish date, duration in seconds, view count, category, keywords and thumbnail. Works for regular videos, Shorts and live streams. Use get_youtube_comments for its comments. Billed $0.005 per request.
Parameters:
url(required) — string — YouTube video URL (watch?v=, youtu.be/, /shorts/, /embed/ or /live/ forms) or 11-character video ID
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_instagramread-onlySearch Instagram posts by keyword. Returns caption, author, date, engagement metrics (likes, comments, shares, views), media URLs, hashtags, mentions and Instagram's AI label (ai_label with detection_method). Use instagram_hashtag_posts for a hashtag's feed. Billed $0.006 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters). Cannot start with # or @pages— integer — Number of pages to fetch, 1-20 (default: 1)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_instagram_usersread-onlySearch Instagram users by keyword. Returns username, full name, verification status, profile picture and whether Instagram labels the account AI-generated. Use instagram_user_profile for one account's full profile. Billed $0.006 per request.
Parameters:
query(required) — string — Search keyword (max 500 characters)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
instagram_user_profileread-onlyGet an Instagram user's full profile by username or profile URL (provide exactly one). Returns biography, follower, following and media counts, category, external link, verification status and date, the country the account is based in, join date, the number of former usernames and whether Instagram labels the account AI-generated. Billed $0.006 per request.
Parameters:
url— string — Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters)username— string — Instagram username, with or without leading @ (max 100 characters)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
instagram_user_postsread-onlyGet an Instagram user's recent posts and reels (their feed) by username or profile URL (provide exactly one). Returns captions, engagement metrics (likes, comments, shares, views), author metadata, hashtags, mentions and Instagram's AI label. Up to 12 posts per page. Billed $0.006 per page.
Parameters:
url— string — Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters)pages— integer — Number of pages to fetch, 1-20 (default: 1). Each page returns up to 12 postsusername— string — Instagram username, with or without leading @ (max 100 characters)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
instagram_post_detailsread-onlyGet one Instagram post, reel or IGTV video by URL or shortcode (provide exactly one). Returns caption, like, comment, share and view counts, media URLs, carousel slides, audio track, tagged users, location, author details and Instagram's AI label. Billed $0.006 per request.
Parameters:
url— string — Instagram post, reel, or story URL, e.g. https://www.instagram.com/p/CxYQJO8xuC6/ (max 500 characters)code— string — The post's shortcode, e.g. CxYQJO8xuC6, or numeric media ID (max 50 characters)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
instagram_user_followersread-onlyGet an Instagram user's followers by username or profile URL (provide exactly one). Returns username, full name, user ID, verification and privacy status and profile picture, 50 per page. Verified accounts return only their first ~50 followers, and pages beyond that are not billed. Pass query to search the followers instead (up to 50 matches, billed as one page). Billed $0.006 per page.
Parameters:
url— string — Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters)pages— integer — Number of pages to fetch, 1-40 (default: 1). Each page returns up to 50 followers; verified accounts return the first page onlyquery— string — Optional keyword to search this user's followers by username or name (max 100 characters). Returns up to 50 matches in a single request; pages is ignoredusername— string — Instagram username, with or without leading @ (max 100 characters)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
instagram_user_followingread-onlyGet the accounts an Instagram user follows, by username or profile URL (provide exactly one). Returns username, full name, user ID, verification and privacy status and profile picture, 50 per page. Pass query to search the list instead (up to 50 matches, billed as one page). Billed $0.006 per page.
Parameters:
url— string — Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters)pages— integer — Number of pages to fetch, 1-40 (default: 1). Each page returns up to 50 accountsquery— string — Optional keyword to search the accounts this user follows by username or name (max 100 characters). Returns up to 50 matches in a single request; pages is ignoredusername— string — Instagram username, with or without leading @ (max 100 characters)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
instagram_user_storiesread-onlyGet an Instagram user's active stories (last 24 hours) by username or profile URL (provide exactly one). Returns each story's media URLs, post and expiry times, link stickers, mentions, tagged users, location, audio and AI detection method. Media URLs expire after about 6-24 hours. Returns an empty list when there are no active stories. Use instagram_user_highlights for saved stories. Billed $0.006 per request.
Parameters:
url— string — Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters)username— string — Instagram username, with or without leading @ (max 100 characters)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
instagram_user_highlightsread-onlyList an Instagram user's story highlights by username or profile URL (provide exactly one). Returns each highlight's ID, title, story count, cover image, created and updated dates and link. Pass a highlight ID to instagram_highlight_stories for its stories. Billed $0.006 per request.
Parameters:
url— string — Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters)username— string — Instagram username, with or without leading @ (max 100 characters)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
instagram_highlight_storiesread-onlyGet the stories saved in one Instagram highlight, by highlight ID (from instagram_user_highlights) or highlight URL. Returns the highlight's title and cover plus each story's media URLs, post time, link stickers, mentions, tagged users, location, audio and AI detection method. Media URLs expire after about 6-24 hours. Billed $0.006 per request.
Parameters:
highlight_id(required) — string — Highlight ID, e.g. 17987606483520330 (also accepts highlight:17987606483520330), or a highlight URL like https://www.instagram.com/stories/highlights/17987606483520330/
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
instagram_post_commentsread-onlyGet the comments on an Instagram post or reel by URL or shortcode (provide exactly one). Returns each comment's text, author details (including whether Instagram labels the commenter AI-generated), like and reply counts, date and link. Sort by popular (includes pinned) or recent. Up to 15 comments per page. Use instagram_comment_replies for a comment's replies. Billed $0.006 per page.
Parameters:
url— string — Instagram post or reel URL, e.g. https://www.instagram.com/p/CxYQJO8xuC6/ (max 500 characters)code— string — The post's shortcode, e.g. CxYQJO8xuC6, or numeric media ID (max 50 characters)pages— integer — Number of pages to fetch, 1-20 (default: 1). Each page returns up to 15 commentssort_by— string — Sort order: popular (default, includes pinned comments) or recentget_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
instagram_comment_repliesread-onlyGet the replies to one Instagram comment, by post URL or shortcode (provide exactly one) plus the comment_id from instagram_post_comments. Returns each reply's text, author details (including whether Instagram labels the commenter AI-generated), like count, date, link and parent comment. Returns an empty list when there are no replies. Billed $0.006 per page.
Parameters:
comment_id(required) — string — The comment's numeric ID, from instagram_post_comments (comment_id)url— string — Instagram post or reel URL, e.g. https://www.instagram.com/p/CxYQJO8xuC6/ (max 500 characters)code— string — The post's shortcode, e.g. CxYQJO8xuC6, or numeric media ID (max 50 characters)pages— integer — Number of pages to fetch, 1-10 (default: 1)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
instagram_post_likesread-onlyGet the users who liked an Instagram post or reel, by URL or shortcode (provide exactly one). Returns username, full name, user ID, verification and privacy status and profile picture for every liker Instagram exposes (typically several hundred), plus the total like count, in one request. Billed $0.006 per request.
Parameters:
url— string — Instagram post or reel URL, e.g. https://www.instagram.com/p/CxYQJO8xuC6/ (max 500 characters)code— string — The post's shortcode, e.g. CxYQJO8xuC6, or numeric media ID (max 50 characters)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
instagram_hashtag_postsread-onlyGet Instagram posts and reels for a hashtag. Returns the same post objects as search_instagram plus the hashtag's total post count (top tab only). sort_by picks the tab: top (default), recent or reels. Up to about 30 new posts per page. Billed $0.006 per page.
Parameters:
hashtag(required) — string — Hashtag, with or without the leading # (max 100 characters), e.g. summerpages— integer — Number of pages to fetch, 1-10 (default: 1). Each page adds up to about 30 posts (repeats across pages are removed)sort_by— string — Hashtag tab: top (default), recent (newest first), or reels (Reels only)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_threadsread-onlySearch Threads (Meta) posts by keyword. Returns post text, author, engagement metrics (likes, replies, reposts, quotes, reshares), media, link previews and permalinks. About 20 posts on the first page and 10 on each later page. Billed $0.006 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch, 1-200 (default: 1). The first page returns about 20 posts and later pages about 10get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_threads_usersread-onlySearch Threads (Meta) users by keyword. Returns username, display name, user ID, verification and privacy status and profile picture. Use threads_user_profile for one account's full profile. Billed $0.006 per request.
Parameters:
query(required) — string — Search keyword (max 500 characters)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
threads_user_profileread-onlyGet a Threads (Meta) user's profile by username. Returns biography, bio links, follower count, verification status, profile picture and topic tags. Use threads_user_posts for their posts. Billed $0.006 per request.
Parameters:
username(required) — string — Threads username, with or without leading @ (max 100 characters)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
threads_user_postsread-onlyGet a Threads (Meta) user's recent posts by username, newest first. Returns post text, engagement metrics, media, link previews, timestamps, permalinks and whether each post is pinned. Up to about 35 posts per page. Billed $0.006 per page.
Parameters:
username(required) — string — Threads username, with or without leading @ (max 100 characters)pages— integer — Number of pages to fetch, 1-60 (default: 1). Each page returns up to about 35 postsget_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
truthsocial_user_postsread-onlyGet a Truth Social user's recent posts (their feed) by username. Returns post text, engagement metrics (replies, reposts, likes), media, hashtags, reply status and permalinks. Up to 20 posts per page. Billed $0.006 per page.
Parameters:
username(required) — string — Truth Social username, with or without leading @ (max 100 characters)pages— integer — Number of pages to fetch, 1-20 (default: 1). Each page returns up to 20 postsget_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_blueskyread-onlySearch Bluesky posts by keyword; Bluesky search syntax works in query. Returns post text, author, date, engagement metrics (likes, replies, reposts, quotes, bookmarks), media, link cards and quoted posts. Sort by newest or relevance and limit to a date range. Up to 50 posts per page. Billed $0.003 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters). Bluesky search syntax works: "exact phrase", -exclude, from:handle, lang:en, #tagpages— integer — Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 posts; you are billed per page returned.sort_by— string — Sort order: "most_recent" or "relevance"end_date— string — Only posts up to this date (format: YYYY-MM-DD)start_date— string — Only posts from this date onward (format: YYYY-MM-DD)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_bluesky_usersread-onlySearch Bluesky users by keyword, matching handles, display names and bios. Returns handle, display name, DID, bio, verification status, profile picture and join date. Up to 50 users per page. Billed $0.003 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 users; you are billed per page returned.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
bluesky_user_profileread-onlyGet a Bluesky user's profile by handle, DID or profile URL (provide exactly one of username or url). Returns display name, bio, follower, following and post counts, verification status, profile picture, banner, join date and the pinned post's ID. Billed $0.003 per request.
Parameters:
url— string — Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters).username— string — Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters).
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
bluesky_user_postsread-onlyGet a Bluesky user's feed by handle, DID or profile URL (provide exactly one of username or url): their posts, replies and reposts, pinned post first then newest first, each flagged is_reply, is_repost and is_pinned. Returns post text, engagement metrics, media, link cards and quoted posts. Up to 50 posts per page. Billed $0.003 per page.
Parameters:
url— string — Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters).pages— integer — Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 posts; you are billed per page returned.username— string — Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters).get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
bluesky_user_followersread-onlyGet a Bluesky user's followers, newest first, by handle, DID or profile URL (provide exactly one of username or url). Returns handle, display name, DID, bio, verification status, profile picture and join date. Up to 50 per page. Billed $0.003 per page.
Parameters:
url— string — Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters).pages— integer — Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 accounts; you are billed per page returned.username— string — Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters).
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
bluesky_user_followingread-onlyGet the accounts a Bluesky user follows, newest first, by handle, DID or profile URL (provide exactly one of username or url). Returns handle, display name, DID, bio, verification status, profile picture and join date. Up to 50 per page. Billed $0.003 per page.
Parameters:
url— string — Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters).pages— integer — Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 accounts; you are billed per page returned.username— string — Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters).
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
bluesky_user_likesread-onlyGet the posts a Bluesky user liked, newest first, by handle, DID or profile URL (provide exactly one of username or url). Returns each full post plus liked_at, when the user liked it. Up to 50 per page. Billed $0.003 per page.
Parameters:
url— string — Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters).pages— integer — Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 posts; you are billed per page returned.username— string — Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters).get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
bluesky_post_detailsread-onlyGet one Bluesky post by URL or AT URI post_id (provide exactly one). Returns text, author, date, engagement metrics (likes, replies, reposts, quotes, bookmarks), media, link card and quoted post. Billed $0.003 per request.
Parameters:
url— string — Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters).post_id— string — The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters).get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
bluesky_post_commentsread-onlyGet the replies to a Bluesky post by URL or AT URI post_id (provide exactly one). Returns every reply Bluesky serves, up to 10 levels deep, as a flat list of full posts whose in_reply_to_id points at the parent. Billed $0.003 per request.
Parameters:
url— string — Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters).post_id— string — The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters).get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
bluesky_post_likesread-onlyGet the users who liked a Bluesky post, newest first, by URL or AT URI post_id (provide exactly one). Returns each user's handle, display name, DID, bio, verification status, profile picture, join date and like time. Up to 50 per page. Billed $0.003 per page.
Parameters:
url— string — Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters).pages— integer — Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 accounts; you are billed per page returned.post_id— string — The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters).
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
bluesky_post_quotesread-onlyGet the posts that quote a Bluesky post, newest first, by URL or AT URI post_id (provide exactly one). Returns each quoting post's text, author, engagement metrics and media. Up to 50 per page. Billed $0.003 per page.
Parameters:
url— string — Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters).pages— integer — Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 posts; you are billed per page returned.post_id— string — The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters).get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
bluesky_post_repostsread-onlyGet the users who reposted a Bluesky post, newest first, by URL or AT URI post_id (provide exactly one). Returns each user's handle, display name, DID, bio, verification status, profile picture and join date. Up to 50 per page. Billed $0.003 per page.
Parameters:
url— string — Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters).pages— integer — Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 accounts; you are billed per page returned.post_id— string — The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters).
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_substackread-onlySearch Substack posts by keyword across every publication. Returns post title, subtitle, author, publication, publication date, engagement (likes, comments, restacks), paywall status, word count, cover image and tags, plus the publications related to the query. Limit to a time window from the past day to the past year. Billed $0.003 per request.
Parameters:
query(required) — string — Search keyword (max 500 characters)page— integer — Page number, 1-101 (default: 1). 16-20 posts per pagelanguage— string — Two-letter language code, e.g. es, to rank posts in that language firstposted_ago— string — Only posts from this period: "24h", "7d", "30d", or "12m" (default: all time)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_substack_usersread-onlySearch Substack authors and publication profiles by name or keyword. Returns handle, display name, bio, follower count, subscriber badge, bestseller tier and primary publication for each profile. Billed $0.003 per request.
Parameters:
query(required) — string — Search keyword (max 500 characters)page— integer — Page number, 1-4 (default: 1). 20 profiles per page
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_substack_publicationsread-onlySearch Substack publications by name or keyword. Returns name, URL, tagline, author, subscriber badge, paid-subscriber band, prices, bestseller tier and language for each publication. 20 per page, up to 4 pages. Billed $0.003 per request.
Parameters:
query(required) — string — Search keyword (max 500 characters)page— integer — Page number, 1-4 (default: 1). 20 publications per pagelanguage— string — Two-letter language code, e.g. es, to rank publications in that language first
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_substack_notesread-onlySearch Substack Notes by keyword. Returns each note's text, author, date, engagement (likes, replies, restacks) and any quoted post or note, newest first or top first. Up to 12 notes per page. Billed $0.003 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch, 1-250 (default: 1). Each page returns up to 12 notes; you are billed per page returned.sort_by— string — Sort order: "most_recent" or "top"get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
substack_user_profileread-onlyGet a Substack author's full profile by handle, user ID or profile URL. Returns display name, bio, follower count, subscriber badge, bestseller tier, the publications they write for, profile links, X handle and leaderboard placement and the publications they subscribe to (provide exactly one of username, user_id, url). Billed $0.003 per request.
Parameters:
url— string — Profile URL, e.g. https://substack.com/@lenny (max 500 characters). Provide one of username, user_id or url.user_id— string — Numeric Substack user ID, as returned in user_id. Provide one of username, user_id or url.username— string — Substack handle, e.g. lenny, with or without a leading @ (max 100 characters). Provide one of username, user_id or url.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
substack_user_postsread-onlyGet an author's posts across all their publications, newest first. Returns post title, publication, publication date, engagement, paywall status, word count and tags. Up to 50 posts per page (provide exactly one of username, user_id, url). Billed $0.003 per page.
Parameters:
url— string — Profile URL, e.g. https://substack.com/@lenny (max 500 characters). Provide one of username, user_id or url.pages— integer — Number of pages to fetch, 1-60 (default: 1). Each page returns up to 50 posts; you are billed per page returned.user_id— string — Numeric Substack user ID, as returned in user_id. Provide one of username, user_id or url.username— string — Substack handle, e.g. lenny, with or without a leading @ (max 100 characters). Provide one of username, user_id or url.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
substack_user_activityread-onlyGet an author's public activity feed: their Notes and the posts they publish or restack, newest first, or only their notes, posts, replies, restacks or likes. Each item is tagged note, post or comment and says what the author did with it. Notes carry text, engagement and any quoted post or note (provide exactly one of username, user_id, url). Billed $0.003 per page.
Parameters:
url— string — Profile URL, e.g. https://substack.com/@lenny (max 500 characters). Provide one of username, user_id or url.type— string — Only this kind of activity: "note", "post", "reply", "restack" or "like"pages— integer — Number of pages to fetch, 1-250 (default: 1). Each page returns 12 items; you are billed per page returned.user_id— string — Numeric Substack user ID, as returned in user_id. Provide one of username, user_id or url.username— string — Substack handle, e.g. lenny, with or without a leading @ (max 100 characters). Provide one of username, user_id or url.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
substack_publication_detailsread-onlyGet a Substack publication by subdomain, custom domain, URL or ID. Returns name, tagline, logo, author, the subscriber badge and paid-subscriber band Substack displays, bestseller tier, subscription prices, podcast flag, language, launch dates and the publication's contributors (provide exactly one of publication, publication_id). Billed $0.003 per request.
Parameters:
publication— string — Publication subdomain (lenny), host (lenny.substack.com, www.lennysnewsletter.com) or any URL on it (max 500 characters). Provide either publication or publication_id.publication_id— string — Numeric publication ID, as returned in publication_id. Provide either publication or publication_id.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
substack_publication_postsread-onlyGet a publication's posts, newest first, top or most discussed, or search them by keyword. Returns post title, author, publication date, engagement, paywall status, word count and tags. Billed $0.003 per request.
Parameters:
publication(required) — string — Publication subdomain (lenny), host (lenny.substack.com, www.lennysnewsletter.com) or any URL on it (max 500 characters)page— integer — Page number (default: 1). 20 posts per pagequery— string — Keyword to search the publication's posts for (max 500 characters)sort_by— string — Sort order: "most_recent" (newest first), "top" (all-time most popular first) or "discussions" (posts with comment activity)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.podcasts_only— boolean — Set to true to return only podcast episodes
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
substack_publication_recommendationsread-onlyGet the publications a Substack publication recommends to its readers, and the publications that recommend it. Each entry carries the publication's name, URL, tagline, author, language, paid status and the recommender's blurb (provide exactly one of publication, publication_id). Billed $0.003 per request.
Parameters:
publication— string — Publication subdomain (lenny), host (lenny.substack.com, www.lennysnewsletter.com) or any URL on it (max 500 characters). Provide either publication or publication_id.publication_id— string — Numeric publication ID, as returned in publication_id. Provide either publication or publication_id.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
substack_post_detailsread-onlyGet a Substack post by URL, ID, or publication and slug. Returns the full body as HTML and plain text (the free preview for paid posts), title, subtitle, author, publication, publication date, engagement, paywall status, word count, cover image, podcast audio and tags (provide url, post_id, or publication together with slug). Billed $0.003 per request.
Parameters:
url— string — Post URL, e.g. https://www.lennysnewsletter.com/p/all-of-the-lenny-and-friends-summit (max 500 characters). Provide url, post_id, or publication and slug.slug— string — Post URL slug, e.g. all-of-the-lenny-and-friends-summit, used together with publication.post_id— string — Numeric post ID, as returned in post_id. Provide url, post_id, or publication and slug.publication— string — Publication subdomain, host or URL, used together with slug.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
substack_post_commentsread-onlyGet the full comment thread of a Substack post, nested. Returns every comment with text, author, date, likes, replies and restacks, replies nested under their parent to any depth, sorted by relevance, newest first or oldest first (provide url, post_id, or publication together with slug). Billed $0.003 per request.
Parameters:
url— string — Post URL, e.g. https://www.lennysnewsletter.com/p/all-of-the-lenny-and-friends-summit (max 500 characters). Provide url, post_id, or publication and slug.slug— string — Post URL slug, e.g. all-of-the-lenny-and-friends-summit, used together with publication.post_id— string — Numeric post ID, as returned in post_id. Provide url, post_id, or publication and slug.sort_by— string — Sort order: "relevance" (best first), "most_recent" or "oldest"publication— string — Publication subdomain, host or URL, used together with slug.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
substack_post_likesread-onlyGet the people who liked a Substack post. Returns up to 100 profiles with display name, user ID, profile picture, bestseller tier and primary publication, plus the post's total like count (provide url, post_id, or publication together with slug). Billed $0.003 per request.
Parameters:
url— string — Post URL, e.g. https://www.lennysnewsletter.com/p/all-of-the-lenny-and-friends-summit (max 500 characters). Provide url, post_id, or publication and slug.slug— string — Post URL slug, e.g. all-of-the-lenny-and-friends-summit, used together with publication.post_id— string — Numeric post ID, as returned in post_id. Provide url, post_id, or publication and slug.publication— string — Publication subdomain, host or URL, used together with slug.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
substack_note_detailsread-onlyGet a Substack Note by URL or ID, with its replies. Returns the note text, author, date, likes, replies and restacks, any quoted post or note, and the reply thread nested to any depth (provide exactly one of url, note_id). Billed $0.003 per request.
Parameters:
url— string — Note URL, e.g. https://substack.com/@hamish/note/c-355659691 (max 500 characters). Provide either url or note_id.note_id— string — Numeric note ID, with or without the c- prefix. Provide either url or note_id.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
substack_category_publicationsread-onlyGet a Substack category's leaderboard: the top publications ranked by Substack, each with its full details (subscriber badge, paid band, prices, author) and rank. Billed $0.003 per request.
Parameters:
category(required) — string — Category ID or slug, e.g. 4 or technology (bestsellers and podcasts for the site-wide boards). See https://apidirect.io/docs/substack-category-idspage— integer — Page number (default: 1), 25 publications per page. Up to 21 pages; rising 10; bestsellers and podcasts 4tier— string — all, paid or rising (bestsellers: rising; podcasts: all or paid)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
substack_category_feedread-onlyGet a Substack category's feed: the posts and notes Substack shows for the topic, top, newest or posts only. Each item is tagged note or post. About 11 items per page. Billed $0.003 per page.
Parameters:
category(required) — string — Category ID or slug, e.g. 4 or technology. See https://apidirect.io/docs/substack-category-idspages— integer — Number of pages to fetch, 1-250 (default: 1). Each page returns about 11 items; you are billed per page returned.sort_by— string — Sort order: "top", "most_recent" or "posts" (posts only, no notes)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
substack_trendingread-onlyGet the posts currently trending across all of Substack, as featured on its explore page. Returns each post's title, author, publication, publication date, engagement and paywall status. Billed $0.003 per request.
Parameters:
get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_tiktokread-onlySearch TikTok videos by keyword. Returns title, URL, engagement metrics (plays, likes, comments, shares, downloads), author metadata, music and publish date. Filter by publish time and region; sort by relevance, newest or most liked. Use tiktok_video_details for one video's full details. Billed $0.006 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch, 1-10 (default: 1)region— string — 2-letter region code, e.g. "us", "gb", "jp"sort_by— string — Sort order: "relevance", "most_recent", or "most_liked"publish_time— integer — Time filter: 0=ALL, 1=24h, 7=week, 30=month, 90=3months, 180=6monthsget_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_tiktok_usersread-onlySearch TikTok users by keyword. Returns username, nickname, bio, follower and following counts, total likes, video count and verification status. Use tiktok_user_profile for one account's full profile. Billed $0.006 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch, 1-10 (default: 1)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_user_profileread-onlyGet a TikTok user's profile by username, numeric user ID or profile URL (provide exactly one). Returns bio, bio link, follower and following counts, total likes, video count, verification status, join date and linked Instagram, X and YouTube accounts. Billed $0.006 per request.
Parameters:
url— string — TikTok profile URL, e.g. https://www.tiktok.com/@tiktok (max 500 characters)user_id— string — Numeric TikTok user ID, as returned by search_tiktok_usersusername— string — TikTok username, with or without leading @ (max 100 characters)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_video_detailsread-onlyGet one TikTok video by URL or numeric video ID (provide exactly one). Returns caption, play, like, comment, share and save counts, watermark-free playback and download URLs, cover images, music track and author details. Billed $0.006 per request.
Parameters:
url— string — TikTok video URL, e.g. https://www.tiktok.com/@tiktok/video/7516594811734854943 (max 500 characters)video_id— string — Numeric TikTok video ID: the number at the end of a video URL, e.g. 7516594811734854943
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_user_videosread-onlyGet a TikTok user's videos, newest first, by username, numeric user ID or profile URL (provide exactly one). Returns caption, link, publish date, play, like, comment, share, download and save counts, watermark-free playback URLs, cover images, the sound used and author details for each video, about 30 per page. Billed $0.006 per page.
Parameters:
url— string — TikTok profile URL, e.g. https://www.tiktok.com/@tiktok (max 500 characters). Provide exactly one of username, user_id, or url.pages— integer — Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 30 videos.user_id— string — Numeric TikTok user ID, as returned by Search Users or User Profile. Provide exactly one of username, user_id, or url.username— string — TikTok username, with or without leading @ (max 100 characters). Provide exactly one of username, user_id, or url.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_user_likesread-onlyGet the videos a TikTok user has liked, by username, numeric user ID or profile URL (provide exactly one). Returns the same video fields as tiktok_user_videos, about 30 per page. Accounts that hide their liked videos return an empty list. Billed $0.006 per page.
Parameters:
url— string — TikTok profile URL, e.g. https://www.tiktok.com/@tiktok (max 500 characters). Provide exactly one of username, user_id, or url.pages— integer — Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 30 videos.user_id— string — Numeric TikTok user ID, as returned by Search Users or User Profile. Provide exactly one of username, user_id, or url.username— string — TikTok username, with or without leading @ (max 100 characters). Provide exactly one of username, user_id, or url.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_user_storiesread-onlyGet a TikTok user's currently live stories (24-hour posts) by username, numeric user ID or profile URL (provide exactly one). Returns the same video fields as tiktok_user_videos. A user with no live stories returns an empty list. Billed $0.006 per page.
Parameters:
url— string — TikTok profile URL, e.g. https://www.tiktok.com/@tiktok (max 500 characters). Provide exactly one of username, user_id, or url.pages— integer — Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 30 stories.user_id— string — Numeric TikTok user ID, as returned by Search Users or User Profile. Provide exactly one of username, user_id, or url.username— string — TikTok username, with or without leading @ (max 100 characters). Provide exactly one of username, user_id, or url.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_user_followersread-onlyGet a TikTok user's followers, newest first, by username, numeric user ID or profile URL (provide exactly one). Returns username, display name, user ID, bio, follower and following counts, total likes, video count, verification status, region, join date and linked Instagram, X and YouTube accounts for each follower, 100 per page. A private account returns a 403 limited_account error. Billed $0.006 per page.
Parameters:
url— string — TikTok profile URL, e.g. https://www.tiktok.com/@tiktok (max 500 characters). Provide exactly one of username, user_id, or url.pages— integer — Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 100 followers.user_id— string — Numeric TikTok user ID, as returned by Search Users or User Profile. Provide exactly one of username, user_id, or url.username— string — TikTok username, with or without leading @ (max 100 characters). Provide exactly one of username, user_id, or url.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_user_followingread-onlyGet the accounts a TikTok user follows, by username, numeric user ID or profile URL (provide exactly one). Returns the same profile fields as tiktok_user_followers for each account, 50 per page. An account that hides its following list returns a 403 limited_account error. Billed $0.006 per page.
Parameters:
url— string — TikTok profile URL, e.g. https://www.tiktok.com/@tiktok (max 500 characters). Provide exactly one of username, user_id, or url.pages— integer — Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 50 accounts.user_id— string — Numeric TikTok user ID, as returned by Search Users or User Profile. Provide exactly one of username, user_id, or url.username— string — TikTok username, with or without leading @ (max 100 characters). Provide exactly one of username, user_id, or url.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_video_commentsread-onlyGet the top-level comments on a TikTok video, in TikTok's default order, by video URL or numeric video ID (provide exactly one). Returns each comment's text, author profile, like and reply counts and date, 50 per page. Use tiktok_comment_replies for a comment's thread. Billed $0.006 per page.
Parameters:
url— string — TikTok video URL, e.g. https://www.tiktok.com/@tiktok/video/7516594811734854943 (max 500 characters). Short links are accepted. Provide exactly one of url or video_id.pages— integer — Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 50 comments.video_id— string — Numeric TikTok video ID: the number at the end of a video URL. Provide exactly one of url or video_id.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_comment_repliesread-onlyGet the replies to one TikTok comment (its thread) by video URL or numeric video ID (provide exactly one) plus the comment ID from tiktok_video_comments. Returns each reply's text, author profile, like count and date, about 50 per page. Billed $0.006 per page.
Parameters:
comment_id(required) — string — Numeric ID of the comment, as returned by Video Commentsurl— string — TikTok video URL, e.g. https://www.tiktok.com/@tiktok/video/7516594811734854943 (max 500 characters). Short links are accepted. Provide exactly one of url or video_id.pages— integer — Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 50 replies.video_id— string — Numeric TikTok video ID: the number at the end of a video URL. Provide exactly one of url or video_id.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_tiktok_hashtagsread-onlySearch TikTok hashtags by keyword. Returns each hashtag's numeric ID, name, video count, total views and cover image, 30 per page, most relevant first. Use tiktok_hashtag_videos to get a hashtag's videos. Billed $0.006 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 30 hashtags.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_hashtag_detailsread-onlyGet one TikTok hashtag's details by name, numeric hashtag ID or hashtag URL (provide exactly one). Returns its ID, video count, total views, description and cover image. Billed $0.006 per request.
Parameters:
url— string — TikTok hashtag URL, e.g. https://www.tiktok.com/tag/cooking (max 500 characters). Provide exactly one of name, hashtag_id, or url.name— string — Hashtag name, with or without leading # (max 100 characters). Provide exactly one of name, hashtag_id, or url.hashtag_id— string — Numeric hashtag ID, as returned by Search Hashtags. Provide exactly one of name, hashtag_id, or url.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_hashtag_videosread-onlyGet the videos under a TikTok hashtag by name, numeric hashtag ID or hashtag URL (provide exactly one). Returns the same video fields as tiktok_user_videos, about 20 per page. Billed $0.006 per page.
Parameters:
url— string — TikTok hashtag URL, e.g. https://www.tiktok.com/tag/cooking (max 500 characters). Provide exactly one of name, hashtag_id, or url.name— string — Hashtag name, with or without leading # (max 100 characters). Provide exactly one of name, hashtag_id, or url.pages— integer — Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 20 videos.hashtag_id— string — Numeric hashtag ID, as returned by Search Hashtags. Provide exactly one of name, hashtag_id, or url.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_music_detailsread-onlyGet one TikTok sound's details by music URL or numeric music ID (provide exactly one). Returns its title, artist, album, duration, playback URL, cover image and the number of videos using it. Billed $0.006 per request.
Parameters:
url— string — TikTok music URL, e.g. https://www.tiktok.com/music/Face-Off-7016547803243022337 (max 500 characters). Provide exactly one of url or music_id.music_id— string — Numeric music ID: the number at the end of a music URL, also returned as music_id on every video. Provide exactly one of url or music_id.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_music_videosread-onlyGet the videos using a TikTok sound by music URL or numeric music ID (provide exactly one). Returns the same video fields as tiktok_user_videos, about 12 per page. Billed $0.006 per page.
Parameters:
url— string — TikTok music URL, e.g. https://www.tiktok.com/music/Face-Off-7016547803243022337 (max 500 characters). Provide exactly one of url or music_id.pages— integer — Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 12 videos.music_id— string — Numeric music ID: the number at the end of a music URL, also returned as music_id on every video. Provide exactly one of url or music_id.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_playlist_detailsread-onlyGet one TikTok playlist's details by playlist URL or numeric playlist ID (provide exactly one). Returns its name, creator and video count. Billed $0.006 per request.
Parameters:
url— string — TikTok playlist URL, e.g. https://www.tiktok.com/@natgeo/playlist/Cinematic-7509464647364283178 (max 500 characters). Provide exactly one of url or playlist_id.playlist_id— string — Numeric playlist ID: the number at the end of a playlist URL. Provide exactly one of url or playlist_id.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
tiktok_playlist_videosread-onlyGet a TikTok playlist's videos in playlist order by playlist URL or numeric playlist ID (provide exactly one). Returns the same video fields as tiktok_user_videos, 30 per page. Billed $0.006 per page.
Parameters:
url— string — TikTok playlist URL, e.g. https://www.tiktok.com/@natgeo/playlist/Cinematic-7509464647364283178 (max 500 characters). Provide exactly one of url or playlist_id.pages— integer — Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 30 videos.playlist_id— string — Numeric playlist ID: the number at the end of a playlist URL. Provide exactly one of url or playlist_id.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
facebook_page_detailsread-onlyGet a Facebook page by URL. Returns name, page_id, follower and like counts, categories, contact info, rating and verification status, plus the delegate_page_id and reels_page_id that facebook_page_videos and facebook_page_reels need. Billed $0.008 per request.
Parameters:
url(required) — string — Facebook page URL (e.g. https://www.facebook.com/facebook)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
facebook_page_postsread-onlyGet posts from a Facebook page by numeric page ID (from facebook_page_details). Returns post text, engagement metrics, reaction breakdown and media. Optionally limit to a date range. Billed $0.008 per page.
Parameters:
page_id(required) — string — Facebook page ID (numeric)pages— integer — Number of pages to fetch (1-15, default 1). Billed per page.end_date— string — Only posts up to this date (YYYY-MM-DD)start_date— string — Only posts from this date onward (YYYY-MM-DD)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
facebook_page_photosread-onlyGet photos from a Facebook page by numeric page ID (from facebook_page_details). Returns photo IDs and image URLs. Billed $0.008 per page.
Parameters:
page_id(required) — string — Facebook page ID (numeric)pages— integer — Number of pages to fetch (1-15, default 1). Billed per page.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
facebook_page_videosread-onlyGet videos from a Facebook page by its delegate_page_id (from facebook_page_details). Returns video metadata and play counts. Billed $0.008 per page.
Parameters:
delegate_page_id(required) — string — Delegate page ID (from page details endpoint)pages— integer — Number of pages to fetch (1-15, default 1). Billed per page.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
facebook_page_reelsread-onlyGet reels from a Facebook page by its reels_page_id (from facebook_page_details). Returns reel metadata and engagement metrics. Billed $0.008 per page.
Parameters:
reels_page_id(required) — string — Reels page ID (from page details endpoint)pages— integer — Number of pages to fetch (1-10, default 1). Billed per page.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
facebook_page_reviewsread-onlyGet reviews of a Facebook page by numeric page ID (from facebook_page_details). Returns review text, recommendation status and author info. Billed $0.008 per page.
Parameters:
page_id(required) — string — Facebook page ID (numeric)pages— integer — Number of pages to fetch (1-15, default 1). Billed per page.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
facebook_group_detailsread-onlyGet a Facebook group by URL. Returns name, group ID, description, privacy setting, member count, location and cover photo. Pass the group ID to facebook_group_posts. Billed $0.008 per request.
Parameters:
url(required) — string — Facebook group URL
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
facebook_group_postsread-onlyGet posts from a public Facebook group by numeric group ID (from facebook_group_details). Returns post text, author details, engagement metrics and media. Sort by newest or relevance. Billed $0.008 per page.
Parameters:
group_id(required) — string — Facebook group ID (numeric)pages— integer — Number of pages to fetch (1-15, default 1). Billed per page.sort_by— string — Sort order: most_recent or relevance (default: most_recent)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
facebook_post_commentsread-onlyGet the comments on a Facebook post by post ID (pfbid or numeric, from facebook_page_posts, facebook_group_posts or search_facebook_posts). Returns each comment's text, author details, reaction and reply counts, date and any attachment. Billed $0.008 per page.
Parameters:
post_id(required) — string — Facebook post ID (pfbid or numeric, from facebook_page_posts, facebook_group_posts, or search_facebook_posts)pages— integer — Number of pages to fetch (1-20, default 1). Billed per page.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_facebook_postsread-onlySearch public Facebook posts by keyword. Returns post text, author details, engagement metrics and media. Limit to a date range, sort by newest or relevance, or scope to a place with a location_id from search_facebook_locations. Billed $0.008 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch (1-15, default 1). Billed per page.sort_by— string — Sort order: most_recent or relevance (default: relevance)end_date— string — Only posts up to this date (YYYY-MM-DD)start_date— string — Only posts from this date onward (YYYY-MM-DD)location_id— string — Facebook location ID (from search_facebook_locations) to scope results to a placeget_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_facebook_pagesread-onlySearch Facebook pages by keyword. Returns page name, URL, profile image and verification status. Pass a page URL to facebook_page_details for its IDs and full profile. Billed $0.008 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch (1-15, default 1). Billed per page.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_facebook_videosread-onlySearch Facebook videos by keyword. Returns title, description, author, thumbnail and view metrics. Limit to a date range and sort by newest or relevance. Billed $0.008 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch (1-15, default 1). Billed per page.sort_by— string — Sort order: most_recent or relevance (default: relevance)end_date— string — Only videos up to this date (YYYY-MM-DD)start_date— string — Only videos from this date onward (YYYY-MM-DD)get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_facebook_eventsread-onlySearch public Facebook events by keyword. Returns event names, IDs and links. Limit to a date range or scope to a place with a location_id from search_facebook_locations. Billed $0.008 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters)pages— integer — Number of pages to fetch (1-15, default 1). Billed per page.end_date— string — Filter events until this date (YYYY-MM-DD)start_date— string — Filter events from this date (YYYY-MM-DD)location_id— string — Facebook location ID (from search_facebook_locations) to scope results to a place
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_facebook_locationsread-onlyResolve a place name (city, region or country) to Facebook location IDs. Pass a returned id as location_id to search_facebook_posts or search_facebook_events. Billed $0.004 per request.
Parameters:
query(required) — string — Place name to resolve, e.g. "London" or "Paris, France" (max 500 characters)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_forumsread-onlySearch forum posts across discussion boards, Q&A sites and community forums on the web. Returns title, URL, source domain and a content snippet. Filter by time period and country. 10 posts per page. Use search_reddit for Reddit. Billed $0.008 per request.
Parameters:
query(required) — string — Search keyword (max 500 characters)page— integer — Page number, 1-10 (default: 1). 10 posts per pagetime— string — Time filter: "any", "hour", "day", "week", "month", or "year"country— string — 2-letter ISO country code, e.g. "us", "gb"get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_newsread-onlySearch news articles from thousands of sources worldwide. Returns title, URL, snippet, author, source and publish date. Filter by time period, source domain, country and language; up to 100 results per call. Billed $0.008 per request.
Parameters:
query(required) — string — Search keyword (max 500 characters)limit— integer — Number of results, 1-100 (default: 10)source— string — Filter by news source domain, e.g. "bbc.com"country— string — 2-letter country code (default: "us")language— string — 2-letter language code (default: "en")time_published— string — Time filter: "anytime", "1h", "1d", "7d", or "1y"
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_webread-onlySearch the web through Google organic results. Returns title, URL, snippet, source and domain for each result. Google operators (site:, intitle:) work in query; target by country, language, city and device, filter by time, and optionally include Google's AI Overview. 10 results per page. Billed $0.004 per page.
Parameters:
query(required) — string — Search keyword (max 500 characters). Supports Google advanced operators (site:, inurl:, intitle:, etc.)time— string — Time filter: "any", "hour", "day", "week", "month", or "year"pages— integer — Number of result pages to fetch, 1-10 (default: 1). 10 results per page.device— string — Device profile: "desktop" or "mobile"country— string — 2-letter country code (default: "us")language— string — 2-letter language code (default: "en")location— string — City-level geo location (e.g. "London,England,United Kingdom")include_ai_overview— boolean — Include Google AI Overview when available (+$0.002 flat surcharge)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
google_ai_moderead-onlyAsk Google AI Mode a prompt and get its structured answer (reply_parts: paragraphs, headings, lists, images) with reference_links citations. Pass session_token from a previous response to ask a follow-up in the same conversation. Answers can take over a minute. Use search_web for plain search results. Billed $0.005 per request.
Parameters:
prompt(required) — string — The AI Mode prompt (max 12000 characters)country— string — 2-letter country code (default: "us")language— string — 2-letter language code (default: "en")session_token— string — Token from a prior response to continue the conversation
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_placesread-onlySearch Google Maps places (businesses and points of interest) by free-text query. Returns place_id, name, address, phone, website, rating, review count, opening hours and coordinates. Optionally bias results around lat/lng with zoom. Up to 10 results per page. Pass a place_id to place_details, place_reviews or place_photos. Billed $0.01 per page.
Parameters:
query(required) — string — Search keyword, e.g. "coffee shops brooklyn" (max 500 characters)lat— number — Center latitude for geographic bias (use with lng)lng— number — Center longitude for geographic bias (use with lat)zoom— integer — Map zoom level 1-20 (default: 13). Smaller widens radius.pages— integer — Number of pages, 1-20 (default: 1). Each page returns up to 10 results and is billed as one request.country— string — 2-letter country code (default: "us")language— string — 2-letter language code (default: "en")
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
place_detailsread-onlyGet a Google Maps place by place_id (from search_places). Returns name, address, phone, website, rating, review counts per star, opening hours, sample photos, coordinates, plus codes, menu link, owner info, and the emails, phones and social profiles found on the place's website. Billed $0.003 per request.
Parameters:
place_id(required) — string — Google place_id (e.g. ChIJifIePKtZwokRVZ-UdRGkZzs)country— string — 2-letter country code (default: "us")language— string — 2-letter language code (default: "en")
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
place_reviewsread-onlyGet reviews of a Google Maps place by place_id (from search_places). Each review has rating, text, author, timestamps, photos and any owner response. language returns only reviews originally written in that language; each sort_by order surfaces a different set, so combine them for more coverage. Up to 10 reviews per page. Billed $0.01 per page.
Parameters:
place_id(required) — string — Google place_idpages— integer — Number of pages, 1-10 (default: 1). Each page returns up to 10 reviews and is billed as one request.country— string — 2-letter country code (default: "us")sort_by— string — Sort orderlanguage— string — 2-letter language code (default: "en"). Filters reviews to those originally written in this language.get_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.translate_reviews— boolean — Translate the returned reviews into the requested language
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
place_photosread-onlyGet photos and videos of a Google Maps place by place_id (from search_places). Returns standard and large URLs, coordinates and capture time; photos and videos come mixed, so filter on the type field. Up to 10 items per page. Billed $0.01 per page.
Parameters:
place_id(required) — string — Google place_idpages— integer — Number of pages to fetch, 1-10 (default: 1). Each page returns up to 10 items and is billed as one request.country— string — 2-letter country code (default: "us")language— string — 2-letter language code (default: "en")
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_amazon_productsread-onlySearch Amazon products by keyword or ASIN across 24 marketplaces. Returns ASIN, title, price and original price, rating and ratings count, Prime status, sales volume, badges and delivery info. Filter by category, price, condition, brand, seller, Prime, deals and 4+ stars. About 16 results per page. Use amazon_product_details for one product. Billed $0.005 per request.
Parameters:
query(required) — string — Search keyword or a product ASIN (max 500 characters)page— integer — Page number, 1-20 (default: 1). Each page returns ~16 results.brand— string — Brand name(s), comma-separated for multiplecountry— string — Marketplace country code (default: "us"). One of: us, au, br, ca, cn, fr, de, in, it, mx, nl, sg, es, tr, ae, gb, jp, sa, pl, se, be, eg, za, iesort_by— string — Sort ordercategory— string — Numeric Amazon category node ID(s) from an Amazon URL's ?node= parameter, comma-separatedis_prime— boolean — Only products with Prime-eligible offersmax_price— number — Maximum price in the marketplace currencymin_price— number — Minimum price in the marketplace currencyseller_id— string — Only products from specific seller ID(s), comma-separatedcategory_id— string — Category slug, e.g. electronics (see https://apidirect.io/docs/amazon-categories)four_stars_and_up— boolean — Only products rated 4 stars and upproduct_condition— string — Product condition filterdeals_and_discounts— string — Deals filter
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
amazon_product_detailsread-onlyGet an Amazon product by ASIN (from search_amazon_products). Returns pricing, buy box with seller_id, availability, condition, photos, videos, specs, feature bullets, description, per-star rating breakdown and top reviews. Billed $0.005 per request.
Parameters:
asin(required) — string — 10-character Amazon ASIN (e.g. B07ZPKN6YR)country— string — Marketplace country code (default: "us")
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
amazon_seller_profileread-onlyGet an Amazon seller's profile by seller ID (main_buy_box.seller_id from amazon_product_details). Returns name, logo, about text, registered business name and address, average rating, total ratings, positive-feedback percentage and a feedback breakdown over 30 days, 90 days, 12 months and lifetime. Billed $0.005 per request.
Parameters:
seller_id(required) — string — Amazon seller ID (e.g. A2L77EE7U53NWQ)country— string — Marketplace country code (default: "us")
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
amazon_seller_reviewsread-onlyGet customer feedback on an Amazon seller by seller ID. Each review has author, text, star rating, date and whether the seller responded. Filter by star rating or positive/critical; page until has_next_page is false. Billed $0.005 per request.
Parameters:
seller_id(required) — string — Amazon seller IDpage— integer — Page number, 1-50 (default: 1)country— string — Marketplace country code (default: "us")star_rating— string — Star rating filterget_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
amazon_seller_productsread-onlyGet the products an Amazon seller sells, by seller ID. Returns the same product objects as search_amazon_products plus the seller's total catalog size. Sort by price, reviews, newest or best sellers. About 16 results per page. Billed $0.005 per request.
Parameters:
seller_id(required) — string — Amazon seller IDpage— integer — Page number, 1-50 (default: 1). Each page returns ~16 results.country— string — Marketplace country code (default: "us")sort_by— string — Sort order
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
amazon_best_sellersread-onlyGet Amazon rankings for a category: Best Sellers, New Releases, Movers & Shakers, Most Wished For or Gift Ideas. Each item has rank, rank change, ASIN, title, price and rating. Up to 50 items per page; rankings cover the top 100. Billed $0.005 per request.
Parameters:
category(required) — string — Category slug, e.g. electronics or software (see https://apidirect.io/docs/amazon-categories)page— integer — Page number, 1 or 2 (default: 1). Each page returns up to 50 items; rankings cover the top 100.type— string — Ranking typecountry— string — Marketplace country code (default: "us")
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
trustpilot_company_reviewsread-onlyGet a company's Trustpilot reviews and profile by domain or Trustpilot URL. The profile has TrustScore, stars, review counts and per-star breakdown, categories, claimed and verification status, reply behaviour and contact details. Each review has rating, title, text, dates, verification level, likes, author id, name and country, and the company's reply. Filter by stars, recency, language, verified, replied or keyword. 20 reviews per page. Billed $0.005 per page.
Parameters:
domain(required) — string — Company website domain (e.g. gossby.com) or its Trustpilot review-page URLpages— integer — Pages to fetch, 1-10 (default: 1). Each page returns up to 20 reviews and is billed as one request.query— string — Only reviews matching this keywordrating— string — Only these star ratings, comma-separated 1-5 (e.g. '1,2')sort_by— string — Sort orderlanguage— string — 2-letter ISO 639-1 language code (default: all languages)verified— boolean — Only verified reviewsposted_ago— string — Only reviews from this periodwith_replies— boolean — Only reviews the company replied toget_sentiment— boolean — Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_trustpilot_companiesread-onlySearch Trustpilot companies by name or keyword. Returns business_unit_id, name, domain, website, Trustpilot URL, logo, TrustScore, stars, review count, categories and location, plus matching categories. Filter by minimum rating and review count. 10 results per page. Use trustpilot_company_reviews for a company's reviews. Billed $0.005 per request.
Parameters:
query(required) — string — Company name or keyword (max 500 characters)page— integer — Page number, 1-500 (default: 1). Each page returns up to 10 results.min_rating— string — Minimum TrustScoremin_review_count— string — Minimum number of reviews
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
trustpilot_category_companiesread-onlyList the companies in a Trustpilot category by category slug or URL. Returns name, domain, TrustScore, review count, categories and location, plus the category's size and subcategories. Filter by country, minimum rating and claimed status; sort by recommended or recently reviewed. 20 per page. Find slugs with search_trustpilot_categories or at https://apidirect.io/docs/trustpilot-category-ids. Billed $0.005 per request.
Parameters:
category_id(required) — string — Trustpilot category slug (e.g. electronics_technology, bank) or a trustpilot.com/categories/... URLpage— integer — Page number, 1-500 (default: 1). Each page returns up to 20 companies.claimed— boolean — Only companies that have claimed their Trustpilot profilecountry— string — 2-letter ISO 3166-1 country code (default: all countries)sort_by— string — Sort ordermin_rating— string — Minimum TrustScore
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
trustpilot_category_newestread-onlyGet the companies most recently added to a Trustpilot category, by slug or URL: a short unpaginated list (often 0-10) with name, domain, TrustScore, review count and location, plus the category's size and subcategories. Billed $0.005 per request.
Parameters:
category_id(required) — string — Trustpilot category slug (e.g. bank) or a trustpilot.com/categories/... URL
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
trustpilot_category_detailsread-onlyGet a Trustpilot category by slug or URL. Returns display name, business count, parent category, and subcategories with their ids and business counts. Works at all three category levels. Billed $0.005 per request.
Parameters:
category_id(required) — string — Trustpilot category slug (e.g. electronics_technology) or a trustpilot.com/categories/... URL
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
search_trustpilot_categoriesread-onlySearch Trustpilot categories by keyword. Returns up to 6 fuzzy matches with category_id and name; it never returns zero matches, so check the names fit. Pass a category_id to trustpilot_category_companies or trustpilot_category_details. Billed $0.005 per request.
Parameters:
query(required) — string — Keyword (max 200 characters), e.g. 'bank' or 'shop'
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
trustpilot_user_profileread-onlyGet a Trustpilot reviewer's public profile by user ID (a review's author_id) or URL: name, country, review count, verified status, likes and reads, plus the reviews they wrote across all companies, each with company name and domain, rating, title, text, dates and the company's reply. 20 reviews per page. Billed $0.005 per request.
Parameters:
user_id(required) — string — Reviewer ID (24 hex characters, a review's author_id) or a trustpilot.com/users/... URLpage— integer — Page number, 1-500 (default: 1). Each page returns up to 20 reviews.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
batch_requestsread-onlyRun up to 100 API Direct REST requests in one call, mixing any endpoints the other tools cover (e.g. 50 twitter_user_profile and 50 instagram_user_profile lookups). Each item gives a /v1 endpoint path and that endpoint's query parameters, as documented at https://apidirect.io/docs/batch. Items run concurrently and each returns its own status and body, in input order. /v1/web/ai-mode isn't supported. Large batches can take several minutes. The batch call is free; each item is billed at its endpoint's normal rate.
Parameters:
requests(required) — array — 1-100 items to execute. Each item's params are exactly the query parameters that endpoint accepts when called directly (string or number values).
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.