HasData

Instagram MCP Server

Connect your AI agents to HasData's Instagram MCP server. Read public profiles, bio links and post metadata as structured JSON over streamable HTTP.

https://mcp.hasdata.com/api/mcp?apis=instagram
Transport
Streamable HTTP
Auth
OAuth or API key
Tools
2 Instagram tools
Price
10 credits / call
Get API Key Read the docs 1,000 free credits. No credit card required.
Data teams at
ClientsClients
Playground

See the Instagram MCP server in action

Explore example conversations using captured Instagram data: profile details, bio links, post formats, and caption hashtags.

Instagram · 2 tools Enter to send
Summarize NASA's profile and bio links
instagram_profile · 200 OK sample call
NASA (@nasa): 104,351,317 followers and 91 following.
Verified. Bio reads "Making the seemingly impossible, possible. ✨"
Website: https://www.nasa.gov Internships: http://intern.nasa.gov
instagram_profile { "handle": "nasa" }
{
"url": "https://api.hasdata.com/scrape/instagram/profile?handle=nasa",
"status": 200,
"json": {
"id": "528817151",
"username": "nasa",
"fullName": "NASA",
"biography": "Making the seemingly impossible, possible. ✨",
"followersCount": 104351317,
"followsCount": 91,
"verified": true,
"bioLinks": [
{
"title": "NASA.gov Homepage",
"url": "https://www.nasa.gov"
},
{
"title": "NASA Internships",
"url": "http://intern.nasa.gov"
}
]
}
}
Summarize NASA's profile and bio links
instagram_profile · 200 OK sample call
NASA (@nasa): 104,351,317 followers and 91 following.
Verified. Bio reads "Making the seemingly impossible, possible. ✨"
Website: https://www.nasa.gov Internships: http://intern.nasa.gov
instagram_profile { "handle": "nasa" }
{
"url": "https://api.hasdata.com/scrape/instagram/profile?handle=nasa",
"status": 200,
"json": {
"id": "528817151",
"username": "nasa",
"fullName": "NASA",
"biography": "Making the seemingly impossible, possible. ✨",
"followersCount": 104351317,
"followsCount": 91,
"verified": true,
"bioLinks": [
{
"title": "NASA.gov Homepage",
"url": "https://www.nasa.gov"
},
{
"title": "NASA Internships",
"url": "http://intern.nasa.gov"
}
]
}
}
Find a Moon-related post in NASA's feed and list its hashtags
instagram_posts · 200 OK sample call
NASA’s Observe the Moon Night post is a match.
“No matter where you are, we all see the same Moon. 🌕”
#Moon · #Moongazing · #ObserveTheMoon
https://www.instagram.com/p/Ddbo7s0lzoy/
instagram_posts { "handle": "nasa", "limit": 12 }
{
"url": "https://api.hasdata.com/scrape/instagram/posts?handle=nasa&limit=12",
"status": 200,
"json": {
"posts": [
{
"shortcode": "Ddbo7s0lzoy",
"caption": "No matter where you are, we all see the same Moon. 🌕\n\nSept. 19 is International Observe the Moon Night, an annual celebration dedicated to our closest celestial neighbor.\n\n#Moon #Moongazing #ObserveTheMoon",
"type": "Image",
"productType": "feed",
"hashtags": [
"#Moon",
"#Moongazing",
"#ObserveTheMoon"
],
"url": "https://www.instagram.com/p/Ddbo7s0lzoy/",
"ownerUsername": "nasa",
"ownerId": "528817151"
}
]
}
}
Show a carousel, photo and Reel from NASA's feed
instagram_posts · 200 OK sample call
Here is one example of each format:
Carousel: Artemis III astronauts signing their spacecraft hardware. https://www.instagram.com/p/DdHyaYAifb6/
Photo: “In a class of their own”. https://www.instagram.com/p/DdT_4GMka0z/
Reel: “Volume up and get your groove on! A bit of weekend dancing on the @iss to start your week off right. A friend of mine was shocked when she realized that it was possible to dance in microgravity. Seems we can’t keep this from the world for any longer! The power of music transcends Earth and space.”. https://www.instagram.com/p/DdRyQxKteC1/
instagram_posts { "handle": "nasa", "limit": 12 }
{
"url": "https://api.hasdata.com/scrape/instagram/posts?handle=nasa&limit=12",
"status": 200,
"json": {
"posts": [
{
"shortcode": "DdHyaYAifb6",
"caption": "Cementing their names in history.\n\nThe Artemis III crew is leaving their mark — literally. The astronauts recently signed their names on the hardware that will be inside their Orion spacecraft during their low Earth orbit mission, launching in 2027.\n\nImage descriptions:\n\n1. The Artemis III primary and back-up crew members pose for a photograph inside the Vehicle Assembly Building at @NASAKennedy. From left, @EuropeanSpaceAgency astronaut @Astro_Luca and NASA astronauts @Astro_FrankRubio, @AstroKomrade, @AstroAndreD, and @Astro_FarmerBob smile at the camera. They are all wearing blue flight suits.\n\n2. @Astro_FrankRubio signs an interior center wall panel that will cover environmental control and life support system (ECLSS) components inside the Orion crew module. He is wearing a blue flight suit and blue plastic gloves.\n\n3. @AstroKomrade signs an interior center wall panel that will cover ECLSS components inside the Orion crew module. He is wearing a blue flight suit and blue plastic gloves.\n\n4. A close-up of @AstroKomrade signing the panel that will cover ECLSS components inside Orion crew module. The note is written in silver pen on a black panel.",
"type": "Carousel",
"productType": "carousel_container",
"mentions": [
"@NASAKennedy",
"@EuropeanSpaceAgency",
"@Astro_Luca",
"@Astro_FrankRubio",
"@AstroKomrade",
"@AstroAndreD",
"@Astro_FarmerBob",
"@Astro_FrankRubio",
"@AstroKomrade",
"@AstroKomrade"
],
"url": "https://www.instagram.com/p/DdHyaYAifb6/",
"ownerUsername": "nasa",
"ownerId": "528817151"
},
{
"shortcode": "DdT_4GMka0z",
"caption": "In a class of their own\n\nHidden within this star-forming nebula (captured by our Webb telescope in one of its largest images to date) are strange objects called brown dwarfs. Generally less massive than stars and more massive than planets, they are neither. They form the same way stars do, but they never quite \"ignite.\" Just how small are the smallest objects created by the star-formation process?\n \nThe brown dwarfs here are about twice the mass of Jupiter - the least massive brown dwarfs found to date. For comparison, brown dwarfs are typically around 13 to 80 times Jupiter’s mass. These are so small, their existence poses challenges to the theories of star formation.\n\nAdding to their strangeness, one of these showed signs of a disk, suggesting small planets could form around an object that itself is only the mass of a planet.\n\nRead more at the link in @NASAWebb’s bio. See comments for image description. \n\nImage credit: NASA, ESA, CSA, Kevin Luhman (PSU), Catarina Alves de Oliveira (ESA), Mahdi Zamani (ESA/Webb)",
"type": "Image",
"productType": "feed",
"mentions": [
"@NASAWebb"
],
"url": "https://www.instagram.com/p/DdT_4GMka0z/",
"ownerUsername": "nasawebb",
"ownerId": "549313808"
},
{
"shortcode": "DdRyQxKteC1",
"caption": "Volume up and get your groove on! A bit of weekend dancing on the @iss to start your week off right. A friend of mine was shocked when she realized that it was possible to dance in microgravity. Seems we can’t keep this from the world for any longer! The power of music transcends Earth and space.",
"type": "Video",
"productType": "clips",
"mentions": [
"@iss"
],
"url": "https://www.instagram.com/p/DdRyQxKteC1/",
"ownerUsername": "astro_jessica",
"ownerId": "4092263381"
}
]
}
}
Who published these three posts from NASA's feed?
instagram_posts · 200 OK sample call
They have three different authors:
“Cementing their names in history.” — @nasa https://www.instagram.com/p/DdHyaYAifb6/
The Milky Way view from the ISS — @astro_jessica https://www.instagram.com/p/DdWyDLcGiqo/
“In a class of their own” — @nasawebb https://www.instagram.com/p/DdT_4GMka0z/
instagram_posts { "handle": "nasa", "limit": 12 }
{
"url": "https://api.hasdata.com/scrape/instagram/posts?handle=nasa&limit=12",
"status": 200,
"json": {
"posts": [
{
"shortcode": "DdHyaYAifb6",
"caption": "Cementing their names in history.\n\nThe Artemis III crew is leaving their mark — literally. The astronauts recently signed their names on the hardware that will be inside their Orion spacecraft during their low Earth orbit mission, launching in 2027.\n\nImage descriptions:\n\n1. The Artemis III primary and back-up crew members pose for a photograph inside the Vehicle Assembly Building at @NASAKennedy. From left, @EuropeanSpaceAgency astronaut @Astro_Luca and NASA astronauts @Astro_FrankRubio, @AstroKomrade, @AstroAndreD, and @Astro_FarmerBob smile at the camera. They are all wearing blue flight suits.\n\n2. @Astro_FrankRubio signs an interior center wall panel that will cover environmental control and life support system (ECLSS) components inside the Orion crew module. He is wearing a blue flight suit and blue plastic gloves.\n\n3. @AstroKomrade signs an interior center wall panel that will cover ECLSS components inside the Orion crew module. He is wearing a blue flight suit and blue plastic gloves.\n\n4. A close-up of @AstroKomrade signing the panel that will cover ECLSS components inside Orion crew module. The note is written in silver pen on a black panel.",
"type": "Carousel",
"productType": "carousel_container",
"mentions": [
"@NASAKennedy",
"@EuropeanSpaceAgency",
"@Astro_Luca",
"@Astro_FrankRubio",
"@AstroKomrade",
"@AstroAndreD",
"@Astro_FarmerBob",
"@Astro_FrankRubio",
"@AstroKomrade",
"@AstroKomrade"
],
"url": "https://www.instagram.com/p/DdHyaYAifb6/",
"ownerUsername": "nasa",
"ownerId": "528817151"
},
{
"shortcode": "DdWyDLcGiqo",
"caption": "Southern Hemisphere Milky Way galaxy view from the @iss cupola. This 3s exposure series captured two of my favorite cupola views, the particularly dense Milky Way galaxy as seen from the Southern Hemisphere, and the bright, colorful lights of squid fishing boats (here, the bright blue and green lights off the coast of China, Thailand and India). Look at what the light did now!",
"type": "Carousel",
"productType": "carousel_container",
"mentions": [
"@iss"
],
"url": "https://www.instagram.com/p/DdWyDLcGiqo/",
"ownerUsername": "astro_jessica",
"ownerId": "4092263381"
},
{
"shortcode": "DdT_4GMka0z",
"caption": "In a class of their own\n\nHidden within this star-forming nebula (captured by our Webb telescope in one of its largest images to date) are strange objects called brown dwarfs. Generally less massive than stars and more massive than planets, they are neither. They form the same way stars do, but they never quite \"ignite.\" Just how small are the smallest objects created by the star-formation process?\n \nThe brown dwarfs here are about twice the mass of Jupiter - the least massive brown dwarfs found to date. For comparison, brown dwarfs are typically around 13 to 80 times Jupiter’s mass. These are so small, their existence poses challenges to the theories of star formation.\n\nAdding to their strangeness, one of these showed signs of a disk, suggesting small planets could form around an object that itself is only the mass of a planet.\n\nRead more at the link in @NASAWebb’s bio. See comments for image description. \n\nImage credit: NASA, ESA, CSA, Kevin Luhman (PSU), Catarina Alves de Oliveira (ESA), Mahdi Zamani (ESA/Webb)",
"type": "Image",
"productType": "feed",
"mentions": [
"@NASAWebb"
],
"url": "https://www.instagram.com/p/DdT_4GMka0z/",
"ownerUsername": "nasawebb",
"ownerId": "549313808"
}
]
}
}
Tools

