social_research
Pull read-only structured data from social platforms and ad libraries — competitor ads, profiles, posts, comments, hashtags, and trends — for market research, audience listening, and trend discovery.
Instructions
Pull read-only structured public data from social platforms and ad libraries — competitor ads (Meta/Facebook + Instagram, LinkedIn), profiles, posts, comments, transcripts, hashtag/keyword search, and subreddit / trend discovery. Two steps: call list_research_sources FIRST to see the platforms, their endpoints, and each endpoint's params; then call this with platform, endpoint, and a params object built from that endpoint's required/optional params. Returns the source's structured JSON in data, or a structured error naming the missing or unknown params. Known endpoints are projected to their readable fields and one media URL per item, with page-level facts carried once in advertisers rather than repeated on every row, and shaping says what was dropped; fields widens or narrows that. Every response is also written to a file: saved carries its path, the run's output_dir for anything built from it, the count and the cursor, so a response can be handed straight to a script without being copied out of the conversation. Where the response is too large to read, saved.inline is false and data is omitted — use the file. Use for competitor and market research, audience listening, and trend discovery — this is read-only public data, not posting and not private data. Set dry_run=true to preview the exact request without spending.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Which fields to return. Omit for the endpoint's default projection — the readable fields plus one media URL per item, which is what nearly every caller wants. Pass "*" for the vendor's payload untouched (large: an ad-library page runs to ~185,000 characters, a third of it signed CDN query strings). Pass a list of field names to narrow the projection further. Endpoints with no projection defined ignore this and return the vendor payload. | |
| params | No | The endpoint's query parameters as an object — e.g. {"handle": "nike"} or {"companyName": "Nike", "country": "US"}. list_research_sources lists the required and optional params for each endpoint; a missing required param returns a structured error. | |
| dry_run | No | If true, return the request that would be sent (key masked), make no API call. | |
| endpoint | Yes | The endpoint on that platform — e.g. 'company_ads', 'profile', 'posts', 'comments', 'search', 'hashtag'. Call list_research_sources for each platform's endpoints. | |
| platform | Yes | The platform to query — e.g. 'meta_ad_library', 'instagram', 'tiktok', 'youtube', 'reddit', 'x', 'linkedin', 'linkedin_ads'. Call list_research_sources for the full set. |