SocialAPIs
REMOTE · MCP.SOCIALAPIS.IO · 2 COMPONENTS
Facebook & Instagram data for AI agents: pages, posts, groups, ads, Marketplace, profiles, reels.
Available components
Last scanned (14 hours ago)
Scores higher than 58% of remote servers
Reachable. Last reached 18 Oct 2026.
Category Marketing and SEO
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security74
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability58
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 6737 tokens (~561/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability check failed: schema churn in the 16 days we've observed: 47 tool removals, 0 breaking changes, 0 auth/transport breaks, 12 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 16 Oct 26 0
- Tool “instagram_profile” rewrote its description, which is the text the model reads security
- Server version: 2.1.0 → 2.1.1 functional
- “instagram_profile” reworded the description of “user_id” cosmetic
- 15 Oct 26 0
- Tool “facebook_group” rewrote its description, which is the text the model reads security
- Tool “facebook_page” rewrote its description, which is the text the model reads security
- Server version: 2.0.2 → 2.1.0 functional
- “facebook_group” added an optional parameter “album_id” cosmetic
- “facebook_group” added an optional parameter “group_id” cosmetic
- “facebook_page” added an optional parameter “album_id” cosmetic
- “facebook_group” reworded the description of “limit” cosmetic
- “facebook_page” reworded the description of “end_cursor” cosmetic
- “facebook_page” reworded the description of “limit” cosmetic
- “facebook_page” reworded the description of “profile_id” cosmetic
- “facebook_group” reworded the description of “end_cursor” cosmetic
- 10 Oct 26 −4
- Stability: 0.13 → fail ▼ security
- Schema quality: pass → fail ▼ functional
- Schema quality: good → excellent functional
- 4 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Oct 26 0
- Stability: unverified → 0.03 ▲ functional
- 2 Oct 26 71
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 18 Oct 2026 · Probed https://mcp.socialapis.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=socialapis.io | CN=WE1,O=Google Trust Services,C=US | 24 Sept 2026 | 23 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 3546ac1a1065a4f90e5abd99c5467a98 |
| SANs: socialapis.io, *.socialapis.io | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.socialapis.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 57355 | 8 | Verified |
| socialapis.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| x-content-type-options | nosniff |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.socialapis.io/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.socialapis.io/mcp | HTTPS enforced | 301 | https://mcp.socialapis.io/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
facebook_ads Facebook: Ads ~816
Meta Ads Library: search ads, find advertisers by keyword, advertiser page details, single ad details and supported countries. Actions: - action=search: Search ads in the Meta Ad Library. Pass a keyword (query) to find ads about a topic, or ad_page_id to list one advertiser's ads; filter by country, active status and date range, sort by impressions or recency. Returns ads with creative, body text, dates, platforms and snapshot URL, plus an end_cursor. Get an advertiser's ad_page_id from action=keywords or facebook_page (action=details). Pricing: 1 credit per call. Inputs: query (optional), ad_page_id (optional), country (optional), activeStatus (optional), after_time (optional), before_time (optional), sort_data (optional), end_cursor (optional). - action=keywords: Find advertisers running ads that match a keyword: returns Facebook pages with their page_id and ad count. Use it to discover who advertises on a topic, then pass a page_id to action=search (as ad_page_id) or action=page_details. To get the ads for a keyword directly, use action=search. Pricing: 1 credit per call. Inputs: query (required), country (optional). - action=page_details: Get an advertiser's Ads Library profile: page name, verification status, category, location and total ad count. Needs the page ID (ad_page_id from facebook_page (action=details) or page_id from action=keywords). To list the ads themselves, use action=search with ad_page_id. Pricing: 1 credit per call. Inputs: page_id (required). - action=archive_details: Get one Ad Library ad in full: creative, body text, CTA, platforms, countries, date range, and spend and impression estimates where Meta publishes them. Needs the ad_archive_id from a action=search result. Pricing: 1 credit per call. Inputs: ad_archive_id (required), page_id (optional), country (optional), is_ad_non_political (optional), is_ad_not_aaa_eligible (optional). - action=countries: List the country codes the Ads Library tools accept in their country paramete…
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Which operation to run. See the tool description for what each action returns and which parameters it needs. |
| activeStatus | string | – | Filter: ALL, Active, or Inactive. Optional for: search. |
| ad_archive_id | string | – | Ad Library archive ID of the ad (ad_archive_id from a action=search result). Required for: archive_details. |
| ad_page_id | string | – | Facebook AD Page ID (alternative to query). Optional for: search. |
| after_time | string | – | Filter ads after this date (YYYY-MM-DD). Optional for: search. |
| before_time | string | – | Filter ads before this date (YYYY-MM-DD). Optional for: search. |
| country | string | – | ISO country code or "ALL". Optional for: search, keywords, archive_details. |
| end_cursor | string | – | Pagination cursor. Optional for: search. |
| is_ad_non_political | string | – | Filter non-political ads. Optional for: archive_details. |
| is_ad_not_aaa_eligible | string | – | Filter AAA eligibility. Optional for: archive_details. |
| page_id | string | – | Advertiser page ID: ad_page_id from facebook_page (action=details), or page_id from action=keywords. Required for: page_details. Optional for: archive_details. |
| query | string | – | Keyword. search: words in the ads (or pass ad_page_id instead) · keywords: a topic to find advertisers for, e.g. running shoes. Required for: keywords. Optional for: search. |
| sort_data | string | – | Sort by "impressions" or "recent". Optional for: search. |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | integer|null | – | Credits charged for this call, or null if the endpoint did not report it. |
| creditsRemaining | integer|null | – | Credits left on the API key after this call, or null if not reported. |
| result | – | yes | JSON response from the SocialAPIs REST endpoint, unchanged. Object or array depending on the endpoint; most include a `meta` block (statusCode, duration, creditsCharged, creditsRemaining). |
No examples provided.
facebook_group Facebook: Group ~674
Public Facebook groups: details, group ID, posts, videos and photo albums. Actions: - action=details: Get a public Facebook group's profile: name, description, member count, privacy, rules and activity stats. Use action=posts for its posts. Pricing: 1 credit per call. Inputs: link (required). - action=id: Resolve a Facebook group URL to its numeric group ID. Use action=details for the group's data. Pricing: 1 credit per call. Inputs: link (required). - action=posts: List recent posts from a public Facebook group, with text, media, author, reactions and comment counts. Returns 3-9 posts per call plus an end_cursor for the next page; filter by date with after_time / before_time. Pricing: ceil(posts_returned / 3) credits per call, minimum 1. Inputs: link (required), limit (optional), end_cursor (optional), after_time (optional), before_time (optional), timezone (optional). - action=videos: List videos posted in a public Facebook group, with video_id, title, duration, view count and thumbnail. Returns an end_cursor for the next page. Pricing: 1 credit per call. Inputs: link (required), end_cursor (optional). - action=albums: List the photo albums of a public Facebook group, with album_id, album_title, url, thumbnail_uri, photos_count and videos_count. Returns an end_cursor for the next page. Needs the numeric group ID (group_id) from action=id. To get the photos in an album, pass its album_id to action=album_items. Pricing: 1 credit per call. Inputs: group_id (required), limit (optional). - action=album_items: Get the photos and videos inside a Facebook album (from a page or a group): media_id, media_type, url, thumbnail_uri and timestamp (Unix seconds). Needs an album_id from facebook_page (action=albums) or action=albums. Returns an end_cursor for the next page. Pricing: 1 credit per call. Inputs: album_id (required), end_cursor (optional).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Which operation to run. See the tool description for what each action returns and which parameters it needs. |
| after_time | string | – | ISO 8601 timestamp. Optional for: posts. |
| album_id | string | – | Album ID, from facebook_page (action=albums) or action=albums. Required for: album_items. |
| before_time | string | – | ISO 8601 timestamp. Optional for: posts. |
| end_cursor | string | – | Pagination cursor. Optional for: posts, videos, album_items. |
| group_id | string | – | Facebook group ID, from action=id. Required for: albums. |
| limit | number | – | Results per call. posts: 3-9 (default 3) · albums: 8-16 (default 8). Optional for: posts, albums. |
| link | string | – | Facebook group URL. Required for: details, id, posts, videos. |
| timezone | string | – | IANA timezone for returned timestamps, e.g. UTC or America/New_York. Default: UTC. Optional for: posts. |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | integer|null | – | Credits charged for this call, or null if the endpoint did not report it. |
| creditsRemaining | integer|null | – | Credits left on the API key after this call, or null if not reported. |
| result | – | yes | JSON response from the SocialAPIs REST endpoint, unchanged. Object or array depending on the endpoint; most include a `meta` block (statusCode, duration, creditsCharged, creditsRemaining). |
No examples provided.
facebook_marketplace Facebook: Marketplace ~1,324
Facebook Marketplace: search listings, vehicles and rentals, listing and seller details, categories and city coordinates. Actions: - action=search: Search general Facebook Marketplace listings (items for sale) by keyword or category near a location, with price, condition, radius and sort filters. Returns listings with their listing_id, plus an end_cursor. For cars and other vehicles use action=vehicles; for homes and rooms to rent use action=rentals. Get coordinates from action=city_coordinates. Pricing: 1 credit per call. Inputs: query (optional), category_url (optional), commerce_search_sort_by (optional), commerce_search_and_rp_condition (optional), filter_location_latitude (optional), filter_location_longitude (optional), filter_price_lower_bound (optional), filter_price_upper_bound (optional), filter_radius_km (optional), posted_today (optional), exact_match (optional), limit (optional), end_cursor (optional). - action=vehicles: Search Facebook Marketplace vehicle listings (cars, trucks, motorcycles) near a location, with price, radius and seller-type filters. Returns listings with title, price, mileage, year and listing_id, plus an end_cursor. For non-vehicle items, use action=search. Pricing: 1 credit per call. Inputs: sort_by (optional), filter_location_latitude (optional), filter_location_longitude (optional), filter_price_lower_bound (optional), filter_price_upper_bound (optional), filter_radius_km (optional), is_c2c_listing_only (optional), end_cursor (optional). - action=rentals: Search Facebook Marketplace rental listings (apartments, houses, rooms) near a location, with price, bedroom, bathroom and radius filters. Returns rental listings with their listing_id, plus an end_cursor. For items for sale, use action=search. Pricing: 1 credit per call. Inputs: sort_by (optional), filter_location_latitude (optional), filter_location_longitude (optional), filter_price_lower_bound (optional), filter_price_upper_bound (optional), filter_radius_km (optiona…
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Which operation to run. See the tool description for what each action returns and which parameters it needs. |
| category_url | string | – | Category URL slug. Optional for: search. |
| city | string | – | City name, e.g. Austin. Required for: city_coordinates. |
| commerce_search_and_rp_condition | string | – | Condition: new, used_like_new, used_good, used_fair. Optional for: search. |
| commerce_search_sort_by | string | – | Sort: BEST_MATCH, CREATION_TIME_DESCEND, PRICE_ASCEND, etc. Optional for: search. |
| country | string | – | Country name or code. Optional for: city_coordinates. |
| end_cursor | string | – | Pagination cursor. Optional for: search, vehicles, rentals. |
| exact_match | string | – | When "true", exact match search. Optional for: search. |
| exactly_one | string | – | When "true", return exactly one result. Optional for: city_coordinates. |
| filter_bathrooms_max | string | – | Maximum number of bathrooms. Optional for: rentals. |
| filter_bathrooms_min | string | – | Minimum number of bathrooms, e.g. 1. Optional for: rentals. |
| filter_bedrooms_max | string | – | Maximum number of bedrooms. Optional for: rentals. |
| filter_bedrooms_min | string | – | Minimum number of bedrooms, e.g. 2. Optional for: rentals. |
| filter_location_latitude | string | – | Latitude of the search center, e.g. 30.2672 (from action=city_coordinates). Optional for: search, vehicles, rentals. |
| filter_location_longitude | string | – | Longitude of the search center, e.g. -97.7431 (from action=city_coordinates). Optional for: search, vehicles, rentals. |
| filter_price_lower_bound | string | – | Minimum price in the local currency, whole number, e.g. 100. Optional for: search, vehicles, rentals. |
| filter_price_upper_bound | string | – | Maximum price in the local currency, whole number, e.g. 2000. Optional for: search, vehicles, rentals. |
| filter_radius_km | string | – | Search radius around the center in kilometres, e.g. 40. Optional for: search, vehicles, rentals. |
| is_c2c_listing_only | string | – | Individual sellers only. Optional for: vehicles. |
| limit | number | – | Maximum number of items to return. Default: 24. Optional for: search. |
| listing_id | string | – | Marketplace listing ID, from a Marketplace search result. Required for: listing. |
| posted_today | string | – | When "true", limit to items posted today. Optional for: search. |
| query | string | – | Keyword to search listings for, e.g. iphone 15. Optional for: search. |
| seller_id | string | – | Seller ID, from the seller field of action=listing. Required for: seller. |
| sort_by | string | – | Sort order. vehicles: CREATION_TIME_DESCEND, PRICE_ASCEND, VEHICLE_MILEAGE_ASCEND, … · rentals: CREATION_TIME_DESCEND, PRICE_ASCEND, BEST_MATCH. Optional for: vehicles, rentals. |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | integer|null | – | Credits charged for this call, or null if the endpoint did not report it. |
| creditsRemaining | integer|null | – | Credits left on the API key after this call, or null if not reported. |
| result | – | yes | JSON response from the SocialAPIs REST endpoint, unchanged. Object or array depending on the endpoint; most include a `meta` block (statusCode, duration, creditsCharged, creditsRemaining). |
No examples provided.
facebook_media_download Facebook: Media Download ~69
Resolve a Facebook media URL (image, video or audio, e.g. from a post or reel) to direct downloadable file URLs. Returns URLs, not file bytes. Pricing: 1 credit per call. Inputs: url (required).
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Facebook media URL to download |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | integer|null | – | Credits charged for this call, or null if the endpoint did not report it. |
| creditsRemaining | integer|null | – | Credits left on the API key after this call, or null if not reported. |
| result | – | yes | JSON response from the SocialAPIs REST endpoint, unchanged. Object or array depending on the endpoint; most include a `meta` block (statusCode, duration, creditsCharged, creditsRemaining). |
No examples provided.
facebook_page Facebook: Page ~984
Facebook pages: profile details, page ID, posts, videos, reels and photo albums. Actions: - action=details: Get a Facebook page's profile: name, category, follower and like counts, bio, contact info (email, phone, website, address), rating and the ad_page_id used by the Ads Library tools. Use it when you have the page URL; to find a page by name, use facebook_search (action=pages) first. Pricing: 1 credit per call; 5 credits when exact_followers_count=true. Inputs: link (required), exact_followers_count (optional). - action=id: Resolve a Facebook page URL to its numeric page ID. Use it when another tool needs a page or profile ID; use action=details for the page's data. Pricing: 1 credit per call. Inputs: link (required). - action=posts: List a Facebook page's recent posts, newest first, with text, media, reactions, comment and share counts. Returns 3-9 posts per call plus an end_cursor for the next page; filter by date with after_time / before_time. For reels or videos only, use action=reels or action=videos. Pricing: ceil(posts_returned / 3) credits per call, minimum 1. Inputs: link (required), limit (optional), end_cursor (optional), after_time (optional), before_time (optional), timezone (optional). - action=videos: List videos uploaded to a Facebook page, with video_id, title, duration, view count and thumbnail. Provide the page URL (link) or its numeric profile_id. Returns an end_cursor for the next page. For short-form reels, use action=reels. Pricing: 1 credit per call. Inputs: link (optional), profile_id (optional), limit (optional), end_cursor (optional). - action=reels: List a Facebook page's reels (short-form videos). Returns an end_cursor for the next page. For long-form videos, use action=videos. Pricing: 1 credit per call. Inputs: link (required), end_cursor (optional). - action=albums: List the photo albums of a Facebook page, with album_id, album_title, url, thumbnail_uri and album_items_count (text, e.g. "400 items"). Needs the numeric…
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Which operation to run. See the tool description for what each action returns and which parameters it needs. |
| after_time | string | – | ISO 8601 timestamp - only return posts after this time. Optional for: posts. |
| album_id | string | – | Album ID, from action=albums or facebook_group (action=albums). Required for: album_items. |
| before_time | string | – | ISO 8601 timestamp - only return posts before this time. Optional for: posts. |
| end_cursor | string | – | Pagination cursor from the previous response. Optional for: posts, videos, reels, albums, album_items. |
| exact_followers_count | boolean | – | When true, performs a deeper scrape to return the exact follower count (e.g. 38,493,217 instead of "38M"). Charges 5 credits when true, 1 credit otherwise. Default: false. Optional for: details. |
| limit | number | – | Results per call. posts: 3-9 (default 3) · videos: 6-12 (default 6) · albums: 8-16 (default 8). Optional for: posts, videos, albums. |
| link | string | – | Facebook page URL, e.g. https://facebook.com/nike. For videos you can pass profile_id instead. Required for: details, id, posts, reels. Optional for: videos. |
| profile_id | string | – | Numeric Facebook page ID, from action=id. For videos, an alternative to link. Required for: albums. Optional for: videos. |
| timezone | string | – | Timezone for timestamps (e.g., UTC, America/New_York). Optional for: posts. |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | integer|null | – | Credits charged for this call, or null if the endpoint did not report it. |
| creditsRemaining | integer|null | – | Credits left on the API key after this call, or null if not reported. |
| result | – | yes | JSON response from the SocialAPIs REST endpoint, unchanged. Object or array depending on the endpoint; most include a `meta` block (statusCode, duration, creditsCharged, creditsRemaining). |
No examples provided.
facebook_post Facebook: Post ~754
Facebook posts, videos and comments: post details, attachments, comments and replies. Actions: - action=details: Get a Facebook post's text, author, timestamp, media, and reaction, comment and share counts. Start here for any post. If you need view counts, video download URLs or audio metadata (common for reels and videos), use action=details_extended instead. Pricing: 1 credit per call. Inputs: link (required). - action=details_extended: Get everything action=details returns plus view counts, HD/SD video URLs, music/audio metadata and author verification status. Use it for reels and video posts, or when the standard details lack view_count, video_hd_src or attached_track. Pricing: 1 credit per call. Inputs: link (required). - action=id: Extract the numeric post ID from a Facebook post URL. Use it to get the post_id that action=attachments needs. Pricing: 1 credit per call. Inputs: link (required). - action=attachments: List every media attachment (images and videos, with URLs and dimensions) on a Facebook post, including all items in multi-photo posts. Needs the numeric post_id from action=id. For the post's text and engagement, use action=details. Pricing: 5 credits per call (deeper scrape than standard post details). Inputs: post_id (required). - action=video: Get a Facebook video post's metadata: title, message text and hashtags, owner, reactions and view count. Needs the numeric video_id (the number in a facebook.com/.../videos/<id> URL, or from facebook_page (action=videos)). Pricing: 1 credit per call. Inputs: video_id (required). - action=comments: List top-level comments on a Facebook post or reel, with author, text, timestamp and reaction count. Returns up to 30 per call plus an end_cursor for the next page. Set include_reply_info=true to get the comment_feedback_id and expansion_token that action=comment_replies needs. Pricing: 1 credit per call. Inputs: link (required), limit (optional), end_cursor (optional), include_reply_info (optional).…
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Which operation to run. See the tool description for what each action returns and which parameters it needs. |
| comment_feedback_id | string | – | Feedback ID from the comments endpoint with include_reply_info=true. Required for: comment_replies. |
| end_cursor | string | – | Pagination cursor for next page of comments. Optional for: comments. |
| expansion_token | string | – | Expansion token from the comments endpoint with include_reply_info=true. Required for: comment_replies. |
| include_reply_info | string | – | When "true", includes comment_feedback_id and expansion_token for fetching replies. Optional for: comments. |
| limit | number | – | Maximum number of comments to return. Default: 10. Maximum: 30. Optional for: comments. |
| link | string | – | Facebook post or reel URL (regular posts, video posts and reels). Required for: details, details_extended, id, comments. |
| post_id | string | – | Numeric Facebook post ID, from action=id. Required for: attachments. |
| video_id | string | – | Numeric Facebook video ID, e.g. the number in a facebook.com/.../videos/<id> URL. Required for: video. |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | integer|null | – | Credits charged for this call, or null if the endpoint did not report it. |
| creditsRemaining | integer|null | – | Credits left on the API key after this call, or null if not reported. |
| result | – | yes | JSON response from the SocialAPIs REST endpoint, unchanged. Object or array depending on the endpoint; most include a `meta` block (statusCode, duration, creditsCharged, creditsRemaining). |
No examples provided.
facebook_search Facebook: Search ~711
Search Facebook by keyword: pages, people, posts, videos and locations. Actions: - action=pages: Find Facebook pages by keyword (brand, business or topic name), optionally near a location. Returns page names, URLs, categories and follower counts, 3 per call, plus an end_cursor. Use it when you don't have the page URL; then call facebook_page (action=details) with a result's URL. For locations, get a location_uid from action=locations. Pricing: 1 credit per call. Inputs: query (required), location_uid (optional), end_cursor (optional). - action=people: Find public Facebook profiles by name or keyword, optionally near a location (location_uid from action=locations). Returns names, profile URLs and pictures, plus work, education and location where public, and an end_cursor. Pricing: 1 credit per call. Inputs: query (required), location_uid (optional), end_cursor (optional). - action=posts: Search public Facebook posts by keyword, optionally filtered by location (location_uid from action=locations) and date range. Returns posts with text, author and engagement, plus an end_cursor. To list one page's posts, use facebook_page (action=posts) instead. Pricing: 1 credit per call. Inputs: query (required), location_uid (optional), start_time (optional), end_time (optional), recent_posts (optional), end_cursor (optional). - action=videos: Search public Facebook videos by keyword, optionally most recent first or live videos only. Returns video titles, URLs and view counts, plus an end_cursor. Pricing: 1 credit per call. Inputs: query (required), most_recent (optional), videos_live (optional), fields (optional), end_cursor (optional). - action=locations: Look up Facebook places by name (city, region, venue) and get their location_uid. The location_uid is only used to filter action=pages, action=people and action=posts; it is not a Marketplace location (use facebook_marketplace (action=city_coordinates) for that). Pricing: 1 credit per call. Inputs: query (required).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Which operation to run. See the tool description for what each action returns and which parameters it needs. |
| end_cursor | string | – | Pagination cursor. Optional for: pages, people, posts, videos. |
| end_time | string | – | Filter posts before this date (YYYY-MM-DD). Optional for: posts. |
| fields | string | – | Comma-separated list of response fields to include. Optional for: videos. |
| location_uid | string | – | Location UID from action=locations, to limit results to a place. Optional for: pages, people, posts. |
| most_recent | string | – | When "true", shows most recent videos first. Optional for: videos. |
| query | string | – | Search keyword. pages: a brand or business name · people: a name · posts, videos: words in the text · locations: a city, place or landmark. Required for: pages, people, posts, videos, locations. |
| recent_posts | string | – | When "true", shows only recent posts. Optional for: posts. |
| start_time | string | – | Filter posts after this date (YYYY-MM-DD). Optional for: posts. |
| videos_live | string | – | When "true", filters for live videos only. Optional for: videos. |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | integer|null | – | Credits charged for this call, or null if the endpoint did not report it. |
| creditsRemaining | integer|null | – | Credits left on the API key after this call, or null if not reported. |
| result | – | yes | JSON response from the SocialAPIs REST endpoint, unchanged. Object or array depending on the endpoint; most include a `meta` block (statusCode, duration, creditsCharged, creditsRemaining). |
No examples provided.
instagram_location Instagram: Location ~247
Instagram locations: posts tagged at a place, and nearby places. Actions: - action=posts: List Instagram posts tagged at a location: top posts (tab=ranked) or most recent (tab=recent). Needs a location_id, e.g. from a place in instagram_search (action=search). Returns an end_cursor for the next page. Pricing: 1 credit per call. Inputs: location_id (required), tab (optional), end_cursor (optional). - action=nearby: List Instagram places near a given location, with name, category, coordinates and post count. Needs a location_id, e.g. from a place in instagram_search (action=search). Pricing: 1 credit per call. Inputs: location_id (required).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Which operation to run. See the tool description for what each action returns and which parameters it needs. |
| end_cursor | string | – | Pagination cursor for next page. Optional for: posts. |
| location_id | string | – | Instagram location ID. Required for: posts, nearby. |
| tab | string | – | Filter: "recent" or "ranked". Optional for: posts. |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | integer|null | – | Credits charged for this call, or null if the endpoint did not report it. |
| creditsRemaining | integer|null | – | Credits left on the API key after this call, or null if not reported. |
| result | – | yes | JSON response from the SocialAPIs REST endpoint, unchanged. Object or array depending on the endpoint; most include a `meta` block (statusCode, duration, creditsCharged, creditsRemaining). |
No examples provided.
instagram_post Instagram: Post ~194
Instagram posts: full post details, or the shortcode from a post URL. Actions: - action=details: Get one Instagram post or reel in full: caption, media URLs, engagement counts, timestamp and owner. Needs the shortcode (the part after /p/ or /reel/ in the URL, or from action=id). Pricing: 1 credit per call. Inputs: shortcode (required). - action=id: Extract the shortcode from an Instagram post or reel URL. action=details needs the shortcode. Pricing: 1 credit per call. Inputs: link (required).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Which operation to run. See the tool description for what each action returns and which parameters it needs. |
| link | string | – | Instagram post URL. Required for: id. |
| shortcode | string | – | Instagram post shortcode (e.g., DMF-GjGO0-q). Required for: details. |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | integer|null | – | Credits charged for this call, or null if the endpoint did not report it. |
| creditsRemaining | integer|null | – | Credits left on the API key after this call, or null if not reported. |
| result | – | yes | JSON response from the SocialAPIs REST endpoint, unchanged. Object or array depending on the endpoint; most include a `meta` block (statusCode, duration, creditsCharged, creditsRemaining). |
No examples provided.
instagram_profile Instagram: Profile ~617
Instagram profiles: details, user ID, posts, reels, highlights and highlight stories. Actions: - action=details: Get an Instagram profile by username: bio, follower and post counts, verification status and related profiles. Pricing: 1 credit per call. Inputs: username (required), link (optional). - action=id: Resolve an Instagram username or profile URL to its two IDs: user_id (long, e.g. 17841401474538262), used by action=posts and action=reels, and pk (short, e.g. 528817151), used by action=highlights. Pricing: 1 credit per call. Inputs: link (optional), username (optional). - action=posts: List an Instagram profile's posts (photos, videos, carousels) with captions, like and comment counts and media URLs. Pass username (returns more results) or user_id (the long user_id from action=id, not the pk). Returns an end_cursor for the next page. For reels only, use action=reels. Pricing: 1 credit per call. Inputs: username (optional), user_id (optional), end_cursor (optional). - action=reels: List an Instagram profile's reels with play counts, captions, video URLs and audio metadata. Needs the long user_id from action=id (not the pk). Returns an end_cursor for the next page. Pricing: 1 credit per call. Inputs: user_id (required), end_cursor (optional). - action=highlights: List an Instagram profile's story highlights with titles, cover images and highlight IDs. Needs the profile's pk from action=id, passed as user_id (not the long user_id). Use action=highlight_details to get the stories in one highlight. Pricing: 1 credit per call. Inputs: user_id (required). - action=highlight_details: Get the stories inside one Instagram highlight. Needs a highlight_id from action=highlights. Pricing: 1 credit per call. Inputs: highlight_id (required).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Which operation to run. See the tool description for what each action returns and which parameters it needs. |
| end_cursor | string | – | Pagination cursor for next page. Optional for: posts, reels. |
| highlight_id | string | – | Highlight ID (from profile highlights endpoint). Required for: highlight_details. |
| link | string | – | Instagram profile URL (alternative to username). Optional for: details, id. |
| user_id | string | – | Instagram profile ID from action=id. posts, reels: its long user_id (e.g. 17841401474538262) · highlights: its pk (e.g. 528817151). For posts, an alternative to username. Required for: reels, highlig… |
| username | string | – | Instagram username, without the @. For posts it returns more results than user_id. Required for: details. Optional for: id, posts. |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | integer|null | – | Credits charged for this call, or null if the endpoint did not report it. |
| creditsRemaining | integer|null | – | Credits left on the API key after this call, or null if not reported. |
| result | – | yes | JSON response from the SocialAPIs REST endpoint, unchanged. Object or array depending on the endpoint; most include a `meta` block (statusCode, duration, creditsCharged, creditsRemaining). |
No examples provided.
instagram_reels Instagram: Reels ~254
Instagram Reels: the trending feed, or reels that use a given audio track. Actions: - action=feed: Get Instagram's recommended and trending reels. Pass clips_media_id from a previous result to continue the feed or get similar reels by the same author. Not tied to a user; for one profile's reels use instagram_profile (action=reels). Pricing: 1 credit per call. Inputs: clips_media_id (optional). - action=by_audio: List Instagram reels that use a given sound. Needs the audio_id (music/audio cluster ID) found in reel results' audio metadata. Pass max_id from the previous response for the next page. Pricing: 1 credit per call. Inputs: audio_id (required), max_id (optional).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Which operation to run. See the tool description for what each action returns and which parameters it needs. |
| audio_id | string | – | Audio cluster ID (music ID). Required for: by_audio. |
| clips_media_id | string | – | Clip media ID for chaining/pagination (from previous response). Optional for: feed. |
| max_id | string | – | Pagination cursor for next page. Optional for: by_audio. |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | integer|null | – | Credits charged for this call, or null if the endpoint did not report it. |
| creditsRemaining | integer|null | – | Credits left on the API key after this call, or null if not reported. |
| result | – | yes | JSON response from the SocialAPIs REST endpoint, unchanged. Object or array depending on the endpoint; most include a `meta` block (statusCode, duration, creditsCharged, creditsRemaining). |
No examples provided.
instagram_search Instagram: Search ~93
Search Instagram by keyword and get the top matching users, hashtags and places. Use it to find a username, or a place's location_id for instagram_location (action=posts). Returns an end_cursor for more. Pricing: 1 credit per call. Inputs: keyword (required), end_cursor (optional).
| Name | Type | Req | Description |
|---|---|---|---|
| end_cursor | string | – | Pagination cursor for next page |
| keyword | string | yes | Search keyword/query |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | integer|null | – | Credits charged for this call, or null if the endpoint did not report it. |
| creditsRemaining | integer|null | – | Credits left on the API key after this call, or null if not reported. |
| result | – | yes | JSON response from the SocialAPIs REST endpoint, unchanged. Object or array depending on the endpoint; most include a `meta` block (statusCode, duration, creditsCharged, creditsRemaining). |
No examples provided.
How do I install the SocialAPIs MCP server?
SocialAPIs is a hosted endpoint at https://mcp.socialapis.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.socialapis.io
claude mcp add --transport http socialapishub-social-media-api 'https://mcp.socialapis.io/mcp'
What is the SocialAPIs MCP server?
SocialAPIs is an MCP server listed in the public MCP registry as io.github.SocialAPIsHub/social-media-api. Facebook & Instagram data for AI agents: pages, posts, groups, ads, Marketplace, profiles, reels. This page covers its hosted endpoint (https://mcp.socialapis.io/mcp).
Is the SocialAPIs MCP server safe to use?
SocialAPIs scores 68 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the SocialAPIs MCP server expose?
SocialAPIs exposes 12 tools: facebook_page, facebook_group, facebook_post, facebook_search, facebook_ads, and 7 more. Their descriptions and schemas cost roughly 6,737 tokens of context every time the server is loaded.
Does the SocialAPIs MCP server require authentication?
No. We connected to SocialAPIs without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the SocialAPIs MCP server still maintained?
SocialAPIs is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.