MCP server: One MCP server.

SocialAPIs

@socialapishubRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

Facebook & Instagram data for AI agents: pages, posts, groups, ads, Marketplace, profiles, reels.

Social media analyticsv2.0.2MITJavaScript
Freeno charge per call

One address for any MCP client. No sign-in needed on this server.

What it does

37 read1 act9 other

Grouped by tool name. At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Tools

47 · grouped by tool name · checked 3 Oct 2026

Read · 37Look things up

  • facebook_get_page_id
  • facebook_get_page_details
  • facebook_get_page_posts
  • facebook_get_page_videos
  • facebook_get_page_reels
  • facebook_get_group_id
  • facebook_get_group_details
  • facebook_get_group_posts
  • facebook_get_group_videos
  • facebook_get_post_id
  • facebook_get_post_details
  • facebook_get_post_details_extended
  • facebook_get_post_attachments
  • facebook_get_video_details
  • facebook_get_post_comments
  • facebook_get_comment_replies
  • facebook_search_pages
  • facebook_search_people
  • facebook_search_locations
  • facebook_search_posts
  • facebook_search_videos
  • facebook_ads_search
  • facebook_marketplace_search
  • facebook_download_media
  • instagram_get_user_id
  • instagram_get_profile_details
  • instagram_get_profile_posts
  • instagram_get_profile_reels
  • instagram_get_profile_highlights
  • instagram_get_highlight_details
  • instagram_get_post_id
  • instagram_get_post_details
  • instagram_get_reels_feed
  • instagram_get_reels_by_audio
  • instagram_popular_search
  • instagram_get_location_posts
  • instagram_get_nearby_locations

Act · 1Change something

  • facebook_ads_archive_details

Other · 9Neither hinted nor named

  • facebook_ads_page_details
  • facebook_ads_keywords
  • facebook_ads_countries
  • facebook_marketplace_listing
  • facebook_marketplace_seller
  • facebook_marketplace_categories
  • facebook_marketplace_city_coordinates
  • facebook_marketplace_vehicles
  • facebook_marketplace_rentals
Try it in the Inspector
README9 min read

SocialAPIs MCP Server

SocialAPIs Logo

Facebook & Instagram data for AI agents — local (npx) or hosted (remote MCP)

npm version License: MIT GitHub stars

Website • Documentation • Discord • npm

Install in Cursor

Official SDKs: Python • JavaScript / TypeScript • Go


🚀 Quick Start

AI agents (Cline, Claude Code, Cursor): follow llms-install.md for step-by-step install and verification.

One-click: use the Install in Cursor button above — then replace YOUR_API_KEY in Cursor's MCP settings with your key. Also listed on Smithery, cursor.directory, mcp.so and the official MCP Registry (io.github.SocialAPIsHub/social-media-api).

Option A — Hosted (remote MCP, no install)

Point any client that supports remote MCP servers (Streamable HTTP) at:

https://mcp.socialapis.io/mcp

Authenticate with your SocialAPIs API key in a header:

Authorization: Bearer YOUR_API_KEY

(x-api-token: YOUR_API_KEY also works.) Tool listing works without a key; tool calls need one. Example config for clients that take a URL + headers:

