
A unified API wrapper that lets Claude pull data from Facebook pages, groups, and posts without dealing with OAuth complexity. You get tools to extract page IDs from URLs, fetch follower counts and engagement metrics, retrieve posts with time filters, and pull comments with pagination. The MCP client runs locally while routing requests through their hosted proxy to api.socialapis.io. Useful when you need to monitor brand mentions, compare competitor engagement rates, or analyze comment sentiment across Facebook properties. Requires a SocialAPIs API key with a free tier of 200 requests per month. Instagram, TikTok, and YouTube support are on the roadmap but not yet available.

Facebook & Instagram data for AI agents — local (npx) or hosted (remote MCP)
Website • Documentation • Discord • npm
Official SDKs: Python • JavaScript / TypeScript • Go
AI agents (Cline, Claude Code, Cursor): follow
llms-install.mdfor 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).
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:
{
"mcpServers": {
"socialapis": {
"url": "https://mcp.socialapis.io/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
npm install -g @socialapis/mcp
Add to your Claude Desktop config:
macOS:
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows:
notepad %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"socialapis": {
"command": "npx",
"args": ["-y", "@socialapis/mcp", "YOUR_API_KEY"]
}
}
}
# Set environment variable
export SOCIALAPIS_API_KEY=your_api_key_here
# Run without argument
npx @socialapis/mcp
# Copy example file
cp .env.example .env
# Edit with your values
nano .env
.env file:
SOCIALAPIS_API_KEY=your_api_key_here
MCP_PROXY_URL=https://mcp.socialapis.io
| Variable | Description | Default |
|---|---|---|
SOCIALAPIS_API_KEY | Your SocialAPIs API key | None (required) |
MCP_PROXY_URL | MCP proxy server URL | https://mcp.socialapis.io |
PORT | HTTP server port | 3001 |
API_BASE_URL | Backend API URL | https://api.socialapis.io |
YOUR_API_KEY in configRestart Claude Desktop and ask:
Get Nike's Facebook page details
{ result, creditsCharged, creditsRemaining }, so agents can track credit spend directlyreadOnlyHint, so clients can skip confirmation prompts12 tools covering 50 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.
| Tool | Actions |
|---|---|
facebook_page | details (followers, contact info, category; exact_followers_count=true costs 5 credits), id, posts (limit 3-9, date filters), videos (limit 6-12), reels, albums (profile_id from id, limit 8-16), album_items (photos and videos in an album) |
facebook_group | details, id, posts (limit 3-9, date filters), videos, albums (group_id from id, limit 8-16), album_items |
facebook_post | details, details_extended (view counts, video URLs, audio metadata), id, attachments (5 credits), video, comments, comment_replies |
facebook_search | pages, people, posts, videos, locations (location UIDs for the other searches) |
facebook_ads | search (ads by keyword, page, country, status), keywords (advertisers for a keyword), page_details, archive_details, countries |
facebook_marketplace | search (price, location, category, condition filters), vehicles, rentals, listing, seller, categories, city_coordinates |
facebook_media_download | Download URLs for Facebook images and videos |
instagram_profile | details, id, posts, reels, highlights, highlight_details |
instagram_post | details, id (shortcode from a post URL) |
instagram_reels | feed, by_audio |
instagram_search | Popular users, hashtags and places for a keyword |
instagram_location | posts (recent or top), nearby |
Example call: facebook_page with {"action": "posts", "link": "https://www.facebook.com/nike", "limit": 9}.
Upgrading from 1.x: the earlier per-endpoint 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.
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.
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).
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)
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).
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 shape | Why it's hard |
|---|---|
| "Engagement rate over the last 30 days" for a page | Requires 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 serves | We 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.
Claude Desktop
↓
@socialapis/mcp (local MCP client)
↓
https://mcp.socialapis.io (global proxy)
↓
https://api.socialapis.io (data API)
Why this architecture?
# 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
mcp-server/
├── src/
│ ├── tools.js # The 50 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
# 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"}}'
| Plan | Credits / month | Price |
|---|---|---|
| Free | 200 | $0 |
| Pro | 1,500 | $4.99 |
| Ultra | 30,000 | $49 |
| Mega | 120,000 | $179 |
| Enterprise | Custom | Contact us |
Most tools cost 1 credit per call; each tool description states its exact price. Current plans: socialapis.io/pricing.
We welcome contributions! Please see CONTRIBUTING.md for details.
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)npx skills add SocialAPIsHub/skills)Shipped:
@socialapis/mcpsocialapis-sdk on PyPI (50 endpoints, MIT)socialapis-sdk on npm (Node 18+, Bun, Deno, browsers)Upcoming:
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.
This project is licensed under the MIT License - see the LICENSE file for details.
Also on the Official MCP Registry, Smithery, LobeHub, mcp.so, mcpservers.org, cursor.directory and awesome-remote-mcp-servers.
SOCIALAPIS_API_KEY*secretYour SocialAPIs API key. Get yours at https://socialapis.io/dashboard
MCP_PROXY_URLdefault: https://mcp.socialapis.ioMCP proxy server URL (optional)