↑ ↓ to move ↵ to open
Social & content · REST API · MCP server

Instagram Scraper API

Get public Instagram profiles, posts, reels, comments and hashtag results as clean JSON. Send a username, a post link or a keyword. No Instagram login and no cookies.

  • 1 credit per call
  • Failed calls are free
  • Updated
instagram.profile.get completed
data.full_namestringNASA
data.usernamestringnasa
data.biographystringMaking the seemingly impossible, possible. ✨
data.follower_countinteger104,294,421
data.following_countinteger90
data.media_countinteger4943
data.is_verifiedbooleantrue
data.external_urlstringhttps://www.nasa.gov
usernamestringnasa
data.account_typeinteger2
data.categorystring
data.has_any_clipsbooleantrue
data.is_businessbooleanfalse
data.is_privatebooleanfalse
data.metadata_completebooleantrue
data.total_clips_countinteger1
is_privatebooleanfalse
data.idstring528817151
Endpoints

Instagram API endpoints

What each one takes and what it returns. Open one for a real response, every input and every field.

Instagram Profile API

Get a public profile from its username or URL: name, bio, links, follower and post counts, verified and business status, and its latest posts.

Sendurl Returnsdatausernameis_private
1 credit

Instagram Profile Posts API

List a public profile's posts, newest first, with caption, likes, comments and post time.

Sendurl Returnsdata
1 credit

Instagram Reels API

List a public profile's reels with caption, likes, comments and post time, page by page.

Sendurl Returnsdata
1 credit

Instagram Post API

Get one post, reel or carousel from its link or shortcode: author, caption, media and the engagement counts Instagram shows.

Sendurl Returnsdata
1 credit

Instagram Comments API

Read the public comments shown on a post or reel, page by page.

Sendurl ReturnsJSON; every field is in the API reference
1 credit

Instagram Hashtag Posts Search API

Find posts and reels for a hashtag, filtered by posts or reels and by how recent they are.

Sendhashtag ReturnsJSON; every field is in the API reference
1 credit

Instagram Hashtag Keyword Search API

See the popular content Instagram shows for a hashtag keyword, with post dates and engagement counts.

Sendhashtag ReturnsJSON; every field is in the API reference
1 credit

Instagram Popular Search API

Search popular Instagram content by keyword, with post dates, likes, comments and plays.

Sendkeyword ReturnsJSON; every field is in the API reference
1 credit

Instagram Topic Search API

Get the popular content for an Instagram topic, by topic name, ID or link.

Sendtopic Returnscaptionidplay_countshortcodetypeurl
1 credit

Instagram Topics API

See the topics Instagram's Explore shows right now, grouped by section, with how many posts each has.

Sendcategory Returnsnamecategorymedia_counturlslug
1 credit

Instagram Profiles Search API

Find public profiles that match a search, with an option to add each profile's details.

Sendquery ReturnsJSON; every field is in the API reference
1 credit

Instagram Reels Search API

Find public reels that match a search, with an option to add each reel's details.

Sendquery ReturnsJSON; every field is in the API reference
1 credit

Instagram Explore API

Read the sections of Instagram's public Explore page, or page through one section.

Sendsection_id Returnsdisplay_subtitledisplay_titleentries_connectionidsection
1 credit

Instagram Highlights API

List a public profile's story highlights: each collection's title and ID.

Sendusername Returnsdata
1 credit

Instagram Saved Highlight Items API

Get the saved stories inside one highlight collection, from the profile and collection ID.

Sendusernameandcollection_id Returnsitemssummary
1 credit

Instagram Location API

Get a public Instagram location from its ID: name, category, coordinates and how many posts are tagged there.

Sendlocation_id Returnsdata
1 credit

Instagram Embed API

Get the ready-made embed code Instagram offers for a public profile or post, with or without the caption.

Sendurl ReturnsJSON; every field is in the API reference
1 credit
Use cases

What teams build with Instagram data

Know before you build

How Instagram data behaves

REST API · MCP server

Call it from your code, or ask your agent

One request shape for every Instagram endpoint: the endpoint ID and its input. No SDK needed.

curl --request POST \  --url https://data.upscrape.com/execute \  --header "Authorization: Bearer $UPSCRAPE_API_KEY" \  --header "Content-Type: application/json" \  --header "Prefer: wait=30" \  --data '{  "capability": "instagram.profile.get",  "input": {    "url": "https://www.instagram.com/nasa"  }}'
Response
{  "username": "nasa",  "is_private": false,  "data": {    "full_name": "NASA",    "follower_count": 104294421,    "username": "nasa",    "account_type": 2,    "biography": "Making the seemingly impossible, possible. ✨",    "category": "",    "external_url": "https://www.nasa.gov",    "following_count": 90,    "has_any_clips": true,    "id": "528817151",    "is_business": false,    "is_private": false,    "is_verified": true,    "media_count": 4943,    "metadata_complete": true,    "total_clips_count": 1,    "bio_links": [      {        "title": "NASA.gov Homepage",        "is_pinned": false,        "link_type": "external",        "url": "https://www.nasa.gov"      },      {        "title": "MAX POWER",        "is_pinned": false,        "link_type": "external",        "url": "https://www.nasa.gov/maxpower"      }    ],    "missing_fields": [],    "pronouns": []  }}
In your AI agent Claude · Cursor · any MCP client
1Add the Upscrape MCP server
https://data.upscrape.com/mcp
2Ask for the data in plain words

Use Upscrape to look up NASA's Instagram profile (instagram.com/nasa). Tell me its follower count, how many posts it has, its bio and the links in it.

With Upscrape, pull NASA's latest Instagram posts and make a table of caption, likes and comments. Which five posts got the most likes?

Using Upscrape, list NASA's recent Instagram reels and tell me which ones were made with other accounts and how they did against NASA's own.

The agent finds the endpoint, shows you the price, and runs it with your credits.
Social & content
Questions

Instagram Scraper API FAQ

The short answers. The docs have the long ones.

Still have a question? Talk to the people who build the endpoints.
Is there an official Instagram API for this data?

Instagram's own API is for managing accounts you own or are approved to access. Upscrape reads public Instagram pages, so you can get public profiles, posts, reels and hashtag results for any public account with one API key.

Do I need an Instagram account?

No. You send a username, a link or a keyword and get JSON back. Nothing runs on your account, and you share no password or cookie.

What data can I get from Instagram?

Profile, profile posts, reels, post, comments, hashtag posts search, hashtag keyword search, popular search, topic search, topics, profiles search, reels search, explore, reels by audio, highlights, saved highlight items, basic profile by id, location and embed. Each is its own endpoint with a published input schema, and the response is JSON.

How much does the Instagram API cost?

Every Instagram endpoint costs 1 credit per successful call. You buy credits once, with no subscription, and paid credits never expire. New accounts get free credits to try it.

Can an AI agent use the Instagram API?

Yes. Connect any MCP client to the Upscrape MCP server with OAuth or an API key. The agent finds the Instagram endpoint, checks its price and runs it with the same credits as the REST API.

Is it legal to scrape Instagram?

Upscrape reads public pages only and needs no login. How you use the data is yours to decide under the laws that apply to you; we sign a data processing agreement for your legal review.

What happens when Instagram changes its pages?

We fix the endpoint. Your request and the response fields stay the same.

Get started

Your first Instagram call is free.

Up to 100 free credits to start, no card needed.