SocialAPIs

io.github.SocialAPIsHubPublished by GitHub account SocialAPIsHubv2.2.0Updated Oct 29, 2026

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

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingBusiness & CommerceMedia & Design

Overview

AI-generated overview

SocialAPIs gives an assistant read-only Facebook and Instagram data — pages, posts, groups, ads, Marketplace, profiles and reels — through one API key.

What you can do
  • Look up Facebook pages and public groups: profiles, IDs, posts, videos, reels and photo albums
  • Read Facebook posts, attachments, comments and replies, and resolve media URLs to direct download links
  • Search Facebook for pages, people, posts, videos and locations, and query the Meta Ads Library and Marketplace listings
  • Inspect Instagram profiles, posts, reels, highlights, keyword search results and posts tagged at a location
When to use it
Useful when an assistant needs public social media research: brand and competitor page metrics, engagement on recent posts, ad library checks, Marketplace price scans, or Instagram profile and reel lookups. It is not suited to historical archives or pre-computed time-series, which the README says require many paginated calls.
Requirements
A SocialAPIs account and API key, sent as a bearer token in the Authorization header for the hosted endpoint or set as SOCIALAPIS_API_KEY for the local npm package (Node.js via npx). Network access to the SocialAPIs proxy and API; the free plan includes 200 credits per month.
Before you install
Calls consume paid credits (most 1 per call, some 5), so heavy or multi-call queries spend money; responses report creditsCharged and creditsRemaining. The API key is a billable credential — keep it out of shared configs. All tools are marked read-only, but queries and keywords are sent to a third-party service.

Installation

In SourceWeft

  1. Open SocialAPIs in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.SocialAPIsHub%2Fsocial-media-api/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "socialapis": {
      "type": "http",
      "url": "https://mcp.socialapis.io/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

SocialAPIs MCP Server


🚀 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

Method 1: Command Line Argument (Recommended for Claude Desktop)

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

Method 2: Environment Variable

bash
# Set environment variableexport SOCIALAPIS_API_KEY=your_api_key_here
# Run without argumentnpx @socialapis/mcp

Method 3: .env File (For Development)

bash
# Copy example filecp .env.example .env
# Edit with your valuesnano .env

.env file:

properties
SOCIALAPIS_API_KEY=your_api_key_hereMCP_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
SOCIALAPIS_CATALOG_URLLive endpoint catalog the server follows (server only)https://auth.socialapis.io/api/public/endpoints
SOCIALAPIS_CATALOG_REFRESH_MSHow often the catalog (server) or tool list (npm client) is re-read600000 (10 min)
SOCIALAPIS_LIVE_CATALOG0 = always use the bundled definitions (server only)on

Live catalog

Prices, descriptions and parameters follow the SocialAPIs API without a new release. The server reads the public endpoint catalog at startup (3 s timeout) and every 10 minutes, compares it with src/catalogBaseline.json (the catalog src/tools.js was written against) and applies only what changed since: a new price replaces the tool's Pricing: sentence, an edited description or parameter replaces ours, added and removed parameters are added and removed, and a disabled endpoint's action says "Currently unavailable." Tool and action names never change, and new endpoints don't become tools until a release adds them. If the catalog can't be read, or a change would make two actions' parameters conflict, the last good definitions (at first the bundled ones) stay. GET /health shows catalog: { source, version, fetchedAt, routes }. The npm client re-reads the tool list every 10 minutes and sends notifications/tools/list_changed when it changes.

After updating tools.js to match the API, refresh the baseline: node scripts/snapshot-catalog.mjs --from https://auth.socialapis.io/api/public/endpoints (public fields only).

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 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.

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, albums (profile_id from id, limit 8-16), album_items (photos and videos in an album)
facebook_groupdetails, id, posts (limit 3-9, date filters), videos, albums (group_id from id, limit 8-16), album_items
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 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.

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 repositorygit clone https://github.com/SocialAPIsHub/mcp-server.gitcd mcp-server
# Install dependenciesnpm install
# Run MCP clientnpm start YOUR_API_KEY
# Run HTTP proxy servernpm run serve

Project Structure

mcp-server/├── src/│   ├── tools.js          # The 50 endpoint definitions (one per action)│   ├── groups.js         # Groups them into the 12 listed tools│   ├── catalogBaseline.json  # The API catalog tools.js was written against│   ├── catalogOverlay.js # Applies live catalog changes to the definitions│   └── liveCatalog.js    # Fetches the live catalog (startup + every 10 min)├── scripts/snapshot-catalog.mjs  # Rewrites catalogBaseline.json├── test/                 # node --test (npm run test:unit)├── mcp-wrapper.js        # MCP client (runs locally)├── server.js             # HTTP proxy server├── package.json├── Dockerfile└── README.md

Testing

bash
# Unit testsnpm run test:unit
# Test MCP client locallynode mcp-wrapper.js YOUR_API_KEY
# Test HTTP proxycurl http://localhost:3001/healthcurl http://localhost:3001/tools
# Test specific toolcurl -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:

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 [email protected] 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


📇 Listed on

[SocialAPIs MCP Server MCP server – quality and maintenance score on Glama]

Also on the Official MCP Registry, Smithery, LobeHub, mcp.so, mcpservers.org, cursor.directory and awesome-remote-mcp-servers.


🌟 Star History

[Star History Chart]


Made with ❤️ by the SocialAPIs Team

Website • Twitter • Discord

Python SDK • JS SDK • Go SDK

Source: README.md at commit e189b48

Tools

12

facebook_page

Facebook: Page

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 p

Parameterslinklimitactionrequiredalbum_idtimezoneafter_timeend_cursorprofile_idbefore_timeexact_followers_count

facebook_group

Facebook: Group

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).

Parameterslinklimitactionrequiredalbum_idgroup_idtimezoneafter_timeend_cursorbefore_time

facebook_post

Facebook: Post

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).

Parameterslinklimitactionrequiredpost_idvideo_idend_cursorexpansion_tokeninclude_reply_infocomment_feedback_id

facebook_ads

Facebook: Ads

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 parameter

Parametersqueryactionrequiredcountrypage_idsort_dataad_page_idafter_timeend_cursorbefore_timeactiveStatusad_archive_idis_ad_non_political+1 more

facebook_marketplace

Facebook: Marketplace

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 (optional

Parameterscitylimitqueryactionrequiredcountrysort_byseller_idend_cursorlisting_idexact_matchexactly_onecategory_url+13 more

facebook_media_download

Facebook: Media Download

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).

Parametersurlrequired

instagram_profile

Instagram: Profile

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).

Parameterslinkactionrequireduser_idusernameend_cursorhighlight_id

instagram_post

Instagram: Post

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).

Parameterslinkactionrequiredshortcode

instagram_reels

Instagram: Reels

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).

Parametersactionrequiredmax_idaudio_idclips_media_id

instagram_location

Instagram: Location

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).

Parameterstabactionrequiredend_cursorlocation_id

Version history

8
  1. v2.2.0LatestOct 29, 2026
  2. v2.1.1Oct 16, 2026
  3. v2.1.0Oct 15, 2026
  4. v2.0.2Oct 8, 2026
  5. v2.0.0Oct 6, 2026
  6. v1.2.1Oct 6, 2026
  7. v1.2.0Oct 2, 2026
  8. v1.0.1Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts