
Search social media, news, forums and Google Maps: LinkedIn, X, Reddit, TikTok, YouTube.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Your API Direct API key. Sign up at https://apidirect.io to get one.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get 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.
Category slug, e.g. electronics or software (see https://apidirect.io/docs/amazon-categories)
Page number, 1 or 2 (default: 1). Each page returns up to 50 items; rankings cover the top 100.
Ranking type
Marketplace country code (default: "us")
Get 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1 or 2 (default: 1). Each page returns up to 50 items; rankings cover the top 100. |
| type | string | Ranking type |
| country | string | Marketplace country code (default: "us") |
| category* | string | Category slug, e.g. electronics or software (see https://apidirect.io/docs/amazon-categories) |
{
"type": "object",
"required": [
"category"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1 or 2 (default: 1). Each page returns up to 50 items; rankings cover the top 100."
},
"type": {
"enum": [
"best_sellers",
"gift_ideas",
"most_wished_for",
"movers_and_shakers",
"new_releases"
],
"type": "string",
"default": "best_sellers",
"description": "Ranking type"
},
"country": {
"type": "string",
"default": "us",
"description": "Marketplace country code (default: \"us\")"
},
"category": {
"type": "string",
"description": "Category slug, e.g. electronics or software (see https://apidirect.io/docs/amazon-categories)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| asin* | string | 10-character Amazon ASIN (e.g. B07ZPKN6YR) |
| country | string | Marketplace country code (default: "us") |
{
"type": "object",
"required": [
"asin"
],
"properties": {
"asin": {
"type": "string",
"description": "10-character Amazon ASIN (e.g. B07ZPKN6YR)"
},
"country": {
"type": "string",
"default": "us",
"description": "Marketplace country code (default: \"us\")"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-50 (default: 1). Each page returns ~16 results. |
| country | string | Marketplace country code (default: "us") |
| sort_by | string | Sort order |
| seller_id* | string | Amazon seller ID |
{
"type": "object",
"required": [
"seller_id"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-50 (default: 1). Each page returns ~16 results."
},
"country": {
"type": "string",
"default": "us",
"description": "Marketplace country code (default: \"us\")"
},
"sort_by": {
"enum": [
"relevance",
"lowest_price",
"highest_price",
"reviews",
"newest",
"best_sellers"
],
"type": "string",
"default": "relevance",
"description": "Sort order"
},
"seller_id": {
"type": "string",
"description": "Amazon seller ID"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| country | string | Marketplace country code (default: "us") |
| seller_id* | string | Amazon seller ID (e.g. A2L77EE7U53NWQ) |
{
"type": "object",
"required": [
"seller_id"
],
"properties": {
"country": {
"type": "string",
"default": "us",
"description": "Marketplace country code (default: \"us\")"
},
"seller_id": {
"type": "string",
"description": "Amazon seller ID (e.g. A2L77EE7U53NWQ)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-50 (default: 1) |
| country | string | Marketplace country code (default: "us") |
| seller_id* | string | Amazon seller ID |
| star_rating | string | Star rating filter |
| 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. |
{
"type": "object",
"required": [
"seller_id"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-50 (default: 1)"
},
"country": {
"type": "string",
"default": "us",
"description": "Marketplace country code (default: \"us\")"
},
"seller_id": {
"type": "string",
"description": "Amazon seller ID"
},
"star_rating": {
"enum": [
"all",
"5_stars",
"4_stars",
"3_stars",
"2_stars",
"1_stars",
"positive",
"critical"
],
"type": "string",
"default": "all",
"description": "Star rating filter"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Run 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.
| Argument | Type | Description |
|---|---|---|
| requests* | 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). |
{
"type": "object",
"required": [
"requests"
],
"properties": {
"requests": {
"type": "array",
"items": {
"type": "object",
"required": [
"endpoint"
],
"properties": {
"tag": {
"type": "string",
"description": "Optional label (max 100 chars) echoed back on this item's result"
},
"params": {
"type": "object",
"description": "The endpoint's own query parameters, e.g. {'username': 'naval'}"
},
"endpoint": {
"type": "string",
"description": "The /v1 endpoint path to call, e.g. /v1/twitter/user"
}
}
},
"description": "1-100 items to execute. Each item's params are exactly the query parameters that endpoint accepts when called directly (string or number values)."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters)."
},
"post_id": {
"type": "string",
"description": "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": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters)."
},
"post_id": {
"type": "string",
"description": "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": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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). |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters)."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 accounts; you are billed per page returned."
},
"post_id": {
"type": "string",
"description": "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 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters)."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 posts; you are billed per page returned."
},
"post_id": {
"type": "string",
"description": "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": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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). |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters)."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 accounts; you are billed per page returned."
},
"post_id": {
"type": "string",
"description": "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 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.
| Argument | Type | Description |
|---|---|---|
| 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). |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters)."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 accounts; you are billed per page returned."
},
"username": {
"type": "string",
"description": "Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters)."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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). |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters)."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 accounts; you are billed per page returned."
},
"username": {
"type": "string",
"description": "Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters)."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters)."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 posts; you are billed per page returned."
},
"username": {
"type": "string",
"description": "Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters)."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters)."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 posts; you are billed per page returned."
},
"username": {
"type": "string",
"description": "Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters)."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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). |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters)."
},
"username": {
"type": "string",
"description": "Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters)."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| url* | string | Facebook group URL |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Facebook group URL"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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) |
| group_id* | string | Facebook group ID (numeric) |
| 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. |
{
"type": "object",
"required": [
"group_id"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch (1-15, default 1). Billed per page."
},
"sort_by": {
"enum": [
"most_recent",
"relevance"
],
"type": "string",
"default": "most_recent",
"description": "Sort order: most_recent or relevance (default: most_recent)"
},
"group_id": {
"type": "string",
"description": "Facebook group ID (numeric)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| url* | string | Facebook page URL (e.g. https://www.facebook.com/facebook) |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Facebook page URL (e.g. https://www.facebook.com/facebook)"
}
}
}Get photos from a Facebook page by numeric page ID (from facebook_page_details). Returns photo IDs and image URLs. Billed $0.008 per page.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch (1-15, default 1). Billed per page. |
| page_id* | string | Facebook page ID (numeric) |
{
"type": "object",
"required": [
"page_id"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch (1-15, default 1). Billed per page."
},
"page_id": {
"type": "string",
"description": "Facebook page ID (numeric)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch (1-15, default 1). Billed per page. |
| page_id* | string | Facebook page ID (numeric) |
| 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. |
{
"type": "object",
"required": [
"page_id"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch (1-15, default 1). Billed per page."
},
"page_id": {
"type": "string",
"description": "Facebook page ID (numeric)"
},
"end_date": {
"type": "string",
"description": "Only posts up to this date (YYYY-MM-DD)"
},
"start_date": {
"type": "string",
"description": "Only posts from this date onward (YYYY-MM-DD)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
| reels_page_id* | string | Reels page ID (from page details endpoint) |
{
"type": "object",
"required": [
"reels_page_id"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch (1-10, default 1). Billed per page."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
},
"reels_page_id": {
"type": "string",
"description": "Reels page ID (from page details endpoint)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch (1-15, default 1). Billed per page. |
| page_id* | string | Facebook page ID (numeric) |
| 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. |
{
"type": "object",
"required": [
"page_id"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch (1-15, default 1). Billed per page."
},
"page_id": {
"type": "string",
"description": "Facebook page ID (numeric)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
| delegate_page_id* | string | Delegate page ID (from page details endpoint) |
{
"type": "object",
"required": [
"delegate_page_id"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch (1-15, default 1). Billed per page."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
},
"delegate_page_id": {
"type": "string",
"description": "Delegate page ID (from page details endpoint)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch (1-20, default 1). Billed per page. |
| post_id* | string | Facebook post ID (pfbid or numeric, from facebook_page_posts, facebook_group_posts, or search_facebook_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. |
{
"type": "object",
"required": [
"post_id"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch (1-20, default 1). Billed per page."
},
"post_id": {
"type": "string",
"description": "Facebook post ID (pfbid or numeric, from facebook_page_posts, facebook_group_posts, or search_facebook_posts)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
| skill_id* | string | The skill id from list_skills, e.g. "competitor-conquest-radar". |
{
"type": "object",
"required": [
"skill_id"
],
"properties": {
"inputs": {
"type": "object",
"description": "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.",
"additionalProperties": true
},
"skill_id": {
"type": "string",
"description": "The skill id from list_skills, e.g. \"competitor-conquest-radar\"."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| url* | string | YouTube video URL or 11-character video ID |
| pages | 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) |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "YouTube video URL or 11-character video ID"
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1). Each page returns up to ~100 comments."
},
"sort_by": {
"enum": [
"most_recent",
"relevance"
],
"type": "string",
"default": "relevance",
"description": "Sort order: most_recent (newest first) or relevance (default: relevance)"
}
}
}Ask 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.
| Argument | Type | Description |
|---|---|---|
| prompt* | 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 |
{
"type": "object",
"required": [
"prompt"
],
"properties": {
"prompt": {
"type": "string",
"description": "The AI Mode prompt (max 12000 characters)"
},
"country": {
"type": "string",
"default": "us",
"description": "2-letter country code (default: \"us\")"
},
"language": {
"type": "string",
"default": "en",
"description": "2-letter language code (default: \"en\")"
},
"session_token": {
"type": "string",
"description": "Token from a prior response to continue the conversation"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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) |
| comment_id* | string | The comment's numeric ID, from instagram_post_comments (comment_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. |
{
"type": "object",
"required": [
"comment_id"
],
"properties": {
"url": {
"type": "string",
"description": "Instagram post or reel URL, e.g. https://www.instagram.com/p/CxYQJO8xuC6/ (max 500 characters)"
},
"code": {
"type": "string",
"description": "The post's shortcode, e.g. CxYQJO8xuC6, or numeric media ID (max 50 characters)"
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-10 (default: 1)"
},
"comment_id": {
"type": "string",
"description": "The comment's numeric ID, from instagram_post_comments (comment_id)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-10 (default: 1). Each page adds up to about 30 posts (repeats across pages are removed) |
| hashtag* | string | Hashtag, with or without the leading # (max 100 characters), e.g. summer |
| 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. |
{
"type": "object",
"required": [
"hashtag"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-10 (default: 1). Each page adds up to about 30 posts (repeats across pages are removed)"
},
"hashtag": {
"type": "string",
"description": "Hashtag, with or without the leading # (max 100 characters), e.g. summer"
},
"sort_by": {
"enum": [
"top",
"recent",
"reels"
],
"type": "string",
"default": "top",
"description": "Hashtag tab: top (default), recent (newest first), or reels (Reels only)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| highlight_id* | string | Highlight ID, e.g. 17987606483520330 (also accepts highlight:17987606483520330), or a highlight URL like https://www.instagram.com/stories/highlights/17987606483520330/ |
{
"type": "object",
"required": [
"highlight_id"
],
"properties": {
"highlight_id": {
"type": "string",
"description": "Highlight ID, e.g. 17987606483520330 (also accepts highlight:17987606483520330), or a highlight URL like https://www.instagram.com/stories/highlights/17987606483520330/"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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 comments |
| sort_by | string | Sort order: popular (default, includes pinned comments) or 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Instagram post or reel URL, e.g. https://www.instagram.com/p/CxYQJO8xuC6/ (max 500 characters)"
},
"code": {
"type": "string",
"description": "The post's shortcode, e.g. CxYQJO8xuC6, or numeric media ID (max 50 characters)"
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1). Each page returns up to 15 comments"
},
"sort_by": {
"enum": [
"popular",
"recent"
],
"type": "string",
"default": "popular",
"description": "Sort order: popular (default, includes pinned comments) or recent"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Instagram post, reel, or story URL, e.g. https://www.instagram.com/p/CxYQJO8xuC6/ (max 500 characters)"
},
"code": {
"type": "string",
"description": "The post's shortcode, e.g. CxYQJO8xuC6, or numeric media ID (max 50 characters)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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) |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Instagram post or reel URL, e.g. https://www.instagram.com/p/CxYQJO8xuC6/ (max 500 characters)"
},
"code": {
"type": "string",
"description": "The post's shortcode, e.g. CxYQJO8xuC6, or numeric media ID (max 50 characters)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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 only |
| query | 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 ignored |
| username | string | Instagram username, with or without leading @ (max 100 characters) |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters)"
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-40 (default: 1). Each page returns up to 50 followers; verified accounts return the first page only"
},
"query": {
"type": "string",
"description": "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 ignored"
},
"username": {
"type": "string",
"description": "Instagram username, with or without leading @ (max 100 characters)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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 accounts |
| query | 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 ignored |
| username | string | Instagram username, with or without leading @ (max 100 characters) |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters)"
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-40 (default: 1). Each page returns up to 50 accounts"
},
"query": {
"type": "string",
"description": "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 ignored"
},
"username": {
"type": "string",
"description": "Instagram username, with or without leading @ (max 100 characters)"
}
}
}List 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.
| Argument | Type | Description |
|---|---|---|
| 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) |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters)"
},
"username": {
"type": "string",
"description": "Instagram username, with or without leading @ (max 100 characters)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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 posts |
| username | 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters)"
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1). Each page returns up to 12 posts"
},
"username": {
"type": "string",
"description": "Instagram username, with or without leading @ (max 100 characters)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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) |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters)"
},
"username": {
"type": "string",
"description": "Instagram username, with or without leading @ (max 100 characters)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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) |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters)"
},
"username": {
"type": "string",
"description": "Instagram username, with or without leading @ (max 100 characters)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| url* | string | LinkedIn company page URL |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "LinkedIn company page URL"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| url* | string | LinkedIn company page URL |
| page | integer | Page number, 1-50 (default: 1). 10 posts 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. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "LinkedIn company page URL"
},
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-50 (default: 1). 10 posts per page"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| url* | string | LinkedIn job URL (e.g. https://linkedin.com/jobs/view/1234567890) or numeric job ID |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "LinkedIn job URL (e.g. https://linkedin.com/jobs/view/1234567890) or numeric job ID"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| url* | string | LinkedIn profile URL, public slug (e.g. reidhoffman), or member URN (ACoAA...) |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "LinkedIn profile URL, public slug (e.g. reidhoffman), or member URN (ACoAA...)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| url* | 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. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "LinkedIn profile URL or public slug (e.g. williamhgates)"
},
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-30 (default: 1). 20 posts per page — up to ~600 of the person's most recent posts."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| url* | string | LinkedIn post 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. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "LinkedIn post URL"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}List 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.
| Argument | Type | Description |
|---|---|---|
| category | string | Optional: filter to a category substring, e.g. "sales", "recruiting", "investing", "crisis". |
{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Optional: filter to a category substring, e.g. \"sales\", \"recruiting\", \"investing\", \"crisis\"."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| country | string | 2-letter country code (default: "us") |
| language | string | 2-letter language code (default: "en") |
| place_id* | string | Google place_id (e.g. ChIJifIePKtZwokRVZ-UdRGkZzs) |
{
"type": "object",
"required": [
"place_id"
],
"properties": {
"country": {
"type": "string",
"default": "us",
"description": "2-letter country code (default: \"us\")"
},
"language": {
"type": "string",
"default": "en",
"description": "2-letter language code (default: \"en\")"
},
"place_id": {
"type": "string",
"description": "Google place_id (e.g. ChIJifIePKtZwokRVZ-UdRGkZzs)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | 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") |
| place_id* | string | Google place_id |
{
"type": "object",
"required": [
"place_id"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-10 (default: 1). Each page returns up to 10 items and is billed as one request."
},
"country": {
"type": "string",
"default": "us",
"description": "2-letter country code (default: \"us\")"
},
"language": {
"type": "string",
"default": "en",
"description": "2-letter language code (default: \"en\")"
},
"place_id": {
"type": "string",
"description": "Google place_id"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | 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 order |
| language | string | 2-letter language code (default: "en"). Filters reviews to those originally written in this language. |
| place_id* | string | Google place_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. |
| translate_reviews | boolean | Translate the returned reviews into the requested language |
Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "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": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-80 (default: 1). Each page returns up to 50 comments."
},
"post_id": {
"type": "string",
"description": "Reddit post ID, e.g. 1wwv97o (a t3_ prefix is accepted). Provide exactly one of url or post_id."
},
"sort_by": {
"enum": [
"top",
"best",
"most_recent",
"controversial",
"oldest",
"qa"
],
"type": "string",
"default": "top",
"description": "Sort order: top, best (Reddit's default order), most_recent, controversial, oldest, or qa (Q&A) (default: top)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "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": {
"type": "string",
"description": "Reddit post ID, e.g. 1wwv97o (a t3_ prefix is accepted). Provide exactly one of url or post_id."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "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": {
"type": "string",
"description": "Reddit post ID, e.g. 1wwv97o (a t3_ prefix is accepted). Provide exactly one of url or post_id."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Subreddit URL, e.g. https://www.reddit.com/r/Python/ (max 500 characters). Provide exactly one of subreddit or url."
},
"subreddit": {
"type": "string",
"description": "Subreddit name, with or without r/, e.g. Python. Provide exactly one of subreddit or url."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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 |
Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Subreddit URL, e.g. https://www.reddit.com/r/Python/ (max 500 characters). Provide exactly one of subreddit or url."
},
"subreddit": {
"type": "string",
"description": "Subreddit name, with or without r/, e.g. Python. Provide exactly one of subreddit or url."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Reddit profile URL, e.g. https://www.reddit.com/user/spez (max 500 characters). Provide exactly one of username or url."
},
"username": {
"type": "string",
"description": "Reddit username, with or without u/ (3-20 characters). Provide exactly one of username or url."
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-20 (default: 1). Each page returns ~16 results. |
| brand | string | Brand name(s), comma-separated for multiple |
| query* | string | Search keyword or a product ASIN (max 500 characters) |
| country | 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, ie |
| sort_by | string | Sort order |
| category | string | Numeric Amazon category node ID(s) from an Amazon URL's ?node= parameter, comma-separated |
| is_prime | boolean | Only products with Prime-eligible offers |
| max_price |
Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 posts; you are billed per page returned. |
| query* | string | Search keyword (max 500 characters). Bluesky search syntax works: "exact phrase", -exclude, from:handle, lang:en, #tag |
| 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. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 posts; you are billed per page returned."
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters). Bluesky search syntax works: \"exact phrase\", -exclude, from:handle, lang:en, #tag"
},
"sort_by": {
"enum": [
"most_recent",
"relevance"
],
"type": "string",
"default": "most_recent",
"description": "Sort order: \"most_recent\" or \"relevance\""
},
"end_date": {
"type": "string",
"description": "Only posts up to this date (format: YYYY-MM-DD)"
},
"start_date": {
"type": "string",
"description": "Only posts from this date onward (format: YYYY-MM-DD)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 users; you are billed per page returned. |
| query* | string | Search keyword (max 500 characters) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 users; you are billed per page returned."
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch (1-15, default 1). Billed per page. |
| query* | string | Search keyword (max 500 characters) |
| 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 |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch (1-15, default 1). Billed per page."
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
},
"end_date": {
"type": "string",
"description": "Filter events until this date (YYYY-MM-DD)"
},
"start_date": {
"type": "string",
"description": "Filter events from this date (YYYY-MM-DD)"
},
"location_id": {
"type": "string",
"description": "Facebook location ID (from search_facebook_locations) to scope results to a place"
}
}
}Resolve 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.
| Argument | Type | Description |
|---|---|---|
| query* | string | Place name to resolve, e.g. "London" or "Paris, France" (max 500 characters) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Place name to resolve, e.g. \"London\" or \"Paris, France\" (max 500 characters)"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch (1-15, default 1). Billed per page. |
| query* | string | Search keyword (max 500 characters) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch (1-15, default 1). Billed per page."
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch (1-15, default 1). Billed per page. |
| query* | string | Search keyword (max 500 characters) |
| 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 place |
| 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. |
Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch (1-15, default 1). Billed per page. |
| query* | string | Search keyword (max 500 characters) |
| 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. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch (1-15, default 1). Billed per page."
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
},
"sort_by": {
"enum": [
"most_recent",
"relevance"
],
"type": "string",
"default": "relevance",
"description": "Sort order: most_recent or relevance (default: relevance)"
},
"end_date": {
"type": "string",
"description": "Only videos up to this date (YYYY-MM-DD)"
},
"start_date": {
"type": "string",
"description": "Only videos from this date onward (YYYY-MM-DD)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-10 (default: 1). 10 posts per page |
| time | string | Time filter: "any", "hour", "day", "week", "month", or "year" |
| query* | string | Search keyword (max 500 characters) |
| 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. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-10 (default: 1). 10 posts per page"
},
"time": {
"enum": [
"any",
"hour",
"day",
"week",
"month",
"year"
],
"type": "string",
"default": "any",
"description": "Time filter: \"any\", \"hour\", \"day\", \"week\", \"month\", or \"year\""
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
},
"country": {
"type": "string",
"description": "2-letter ISO country code, e.g. \"us\", \"gb\""
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1) |
| query* | string | Search keyword (max 500 characters). Cannot start with # or @ |
| 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. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1)"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters). Cannot start with # or @"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| query* | string | Search keyword (max 500 characters) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-25 (default: 1). 20 posts per page |
| query | 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 filter |
| author_title | string | Posts by authors whose job title matches this free text (e.g. "CEO", "Founder"). Applies alongside a query. |
Search 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-100 (default: 1). 10 results per page. |
| query* | string | Search keyword (max 500 characters) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-100 (default: 1). 10 results per page."
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-40 (default: 1). 25 jobs per page |
| query* | string | Search keyword (max 500 characters) |
| sort_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). |
Search 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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of results, 1-100 (default: 10) |
| query* | string | Search keyword (max 500 characters) |
| 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" |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"description": "Number of results, 1-100 (default: 10)"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
},
"source": {
"type": "string",
"description": "Filter by news source domain, e.g. \"bbc.com\""
},
"country": {
"type": "string",
"default": "us",
"description": "2-letter country code (default: \"us\")"
},
"language": {
"type": "string",
"default": "en",
"description": "2-letter language code (default: \"en\")"
},
"time_published": {
"enum": [
"anytime",
"1h",
"1d",
"7d",
"1y"
],
"type": "string",
"default": "anytime",
"description": "Time filter: \"anytime\", \"1h\", \"1d\", \"7d\", or \"1y\""
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
| query* | string | Search keyword, e.g. "coffee shops brooklyn" (max 500 characters) |
| country | string | 2-letter country code (default: "us") |
| language | string | 2-letter language code (default: "en") |
{
"type": "object",
"required": [
"query"
],
"properties": {
"lat": {
"type": "number",
"description": "Center latitude for geographic bias (use with lng)"
},
"lng": {
"type": "number",
"description": "Center longitude for geographic bias (use with lat)"
},
"zoom": {
"type": "integer",
"default": 13,
"description": "Map zoom level 1-20 (default: 13). Smaller widens radius."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages, 1-20 (default: 1). Each page returns up to 10 results and is billed as one request."
},
"query": {
"type": "string",
"description": "Search keyword, e.g. \"coffee shops brooklyn\" (max 500 characters)"
},
"country": {
"type": "string",
"default": "us",
"description": "2-letter country code (default: \"us\")"
},
"language": {
"type": "string",
"default": "en",
"description": "2-letter language code (default: \"en\")"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-12 (default: 1). 20 posts per page |
| query* | string | Search keyword (max 500 characters) |
| sort_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_by |
| include_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. |
Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-10 (default: 1) |
| query* | string | Search keyword (max 500 characters) |
| 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. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-10 (default: 1)"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
},
"sort_by": {
"enum": [
"most_recent",
"relevance",
"top"
],
"type": "string",
"default": "most_recent",
"description": "Sort order: \"most_recent\", \"relevance\", or \"top\""
},
"subreddit": {
"type": "string",
"description": "Only comments from this subreddit, with or without r/ (e.g. Python)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-10 (default: 1). Each page returns up to 25 subreddits. |
| query* | string | Search keyword (max 500 characters) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-10 (default: 1). Each page returns up to 25 subreddits."
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-4 (default: 1). Each page returns up to 25 users |
| query* | string | Search keyword (max 500 characters) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-4 (default: 1). Each page returns up to 25 users"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-101 (default: 1). 16-20 posts per page |
| query* | string | Search keyword (max 500 characters) |
| language | string | Two-letter language code, e.g. es, to rank posts in that language first |
| posted_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. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-101 (default: 1). 16-20 posts per page"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
},
"language": {
"type": "string",
"description": "Two-letter language code, e.g. es, to rank posts in that language first"
},
"posted_ago": {
"enum": [
"24h",
"7d",
"30d",
"12m"
],
"type": "string",
"description": "Only posts from this period: \"24h\", \"7d\", \"30d\", or \"12m\" (default: all time)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-250 (default: 1). Each page returns up to 12 notes; you are billed per page returned. |
| query* | string | Search keyword (max 500 characters) |
| 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. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-250 (default: 1). Each page returns up to 12 notes; you are billed per page returned."
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
},
"sort_by": {
"enum": [
"most_recent",
"top"
],
"type": "string",
"default": "most_recent",
"description": "Sort order: \"most_recent\" or \"top\""
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-4 (default: 1). 20 publications per page |
| query* | string | Search keyword (max 500 characters) |
| language | string | Two-letter language code, e.g. es, to rank publications in that language first |
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-4 (default: 1). 20 publications per page"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
},
"language": {
"type": "string",
"description": "Two-letter language code, e.g. es, to rank publications in that language first"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-4 (default: 1). 20 profiles per page |
| query* | string | Search keyword (max 500 characters) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-4 (default: 1). 20 profiles per page"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-200 (default: 1). The first page returns about 20 posts and later pages about 10 |
| query* | string | Search keyword (max 500 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. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-200 (default: 1). The first page returns about 20 posts and later pages about 10"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| query* | string | Search keyword (max 500 characters) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-10 (default: 1) |
| query* | string | Search keyword (max 500 characters) |
| 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=6months |
| 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. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-10 (default: 1)"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
},
"region": {
"type": "string",
"description": "2-letter region code, e.g. \"us\", \"gb\", \"jp\""
},
"sort_by": {
"enum": [
"relevance",
"most_recent",
"most_liked"
],
"type": "string",
"default": "relevance",
"description": "Sort order: \"relevance\", \"most_recent\", or \"most_liked\""
},
"publish_time": {
"enum": [
0,
1,
7,
30,
90,
180
],
"type": "integer",
"default": 0,
"description": "Time filter: 0=ALL, 1=24h, 7=week, 30=month, 90=3months, 180=6months"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 30 hashtags. |
| query* | string | Search keyword (max 500 characters) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 30 hashtags."
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-10 (default: 1) |
| query* | string | Search keyword (max 500 characters) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-10 (default: 1)"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| query* | string | Keyword (max 200 characters), e.g. 'bank' or 'shop' |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Keyword (max 200 characters), e.g. 'bank' or 'shop'"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-500 (default: 1). Each page returns up to 10 results. |
| query* | string | Company name or keyword (max 500 characters) |
| min_rating | string | Minimum TrustScore |
| min_review_count | string | Minimum number of reviews |
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-500 (default: 1). Each page returns up to 10 results."
},
"query": {
"type": "string",
"description": "Company name or keyword (max 500 characters)"
},
"min_rating": {
"enum": [
"3",
"4",
"4.5"
],
"type": "string",
"description": "Minimum TrustScore"
},
"min_review_count": {
"enum": [
"25",
"50",
"100",
"250",
"500"
],
"type": "string",
"description": "Minimum number of reviews"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1) |
| query* | string | Search keyword (max 500 characters). Supports X search operators |
| 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_ago |
| posted_ago | string | Only posts from this period: "1h", "24h", "7d", "30d", or "12m" (default: all time). Works with both sort orders |
| start_date | string | Only posts from this date onward (YYYY-MM-DD, UTC). Not with posted_ago |
| 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. |
Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1) |
| query* | string | Search keyword (max 500 characters) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1)"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
| query* | string | Search keyword (max 500 characters). Supports Google advanced operators (site:, inurl:, intitle:, etc.) |
| 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 |
Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1) |
| query* | string | Search keyword (max 500 characters) |
| 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. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1)"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
},
"upload_date": {
"enum": [
"last_hour",
"today",
"this_week",
"this_month",
"this_year"
],
"type": "string",
"description": "Filter by upload date: \"last_hour\", \"today\", \"this_week\", \"this_month\", or \"this_year\""
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1) |
| query* | string | Search keyword (max 500 characters) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1)"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | 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) |
| category* | string | Category ID or slug, e.g. 4 or technology. See https://apidirect.io/docs/substack-category-ids |
{
"type": "object",
"required": [
"category"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-250 (default: 1). Each page returns about 11 items; you are billed per page returned."
},
"sort_by": {
"enum": [
"top",
"most_recent",
"posts"
],
"type": "string",
"default": "top",
"description": "Sort order: \"top\", \"most_recent\" or \"posts\" (posts only, no notes)"
},
"category": {
"type": "string",
"description": "Category ID or slug, e.g. 4 or technology. See https://apidirect.io/docs/substack-category-ids"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number (default: 1), 25 publications per page. Up to 21 pages; rising 10; bestsellers and podcasts 4 |
| tier | string | all, paid or rising (bestsellers: rising; podcasts: all or paid) |
| category* | 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-ids |
{
"type": "object",
"required": [
"category"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number (default: 1), 25 publications per page. Up to 21 pages; rising 10; bestsellers and podcasts 4"
},
"tier": {
"enum": [
"all",
"paid",
"rising"
],
"type": "string",
"description": "all, paid or rising (bestsellers: rising; podcasts: all or paid)"
},
"category": {
"type": "string",
"description": "Category ID or slug, e.g. 4 or technology (bestsellers and podcasts for the site-wide boards). See https://apidirect.io/docs/substack-category-ids"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Note URL, e.g. https://substack.com/@hamish/note/c-355659691 (max 500 characters). Provide either url or note_id."
},
"note_id": {
"type": "string",
"description": "Numeric note ID, with or without the c- prefix. Provide either url or note_id."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "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": {
"type": "string",
"description": "Post URL slug, e.g. all-of-the-lenny-and-friends-summit, used together with publication."
},
"post_id": {
"type": "string",
"description": "Numeric post ID, as returned in post_id. Provide url, post_id, or publication and slug."
},
"publication": {
"type": "string",
"description": "Publication subdomain, host or URL, used together with slug."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "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": {
"type": "string",
"description": "Post URL slug, e.g. all-of-the-lenny-and-friends-summit, used together with publication."
},
"post_id": {
"type": "string",
"description": "Numeric post ID, as returned in post_id. Provide url, post_id, or publication and slug."
},
"publication": {
"type": "string",
"description": "Publication subdomain, host or URL, used together with slug."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"publication": {
"type": "string",
"description": "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": {
"type": "string",
"description": "Numeric publication ID, as returned in publication_id. Provide either publication or publication_id."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number (default: 1). 20 posts per page |
| query | 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) |
| publication* | string | Publication subdomain (lenny), host (lenny.substack.com, www.lennysnewsletter.com) or any URL on it (max 500 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. |
| podcasts_only | boolean | Set to true to return only podcast episodes |
{
"type": "object",
"required": [
"publication"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number (default: 1). 20 posts per page"
},
"query": {
"type": "string",
"description": "Keyword to search the publication's posts for (max 500 characters)"
},
"sort_by": {
"enum": [
"most_recent",
"top",
"discussions"
],
"type": "string",
"default": "most_recent",
"description": "Sort order: \"most_recent\" (newest first), \"top\" (all-time most popular first) or \"discussions\" (posts with comment activity)"
},
"publication": {
"type": "string",
"description": "Publication subdomain (lenny), host (lenny.substack.com, www.lennysnewsletter.com) or any URL on it (max 500 characters)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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": {
"type": "boolean",
"default": false,
"description": "Set to true to return only podcast episodes"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"publication": {
"type": "string",
"description": "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": {
"type": "string",
"description": "Numeric publication ID, as returned in publication_id. Provide either publication or publication_id."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Profile URL, e.g. https://substack.com/@lenny (max 500 characters). Provide one of username, user_id or url."
},
"type": {
"enum": [
"note",
"post",
"reply",
"restack",
"like"
],
"type": "string",
"description": "Only this kind of activity: \"note\", \"post\", \"reply\", \"restack\" or \"like\""
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-250 (default: 1). Each page returns 12 items; you are billed per page returned."
},
"user_id": {
"type": "string",
"description": "Numeric Substack user ID, as returned in user_id. Provide one of username, user_id or url."
},
"username": {
"type": "string",
"description": "Substack handle, e.g. lenny, with or without a leading @ (max 100 characters). Provide one of username, user_id or url."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Profile URL, e.g. https://substack.com/@lenny (max 500 characters). Provide one of username, user_id or url."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-60 (default: 1). Each page returns up to 50 posts; you are billed per page returned."
},
"user_id": {
"type": "string",
"description": "Numeric Substack user ID, as returned in user_id. Provide one of username, user_id or url."
},
"username": {
"type": "string",
"description": "Substack handle, e.g. lenny, with or without a leading @ (max 100 characters). Provide one of username, user_id or url."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Profile URL, e.g. https://substack.com/@lenny (max 500 characters). Provide one of username, user_id or url."
},
"user_id": {
"type": "string",
"description": "Numeric Substack user ID, as returned in user_id. Provide one of username, user_id or url."
},
"username": {
"type": "string",
"description": "Substack handle, e.g. lenny, with or without a leading @ (max 100 characters). Provide one of username, user_id or url."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-60 (default: 1). Each page returns up to about 35 posts |
| username* | string | Threads 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. |
{
"type": "object",
"required": [
"username"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-60 (default: 1). Each page returns up to about 35 posts"
},
"username": {
"type": "string",
"description": "Threads username, with or without leading @ (max 100 characters)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| username* | string | Threads username, with or without leading @ (max 100 characters) |
{
"type": "object",
"required": [
"username"
],
"properties": {
"username": {
"type": "string",
"description": "Threads username, with or without leading @ (max 100 characters)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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 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. |
| comment_id* | string | Numeric ID of the comment, as returned by Video Comments |
| 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. |
{
"type": "object",
"required": [
"comment_id"
],
"properties": {
"url": {
"type": "string",
"description": "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": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 50 replies."
},
"video_id": {
"type": "string",
"description": "Numeric TikTok video ID: the number at the end of a video URL. Provide exactly one of url or video_id."
},
"comment_id": {
"type": "string",
"description": "Numeric ID of the comment, as returned by Video Comments"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "TikTok hashtag URL, e.g. https://www.tiktok.com/tag/cooking (max 500 characters). Provide exactly one of name, hashtag_id, or url."
},
"name": {
"type": "string",
"description": "Hashtag name, with or without leading # (max 100 characters). Provide exactly one of name, hashtag_id, or url."
},
"hashtag_id": {
"type": "string",
"description": "Numeric hashtag ID, as returned by Search Hashtags. Provide exactly one of name, hashtag_id, or url."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "TikTok hashtag URL, e.g. https://www.tiktok.com/tag/cooking (max 500 characters). Provide exactly one of name, hashtag_id, or url."
},
"name": {
"type": "string",
"description": "Hashtag name, with or without leading # (max 100 characters). Provide exactly one of name, hashtag_id, or url."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 20 videos."
},
"hashtag_id": {
"type": "string",
"description": "Numeric hashtag ID, as returned by Search Hashtags. Provide exactly one of name, hashtag_id, or url."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "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": {
"type": "string",
"description": "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 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "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": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 12 videos."
},
"music_id": {
"type": "string",
"description": "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": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "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": {
"type": "string",
"description": "Numeric playlist ID: the number at the end of a playlist URL. Provide exactly one of url or playlist_id."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "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": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 30 videos."
},
"playlist_id": {
"type": "string",
"description": "Numeric playlist ID: the number at the end of a playlist URL. Provide exactly one of url or playlist_id."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "TikTok profile URL, e.g. https://www.tiktok.com/@tiktok (max 500 characters). Provide exactly one of username, user_id, or url."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 100 followers."
},
"user_id": {
"type": "string",
"description": "Numeric TikTok user ID, as returned by Search Users or User Profile. Provide exactly one of username, user_id, or url."
},
"username": {
"type": "string",
"description": "TikTok username, with or without leading @ (max 100 characters). Provide exactly one of username, user_id, or url."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "TikTok profile URL, e.g. https://www.tiktok.com/@tiktok (max 500 characters). Provide exactly one of username, user_id, or url."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 50 accounts."
},
"user_id": {
"type": "string",
"description": "Numeric TikTok user ID, as returned by Search Users or User Profile. Provide exactly one of username, user_id, or url."
},
"username": {
"type": "string",
"description": "TikTok username, with or without leading @ (max 100 characters). Provide exactly one of username, user_id, or url."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "TikTok profile URL, e.g. https://www.tiktok.com/@tiktok (max 500 characters). Provide exactly one of username, user_id, or url."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 30 videos."
},
"user_id": {
"type": "string",
"description": "Numeric TikTok user ID, as returned by Search Users or User Profile. Provide exactly one of username, user_id, or url."
},
"username": {
"type": "string",
"description": "TikTok username, with or without leading @ (max 100 characters). Provide exactly one of username, user_id, or url."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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_users |
| username | string | TikTok username, with or without leading @ (max 100 characters) |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "TikTok profile URL, e.g. https://www.tiktok.com/@tiktok (max 500 characters)"
},
"user_id": {
"type": "string",
"description": "Numeric TikTok user ID, as returned by search_tiktok_users"
},
"username": {
"type": "string",
"description": "TikTok username, with or without leading @ (max 100 characters)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "TikTok profile URL, e.g. https://www.tiktok.com/@tiktok (max 500 characters). Provide exactly one of username, user_id, or url."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 30 stories."
},
"user_id": {
"type": "string",
"description": "Numeric TikTok user ID, as returned by Search Users or User Profile. Provide exactly one of username, user_id, or url."
},
"username": {
"type": "string",
"description": "TikTok username, with or without leading @ (max 100 characters). Provide exactly one of username, user_id, or url."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "TikTok profile URL, e.g. https://www.tiktok.com/@tiktok (max 500 characters). Provide exactly one of username, user_id, or url."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 30 videos."
},
"user_id": {
"type": "string",
"description": "Numeric TikTok user ID, as returned by Search Users or User Profile. Provide exactly one of username, user_id, or url."
},
"username": {
"type": "string",
"description": "TikTok username, with or without leading @ (max 100 characters). Provide exactly one of username, user_id, or url."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "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": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 50 comments."
},
"video_id": {
"type": "string",
"description": "Numeric TikTok video ID: the number at the end of a video URL. Provide exactly one of url or video_id."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| 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 |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "TikTok video URL, e.g. https://www.tiktok.com/@tiktok/video/7516594811734854943 (max 500 characters)"
},
"video_id": {
"type": "string",
"description": "Numeric TikTok video ID: the number at the end of a video URL, e.g. 7516594811734854943"
}
}
}List 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-500 (default: 1). Each page returns up to 20 companies. |
| claimed | boolean | Only companies that have claimed their Trustpilot profile |
| country | string | 2-letter ISO 3166-1 country code (default: all countries) |
| sort_by | string | Sort order |
| min_rating | string | Minimum TrustScore |
| category_id* | string | Trustpilot category slug (e.g. electronics_technology, bank) or a trustpilot.com/categories/... URL |
{
"type": "object",
"required": [
"category_id"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-500 (default: 1). Each page returns up to 20 companies."
},
"claimed": {
"type": "boolean",
"default": false,
"description": "Only companies that have claimed their Trustpilot profile"
},
"country": {
"type": "string",
"description": "2-letter ISO 3166-1 country code (default: all countries)"
},
"sort_by": {
"enum": [
"recommended",
"recently_reviewed"
],
"type": "string",
"default": "recommended",
"description": "Sort order"
},
"min_rating": {
"enum": [
"3",
"3.5",
"4",
"4.5"
],
"type": "string",
"description": "Minimum TrustScore"
},
"category_id": {
"type": "string",
"description": "Trustpilot category slug (e.g. electronics_technology, bank) or a trustpilot.com/categories/... URL"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| category_id* | string | Trustpilot category slug (e.g. electronics_technology) or a trustpilot.com/categories/... URL |
{
"type": "object",
"required": [
"category_id"
],
"properties": {
"category_id": {
"type": "string",
"description": "Trustpilot category slug (e.g. electronics_technology) or a trustpilot.com/categories/... URL"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| category_id* | string | Trustpilot category slug (e.g. bank) or a trustpilot.com/categories/... URL |
{
"type": "object",
"required": [
"category_id"
],
"properties": {
"category_id": {
"type": "string",
"description": "Trustpilot category slug (e.g. bank) or a trustpilot.com/categories/... URL"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | 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 keyword |
| domain* | string | Company website domain (e.g. gossby.com) or its Trustpilot review-page URL |
| rating | string | Only these star ratings, comma-separated 1-5 (e.g. '1,2') |
| sort_by | string | Sort order |
| language | string | 2-letter ISO 639-1 language code (default: all languages) |
| verified | boolean | Only verified reviews |
Get 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.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-500 (default: 1). Each page returns up to 20 reviews. |
| user_id* | string | Reviewer ID (24 hex characters, a review's author_id) or a trustpilot.com/users/... URL |
{
"type": "object",
"required": [
"user_id"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-500 (default: 1). Each page returns up to 20 reviews."
},
"user_id": {
"type": "string",
"description": "Reviewer ID (24 hex characters, a review's author_id) or a trustpilot.com/users/... URL"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 20 posts |
| username* | string | Truth Social 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. |
{
"type": "object",
"required": [
"username"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1). Each page returns up to 20 posts"
},
"username": {
"type": "string",
"description": "Truth Social username, with or without leading @ (max 100 characters)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| woeid* | integer | Where On Earth ID for the location. Use 1 for Worldwide. |
{
"type": "object",
"required": [
"woeid"
],
"properties": {
"woeid": {
"type": "integer",
"description": "Where On Earth ID for the location. Use 1 for Worldwide."
}
}
}Get the replies (comments) on a tweet, by numeric tweet ID. Returns each reply's text and engagement metrics. Billed $0.006 per page.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1) |
| tweet_id* | string | Numeric tweet 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. |
{
"type": "object",
"required": [
"tweet_id"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1)"
},
"tweet_id": {
"type": "string",
"description": "Numeric tweet ID"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get one tweet by its numeric ID. Returns full text, engagement metrics, author info and metadata. Billed $0.006 per request.
| Argument | Type | Description |
|---|---|---|
| tweet_id* | string | Numeric tweet 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. |
{
"type": "object",
"required": [
"tweet_id"
],
"properties": {
"tweet_id": {
"type": "string",
"description": "Numeric tweet ID"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get the quote tweets of a tweet, by numeric tweet ID. Returns each quote's text and engagement metrics. Billed $0.006 per page.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1) |
| tweet_id* | string | Numeric tweet 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. |
{
"type": "object",
"required": [
"tweet_id"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1)"
},
"tweet_id": {
"type": "string",
"description": "Numeric tweet ID"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1) |
| tweet_id* | string | Numeric tweet ID |
{
"type": "object",
"required": [
"tweet_id"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1)"
},
"tweet_id": {
"type": "string",
"description": "Numeric tweet ID"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1) |
| username* | string | Twitter username (without @, max 50 characters) |
{
"type": "object",
"required": [
"username"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1)"
},
"username": {
"type": "string",
"description": "Twitter username (without @, max 50 characters)"
}
}
}Get the accounts a Twitter/X user follows, by username. Returns profile details for each account, about 50 per page. Billed $0.006 per page.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-175 (default: 1). Each page returns ~50 accounts. |
| username* | string | Twitter username (without @, max 50 characters) |
{
"type": "object",
"required": [
"username"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-175 (default: 1). Each page returns ~50 accounts."
},
"username": {
"type": "string",
"description": "Twitter username (without @, max 50 characters)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| username* | string | Twitter username (without @, max 50 characters) |
{
"type": "object",
"required": [
"username"
],
"properties": {
"username": {
"type": "string",
"description": "Twitter username (without @, max 50 characters)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1) |
| username* | string | Twitter username (without @, 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. |
{
"type": "object",
"required": [
"username"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1)"
},
"username": {
"type": "string",
"description": "Twitter username (without @, max 50 characters)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1) |
| username* | string | Twitter username (without @, 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. |
{
"type": "object",
"required": [
"username"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1)"
},
"username": {
"type": "string",
"description": "Twitter username (without @, max 50 characters)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| pages | integer | Number of pages to fetch, 1-20 (default: 1) |
| username* | string | Twitter username (without @, max 50 characters) |
{
"type": "object",
"required": [
"username"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1)"
},
"username": {
"type": "string",
"description": "Twitter username (without @, max 50 characters)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| id | string | YouTube channel ID (24 characters, starts with UC) |
| url | string | Channel URL: youtube.com/channel/..., youtube.com/@handle, /c/ or /user/ forms |
| name | string | Channel name or @handle (e.g. @mkbhd or Linus Tech Tips) |
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "YouTube channel ID (24 characters, starts with UC)"
},
"url": {
"type": "string",
"description": "Channel URL: youtube.com/channel/..., youtube.com/@handle, /c/ or /user/ forms"
},
"name": {
"type": "string",
"description": "Channel name or @handle (e.g. @mkbhd or Linus Tech Tips)"
}
}
}Get 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.
| Argument | Type | Description |
|---|---|---|
| url* | string | YouTube video URL (watch?v=, youtu.be/, /shorts/, /embed/ or /live/ forms) or 11-character video ID |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "YouTube video URL (watch?v=, youtu.be/, /shorts/, /embed/ or /live/ forms) or 11-character video ID"
}
}
}{
"type": "object",
"required": [
"place_id"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages, 1-10 (default: 1). Each page returns up to 10 reviews and is billed as one request."
},
"country": {
"type": "string",
"default": "us",
"description": "2-letter country code (default: \"us\")"
},
"sort_by": {
"enum": [
"most_relevant",
"newest",
"highest_ranking",
"lowest_ranking"
],
"type": "string",
"default": "most_relevant",
"description": "Sort order"
},
"language": {
"type": "string",
"default": "en",
"description": "2-letter language code (default: \"en\"). Filters reviews to those originally written in this language."
},
"place_id": {
"type": "string",
"description": "Google place_id"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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": {
"type": "boolean",
"default": false,
"description": "Translate the returned reviews into the requested language"
}
}
}| 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. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Subreddit URL, e.g. https://www.reddit.com/r/Python/ (max 500 characters). Provide exactly one of subreddit or url."
},
"flair": {
"type": "string",
"description": "Only posts with exactly this flair, e.g. Hiring (max 64 characters, not case-sensitive)."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-40 (default: 1). Each page returns up to 25 posts."
},
"sort_by": {
"enum": [
"hot",
"most_recent",
"top",
"rising",
"controversial"
],
"type": "string",
"default": "hot",
"description": "Sort order: hot, most_recent, top, rising, or controversial (default: hot)"
},
"subreddit": {
"type": "string",
"description": "Subreddit name, with or without r/, e.g. Python. Provide exactly one of subreddit or url."
},
"posted_ago": {
"enum": [
"1h",
"24h",
"7d",
"30d",
"12m",
"all"
],
"type": "string",
"description": "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": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}{
"type": "object",
"properties": {
"feed": {
"enum": [
"popular",
"all"
],
"type": "string",
"description": "popular (r/popular: the most active posts in public, non-NSFW communities) or all (r/all: every community) (default: popular)"
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1). Each page returns up to 25 posts."
},
"country": {
"enum": [
"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",
"US"
],
"type": "string",
"description": "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": {
"enum": [
"hot",
"most_recent",
"top",
"rising",
"controversial"
],
"type": "string",
"default": "hot",
"description": "Sort order: hot, most_recent, top, rising, or controversial (default: hot)"
},
"posted_ago": {
"enum": [
"1h",
"24h",
"7d",
"30d",
"12m",
"all"
],
"type": "string",
"description": "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": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Reddit profile URL, e.g. https://www.reddit.com/user/spez (max 500 characters). Provide exactly one of username or url."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-40 (default: 1). Each page returns up to 25 comments."
},
"sort_by": {
"enum": [
"most_recent",
"hot",
"top",
"controversial"
],
"type": "string",
"default": "most_recent",
"description": "Sort order: most_recent, hot, top, or controversial (default: most_recent)"
},
"username": {
"type": "string",
"description": "Reddit username, with or without u/ (3-20 characters). Provide exactly one of username or url."
},
"posted_ago": {
"enum": [
"1h",
"24h",
"7d",
"30d",
"12m",
"all"
],
"type": "string",
"description": "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": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Reddit profile URL, e.g. https://www.reddit.com/user/spez (max 500 characters). Provide exactly one of username or url."
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-40 (default: 1). Each page returns up to 25 posts."
},
"sort_by": {
"enum": [
"most_recent",
"hot",
"top",
"controversial"
],
"type": "string",
"default": "most_recent",
"description": "Sort order: most_recent, hot, top, or controversial (default: most_recent)"
},
"username": {
"type": "string",
"description": "Reddit username, with or without u/ (3-20 characters). Provide exactly one of username or url."
},
"posted_ago": {
"enum": [
"1h",
"24h",
"7d",
"30d",
"12m",
"all"
],
"type": "string",
"description": "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": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}| number |
| Maximum price in the marketplace currency |
| min_price | number | Minimum price in the marketplace currency |
| seller_id | string | Only products from specific seller ID(s), comma-separated |
| category_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 up |
| product_condition | string | Product condition filter |
| deals_and_discounts | string | Deals filter |
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-20 (default: 1). Each page returns ~16 results."
},
"brand": {
"type": "string",
"description": "Brand name(s), comma-separated for multiple"
},
"query": {
"type": "string",
"description": "Search keyword or a product ASIN (max 500 characters)"
},
"country": {
"type": "string",
"default": "us",
"description": "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, ie"
},
"sort_by": {
"enum": [
"relevance",
"lowest_price",
"highest_price",
"reviews",
"newest",
"best_sellers"
],
"type": "string",
"default": "relevance",
"description": "Sort order"
},
"category": {
"type": "string",
"description": "Numeric Amazon category node ID(s) from an Amazon URL's ?node= parameter, comma-separated"
},
"is_prime": {
"type": "boolean",
"default": false,
"description": "Only products with Prime-eligible offers"
},
"max_price": {
"type": "number",
"description": "Maximum price in the marketplace currency"
},
"min_price": {
"type": "number",
"description": "Minimum price in the marketplace currency"
},
"seller_id": {
"type": "string",
"description": "Only products from specific seller ID(s), comma-separated"
},
"category_id": {
"type": "string",
"description": "Category slug, e.g. electronics (see https://apidirect.io/docs/amazon-categories)"
},
"four_stars_and_up": {
"type": "boolean",
"default": false,
"description": "Only products rated 4 stars and up"
},
"product_condition": {
"enum": [
"all",
"new",
"used",
"renewed",
"collectible"
],
"type": "string",
"default": "all",
"description": "Product condition filter"
},
"deals_and_discounts": {
"enum": [
"none",
"all_discounts",
"todays_deals"
],
"type": "string",
"default": "none",
"description": "Deals filter"
}
}
}{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch (1-15, default 1). Billed per page."
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
},
"sort_by": {
"enum": [
"most_recent",
"relevance"
],
"type": "string",
"default": "relevance",
"description": "Sort order: most_recent or relevance (default: relevance)"
},
"end_date": {
"type": "string",
"description": "Only posts up to this date (YYYY-MM-DD)"
},
"start_date": {
"type": "string",
"description": "Only posts from this date onward (YYYY-MM-DD)"
},
"location_id": {
"type": "string",
"description": "Facebook location ID (from search_facebook_locations) to scope results to a place"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}| 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. |
{
"type": "object",
"required": [],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-25 (default: 1). 20 posts per page"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters). Optional if you supply a filter below."
},
"author": {
"type": "string",
"description": "Posts authored by this person — profile URL, public slug (e.g. williamhgates), or member URN. Comma-separate for multiple."
},
"sort_by": {
"enum": [
"most_recent",
"relevance"
],
"type": "string",
"default": "most_recent",
"description": "Sort order: \"most_recent\" or \"relevance\""
},
"posted_ago": {
"enum": [
"24h",
"7d",
"30d"
],
"type": "string",
"description": "Only posts from this period: \"24h\", \"7d\", or \"30d\" (default: all time). Works with both sort orders and every filter"
},
"author_title": {
"type": "string",
"description": "Posts by authors whose job title matches this free text (e.g. \"CEO\", \"Founder\"). Applies alongside a query."
},
"from_company": {
"type": "string",
"description": "Posts authored by a company page. Numeric company id(s), comma-separated."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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": {
"type": "string",
"description": "Posts by people who work at this company. Numeric LinkedIn company id (from search_linkedin_companies)."
},
"author_industry": {
"type": "string",
"description": "Posts by authors in these numeric LinkedIn industry id(s), comma-separated. Advanced; applies alongside a query."
},
"mentions_member": {
"type": "string",
"description": "Posts that mention this person (profile URL, public slug, or member URN)."
},
"mentions_company": {
"type": "string",
"description": "Posts that mention this company. Numeric company id."
}
}
}{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-40 (default: 1). 25 jobs per page"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
},
"sort_by": {
"enum": [
"most_recent",
"relevance"
],
"type": "string",
"description": "Sort order: \"most_recent\" or \"relevance\" (default: relevance)"
},
"job_type": {
"type": "string",
"description": "Job type filter: full_time, part_time, contract, temporary, volunteer, internship, other. Comma-separated for multiple."
},
"posted_ago": {
"enum": [
"1h",
"24h",
"7d",
"30d"
],
"type": "string",
"description": "Maximum job age: \"1h\", \"24h\", \"7d\", or \"30d\" (default: all time)"
},
"company_ids": {
"type": "string",
"description": "Filter by company — comma-separated numeric LinkedIn company id(s) (from search_linkedin_companies)."
},
"location_id": {
"type": "string",
"description": "Filter by location — a numeric LinkedIn location id (see https://apidirect.io/docs/linkedin-job-locations)."
}
}
}{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"description": "Page number, 1-12 (default: 1). 20 posts per page"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters)"
},
"sort_by": {
"enum": [
"most_recent",
"relevance",
"hot",
"top",
"most_commented"
],
"type": "string",
"default": "most_recent",
"description": "Sort order: \"most_recent\", \"relevance\", \"hot\", \"top\", or \"most_commented\""
},
"subreddit": {
"type": "string",
"description": "Only posts from this subreddit, with or without r/ (e.g. Python)"
},
"posted_ago": {
"enum": [
"1h",
"24h",
"7d",
"30d",
"12m",
"all"
],
"type": "string",
"description": "Only posts from this period: \"1h\", \"24h\", \"7d\", \"30d\", \"12m\", or \"all\" (default: all). Works with every sort_by"
},
"include_nsfw": {
"type": "boolean",
"default": false,
"description": "Include posts marked NSFW (left out by default)"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}{
"type": "object",
"required": [
"query"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Number of pages to fetch, 1-20 (default: 1)"
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters). Supports X search operators"
},
"sort_by": {
"enum": [
"most_recent",
"relevance"
],
"type": "string",
"default": "most_recent",
"description": "Sort order: \"most_recent\" or \"relevance\""
},
"end_date": {
"type": "string",
"description": "Only posts up to and including this date (YYYY-MM-DD, UTC). Not with posted_ago"
},
"posted_ago": {
"enum": [
"1h",
"24h",
"7d",
"30d",
"12m"
],
"type": "string",
"description": "Only posts from this period: \"1h\", \"24h\", \"7d\", \"30d\", or \"12m\" (default: all time). Works with both sort orders"
},
"start_date": {
"type": "string",
"description": "Only posts from this date onward (YYYY-MM-DD, UTC). Not with posted_ago"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}| Include Google AI Overview when available (+$0.002 flat surcharge) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"time": {
"enum": [
"any",
"hour",
"day",
"week",
"month",
"year"
],
"type": "string",
"default": "any",
"description": "Time filter: \"any\", \"hour\", \"day\", \"week\", \"month\", or \"year\""
},
"pages": {
"type": "integer",
"default": 1,
"description": "Number of result pages to fetch, 1-10 (default: 1). 10 results per page."
},
"query": {
"type": "string",
"description": "Search keyword (max 500 characters). Supports Google advanced operators (site:, inurl:, intitle:, etc.)"
},
"device": {
"enum": [
"desktop",
"mobile"
],
"type": "string",
"default": "desktop",
"description": "Device profile: \"desktop\" or \"mobile\""
},
"country": {
"type": "string",
"default": "us",
"description": "2-letter country code (default: \"us\")"
},
"language": {
"type": "string",
"default": "en",
"description": "2-letter language code (default: \"en\")"
},
"location": {
"type": "string",
"description": "City-level geo location (e.g. \"London,England,United Kingdom\")"
},
"include_ai_overview": {
"type": "boolean",
"default": false,
"description": "Include Google AI Overview when available (+$0.002 flat surcharge)"
}
}
}{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "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": {
"type": "string",
"description": "Post URL slug, e.g. all-of-the-lenny-and-friends-summit, used together with publication."
},
"post_id": {
"type": "string",
"description": "Numeric post ID, as returned in post_id. Provide url, post_id, or publication and slug."
},
"sort_by": {
"enum": [
"relevance",
"most_recent",
"oldest"
],
"type": "string",
"default": "relevance",
"description": "Sort order: \"relevance\" (best first), \"most_recent\" or \"oldest\""
},
"publication": {
"type": "string",
"description": "Publication subdomain, host or URL, used together with slug."
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}| posted_ago |
| string |
| Only reviews from this period |
| with_replies | boolean | Only reviews the company replied to |
| 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. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"pages": {
"type": "integer",
"default": 1,
"description": "Pages to fetch, 1-10 (default: 1). Each page returns up to 20 reviews and is billed as one request."
},
"query": {
"type": "string",
"description": "Only reviews matching this keyword"
},
"domain": {
"type": "string",
"description": "Company website domain (e.g. gossby.com) or its Trustpilot review-page URL"
},
"rating": {
"type": "string",
"description": "Only these star ratings, comma-separated 1-5 (e.g. '1,2')"
},
"sort_by": {
"enum": [
"most_relevant",
"newest"
],
"type": "string",
"default": "most_relevant",
"description": "Sort order"
},
"language": {
"type": "string",
"description": "2-letter ISO 639-1 language code (default: all languages)"
},
"verified": {
"type": "boolean",
"default": false,
"description": "Only verified reviews"
},
"posted_ago": {
"enum": [
"30d",
"3m",
"6m",
"12m"
],
"type": "string",
"description": "Only reviews from this period"
},
"with_replies": {
"type": "boolean",
"default": false,
"description": "Only reviews the company replied to"
},
"get_sentiment": {
"type": "boolean",
"default": false,
"description": "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."
}
}
}