Connectors · Marketing & media
Meta Instagram Graph API MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Meta Instagram Graph API and the rest of your systems. It gives your agent 92 Meta Instagram Graph API actions (61 reads, 24 writes and 7 that wait for a confirmation) and holds the Meta Instagram Graph API credential itself, so the agent never does. It paces Meta Instagram Graph API's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "meta_instagram_graph.me_accounts.list", intent: "check which Meta Instagram Graph API account is connected"}# List Pages the user manages, with their linked Instagram accounts · read · 1 upstream call- 92actionsin one signed file
- 61readlook, never change
- 24writecreate and update
- 7wait for a yesdestructive, confirmed first
Set up
Connect Meta Instagram Graph API in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Meta Instagram Graph API.
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
access_tokenLong-lived Page access token (or system user token) for the Facebook Page linked to the Instagram business/creator…
account { op: "connections.requirements", service: "meta_instagram_graph" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "meta_instagram_graph.me_accounts.list" }# list pages the user manages, with their linked instagram accounts · read · 1 upstream callcheck { action: "meta_instagram_graph.page_messages.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Meta Instagram Graph API at a glance
- Sign-in
- Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
access_token- Limits we pace to
- 200 calls a minute, per connection
- API covered
- Graph API v26.0 (Instagram API with Facebook Login)
graph.facebook.com/v26.0 - Built from
- Meta Instagram Graph API's documentation, read 22 October 2026GitHubdevelopers.facebook.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 59 of 61 reads, for up to an hour; a write clears what it affects
- Shared entities
- 3, so ask can line Meta Instagram Graph API up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Meta Instagram Graph API.
92 actions in 67 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 61readlook, never change
- 24writecreate and update
- 7destructivewait for a confirmation
Business asset agencies
31 read · 1 write · 1 destructive
Create agencies on an Instagram business asset · List agencies of an Instagram business asset · Remove agencies from an Instagram business asset
Business asset assigned users
31 read · 1 write · 1 destructive
Create assigned users on an Instagram business asset · List assigned users of an Instagram business asset · Remove assigned users from an Instagram business asset
Comments
31 read · 1 write · 1 destructive
Get an Instagram comment · Hide or unhide a comment · Delete a comment
Media
31 read · 1 write · 1 destructive
Get an Instagram media object · Enable or disable comments on a media object · Delete a media object
User branded content tag approval
31 read · 1 write · 1 destructive
Create branded content tag approval on an Instagram account · List branded content tag approval of an Instagram account · Remove branded content tag approval from an Instagram account
Comment replies
21 read · 1 write · 0 destructive
Reply to a comment · List replies to a comment
Me permissions
21 read · 0 write · 1 destructive
List permissions granted to the app · Revoke the app's permissions
Media branded content partner promote
21 read · 1 write · 0 destructive
Create branded content partner promote on a media object · List branded content partner promote of a media object
59 more areas · 71 actions
- Media comments 2
- Media partnership ad code 2
- Media product tags 2
- Upcoming events 2
- User authorized adaccounts 2
- User branded content ad permissions 2
- User collaboration invites 2
- User dataset 2
- User instagram backed threads user 2
- User media 2
- User product appeal 2
- User upcoming events 2
- Boost ads 1
- Business assets 1
- Business discovery 1
- Containers 1
- Conversation messages 1
- Conversations 1
- Creator branded content media 1
- Creator insights 1
- Creator past partnership ads media 1
- Creator recent media 1
- Hashtag recent media 1
- Hashtag search 1
- Hashtag top media 1
- Hashtags 1
- Me 1
- Me accounts 1
- Media boost ads list 1
- Media children 1
- Media collaborators 1
- Media insights 1
- Mentioned comment 1
- Mentioned media 1
- Page conversations 1
- Page messages 1
- Pages 1
- Scheduled media 1
- User agencies 1
- User available catalogs 1
- User branded content advertisable medias 1
- User business messaging feature status 1
- User catalog product search 1
- User collaborative media 1
- User connected threads user 1
- User content publishing limit 1
- User creator marketplace creators 1
- User insights 1
- User live media 1
- User media publish 1
- User mentions 1
- User moderate conversations 1
- User notification message tokens 1
- User recently searched hashtags 1
- User scheduled media 1
- User stories 1
- User tags 1
- User welcome message flows 1
- Users 1
Top actions
The Meta Instagram Graph API API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 5 of Meta Instagram Graph API's 5 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
meta_instagram_graph.conversation_messages.listList messages in an Instagram Direct conversation | List messages in an Instagram Direct conversation. | read | comm.message.list42 connectors |
meta_instagram_graph.me.getGet the token's user or Page (`me`) | Get the token's user or Page (`me`). | read | identity.current_user.get307 connectors |
meta_instagram_graph.page_conversations.listList Instagram Direct conversations | List Instagram Direct conversations. | read | comm.chat.list20 connectors |
meta_instagram_graph.page_messages.createSend an Instagram Direct message | Send an Instagram Direct message. | write | comm.message.send25 connectors |
meta_instagram_graph.conversations.getGet an Instagram Direct conversation | Get an Instagram Direct conversation. | read | comm.chat.get17 connectors |
meta_instagram_graph.user_tags.listList media the account is tagged in | List media the account is tagged in. | read | this connector |
meta_instagram_graph.user_media.listList an Instagram account's media (posts, reels, carousels) | List an Instagram account's media (posts, reels, carousels). | read | this connector |
meta_instagram_graph.me_accounts.listList Pages the user manages, with their linked Instagram accounts | List Pages the user manages, with their linked Instagram accounts. | read | this connector |
meta_instagram_graph.user_media.createCreate a media container (step 1 of publishing a photo, video, reel, story or carousel) | Create a media container (step 1 of publishing a photo, video, reel, story or carousel). | write | this connector |
meta_instagram_graph.user_stories.listList the account's current stories | List the account's current stories. | read | this connector |
meta_instagram_graph.user_mentions.createReply to a media or comment that mentions the account | Reply to a media or comment that mentions the account. | write | this connector |
meta_instagram_graph.media.deleteDelete a media object | Delete a media object. | destructive | this connector |
Try it
Prompts to paste into Claude.
Each one names the Meta Instagram Graph API actions it will call, so you know what it reads and what it changes before you send it.
- Readread
List Pages the user manages, with their linked Instagram accounts in Meta Instagram Graph API and tell me what stands out.
calls
meta_instagram_graph.me_accounts.list - Writewrite
Send an Instagram Direct message in Meta Instagram Graph API. Show me exactly what you will send before you save it.
calls
meta_instagram_graph.page_messages.create
Governance for Meta Instagram Graph API
Destructive actions wait for a yes.
7 Meta Instagram Graph API actions are destructive. These are all of them:
- Delete a media object
meta_instagram_graph.media.delete - Delete a comment
meta_instagram_graph.comments.delete - Revoke the app's permissions
meta_instagram_graph.me_permissions.delete - Remove agencies from an Instagram business asset
meta_instagram_graph.business_asset_agencies.delete - Remove partnership ad code from a media object
meta_instagram_graph.media_partnership_ad_code.delete - Remove assigned users from an Instagram business asset
meta_instagram_graph.business_asset_assigned_users.delete - Remove branded content tag approval from an Instagram account
meta_instagram_graph.user_branded_content_tag_approval.delete
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete a media object?
intent: the user asked me to delete a media object
account { op: "keys.create", name: "meta-instagram-graph-agent", allowed_actions: ["meta_instagram_graph.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "meta_instagram_graph.media.delete", approver: "[email protected]" }, { match: "meta_instagram_graph.comments.delete", approver: "[email protected]" }, { match: "meta_instagram_graph.me_permissions.delete", approver: "[email protected]" } ]}Cost
What Meta Instagram Graph API costs on actionlake.
Every Meta Instagram Graph API action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Meta Instagram Graph API refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 92 Meta Instagram Graph API actions
- 92actions pageeach page of a long list is one call
- 59reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Meta Instagram Graph API action.
92 actions by area: the id your agent calls, what it does, and its effect.
Business asset agencies3
meta_instagram_graph.business_asset_agencies.createCreate agencies on an Instagram business assetwritemeta_instagram_graph.business_asset_agencies.deleteRemove agencies from an Instagram business assetdestructivemeta_instagram_graph.business_asset_agencies.listList agencies of an Instagram business assetread
Business asset assigned users3
meta_instagram_graph.business_asset_assigned_users.createCreate assigned users on an Instagram business assetwritemeta_instagram_graph.business_asset_assigned_users.deleteRemove assigned users from an Instagram business assetdestructivemeta_instagram_graph.business_asset_assigned_users.listList assigned users of an Instagram business assetread
Comments3
meta_instagram_graph.comments.deleteDelete a commentdestructivemeta_instagram_graph.comments.getGet an Instagram commentreadmeta_instagram_graph.comments.updateHide or unhide a commentwrite
Media3
meta_instagram_graph.media.deleteDelete a media objectdestructivemeta_instagram_graph.media.getGet an Instagram media objectreadmeta_instagram_graph.media.updateEnable or disable comments on a media objectwrite
User branded content tag approval3
meta_instagram_graph.user_branded_content_tag_approval.createCreate branded content tag approval on an Instagram accountwritemeta_instagram_graph.user_branded_content_tag_approval.deleteRemove branded content tag approval from an Instagram accountdestructivemeta_instagram_graph.user_branded_content_tag_approval.listList branded content tag approval of an Instagram accountread
Comment replies2
meta_instagram_graph.comment_replies.createReply to a commentwritemeta_instagram_graph.comment_replies.listList replies to a commentread
Me permissions2
meta_instagram_graph.me_permissions.deleteRevoke the app's permissionsdestructivemeta_instagram_graph.me_permissions.listList permissions granted to the appread
Media branded content partner promote2
meta_instagram_graph.media_branded_content_partner_promote.createCreate branded content partner promote on a media objectwritemeta_instagram_graph.media_branded_content_partner_promote.listList branded content partner promote of a media objectread
Media comments2
meta_instagram_graph.media_comments.createComment on a media objectwritemeta_instagram_graph.media_comments.listList comments on a media objectread
Media partnership ad code2
meta_instagram_graph.media_partnership_ad_code.createCreate partnership ad code on a media objectwritemeta_instagram_graph.media_partnership_ad_code.deleteRemove partnership ad code from a media objectdestructive
Media product tags2
meta_instagram_graph.media_product_tags.createCreate product tags on a media objectwritemeta_instagram_graph.media_product_tags.listList product tags of a media objectread
Upcoming events2
meta_instagram_graph.upcoming_events.getGet an upcoming eventreadmeta_instagram_graph.upcoming_events.updateUpdate an upcoming eventwrite
User authorized adaccounts2
meta_instagram_graph.user_authorized_adaccounts.createCreate authorized adaccounts on an Instagram accountwritemeta_instagram_graph.user_authorized_adaccounts.listList authorized adaccounts of an Instagram accountread
User branded content ad permissions2
meta_instagram_graph.user_branded_content_ad_permissions.createCreate branded content ad permissions on an Instagram accountwritemeta_instagram_graph.user_branded_content_ad_permissions.listList branded content ad permissions of an Instagram accountread
User collaboration invites2
meta_instagram_graph.user_collaboration_invites.createCreate collaboration invites on an Instagram accountwritemeta_instagram_graph.user_collaboration_invites.listList collaboration invites of an Instagram accountread
User dataset2
meta_instagram_graph.user_dataset.createCreate dataset on an Instagram accountwritemeta_instagram_graph.user_dataset.listList dataset of an Instagram accountread
User instagram backed threads user2
meta_instagram_graph.user_instagram_backed_threads_user.createCreate instagram backed threads user on an Instagram accountwritemeta_instagram_graph.user_instagram_backed_threads_user.listList instagram backed threads user of an Instagram accountread
User media2
meta_instagram_graph.user_media.createCreate a media container (step 1 of publishing a photo, video, reel, story or carousel)writemeta_instagram_graph.user_media.listList an Instagram account's media (posts, reels, carousels)read
User product appeal2
meta_instagram_graph.user_product_appeal.createCreate product appeal on an Instagram accountwritemeta_instagram_graph.user_product_appeal.listList product appeal of an Instagram accountread
User upcoming events2
meta_instagram_graph.user_upcoming_events.createCreate upcoming events on an Instagram accountwritemeta_instagram_graph.user_upcoming_events.listList upcoming events of an Instagram accountread
Boost ads1
meta_instagram_graph.boost_ads.getGet a boosted media adread
Business assets1
meta_instagram_graph.business_assets.getGet an Instagram business assetread
Business discovery1
meta_instagram_graph.business_discovery.getLook up another business or creator account (business discovery)read
Containers1
meta_instagram_graph.containers.getGet a media container's upload/publish statusread
Conversation messages1
meta_instagram_graph.conversation_messages.listList messages in an Instagram Direct conversationread
Conversations1
meta_instagram_graph.conversations.getGet an Instagram Direct conversationread
Creator branded content media1
meta_instagram_graph.creator_branded_content_media.listList branded content media of a marketplace creatorread
Creator insights1
meta_instagram_graph.creator_insights.listList insights of a marketplace creatorread
Creator past partnership ads media1
meta_instagram_graph.creator_past_partnership_ads_media.listList past partnership ads media of a marketplace creatorread
Creator recent media1
meta_instagram_graph.creator_recent_media.listList recent media of a marketplace creatorread
Hashtag recent media1
meta_instagram_graph.hashtag_recent_media.listList recent media tagged with a hashtagread
Hashtag search1
meta_instagram_graph.hashtag_search.listSearch for a hashtag id by nameread
Hashtag top media1
meta_instagram_graph.hashtag_top_media.listList top media tagged with a hashtagread
Hashtags1
meta_instagram_graph.hashtags.getGet a hashtagread
Me1
meta_instagram_graph.me.getGet the token's user or Page (`me`)read
Me accounts1
meta_instagram_graph.me_accounts.listList Pages the user manages, with their linked Instagram accountsread
Media boost ads list1
meta_instagram_graph.media_boost_ads_list.listList boost ads list of a media objectread
Media children1
meta_instagram_graph.media_children.listList carousel album childrenread
Media collaborators1
meta_instagram_graph.media_collaborators.listList collaborators of a media objectread
Media insights1
meta_instagram_graph.media_insights.listGet media insightsread
Mentioned comment1
meta_instagram_graph.mentioned_comment.getGet a comment that @mentions the accountread
Mentioned media1
meta_instagram_graph.mentioned_media.getGet a media object that @mentions the accountread
Page conversations1
meta_instagram_graph.page_conversations.listList Instagram Direct conversationsread
Page messages1
meta_instagram_graph.page_messages.createSend an Instagram Direct messagewrite
Pages1
meta_instagram_graph.pages.getGet a Facebook Page and its linked Instagram accountread
Scheduled media1
meta_instagram_graph.scheduled_media.getGet a scheduled mediaread
User agencies1
meta_instagram_graph.user_agencies.listList agencies of an Instagram accountread
User available catalogs1
meta_instagram_graph.user_available_catalogs.listList available catalogs of an Instagram accountread
User branded content advertisable medias1
meta_instagram_graph.user_branded_content_advertisable_medias.listList branded content advertisable medias of an Instagram accountread
User business messaging feature status1
meta_instagram_graph.user_business_messaging_feature_status.createCreate business messaging feature status on an Instagram accountwrite
User catalog product search1
meta_instagram_graph.user_catalog_product_search.listList catalog product search of an Instagram accountread
User collaborative media1
meta_instagram_graph.user_collaborative_media.listList collaborative media of an Instagram accountread
User connected threads user1
meta_instagram_graph.user_connected_threads_user.listList connected threads user of an Instagram accountread
User content publishing limit1
meta_instagram_graph.user_content_publishing_limit.listGet the account's content publishing quota usageread
User creator marketplace creators1
meta_instagram_graph.user_creator_marketplace_creators.listList creator marketplace creators of an Instagram accountread
User insights1
meta_instagram_graph.user_insights.listGet Instagram account insightsread
User live media1
meta_instagram_graph.user_live_media.listList the account's live mediaread
User media publish1
meta_instagram_graph.user_media_publish.createPublish a media container (step 2 of publishing)write
User mentions1
meta_instagram_graph.user_mentions.createReply to a media or comment that mentions the accountwrite
User moderate conversations1
meta_instagram_graph.user_moderate_conversations.createModerate Instagram Direct conversationswrite
User notification message tokens1
meta_instagram_graph.user_notification_message_tokens.listList notification message tokens of an Instagram accountread
User recently searched hashtags1
meta_instagram_graph.user_recently_searched_hashtags.listList hashtags the account searched in the last 7 daysread
User scheduled media1
meta_instagram_graph.user_scheduled_media.listList scheduled media of an Instagram accountread
User stories1
meta_instagram_graph.user_stories.listList the account's current storiesread
User tags1
meta_instagram_graph.user_tags.listList media the account is tagged inread
User welcome message flows1
meta_instagram_graph.user_welcome_message_flows.listList welcome message flows of an Instagram accountread
Users1
meta_instagram_graph.users.getGet an Instagram professional accountread
Questions
The Meta Instagram Graph API MCP server, answered.
Is there a Meta Instagram Graph API MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 92 Meta Instagram Graph API actions across business asset agencies, business asset assigned users, comments and media, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Meta Instagram Graph API.
What do I need to connect Meta Instagram Graph API?
Long-lived Page access token (or system user token) for the Facebook Page linked to the Instagram business/creator…. The free call account { op: "connections.requirements", service: "meta_instagram_graph" } lists exactly what to paste.
Can an AI agent delete or change things in Meta Instagram Graph API?
Only if its key allows it, and only with an explicit confirmation. 7 Meta Instagram Graph API actions are destructive, including delete a media object, delete a comment and revoke the app's permissions. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Meta Instagram Graph API API limit?
actionlake paces every call to the limits in the Meta Instagram Graph API service file: 200 calls a minute per connection. Repeated reads are answered from cache (59 Meta Instagram Graph API actions can be), which never reaches Meta Instagram Graph API.
What does a Meta Instagram Graph API action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (92 Meta Instagram Graph API actions page). Cache hits, searches, dry runs and calls Meta Instagram Graph API refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Meta Instagram Graph API API does it cover?
The Graph API v26.0 (Instagram API with Facebook Login) at graph.facebook.com/v26.0. It is built from Meta Instagram Graph API's documentation as read on 22 October 2026. 92 actions in 67 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Meta Instagram Graph API data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Meta Instagram Graph API credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Meta Instagram Graph API today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.