The Instagram tools your agent can call

2 tools

Read public profile details, bio links and post metadata. Fields such as biography, verified, mentions and hashtags may be absent.

+ hasdata_instagram_profile_getInstagramProfile One public profile by handle 1 param 10 creditsTry
Parameters of hasdata_instagram_profile_getInstagramProfile
ParameterTypeRequiredExample
handlestringrequired"nasa"
response
  • id
  • username
  • fullName
  • biography
  • followersCount
  • followsCount
  • verified
  • bioLinks
  • profilePicUrl
  • fbid
  • latestPosts
+ hasdata_instagram_posts_getInstagramPosts An account's posts, page by page 3 params 10 creditsTry
Parameters of hasdata_instagram_posts_getInstagramPosts
ParameterTypeRequiredExample
handlestringrequired"nasa"
limitnumberoptional12
nextPageTokenstringoptional"nextPageToken from previous response"
response
  • id
  • shortcode
  • caption
  • type
  • productType
  • url
  • displayUrl
  • alt
  • ownerUsername
  • ownerId
  • hashtags
  • mentions

Base calls cost 10 credits. Failed calls are not billed.

Connect

One endpoint, any MCP client

A config block for every major MCP client, in its native format. Authenticate with browser OAuth or an x-api-key header.

Claude Code

