Profiles, posts, reels, comments, hashtags, places, the ads running on Instagram and reel transcripts, from public pages as JSON. One REST API, a hosted MCP server and agent skills, so the record your code gets is the record your agent gets.
25 free credits to start. No card, no Instagram login, no Meta app. You are signed in. Your keys, usage and logs are in the dashboard.Every family and every endpoint on one page. Hover a family for the request, in curl, Python or Node, and one real record it returned on 2026-10-27. Pass a handle, a post or reel URL, a hashtag, a place or a brand; the envelope is the same every time.
mcp.instadata.dev is a hosted MCP server over the same API. Add the URL to Claude, ChatGPT, Cursor, Windsurf or VS Code and the agent gets 10 tools: 8 for the common reads, plus list_endpoints and call_endpoint for everything else on the sheet. Calls are billed from the same balance as REST; failed calls cost nothing.
Clients that speak remote MCP open a sign-in page on first use and keep the session. Clients that only take headers use a key from the dashboard. One command in Claude Code:
claude mcp add --transport http instadata https://mcp.instadata.dev
Name: Instadata URL: https://mcp.instadata.dev
claude.ai or Claude Desktop: Settings, Connectors, Add custom connector. Sign in with your account; no key.
One record shape wherever a post comes back, so hashtag results, profile feeds, mentions and tagged posts join without remapping. Dates are ISO 8601 in UTC, counts are integers, and null means Instagram does not publish it.
{
"id": "De7XCa_TJ4h",
"url": "https://www.instagram.com/p/De7XCa_TJ4h/",
"type": "Video",
"caption": "This is how @nasa does game day. Roll Tide! 🚀🏈",
"views": 3504692,
"likes": 41697,
"comments": 200,
"shares": null,
"duration_sec": 61.5,
"posted_at": "2026-10-25T18:35:11.000Z",
"author": {
"handle": "nasaadmin",
"name": "NASA Administrator Jared Isaacman"
}
} id is the shortcode from the URL; url is the canonical link. Join everything on it.views and duration_sec; likes is null when the creator hides it.?fields= trims any response, ?format=csv flattens any list, and cursors page every list. Full field list.Ask any list endpoint for more than 50 items and the response is a 202 with a job id and a poll URL. Credits are charged when results land, per item.
Poll /v1/jobs/{id}. Results come inline, or as a result URL for large sets, as JSON or CSV.
Register a URL once; every finished job posts to it, signed with HMAC in x-instadata-signature, retried with backoff.
$ ▍
Every endpoint, the MCP server and the agent skills on every plan. One credit per result on most endpoints; transcripts are priced per started minute. Empty and failed calls are free.
No. Instadata is an independent API that returns publicly available Instagram data. It is not affiliated with Instagram or Meta, and it never touches private accounts or content behind a login.
No. You need an Instadata key, or a sign-in from your MCP client. There is no OAuth with Meta, no app review and no session to maintain.
Every call reads the live public page unless a stored copy is recent enough for that endpoint's freshness class; fresh=true always reads live. Transcripts are kept once made, so a second request for the same reel returns at once.
Public reels and video posts, by URL. You get the spoken words as plain text and the video's duration; segments and language are not published for Instagram today. Billing counts started minutes, so a 1:01 reel costs 41 credits (1 for the reel plus 20 per started minute).
A key in the dashboard, or one URL in your agent.