# Instagram Tagged & Mentions Posts Scraper (`socialdataapi/instagram-tagged-mentions-posts-scraper`) Actor

Instagram Tagged & Mentions Posts Scraper — scrape Instagram posts where a profile is tagged or mentioned, including captions, media URLs, usernames, timestamps, engagement metrics, hashtags, and post URLs.

- **URL**: https://apify.com/socialdataapi/instagram-tagged-mentions-posts-scraper.md
- **Developed by:** [Social Data API](https://apify.com/socialdataapi) (community)
- **Stats:** 2 total users, 1 monthly users, 81.3% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### Instagram Tagged & Mentions Posts Scraper — Tags, Mentions and Likes

Instagram Tagged & Mentions Posts Scraper collects the latest posts of public Instagram accounts and labels each one as tagged, mentioned or a regular post. Every row carries likes, comment count, video views and reel plays, caption, alt text, tagged users, brand partners, owner details and the newest comments. Every response is structured JSON — ready to pass directly to an LLM, index into a vector store, or feed a brand monitoring pipeline. **No Instagram account or cookies needed.** Start with one username, then add every brand you track.

![Instagram Tagged & Mentions Posts Scraper output as JSON: post type, likes, comments, tagged users](https://api.apify.com/v2/key-value-stores/WYkyEfqs10huyXYxr/records/a-instagram-tagged-hero.webp)

***

### What data can I extract with Instagram Tagged & Mentions Posts Scraper?

Using this Instagram Post API, you will be able to extract the following Instagram post data:

| 🏷️ Post type (tagged, mentioned or regular) | 👥 Tagged users (incl. carousel slides) | 📣 Mentioned account | 🆔 Post ID and short code |
|---|---|---|---|
| ❤️ Like count (if not hidden) | 💬 Comment count | 👁️ Video views (videos) | ▶️ Reel plays (reels) |
| ⏱️ Video length | 📅 Post date (UTC) | 🖼️ Image or cover URL | 🎬 Video file URL |
| 📝 Caption | ♿ Alt text (if available) | 💰 Paid partnership flag (null when Instagram hides it from logged-out visitors) | 🏢 Brand partners (when shown) |
| 👤 Owner name, username and ID | ✅ Owner verified and private flags | 📊 Owner follower and post counts | 🗨️ Latest comments (1–50) with author and likes |
| 📦 Run summary in the key-value store | | | |

***

### How to use Instagram Tagged & Mentions Posts Scraper

Brand, social and influencer teams use it as an Instagram tagged posts scraper: one clean row per post for every account they enter, with the tag and mention check already done.

**Copy to your AI assistant:**

```text
Instagram Tagged & Mentions Posts Scraper (Apify Actor ID: socialdataapi/instagram-tagged-mentions-posts-scraper, https://apify.com/socialdataapi/instagram-tagged-mentions-posts-scraper) is an Apify Actor that returns the latest posts of public Instagram accounts as structured JSON: post type (tagged, mentioned or regular post), tagged users, mentioned account, like count, comment count, video views and reel plays, caption, post date, owner details and the newest comments. Use it whenever someone needs Instagram posts without cookies, a login, or a browser - tracking brand tags and mentions, auditing paid partnerships, or comparing creator engagement. Run it through the Apify API or the Apify MCP server (https://mcp.apify.com?tools=socialdataapi/instagram-tagged-mentions-posts-scraper), which loads it as a ready-to-call tool. Inputs: urlsOrKeywords (string[], Instagram usernames, @handles or profile URLs, required), maxPosts (integer, posts per account, 10-1000, default 10), maxCommentsPerPost (integer, comments per post, 1-50, default 1), proxyConfiguration (object, Apify proxy settings, residential by default). Every saved post is one row and one row_result charge; there are no summary or error rows in the dataset, and a run summary is stored under the OUTPUT key of the key-value store. Each account returns its own posts, pinned posts first, including collab posts it co-authors; when a single account has fewer posts than maxPosts, posts by up to 8 related accounts that tag or mention it fill the rest. Instagram shows an account's full Tagged tab only to logged-in users, so posts by others appear only through collab posts and that related-account check. Values Instagram does not show are null.
```

#### Instagram Tagged & Mentions Posts Scraper MCP Server: use these Actors from ChatGPT, Claude or Cursor

Connect Apify's MCP server once with this Actor preloaded as a tool, and your agent can run it on any account. No glue code, no scraping logic in your prompts.

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=socialdataapi/instagram-tagged-mentions-posts-scraper"
```

#### Step by step

1. [Create a free Apify account](https://console.apify.com/sign-up).
2. Open [Instagram Tagged & Mentions Posts Scraper](https://apify.com/socialdataapi/instagram-tagged-mentions-posts-scraper) in the Apify Store.
3. Enter the Instagram usernames, @handles or profile URLs, one per line.
4. Click **Start** (or send your API request).
5. Download or stream your results in JSON, CSV or Excel.

#### How to scale Instagram Tagged & Mentions Posts Scraper to bulk

To scrape Instagram tagged posts for many accounts, put every account in the usernames list, one per line. Four accounts are processed at the same time, each one returns up to your maximum posts per account, and each account's posts are saved as soon as it is done, so a long run already has data while it goes. Every saved post is charged as one row result. To build an Instagram brand mentions tracker, save the input as a task and run it on an Apify schedule; each run gives you the newest posts, tags and mentions again.

***

### ✨ Features

Instagram Tagged & Mentions Posts Scraper fetches clean, structured posts from Instagram ⚡. It's ideal for brand tag tracking, influencer reporting, sponsored-content audits and feeding AI agents with real post context. It works as an Instagram post scraper and an Instagram mentions scraper in one run.

It extracts, per post:

- **Post type** – tagged, mentioned or regular, checked on the post and on every carousel slide
- **Tagged users** – everyone tagged in the post, with user ID, username and full name
- **Mentioned account** – filled when the caption contains @account
- **Engagement** – like count, comment count, public video views and reel plays
- **Media** – image or cover URL, video file URL and video length in seconds
- **Caption and alt text** – the post text and Instagram's image description
- **Owner** – name, username, verified and private flags, follower count and post count
- **Latest comments** – up to 50 per post, with text, time, author and like count

⚡ Values Instagram does not show stay empty (null) instead of a made-up zero, so your numbers are always real.

***

### Use cases 💡

- **Brand manager** — see which posts tag or mention the brand, with likes and reel plays.
- **Influencer agency** — report Instagram influencer tagged posts and engagement per creator.
- **Compliance analyst** — review tagged and mentioned posts and the accounts in them.
- **Competitor researcher** — compare likes, comments and plays across rival accounts.
- **AI agent builder** — feed captions, alt text and comments into a RAG index.

Building an AI agent? [Connect Instagram Tagged & Mentions Posts Scraper over MCP](#mcp-integration-for-ai-agents) and let it call the actor on its own.

***

### Why choose this actor?

1. **A whole account and the posts that tag it, in one run.** A recorded run on one brand account returned 125 posts in 25 seconds: 121 of its own posts plus 4 posts by related accounts that tag it, 14 of them tagged or mentioned.
2. **The numbers behind each post.** A recorded tagged reel came back with 159,906 likes, 2,612,315 video views, 10,382,298 reel plays, a 25.9-second length and the owner's 90,101,784 followers.
3. **22 fields, three post types, eight related accounts.** Every row has the same 22 fields, every post is labelled tagged, mentioned or regular, and single-account runs check up to 8 related accounts for posts that tag or mention it.

***

### ⬇️ Input

![Input fields of the Instagram Tagged & Mentions Posts Scraper](https://api.apify.com/v2/key-value-stores/WYkyEfqs10huyXYxr/records/a-instagram-tagged-input.webp)

Enter one or more Instagram accounts as usernames, @handles or profile URLs; the usernames list is the only required field. Entries that are not an Instagram account (post links, search words) are skipped and named in the log.

| Parameter | Required | Type | Description | Example value |
|---|---|---|---|---|
| `urlsOrKeywords` | Yes | Array | Instagram usernames, @handles or profile URLs, one per line. Search keywords are not supported. | `["https://www.instagram.com/mrbeastlab/"]` |
| `maxPosts` | No | Integer | Posts to save per account, 10–1,000 (default 10): pinned posts first, then the newest. For a single account with fewer posts, related accounts' posts that tag or mention it fill the rest. | `130` |
| `maxCommentsPerPost` | No | Integer | Comments per post, 1–50 (default 1), from the first batch Instagram shows. | `1` |
| `proxyConfiguration` | No | Object | Proxy settings; residential proxy is on by default. | `{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}` |

#### Free plan limits

Users on the Apify free plan can fetch up to 20 posts per run (all accounts together) and 200 posts per month. When the limit is reached, the run finishes successfully with a status message explaining the limit. Upgrade to any paid Apify plan to remove these limits.

#### Example input

```json
{
  "urlsOrKeywords": ["https://www.instagram.com/mrbeastlab/"],
  "maxPosts": 130,
  "maxCommentsPerPost": 1,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
```

***

### ⬆️ Output

![Output fields of the Instagram Tagged & Mentions Posts Scraper](https://api.apify.com/v2/key-value-stores/WYkyEfqs10huyXYxr/records/a-instagram-tagged-output.webp)

Every post is one typed, normalized JSON item with the same 22 fields on every run, and values Instagram does not show are null. Export it as JSON (default), CSV or Excel, for example to export Instagram posts to CSV for a report; the key-value store also keeps a run summary with the account counts and every post under the OUTPUT key.

#### Example output

A real post from the recorded run: a reel by another account that tags and mentions the account entered (media URLs shortened).

```json
{
  "post_id": "3770883437793233489_2278169415",
  "short_code": "DRU3oH3EcpR",
  "is_affiliate": null,
  "is_paid_partnership": null,
  "is_ad": null,
  "like_count": 159906,
  "comment_count": 4682,
  "video_view_count": 2612315,
  "video_play_count": 10382298,
  "post_date": "2025-11-21T17:01:29.000Z",
  "display_url": "https://instagram.fdac8-1.fna.fbcdn.net/...8881624583_n.jpg",
  "alt": "Video by MrBeast on November 21, 2025.",
  "caption": "I had to get creative for a late-night @mrbeastlab delivery to Walmart #MrBeastLabToyPartner",
  "video_duration": 25.859,
  "video_url": "https://instagram.fdac8-1.fna.fbcdn.net/...S0emmYMcv-9M.mp4",
  "sponsor_user": [],
  "owner": {
    "id": "2278169415",
    "username": "mrbeast",
    "is_verified": true,
    "profile_pic_url": "https://scontent.cdninstagram.com/...1385814016_n.jpg",
    "blocked_by_viewer": false,
    "restricted_by_viewer": null,
    "followed_by_viewer": false,
    "full_name": "MrBeast",
    "has_blocked_viewer": false,
    "is_embeds_disabled": null,
    "is_private": false,
    "is_unpublished": false,
    "requested_by_viewer": false,
    "pass_tiering_recommendation": null,
    "edge_owner_to_timeline_media": { "count": 516 },
    "edge_followed_by": { "count": 90101784 }
  },
  "latest_comments": [
    {
      "id": "18113182616027761",
      "text": "❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️",
      "created_at": 1791084272,
      "did_report_as_spam": false,
      "owner": {
        "id": "75715372569",
        "is_verified": false,
        "profile_pic_url": "https://scontent.cdninstagram.com/...3296687047_n.jpg",
        "username": "yuvrajifx"
      },
      "viewer_has_liked": false,
      "edge_liked_by": { "count": 0 }
    }
  ],
  "post_type": "tagged",
  "tagged_users": [
    { "user_id": "64230511495", "username": "mrbeastlab", "full_name": "MrBeast Lab" }
  ],
  "mentioned_user": "mrbeastlab",
  "success": true
}
```

***

### How does it work?

The actor reads the same public pages and data the Instagram site shows any visitor who is not logged in, with plain HTTP requests and no browser. For each account it lists the posts, pinned ones first, then adds the details a visitor can see: comments, video views, reel plays, alt text and the owner's follower and post counts. Each post is then checked for the account's tag, on the post and on every carousel slide, and for an @mention in the caption. It works as an Instagram collab posts scraper too, because posts the account co-authors are part of its list. Instagram shows the full Tagged tab only to logged-in users, so for a single account with few posts the actor also checks related accounts for posts that tag it. Every step retries up to three times and switches to a residential proxy when Instagram blocks the connection. The output schema stays the same on every run.

***

### How do you integrate Instagram Tagged & Mentions Posts Scraper into your stack?

It works with what you already use: the REST API from any language, MCP for AI agents, and no-code tools.

#### MCP integration for AI agents

Add Apify's MCP server to your agent with one command:

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=socialdataapi/instagram-tagged-mentions-posts-scraper"
```

This registers Instagram Tagged & Mentions Posts Scraper as a tool your agent can call directly: the agent runs it on the accounts you name and reads the posts mid-conversation. It works with Claude Code, Cursor and Windsurf.

#### No-code tools (n8n, Make, LangChain)

- **n8n** — use the Apify node's "Run an Actor" operation with this Actor, or an HTTP Request node pointed at the Apify run-sync endpoint with your token. Map the post type, tagged users and like count into your next node.
- **Make** — add the Apify app's "Run an Actor" module, then "Get Dataset Items" to pull every post into a sheet, CRM or Slack message.
- **LangChain** — install `langchain-apify` and wrap this Actor with `ApifyActorsTool`, using the Actor ID `socialdataapi/instagram-tagged-mentions-posts-scraper`, so your chain can fetch posts on demand.

***

### Is it legal to scrape Instagram data?

Scraping publicly available Instagram data is generally lawful, although Instagram's terms of use restrict automated access. Instagram Tagged & Mentions Posts Scraper returns only publicly available data — what any user sees without logging in — and nothing from private accounts. Usernames, names, profile pictures and comments can be personal data: scraping public data is generally permissible under GDPR, but storing and using it must comply with local data-protection law. Consult legal counsel if your use case involves bulk storage of personal data.

***

### Frequently asked questions

#### What fields does Instagram Tagged & Mentions Posts Scraper return?

It returns the post type, tagged users, mentioned account, like count and reel plays, plus 17 more fields per post. See [the data fields section](#what-data-can-i-extract-with-instagram-tagged--mentions-posts-scraper) for the full list.

#### Does Instagram Tagged & Mentions Posts Scraper require an Instagram account or login?

No. Only public post data is extracted, and no credentials or cookies are needed.

#### How fast does Instagram Tagged & Mentions Posts Scraper run?

Recorded runs returned 10 posts from one account in 9 to 11 seconds, and 125 posts (with the related-account check) in 25 seconds. Data is read live from Instagram, not from a cache.

#### What happens if an account is private or doesn't exist?

An account that does not exist is named in the log and the status message, and the other accounts carry on; if no account returns posts, the run ends as failed. Entries that are not an Instagram account are skipped with a warning, and an account with no visible posts returns no rows.

#### Can I scrape multiple Instagram accounts at once?

Yes. Put every account in the usernames list; four are processed at the same time and each one returns up to your maximum posts per account. The related-account check only runs when you enter a single account.

#### Does Instagram Tagged & Mentions Posts Scraper work with Claude, ChatGPT, and other AI agent tools?

Yes — Instagram Tagged & Mentions Posts Scraper is available as an MCP tool through Apify's MCP server. Register it in Claude Code, Cursor or Windsurf with `claude mcp add --transport http apify "https://mcp.apify.com?tools=socialdataapi/instagram-tagged-mentions-posts-scraper"`, and any agent that can call an HTTP endpoint can use the REST API directly.

#### Does Instagram Tagged & Mentions Posts Scraper return data in a format LLMs can use directly?

Yes. It returns typed, normalized JSON with consistent field names, with no HTML parsing and no selectors. Pass it straight to an LLM, index it into a vector store, or feed it to an agent tool, with no transformation step.

#### What happens when Instagram changes its layout or updates its anti-bot system?

The actor is maintained. When Instagram changes, the actor is updated, and your calls keep returning the same JSON schema with no changes on your end.

#### Can I use Instagram Tagged & Mentions Posts Scraper without managing proxies or browser infrastructure?

Yes. Retries and the switch to a residential proxy when Instagram blocks a connection run on the actor's side, and it uses plain HTTP with no browser. You send one request and get structured JSON back, with no proxy accounts and no headless browser setup.

#### Which Instagram post fields work best for AI training data and RAG indexing?

For RAG, use the text-rich fields: the caption, alt text and latest comments. For training data, use the numbers and flags: like count, comment count, video views, reel plays, post type and tagged users. Fields are typed strings, integers, booleans and lists, and unknown values are null.

***

### Your feedback

Found a bug or missing a field? Let us know through the Actor's Issues tab. Every report is read, and fixes ship as Instagram changes, including for anyone tracking Instagram tagged photos or brand tags over time.

# Actor input Schema

## `urlsOrKeywords` (type: `array`):

Instagram accounts to check, one per line: a username (mrbeast), an @handle or a profile URL (https://www.instagram.com/mrbeast/). Search keywords are not supported. Entries that are not an Instagram account are skipped and reported in the log.

## `maxPosts` (type: `integer`):

Maximum number of posts to save for each account (10 to 1,000): pinned posts first, then the newest. When you enter a single account that has fewer posts, posts by related accounts that tag or mention it fill up the rest. Free plan: up to 20 posts per run (all accounts together) and 200 per month; paid plans have no limit.

## `maxCommentsPerPost` (type: `integer`):

How many comments to include for each post (1 to 50). They come from the first batch of comments Instagram shows a logged-out visitor, so a post can return fewer than you ask for.

## `proxyConfiguration` (type: `object`):

When a proxy is selected, every request goes through it and a blocked session is replaced with a fresh one. When the proxy is off, the Actor connects directly and moves to Apify's US residential proxy after Instagram blocks the direct connection.

## Actor input object example

```json
{
  "urlsOrKeywords": [
    "mrbeast"
  ],
  "maxPosts": 10,
  "maxCommentsPerPost": 1,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

All scraped items in the Actor's default dataset.

## `summary` (type: `string`):

Run summary and full post list, saved to the key-value store under the OUTPUT key.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urlsOrKeywords": [
        "mrbeast"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("socialdataapi/instagram-tagged-mentions-posts-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urlsOrKeywords": ["mrbeast"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("socialdataapi/instagram-tagged-mentions-posts-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urlsOrKeywords": [
    "mrbeast"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call socialdataapi/instagram-tagged-mentions-posts-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,socialdataapi/instagram-tagged-mentions-posts-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/gfZBdM14To4QOLFtd/builds/KIyGk2xbaoDbuQa2G/openapi.json