zsh — hasdata-instagram
$claude mcp add --transport http hasdata-instagram \
> https://mcp.hasdata.com/api/mcp?apis=instagram \
> --header "x-api-key: YOUR_API_KEY"
· One line, no restart. Run /mcp to confirm 2 tools.
Check the tools are thereIn the session
/mcp
hasdata-instagram · connected · 2 tools

Cursor

~/.cursor/mcp.json
{
"mcpServers": { "hasdata-instagram": {
"url": "https://mcp.hasdata.com/api/mcp?apis=instagram",
"headers": { "x-api-key": "YOUR_API_KEY" }
} }
}
· Add this entry to ~/.cursor/mcp.json. Servers already in the file stay as they are.
· Project-level config also works at .cursor/mcp.json
Check the tools are thereAfter saving the file
Settings → MCP
hasdata-instagram · 2 tools enabled

Claude Desktop

Recommended · OAuth connector
1.Settings → Connectors → Add custom connector
2.Paste https://mcp.hasdata.com/api/mcp?apis=instagram
3.Sign in with HasData
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": { "hasdata-instagram": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.hasdata.com/api/mcp?apis=instagram",
"--header", "x-api-key:YOUR_API_KEY"]
} }
}
· Add this entry to ~/Library/Application Support/Claude/claude_desktop_config.json. Servers already in the file stay as they are.
· The config file only takes stdio servers, so a static key rides the mcp-remote bridge. On Windows the file lives at %APPDATA%\Claude\claude_desktop_config.json.
Check the tools are thereReopen the app
Settings → Connectors
hasdata-instagram · connected · 2 tools

