# Social Media Search API — Twitter, Instagram, Reddit, TikTok (XPOZ) MCP server

Agent View of the PolicyLayer registry record for Social Media Search API — Twitter, Instagram, Reddit, TikTok (XPOZ): identity, probed posture, risk grade, and all 52 tools classified. HTML page: https://policylayer.com/tools/ai-xpoz-social-insights

## Facts

- Server id: `https://mcp.xpoz.ai/mcp`
- Homepage: https://github.com/xpozpublic/xpoz-mcp
- Registry record: grade F, identity unverified
- Lifecycle: active
- Auth posture: open
- CORS policy: *
- Rate-limited: no
- Tools: 52 (52 with introspected schema)
- Tool categories present: Destructive, Read, Write
- Context-window cost: 54999 tokens per request — https://policylayer.com/token-cost/ai-xpoz-social-insights
- Tags: ai xpoz social insights, admin
- Record last modified: 2026-07-22T20:46:54.183Z

## Tools (52)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `removeTrackedItems` | Destructive | Critical | https://policylayer.com/tools/ai-xpoz-social-insights/removetrackeditems.md |
| `cancelOperation` | Execute | High | https://policylayer.com/tools/ai-xpoz-social-insights/canceloperation.md |
| `checkAccessKeyStatus` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/checkaccesskeystatus.md |
| `checkOperationStatus` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/checkoperationstatus.md |
| `countTweets` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/counttweets.md |
| `getAccountDetails` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getaccountdetails.md |
| `getCreditsUsageHistory` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getcreditsusagehistory.md |
| `getInstagramCommentsByPostId` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getinstagramcommentsbypostid.md |
| `getInstagramPostInteractingUsers` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getinstagrampostinteractingusers.md |
| `getInstagramPostsByIds` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getinstagrampostsbyids.md |
| `getInstagramPostsByKeywords` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getinstagrampostsbykeywords.md |
| `getInstagramPostsByUser` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getinstagrampostsbyuser.md |
| `getInstagramUser` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getinstagramuser.md |
| `getInstagramUserConnections` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getinstagramuserconnections.md |
| `getInstagramUsersByKeywords` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getinstagramusersbykeywords.md |
| `getRedditCommentById` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getredditcommentbyid.md |
| `getRedditCommentsByKeywords` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getredditcommentsbykeywords.md |
| `getRedditPostsByKeywords` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getredditpostsbykeywords.md |
| `getRedditPostWithCommentsById` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getredditpostwithcommentsbyid.md |
| `getRedditSubredditsByKeywords` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getredditsubredditsbykeywords.md |
| `getRedditSubredditWithPostsByName` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getredditsubredditwithpostsbyname.md |
| `getRedditUser` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getreddituser.md |
| `getRedditUsersByKeywords` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getredditusersbykeywords.md |
| `getTiktokCommentsByPostId` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettiktokcommentsbypostid.md |
| `getTiktokPostsByHashtags` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettiktokpostsbyhashtags.md |
| `getTiktokPostsByIds` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettiktokpostsbyids.md |
| `getTiktokPostsByKeywords` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettiktokpostsbykeywords.md |
| `getTiktokPostsBySound` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettiktokpostsbysound.md |
| `getTiktokPostsByUser` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettiktokpostsbyuser.md |
| `getTiktokUser` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettiktokuser.md |
| `getTiktokUsersByHashtags` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettiktokusersbyhashtags.md |
| `getTiktokUsersByKeywords` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettiktokusersbykeywords.md |
| `getTrackedItems` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettrackeditems.md |
| `getTwitterPostComments` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettwitterpostcomments.md |
| `getTwitterPostInteractingUsers` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettwitterpostinteractingusers.md |
| `getTwitterPostQuotes` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettwitterpostquotes.md |
| `getTwitterPostRetweets` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettwitterpostretweets.md |
| `getTwitterPostsByAuthor` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettwitterpostsbyauthor.md |
| `getTwitterPostsByIds` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettwitterpostsbyids.md |
| `getTwitterPostsByKeywords` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettwitterpostsbykeywords.md |
| `getTwitterUser` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettwitteruser.md |
| `getTwitterUserConnections` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettwitteruserconnections.md |
| `getTwitterUsers` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettwitterusers.md |
| `getTwitterUsersByKeywords` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/gettwitterusersbykeywords.md |
| `getUserAccessKey` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/getuseraccesskey.md |
| `searchInstagramUsers` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/searchinstagramusers.md |
| `searchRedditSubreddits` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/searchredditsubreddits.md |
| `searchRedditUsers` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/searchredditusers.md |
| `searchTiktokSounds` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/searchtiktoksounds.md |
| `searchTiktokUsers` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/searchtiktokusers.md |
| `searchTwitterUsers` | Read | Low | https://policylayer.com/tools/ai-xpoz-social-insights/searchtwitterusers.md |
| `addTrackedItems` | Write | Medium | https://policylayer.com/tools/ai-xpoz-social-insights/addtrackeditems.md |