json
{
  "mcpServers": {
    "socialapis": {
      "url": "https://mcp.socialapis.io/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Option B — Local (npx, stdio)

Installation

bash
npm install -g @socialapis/mcp

Configuration

Add to your Claude Desktop config:

macOS:

bash
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows:

powershell
notepad %APPDATA%\Claude\claude_desktop_config.json

🔧 Configuration

json
{
  "mcpServers": {
    "socialapis": {
      "command": "npx",
      "args": ["-y", "@socialapis/mcp", "YOUR_API_KEY"]
    }
  }
}

Method 2: Environment Variable

bash
# Set environment variable
export SOCIALAPIS_API_KEY=your_api_key_here

# Run without argument
npx @socialapis/mcp

Method 3: .env File (For Development)

bash
# Copy example file
cp .env.example .env

# Edit with your values
nano .env

.env file:

properties
SOCIALAPIS_API_KEY=your_api_key_here
MCP_PROXY_URL=https://mcp.socialapis.io

Environment Variables

VariableDescriptionDefault
SOCIALAPIS_API_KEYYour SocialAPIs API keyNone (required)
MCP_PROXY_URLMCP proxy server URLhttps://mcp.socialapis.io
PORTHTTP server port3001
API_BASE_URLBackend API URLhttps://api.socialapis.io

Get API Key

  1. Sign up at socialapis.io
  2. Go to Dashboard
  3. Copy your API key
  4. Replace YOUR_API_KEY in config

Test It

Restart Claude Desktop and ask:

Get Nike's Facebook page details

📋 Features

  • 🌐 One API key - Facebook and Instagram behind a single interface
  • 🤖 AI-First - Built for Claude, Cursor, and AI agents
  • 📊 Rich Data - Posts, comments, engagement metrics
  • 🔍 Advanced Filtering - Time ranges, pagination
  • 🎯 Simple Auth - No OAuth complexity
  • 🧩 Structured output - every tool declares an output schema and returns { result, creditsCharged, creditsRemaining }, so agents can track credit spend directly
  • 🛡️ Read-only annotations - all tools are marked readOnlyHint, so clients can skip confirmation prompts
  • ⚡ Fast - Global edge network
  • 🔒 Secure - API keys stay local

🛠️ Available Tools

12 tools covering 47 actions across Facebook and Instagram. Each tool groups one resource and takes an action argument; every action maps to one REST endpoint on api.socialapis.io. Tool descriptions list each action, the parameters it needs and its credit cost.

ToolActions
facebook_pagedetails (followers, contact info, category; exact_followers_count=true costs 5 credits), id, posts (limit 3-9, date filters), videos (limit 6-12), reels
facebook_groupdetails, id, posts (limit 3-9, date filters), videos
facebook_postdetails, details_extended (view counts, video URLs, audio metadata), id, attachments (5 credits), video, comments, comment_replies
facebook_searchpages, people, posts, videos, locations (location UIDs for the other searches)
facebook_adssearch (ads by keyword, page, country, status), keywords (advertisers for a keyword), page_details, archive_details, countries
facebook_marketplacesearch (price, location, category, condition filters), vehicles, rentals, listing, seller, categories, city_coordinates
facebook_media_downloadDownload URLs for Facebook images and videos
instagram_profiledetails, id, posts, reels, highlights, highlight_details
instagram_postdetails, id (shortcode from a post URL)
instagram_reelsfeed, by_audio
instagram_searchPopular users, hashtags and places for a keyword
instagram_locationposts (recent or top), nearby

Example call: facebook_page with {"action": "posts", "link": "https://www.facebook.com/nike", "limit": 9}.

Upgrading from 1.x: the 47 earlier tool names (facebook_get_page_details, instagram_get_profile_posts, …) still work when called directly, so existing prompts and scripts keep running. They're no longer listed. If your client auto-approves tools by name, add the new names.

Not supported yet

Only Facebook and Instagram are live today. TikTok, X / Twitter, LinkedIn and YouTube are on the roadmap with no committed dates — tools for them will appear here only once they ship.

Track the platform roadmap at socialapis.io/api-sources.


💡 Usage examples

Each prompt below is a real Claude Desktop session. Some of these are single-tool-call patterns ("get me X"); some require Claude to chain multiple calls + aggregate the results (noted where).

Single-call patterns (fast, cheap)

What's Nike's follower count on Facebook?
→ Uses facebook_page action=details (1 credit)

Get the latest 9 posts from facebook.com/EngenSA
→ Uses facebook_page action=posts with limit=9 (1-3 credits depending on actual returned count)

Show me the Meta ads currently running for "Apple Vision Pro" in Germany
→ Uses facebook_ads action=search (1 credit)

Multi-call patterns (Claude orchestrates these — but it's slower + more expensive)

Compare engagement on Nike vs Adidas's last 9 Facebook posts
→ Claude calls facebook_page action=posts twice (~2-6 credits total),
  aggregates reactions/comments/shares per post, returns a comparison.

What are people saying in the comments on Coca-Cola's last 3 posts?
→ Claude calls facebook_page action=posts (1 credit) then
  facebook_post action=comments 3 times (3 credits) and summarizes.

Show me marketplace listings for "PlayStation 5" under $400 in Berlin
→ Claude calls facebook_marketplace action=city_coordinates (1 credit) +
  facebook_marketplace action=search with filters (1 credit).

What this MCP server does NOT do

Some queries look natural in a chat ("compare engagement over the last month") but require aggregations the API doesn't expose as a single tool yet. Claude can still answer them, but it'll fan out into many tool calls — which is slow + expensive.

Query shapeWhy it's hard
"Engagement rate over the last 30 days" for a pageRequires fetching every post in the date range (paginated, limit capped at 9 per call) and computing engagement per post. Hits the LLM tool-call budget on busy pages.
"Compare engagement rates between Brand A, B, C over the last month"Same problem, 3× — one paginated fetch per brand, then comparison math. Works for small windows; slow for "last month" on high-volume pages.
Historical archive older than what Facebook itself servesWe surface what Facebook makes publicly visible. Posts that scrolled off Facebook's visible feed aren't retrievable.
Server-side time-series (daily engagement, weekly growth)Not yet — on the roadmap as a future engagement-stats endpoint with built-in aggregation.

If your use case maps to one of these patterns and you want the aggregation pre-computed instead of LLM-orchestrated, contact support with the specific query — we're prioritizing the aggregation endpoint based on customer demand.


🏗️ Architecture

Claude Desktop
    ↓
@socialapis/mcp (local MCP client)
    ↓
https://mcp.socialapis.io (global proxy)
    ↓
https://api.socialapis.io (data API)

Why this architecture?

  • ✅ Low latency (global edge network)
  • ✅ High reliability (99.9% uptime)
  • ✅ Auto rate limiting
  • ✅ Smart caching
  • ✅ Your API key stays local

🔧 Development

Local Setup

bash
# Clone repository
git clone https://github.com/SocialAPIsHub/mcp-server.git
cd mcp-server

# Install dependencies
npm install

# Run MCP client
npm start YOUR_API_KEY

# Run HTTP proxy server
npm run serve

Project Structure

mcp-server/
├── src/
│   ├── tools.js          # The 47 endpoint definitions (one per action)
│   └── groups.js         # Groups them into the 12 listed tools
├── mcp-wrapper.js        # MCP client (runs locally)
├── server.js             # HTTP proxy server
├── package.json
├── Dockerfile
└── README.md

Testing

bash
# Test MCP client locally
node mcp-wrapper.js YOUR_API_KEY

# Test HTTP proxy
curl http://localhost:3001/health
curl http://localhost:3001/tools

# Test specific tool
curl -X POST http://localhost:3001/proxy \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tool":"facebook_page","arguments":{"action":"details","link":"https://facebook.com/nike"}}'

📊 Pricing

PlanCredits / monthPrice
Free200$0
Pro1,500$4.99
Ultra30,000$49
Mega120,000$179
EnterpriseCustomContact us

Most tools cost 1 credit per call; each tool description states its exact price. Current plans: socialapis.io/pricing.

View detailed pricing →


🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for details.

Quick Contribution Guide

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📖 Documentation


💬 Support


🗺️ Roadmap

Shipped:

  • Facebook API support — 7 tools, 31 actions (Pages, Groups, Posts, Search, Ads Library, Marketplace, Media)
  • Instagram support — 5 tools, 16 actions (Profiles, Posts, Reels, Highlights, Discovery / Locations)
  • MCP server implementation
  • HTTP proxy server
  • npm package published — @socialapis/mcp
  • MCP Registry listing — registry.modelcontextprotocol.io
  • Python SDK — socialapis-sdk on PyPI (50 endpoints, MIT)
  • JavaScript / TypeScript SDK — socialapis-sdk on npm (Node 18+, Bun, Deno, browsers)
  • Go SDK — github.com/SocialAPIsHub/socialapis-go (idiomatic, zero deps)

Upcoming:

  • TikTok support
  • X (Twitter) support
  • LinkedIn support
  • YouTube support
  • Advanced analytics — server-side aggregation endpoints (engagement-over-time, brand comparisons) so multi-call patterns become a single tool call
  • Real-time webhooks — push notifications on new posts / engagement thresholds
  • LangChain integration

Platform priorities shift based on customer demand. The fastest way to push something up the queue is to email support@socialapis.io or DM @socialapis on Telegram with the use case.


📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments


🌟 Star History

Star History Chart


Made with ❤️ by the SocialAPIs Team

Website • Twitter • Discord

Python SDK • JS SDK • Go SDK

Similar modules

Browse Social media analytics