VS Code / Copilot

.vscode/mcp.json
{
"servers": { "hasdata-instagram": {
"type": "http",
"url": "https://mcp.hasdata.com/api/mcp?apis=instagram",
"headers": { "x-api-key": "YOUR_API_KEY" }
} }
}
· Add this entry to .vscode/mcp.json. Servers already in the file stay as they are.
· Agent mode picks the server up on save.
Check the tools are thereAgent mode
Ctrl/⌘ + Shift + P → MCP: List Servers
hasdata-instagram · running · 2 tools

Windsurf

~/.codeium/windsurf/mcp_config.json
{
"mcpServers": { "hasdata-instagram": {
"serverUrl": "https://mcp.hasdata.com/api/mcp?apis=instagram",
"headers": { "x-api-key": "YOUR_API_KEY" }
} }
}
· Add this entry to ~/.codeium/windsurf/mcp_config.json. Servers already in the file stay as they are.
· Windsurf reads serverUrl, not url. Header auth only.
Check the tools are thereIn Cascade
Cascade → MCP servers
hasdata-instagram · 2 tools

Cline

cline_mcp_settings.json
{
"mcpServers": { "hasdata-instagram": {
"type": "streamableHttp",
"url": "https://mcp.hasdata.com/api/mcp?apis=instagram",
"headers": { "x-api-key": "YOUR_API_KEY" }
} }
}
· Add this entry to cline_mcp_settings.json. Servers already in the file stay as they are.
· Header auth only. The type field tells Cline this is a remote server, not a command.
Check the tools are thereIn the MCP panel
MCP Servers → Installed
hasdata-instagram · 2 tools

ChatGPT / Agents SDK

Recommended · OAuth connector
1.Settings → Security and login → Developer mode
2.Plugins → + → developer-mode app, paste https://mcp.hasdata.com/api/mcp?apis=instagram
3.Sign in with HasData
agent.py
from agents import Agent, HostedMCPTool
tool = HostedMCPTool(tool_config={
"type": "mcp",
"server_label": "hasdata-instagram",
"server_url": "https://mcp.hasdata.com/api/mcp?apis=instagram",
"authorization": "YOUR_API_KEY",
"require_approval": "never",
})
agent = Agent(name="Researcher", tools=[tool])
· The Agents SDK sends authorization as a Bearer token, which the endpoint accepts. The ChatGPT route needs no key: it signs in with OAuth.
Check the tools are thereRun the agent
Runner.run(agent, "…")
hasdata-instagram · 2 tools listed

