Instagram Scraper - Public Profile & Recent Posts

The NanoScrape Instagram Scraper is an Apify actor that extracts public social media posts and profiles from instagram.com. It returns 16 fields per result including category_name, username, full_name, biography, website, priced at $5/1k result, with no API key or monthly subscription required.

Scrape public Instagram profiles: bio, follower count, following count, post count, verification status, business category, website, and up to 12 recent posts per profile with captions, thumbnails and post URLs (source platform). No likes or timestamps (anonymous access). No login required. Pay-per-result.

Open on Apify → Read the tutorial
Pricing
$5.00 / 1,000 result
Runtime
Cloud (Apify)
Proxy
Datacenter

What you can scrape — 16 fields per result

FieldTypeExampleGroupFill %
user_idstring528817151Core100%
full_namestringNASACore100%
category_namestringCore
profile_pic_urlstringhttps://instagram.fncl2-1.fna.fbcdn.net/v/t51.2885-19/29090066_159271188110124_11520681...Core100%
profile_urlstringhttps://www.instagram.com/nasa/Core100%
scraped_atstring2026-09-10T09:12:14ZMetadata100%
usernamestringnasaOther100%
biographystringMaking the seemingly impossible, possible. ✨Other100%
websitestringhttps://www.nasa.gov/Other6%
follower_countinteger104382140Other100%
following_countinteger91Other100%
post_countinteger4916Other100%
is_verifiedbooleantrueOther100%
is_privatebooleanfalseOther100%
is_business_accountbooleantrueOther100%
postsarray[{"shortcode": "DcOX3hWFiey", "caption": "With your powers combined…\n\nThis colOther39%

Input example — showcase (full detail)

{
  "usernames": [
    "nasa",
    "nike"
  ],
  "maxPostsPerProfile": 12,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}

Output example — real dataset item (PII scrubbed)

{
  "username": "nasa",
  "user_id": "528817151",
  "full_name": "NASA",
  "biography": "Making the seemingly impossible, possible. ✨",
  "website": "https://www.nasa.gov/",
  "follower_count": 104382140,
  "following_count": 91,
  "post_count": 4916,
  "is_verified": true,
  "is_private": false,
  "is_business_account": true,
  "category_name": "",
  "profile_pic_url": "https://instagram.fncl2-1.fna.fbcdn.net/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg?stp=dst-jpg_s320x320_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=instagram.fncl2-1.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2gFrcuKk-ps2vO2w7WN1B8IUAsREEwhuOWaDBLCbMWqVUGVH49tDo_AhLcbPn4pa7j88DP1Xo07AIX6niwIGCBd5&_nc_ohc=AqewhTYL-NUQ7kNvwF-kNip&_nc_gid=VxAqNKv9c7Og3xeYQEuVDw&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQLw-6jctRPGaZrpEBFMEGjB7wNhC3eF8Xq8n3m-Zl3l6w&oe=6AA85229&_nc_sid=8b3546",
  "posts": [
    {
      "shortcode": "DcOX3hWFiey",
      "caption": "With your powers combined…\n\nThis colorful picture of the cosmos is the product of teamwork between our @NASAHubble, @NASAWebb, and @NASAChandraXray telescopes. Scientists brought their data together to get a vibrant look at this star-forming region known as the Tarantula Nebula, located 160,000 light-years from Earth.\n\nChandra’s X-ray data fills in the deep blue parts of the image, showing the gas blown away by the stellar winds created by the nebula’s young stars. Webb’s infrared data shows up as red, displaying the thousands of stars and the dust that gives rise to them. Hubble’s visible data is represented in green, showing warmer gas and other stars.\n\nCredit: NASA\n\n#NASA #Universe #Nebula",
      "like_count": 563457,
      "comment_count": 4188,
      "media_type": "image",
      "media_url": "https://instagram.fncl2-1.fna.fbcdn.net/v/t51.82787-15/780550892_18639053554049152_7611034912661011809_n.jpg?stp=dst-jpg_e35_s1080x1080_sh2.08_tt6&_nc_ht=instagram.fncl2-1.fna.fbcdn.net&_nc_cat=104&_nc_oc=Q6cZ2gFrcuKk-ps2vO2w7WN1B8IUAsREEwhuOWaDBLCbMWqVUGVH49tDo_AhLcbPn4pa7j88DP1Xo07AIX6niwIGCBd5&_nc_ohc=q3jr3gpJuHYQ7kNvwFHd84C&_nc_gid=VxAqNKv9c7Og3xeYQEuVDw&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQL_Cd4PHuAOzR2vkVaJdJG2eVw3Dh4oRKmlBZ8aoyCF0Q&oe=6AA84FB6&_nc_sid=8b3546",
      "posted_at": "2026-08-19T14:11:47Z",
      "post_url": "https://www.instagram.com/p/DcOX3hWFiey/"
    },
    {
      "shortcode": "DcMXl1IPNtB",
      "caption": "Soothing spacewalk scenes. \n\nToday, August 18, NASA’s @astro_anil and ESA’s @soph_astro completed a 6 hour, 23 minute spacewalk to remove a failed communications antenna and stow it outside the International Space Station. These challenging tasks are accompanied by rewarding views as the orbiting laboratory continues soaring at 17,500 miles per hour over our blue marble below. The next spacewalk is scheduled for Tuesday, August 25.",
      "like_count": 105907,
      "comment_count": 920,
      "media_type": "video",
      "media_url": "https://instagram.fncl2-1.fna.fbcdn.net/v/t51.82787-15/779017700_18615481711026724_2930580986888954454_n.jpg?stp=dst-jpg_e15_tt6&_nc_ht=instagram.fncl2-1.fna.fbcdn.net&_nc_cat=104&_nc_oc=Q6cZ2gFrcuKk-ps2vO2w7WN1B8IUAsREEwhuOWaDBLCbMWqVUGVH49tDo_AhLcbPn4pa7j88DP1Xo07AIX6niwIGCBd5&_nc_ohc=u9KS-9zrLMEQ7kNvwEVgMj8&_nc_gid=VxAqNKv9c7Og3xeYQEuVDw&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQKQ-q1nhmM2KNbQL12a4AioUkbsUhh3t5CnpWDeJmntWg&oe=6AA84CB0&_nc_sid=8b3546",
      "posted_at": "2026-08-18T19:37:40Z",
      "post_url": "https://www.instagram.com/p/DcMXl1IPNtB/"
    },
    {
      "shortcode": "Db9IVmrDvQ4",
      "caption": "When the Moon and Sun align\n\nThis rare sight — a total solar eclipse — was photographed in San Millán de los Caballeros, Spain, on Aug. 12.\n\nThe Sun is 400 times wider than the Moon, but in a cosmic coincidence, it's also 400 times further away. This means that they appear to be the same size in our sky — and when the Moon passes in front, it can perfectly block the Sun.\n\nCredit: NASA\n\n#NASA #Eclipse #TotalSolarEclipse",
      "like_count": 2440870,
      "comment_count": 4713,
      "media_type": "image",
      "media_url": "https://instagram.fncl2-1.fna.fbcdn.net/v/t51.82787-15/773519852_18636422329049152_436670562988925045_n.jpg?stp=dst-jpg_e35_s1080x1080_sh2.08_tt6&_nc_ht=instagram.fncl2-1.fna.fbcdn.net&_nc_cat=104&_nc_oc=Q6cZ2gFrcuKk-ps2vO2w7WN1B8IUAsREEwhuOWaDBLCbMWqVUGVH49tDo_AhLcbPn4pa7j88DP1Xo07AIX6niwIGCBd5&_nc_ohc=LarUfFWBlZgQ7kNvwGQnlUe&_nc_gid=VxAqNKv9c7Og3xeYQEuVDw&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQK0CHCQ_Mrg9a23TAHijBKSO23CP7HRvGXZRr_sBaijwA&oe=6AA82F0A&_nc_sid=8b3546",
      "posted_at": "2026-08-12T21:28:58Z",
      "post_url": "https://www.instagram.com/p/Db9IVmrDvQ4/"
    },
    {
      "shortcode": "DdEy97xj9P-",
      "caption": "Some things are worth repeating 📸\n\nLike observing a galaxy cluster! This image of the cluster Abell S0740 was created by combining several @NASAHubble science observations. Hubble's multiple looks at the cluster revealed a diverse collection of galaxies including a giant, bright elliptical galaxy just off center. That galaxy is as massive as 100 billion of our Suns, by the way.\n \nCredit: NASA\n\n#NASA #Hubble #Stars",
      "like_count": 145174,
      "comment_count": 443,
      "media_type": "image",
      "media_url": "https://instagram.fncl2-1.fna.fbcdn.net/v/t51.82787-15/801962799_18646148242049152_8221282425578912411_n.jpg?stp=dst-jpg_e15_tt6&_nc_ht=instagram.fncl2-1.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2gFrcuKk-ps2vO2w7WN1B8IUAsREEwhuOWaDBLCbMWqVUGVH49tDo_AhLcbPn4pa7j88DP1Xo07AIX6niwIGCBd5&_nc_ohc=wM3jqT_1PgYQ7kNvwFYA3BY&_nc_gid=VxAqNKv9c7Og3xeYQEuVDw&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQJUiwMnIJWMEtZMmDP9u0TYnlG_5lxoQNN4ihtRRHeiWQ&oe=6AA83C47&_nc_sid=8b3546",
      "posted_at": "2026-09-09T17:27:34Z",
      "post_url": "https://www.instagram.com/p/DdEy97xj9P-/"
    },
    {
      "shortcode": "DdEsW1ItqpI",
      "caption": "Curly-haired crew, this one’s for you! 🌀🚀👩🏻‍🦱\n\nJoin me in my temporary home on the @iss, where curls are even more free to be what they want to be. Ever wonder how I care for my curls in space?…where my Earthly 3a curls become more like 3c, my hair finds every piece of velcro it can, and I STILL don’t need a brush! \n\nThere are definitely some major pros to my space hair, like not having to put it up when I work out. 💪\n\nI’m looking forward to an Earth shower when I get back, though. 🚿🌎",
      "like_count": 62780,
      "comment_count": 754,
      "media_type": "video",
      "media_url": "https://instagram.fncl2-1.fna.fbcdn.net/v/t51.82787-15/802030027_18459615937143382_6840393586416919925_n.jpg?stp=dst-jpg_e15_tt6&_nc_ht=instagram.fncl2-1.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2gFrcuKk-ps2vO2w7WN1B8IUAsREEwhuOWaDBLCbMWqVUGVH49tDo_AhLcbPn4pa7j88DP1Xo07AIX6niwIGCBd5&_nc_ohc=Spd1Gup9Os0Q7kNvwGCRVEk&_nc_gid=VxAqNKv9c7Og3xeYQEuVDw&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQLM4TkH009OQgA864mmv-dl2lgKTlzZsAMELvKexpgmYA&oe=6AA8497E&_nc_sid=8b3546",
      "posted_at": "2026-09-09T16:39:51Z",
      "post_url": "https://www.instagram.com/p/DdEsW1ItqpI/"
    }
  ],
  "profile_url": "https://www.instagram.com/nasa/",
  "scraped_at": "2026-09-10T09:12:14Z"
}

Cost math

Priced at $0.0050 per result. 10 results ≈ $0.05, 100 ≈ $0.50, 1,000 ≈ $5.00. The first runs land inside Apify's $5/mo free-tier credit — pay only for what you extract, no monthly subscription.

Primary Use Cases

How It's Priced

One flat rate of $0.005 per profile ($5 per 1,000) regardless of how many posts you pull. The maxPostsPerProfile parameter controls the depth of the fetch (0 = profile stats only, 12 = full recent-posts window) but the price stays the same. Zero surprises, zero add-ons.

API Example

<span class="comment"># One request, one dataset. Sync-endpoint returns items directly.</span>
curl -X POST "https://api.apify.com/v2/acts/santamaria-automations~instagram-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "usernames": ["natgeo", "@nasa", "https://www.instagram.com/bbcnews/"],
    "maxPostsPerProfile": 12,
    "proxyConfiguration": { "useApifyProxy": true }
  }'

<span class="comment"># Or use with AI agents via MCP:</span>
<span class="comment"># https://mcp.apify.com?tools=santamaria-automations/instagram-scraper</span>

Integrations

Run this actor directly on Apify (no code)

Click Open on Apify above to run instagram-scraper in your browser - no code, no install. In the Apify console you get:

Get your Apify API token

To run this actor from your own code you need an Apify API token. Get one in about a minute:

  1. Sign up for a free Apify account (Google, GitHub, or email).
  2. Go to Settings → Integrations → API tokens.
  3. Click Create a new API token. Copy it and keep it secret.

Free tier: Apify credits your account with $5 of platform usage every month, no credit card required. Enough to test any actor meaningfully - at $0.001 per result on typical scrapers, that is roughly 5,000 results for free every month.

Call from code

Run this actor from any language via the Apify REST API. Replace YOUR_TOKEN with your API token and adapt the input JSON to your needs.

curl -X POST "https://api.apify.com/v2/acts/santamaria-automations~instagram-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('santamaria-automations/instagram-scraper').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
# pip install apify-client
from apify_client import ApifyClient

client = ApifyClient('YOUR_TOKEN')
run = client.actor('santamaria-automations/instagram-scraper').call(run_input={})
items = list(client.dataset(run['defaultDatasetId']).iterate_items())
print(items)
// dotnet add package Apify.Client
using Apify.Client;

var client = new ApifyClient("YOUR_TOKEN");
var run = await client.Actor("santamaria-automations/instagram-scraper").CallAsync(new { });
var items = await client.Dataset(run.DefaultDatasetId).ListItemsAsync();
// Maven: com.apify:apify-client
import com.apify.client.ApifyClient;

ApifyClient client = new ApifyClient("YOUR_TOKEN");
ActorRun run = client.actor("santamaria-automations/instagram-scraper").call(Map.of());
List<Map<String,Object>> items = client.dataset(run.getDefaultDatasetId()).listItems();

Use with AI agents (MCP)

This actor is available on the Apify MCP server, so you can drive it from any MCP-compatible AI client - Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or a custom agent - without writing any code.

https://mcp.apify.com?tools=santamaria-automations/instagram-scraper

Example prompt once connected:

"Use <code>instagram-scraper</code> to run a scrape on my target list and give me the results as a table."

Clients that support dynamic tool discovery (Claude.ai, VS Code) receive the full input schema automatically via add-actor.

Use with no-code platforms

Trigger this actor from your favorite automation tool. Every platform below can call the Apify API in a few clicks - no code required.

  1. Add the n8n Apify node (installed by default on n8n Cloud; on self-hosted install @apify/n8n-nodes-apify).
  2. Set Actor to santamaria-automations/instagram-scraper.
  3. Choose operation Run Actor and get dataset, paste your input JSON, and connect a downstream node (Google Sheets, Postgres, webhook, ...).
  1. Create a new Zap with any trigger.
  2. Add a Webhooks by Zapier POST action to https://api.apify.com/v2/acts/santamaria-automations~instagram-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN.
  3. Body: your input JSON. Content-Type: application/json.
  1. Create a new scenario.
  2. Add an HTTP module: URL https://api.apify.com/v2/acts/santamaria-automations~instagram-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN, method POST, body raw JSON.
  3. Parse the response with a JSON module to iterate items downstream.
  1. Create a new workflow.
  2. Add an HTTP Request step: POST to https://api.apify.com/v2/acts/santamaria-automations~instagram-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN.
  3. Access steps.http.$return_value in subsequent steps.
  1. Install the API Connector plugin.
  2. Add a new API: POST https://api.apify.com/v2/acts/santamaria-automations~instagram-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN, body type JSON.
  3. Initialize the call with your input, then reference the response array in workflow actions.

FAQ

How much does the instagram-scraper cost?

$5.00 / 1,000 result, billed per result on Apify. Apify's $5/month free tier covers the first runs. No monthly subscription — you only pay for what you extract.

What fields does it return?

16 fields per result. Full field catalog is listed in the 'What you can scrape' table above — includes core identifiers, descriptive text, dates, and any category-specific data.

Is scraping this site legal?

Scraping publicly available data is generally permitted in most jurisdictions, but GDPR applies to any personal data you collect. Review your local rules and consult a lawyer for commercial use.

Do I need an API key from the source platform?

No. This actor reads public pages over HTTP with datacenter proxies. No API key, no OAuth, no rate-limit management on your side.

How fresh is the data?

Every run pulls live data at execution time. Set up a schedule (daily/hourly/weekly cron) in the Apify console to keep your dataset current automatically.

Related actors in this category

Related tutorials

Open on Apify → Read the tutorial