## Tool descriptions

- `removeTrackedItems` — Remove tracked keywords/users. Accepts array of items with phrase, type (keyword/user/subreddit/hashtag), platform (twitter/instagram/reddit/tiktok). Subreddit is Reddit-only, hashtag is TikTok-only. Use getTrackedItems first to see curr…
- `cancelOperation` — Cancel running operation. Required: operationId. Gracefully stops operation at next checkpoint. Returns confirmation. Use checkOperationStatus to verify cancellation completed.
- `checkAccessKeyStatus` — Check access key status without revealing key. Required: authentication. Returns: status, metadata.
- `checkOperationStatus` — checkOperationStatus: poll an async operation and retrieve its results or CSV download URL. Use this after any tool call made with responseType="paging" or responseType="csv" — those return an operationId that must be polled via checkOpe…
- `countTweets` — Count tweets containing a specific phrase within a date range. Returns the total count of matching tweets (int) directly, or zero if none found. QUERY SYNTAX: Plain keywords (bitcoin, climate change), quoted phrases ("deep learning"), bo…
- `getAccountDetails` — Get authenticated user's account details: plan (name, features), billing (period, next renewal date; null for Free plan), and usage (subscription credits remaining, extra credits remaining, extra tracked items). Required: authentication.…
- `getCreditsUsageHistory` — Get authenticated user's credits and export-rows usage over time, for analyzing usage patterns. Params: range ("today" | "7d" | "current_month" | "lifetime", default current_month), granularity ("hour" | "day", default day). Returns time…
- `getInstagramCommentsByPostId` — Get COMMENT CONTENT (text, likes) for an Instagram post. Returns the actual comment objects with text and metadata. RETURNS COMMENT DATA: id, text, username, createdAtDate, likeCount, childCommentCount. Use for reading what people said. …
- `getInstagramPostInteractingUsers` — Get USER PROFILES of people who interacted with an Instagram post. Returns full user data (bio, followerCount, followingCount, etc.). RETURNS USER PROFILES: id, username, fullName, biography, followerCount, followingCount, isVerified, pr…
- `getInstagramPostsByIds` — Get multiple Instagram posts by IDs (1-100 IDs per request). Returns results directly. Returns only found posts, omitting not-found IDs for flexibility. First searches database, then external API for missing/stale data in parallel. Use w…
- `getInstagramPostsByKeywords` — Search Instagram posts by keywords with two response modes. Searches in both post captions and video subtitles. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g.…
- `getInstagramPostsByUser` — Get posts from Instagram user by ID or username with two response modes. Use identifierType="id" for numeric user ID, identifierType="username" for username. FAST (default, omit responseType or responseType="fast"): Returns up to 300 res…
- `getInstagramUser` — Get Instagram user profile by ID or username. Use identifierType="id" for numeric user ID, identifierType="username" for username. For username: Use ONLY when you have the precise username (e.g., "cristiano"). For person names or fuzzy s…
- `getInstagramUserConnections` — Get Instagram user connections (followers or following). Use connectionType="followers" for users who follow them, connectionType="following" for users they follow. FAST (default, omit responseType or responseType="fast"): Returns up to …
- `getInstagramUsersByKeywords` — Search for USERS who authored Instagram posts matching keywords. USE CASE: Find users who have posted content about specific topics, keywords, or phrases. Returns unique, deduplicated user profiles. RESPONSE MODES (responseType parameter…
- `getRedditCommentById` — Get a single Reddit comment by its ID. Accepts the bare base36 comment id or the t1_-prefixed form (e.g. "laz1ytq" or "t1_laz1ytq"), as returned by getRedditPostWithCommentsById and getRedditCommentsByKeywords. First searches database, t…
- `getRedditCommentsByKeywords` — Search Reddit comments by keywords. Searches in comment body text. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Results include guidance for full …
- `getRedditPostsByKeywords` — Search Reddit posts by keywords with two response modes. Searches in post titles and selftext. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto A…
- `getRedditPostWithCommentsById` — Get Reddit post by ID with its comments. Returns both the post data and comments in a single response. FAST (default, omit responseType or responseType="fast"): Returns post and up to 300 comments directly (use limit param to reduce, e.g…
- `getRedditSubredditsByKeywords` — Search for SUBREDDITS where Reddit posts match keywords. Returns unique, deduplicated subreddit profiles. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce). Auto API …
- `getRedditSubredditWithPostsByName` — Get Reddit subreddit by name with its posts. FAST (default, omit responseType or responseType="fast"): Returns subreddit data with up to 300 posts directly (use limit param to reduce). Auto API fallback for fresh data. PAGING (responseTy…
- `getRedditUser` — Get Reddit user profile by username. Returns user profile including karma breakdown (link, comment, total), account status (gold, mod, employee), and profile info. Use without u/ prefix (e.g., "spez" not "u/spez"). Optional fields parame…
- `getRedditUsersByKeywords` — Search for USERS who authored Reddit posts matching keywords. USE CASE: Find users who have posted content about specific topics. Returns unique, deduplicated user profiles. RESPONSE MODES (responseType parameter): "fast" (DEFAULT): Retu…
- `getTiktokCommentsByPostId` — Get COMMENT CONTENT (text, likes) for a Tiktok post. Returns the actual comment objects with text and metadata. RETURNS COMMENT DATA: id, text, username, createdAtDate, likeCount. Use for reading what people said. FAST (default, omit res…
- `getTiktokPostsByHashtags` — Search Tiktok posts by hashtags with three response modes. Searches the hashtags column directly (NOT post descriptions). Pass hashtags as an array of bare alphanumeric strings - do NOT include leading "#". OR semantics: matches posts co…
- `getTiktokPostsByIds` — Get multiple Tiktok posts by IDs (1-100 IDs per request). Returns results directly. First searches database, then external API for missing/stale data. Optional fields parameter for performance: ["id", "description", "likeCount"]. Returns…
- `getTiktokPostsByKeywords` — Search Tiktok posts by keywords with three response modes. Searches post descriptions and video transcripts. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. li…
- `getTiktokPostsBySound` — Get Tiktok posts that use a specific sound/music with three response modes. Required: soundId (numeric ID from searchTiktokSounds). FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit p…
- `getTiktokPostsByUser` — Get posts from Tiktok user by ID or username with three response modes. Use identifierType="id" for numeric user ID, identifierType="username" for username. FAST (default, omit responseType or responseType="fast"): Returns up to 300 resu…
- `getTiktokUser` — Get Tiktok user profile by ID or username. Use identifierType="id" for numeric user ID, identifierType="username" for username. For username: Use ONLY when you have the precise username. For person names or fuzzy search, use searchTiktok…
- `getTiktokUsersByHashtags` — Search for USERS who authored Tiktok posts tagged with specific hashtags. USE CASE: Find users who have posted content tagged with one or more hashtags. Returns unique, deduplicated user profiles. Pass hashtags as an array of bare alphan…
- `getTiktokUsersByKeywords` — Search for USERS who authored Tiktok posts matching keywords. USE CASE: Find users who have posted content about specific topics. Returns unique, deduplicated user profiles. RESPONSE MODES (responseType parameter): "fast" (DEFAULT): Retu…
- `getTrackedItems` — Get tracked keywords and users. Returns: phrase, type (keyword/user/subreddit/hashtag), platform (twitter/instagram/reddit/tiktok). Subreddit is Reddit-only, hashtag is TikTok-only.
- `getTwitterPostComments` — Get comments (replies) to specific post. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. Results include guidance f…
- `getTwitterPostInteractingUsers` — Get users who interacted with a specific Twitter post (commenters, quoters, or retweeters). INTERACTION TYPES: "commenters" (users who replied to the post), "quoters" (users who quoted the post), "retweeters" (users who retweeted the pos…
- `getTwitterPostQuotes` — Get quote posts of specific post. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. Results include guidance for full…
- `getTwitterPostRetweets` — Get retweets of specific post. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Database-only. Results include guidance for full mode. PAGING (respons…
- `getTwitterPostsByAuthor` — Get posts from author by username with multiple response modes. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. Res…
- `getTwitterPostsByIds` — Get multiple Twitter posts by numeric IDs (1-100 IDs per request). Returns results directly. Returns only found tweets, omitting not-found IDs for flexibility. First searches database, then external API for missing/stale data in parallel…
- `getTwitterPostsByKeywords` — Search posts by keywords. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. Results include guidance for full mode. P…
- `getTwitterUser` — Get Twitter user profile by ID or username. Use identifierType="id" for numeric user ID, identifierType="username" for username. For username: Use ONLY when you have the precise username (e.g., "elonmusk"). For person names or fuzzy sear…
- `getTwitterUserConnections` — Get Twitter user connections (followers or following). Use connectionType="followers" for users who follow them, connectionType="following" for users they follow. FAST (default, omit responseType or responseType="fast"): Returns up to 30…
- `getTwitterUsers` — Get one or more Twitter user profiles by IDs or usernames (1-100 per request). Use identifierType="id" for numeric user IDs, identifierType="username" for usernames. All identifiers must be the same type. For single user: pass array of 1…
- `getTwitterUsersByKeywords` — Search for USERS who authored tweets/comments/quotes/retweets matching keywords. USE CASE: Find users who have posted content about specific topics, keywords, or phrases. Returns unique, deduplicated user profiles. RESPONSE MODES (respon…
- `getUserAccessKey` — Retrieve authenticated user access key. Required: authentication, confirmation. Returns: access key, metadata.
- `searchInstagramUsers` — Search users by person name, partial username, or fuzzy match using real-time external API. PRIMARY USE: When given person's name (e.g., "Cristiano Ronaldo", "Kim Kardashian"), partial info, or uncertain username. Use for: Name-based sea…
- `searchRedditSubreddits` — Search Reddit subreddits by keywords using real-time external API. Searches subreddit names and descriptions to find communities. Use for: Discovering communities about topics, finding niche subreddits, exploring Reddit communities. Opti…
- `searchRedditUsers` — Search Reddit users by name, username, or profile description using real-time external API. PRIMARY USE: When given a person's name (e.g., "spez", "GallowBoob"), partial info, or uncertain username. Use for: Name-based search, finding mu…
- `searchTiktokSounds` — Search Tiktok sounds/music by keyword. Use to discover sound/music objects (by title, artist, or album), then pass the returned id to getTiktokPostsBySound to find posts using that sound. Optional fields parameter (default: ["id", "title…
- `searchTiktokUsers` — Search Tiktok users by name or username via external API. Use for: Name-based search, finding multiple candidates, fuzzy matching, discovering users. NOT for: Exact username lookup (use getTiktokUser when username is certain). Optional f…
- `searchTwitterUsers` — Search users by person name, partial username, or fuzzy match using real-time external API. PRIMARY USE: When given person's name (e.g., "Elon Musk", "Sam Altman"), partial info, or uncertain username. Use for: Name-based search, finding…
- `addTrackedItems` — Add keywords/users to track. Accepts array of items with phrase, type (keyword/user/subreddit/hashtag), platform (twitter/instagram/reddit/tiktok). Subreddit is Reddit-only, hashtag is TikTok-only. Returns error if plan limit exceeded.

## Related servers

- UnClick (1658 tools) — https://policylayer.com/tools/io-github-malamutemayhem-unclick-mcp-server.md
- Nodebench (824 tools) — https://policylayer.com/tools/io-github-homenshum-nodebench.md
- Yaver (812 tools) — https://policylayer.com/tools/io-github-kivanccakmak-yaver.md
- Binance MCP Server (734 tools) — https://policylayer.com/tools/nirholas-binance-mcp.md
- Pfsense (680 tools) — https://policylayer.com/tools/abl030-pfsense-mcp.md
- AdButler (622 tools) — https://policylayer.com/tools/adbutler.md
- Crow (587 tools) — https://policylayer.com/tools/kh0pper-crow.md
- Fortimanager (584 tools) — https://policylayer.com/tools/jmpijll-fortimanager-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=ai-xpoz-social-insights · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/ai-xpoz-social-insights