Codex CLI

~/.codex/config.toml
[mcp_servers.hasdata-instagram]
url = "https://mcp.hasdata.com/api/mcp?apis=instagram"
env_http_headers = { "x-api-key" = "HASDATA_API_KEY" }
· Add this entry to ~/.codex/config.toml. Servers already in the file stay as they are.
· TOML, not JSON. Codex reads the key from the HASDATA_API_KEY environment variable, so export it in the shell that starts Codex.
Check the tools are thereIn the terminal
codex mcp list
hasdata-instagram · 2 tools

Gemini CLI

~/.gemini/settings.json
{
"mcpServers": { "hasdata-instagram": {
"httpUrl": "https://mcp.hasdata.com/api/mcp?apis=instagram",
"headers": { "x-api-key": "YOUR_API_KEY" }
} }
}
· Add this entry to ~/.gemini/settings.json. Servers already in the file stay as they are.
· httpUrl, not url: Gemini keeps url for SSE servers. Header auth only.
Check the tools are thereIn the session
/mcp
hasdata-instagram · 2 tools

Raw HTTP / curl

zsh — hasdata-instagram
$curl -N https://mcp.hasdata.com/api/mcp?apis=instagram \
> -H "x-api-key: YOUR_API_KEY" \
> -H "Content-Type: application/json" \
> -H "Accept: application/json, text/event-stream" \
> -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
· Fallback for any client not listed. Streamable HTTP wants both Accept types, and leaving one out returns 406.
Check the tools are thereCall it yourself
curl … tools/list
{ "tools": [ … 2 items ] }
Scope

Instagram plus whatever else you need

Name the services in the query string and the server exposes only their tools. Every one draws from the same key and the same balance.

Instagram 2 tools See the full MCP server →
https://mcp.hasdata.com/api/mcp?apis=instagram,tiktok,youtube
10tools in your server
Build vs Buy

Free on GitHub, paid in hours

Anyone can clone a free MCP to scrape Instagram. Whether that stays free depends on the shape of your project.

Scenario

A script I run once

Self-hosted from GitHubyour machine, your upkeep
$0/ mo, runs locally
+ 3–6 h onceof someone’s time
Setup (clone, wire, run)3–6 h once
Markup changesnot yet
Retries and concurrencynot needed
Proxy and hosting$0
Nothing to own. You get the answer and delete the folder.
mcp.hasdata.comFree tier
$0/ mo
+ 0 hof someone’s time
Setup one line
Parser upkeep included
Retries and concurrency included
~25 calls 250 of 1,000 credits
The free tier renews every month. No card.
leans self-hosted
Take the free repo
Nothing has to keep working tomorrow, so upkeep never appears. Both cost nothing, so take whichever is already in front of you.

A weekly report

Self-hosted from GitHubyour machine, your upkeep
$0–40/ mo
+ 2–4 h / moof someone’s time
Setup (proxy, hosting, wiring)3–6 h once
Markup changes2–4 h / mo
Retries and concurrency2–4 h once
Proxy and hosting$0–40 / mo
Someone looks at it when the numbers come back wrong, which is how you find out.
mcp.hasdata.comFree tier
$0/ mo
+ 0 hof someone’s time
Setup one line
Parser upkeep included
Retries and concurrency included
~100 calls a month 1,000 of 1,000 credits
Exactly the free tier, so a heavier month moves you to Startup.
dead even
Either works
The repo is free if you have somewhere to run it, ours is free up to the credit ceiling. The two to four hours a month decide it.

A pipeline in production

Self-hosted from GitHubyour machine, your upkeep
$40–120/ mo
+ 6–10 h / moof someone’s time
Setup (proxy, hosting, wiring)3–6 h once
Markup changes2–4 h / mo
Retries, concurrency, rate limits4–8 h once
Proxy and hosting$40–120 / mo
Someone owns this permanently, and it is never the top of their list.
mcp.hasdata.comStartup, 200K credits, 5 concurrent
$49/ mo
+ 0 hof someone’s time
Setup one line
Parser upkeep included
Retries and concurrency included
5,000 calls 50K of 200K credits
A quarter of the plan used, and the rest is headroom.
leans hosted
Use the hosted server
The proxy and hosting bill alone is in the range of the whole plan, and that is before anyone spends the six to ten hours.

A feature in my product

Self-hosted from GitHubyour machine, your upkeep
$300+/ mo
+ on-callof someone’s time
Setup (proxy, hosting, wiring)3–6 h once
Markup changes, plus on-call2–4 h / mo
Retries, concurrency, rate limitsongoing
Proxy and hosting$300+ / mo
The thing your customers touch depends on one volunteer's spare evening.
mcp.hasdata.comBasic, 1M credits, 15 concurrent
$99/ mo
+ 0 hof someone’s time
Setup one line
Parser upkeep included
Retries and concurrency included
50,000 calls 500K of 1M credits
Same endpoint at ten calls and at ten million. One invoice.
leans hosted
Use the hosted server
A third of the price, and nobody has to carry a pager for a dependency your customers touch.
Pricing

One balance, every interface

A flat monthly price against a known credit ceiling. Move up a plan when you outgrow it.

Free
$0 /mo
Free forever
100 tool calls / month
1,000 credits / month
1 concurrent request
Every MCP tool on every plan
Failed calls are not billed
One balance across MCP and REST
Community support
Start free
Startup
$49 /mo
$2.46 / 1k tool calls
20K tool calls / month
200K credits / month
5 concurrent requests
Every MCP tool on every plan
Failed calls are not billed
One balance across MCP and REST
Email support
Get started
Basic
Recommended
$99 /mo
$0.99 / 1k tool calls
100K tool calls / month
1M credits / month
15 concurrent requests
Every MCP tool on every plan
Failed calls are not billed
One balance across MCP and REST
Priority email support
Get started
Growth
$208 /mo
$0.69 / 1k tool calls
3M credits / month
50 concurrent requests
Every MCP tool on every plan
Failed calls are not billed
One balance across MCP and REST
Dedicated account manager
Get started
Monthly tool call volume
Free 100K 500K 2M
Best fit
Basic
tool calls / mo
100K
Concurrency
15
$ / 1k tool calls
$0.99
$99 /mo
Get Started
Enterprise
Custom price based on required volume

Past 20M credits a month, or terms the self-serve plans do not cover. We shape the contract around your workload.

Credits rollover
Unused credits carry into the next billing period.
Concurrency 2000+
Parallel request limits set to your peak load.
#1 request priority
Highest speed, always first in the queue.
Personal manager
A direct line to the founding team.
SSO
SAML single sign-on for the whole team.
Security review
Security questionnaire, DPA, and controls overview.
Talk to sales Quote within one business day
FAQ

Before you wire it in

Which accounts can these tools read?

Public ones. Every tool reads the pages a signed-out visitor sees, so a private account returns nothing useful and there is no way to ask for more than the account itself publishes.

How is this different from the Instagram Graph API?

The Graph API reaches an account that has authorised your app, and it requires app review for most of what it exposes. These tools read public profiles and posts without that relationship, which is a different job rather than a shortcut into the same one.

How do I read more than the first page of posts?

When the response includes pagination.nextPageToken, pass it as nextPageToken to request another page. Use the returned token rather than constructing one. limit requests a page size and defaults to twelve.

Which fields can be missing?

Fields vary by record: profile biography or verified, and post mentions or hashtags, may be absent. Hashtag arrays can contain repeats. Profile links use bioLinks. Likes, comment counts and play counts are not included in the verified responses.

What about personal data?

A profile is personal data even when it is public. HasData reads publicly available pages only, and you are responsible for having a lawful basis for what you collect and store under GDPR, CCPA or the equivalent rules where you operate.

How many calls can run in parallel?

One on the free tier, five on Startup, fifteen on Basic, and fifty on Growth. The larger Growth volumes raise it to 200, 300 and 500.

What happens when I run out of credits?

Nothing is charged on top of the plan. Calls stop until the billing cycle renews.

Does it work with Claude Desktop, Cursor, VS Code and Claude Code?

Yes, all four, plus anything else that speaks MCP over streamable HTTP. Claude Desktop connects through OAuth, and the rest take the URL and an API key header.

Is HasData affiliated with Instagram?

No. HasData is an independent service and is not affiliated with, endorsed by, or sponsored by Meta Platforms, Inc. Instagram is a trademark of its respective owner.