Instagram Brand Mentions & UGC Monitor
Collect newly observed public Instagram tagged posts, keyword results, and campaign hashtag posts in one deduplicated feed with persistent first-seen state.
- users, last 30 days
- 1
- runs, last 30 days
- 13
- runs, all time
- 23
- users, all time
- 1
Live figures from Apify's public API, refreshed every hour.
Instagram Brand Mentions & UGC Monitor specifications
| Platform | |
|---|---|
| Apify actor | data-slayer/instagram-brand-monitor |
| Price | from $40.00 per 1,000 results, plus $0.00005 per run start |
| Inputs | monitorIdbrandAccountkeywordshashtagsfirstRunBehaviorkeywordMatchPolicyand 3 more |
| Output | 21 documented fields per row |
| Export formats | JSON, CSV, Excel, XML, HTML |
| Instagram login or cookies | Not required |
| Integrations | Apify REST API, JavaScript and Python clients, n8n, Make, Zapier |
| Last updated | September 29, 2026 (version 1.0.5) |
Run it from code
Replace the example input with your own. You need an Apify API token, which you can create in your Apify account settings.
curl -X POST "https://api.apify.com/v2/acts/data-slayer~instagram-brand-monitor/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"monitorId": "patagonia-campaign",
"brandAccount": "patagonia",
"keywords": [
"patagonia"
],
"hashtags": [
"patagonia"
]
}'{
"recordType": string,
"schemaVersion": string,
"monitorId": string,
"scanId": string,
"rowId": string,
"dedupeKey": string,
"mediaId": string,
"shortcode": string | null,
"contentUrl": string | null,
"mediaType": string,
"postedAt": string | null,
"observedAt": string,
"firstSeenAt": string,
"deliveryReason": string,
// + 7 more fields
}Input parameters
9 parameters you can set for each run.
| parameter | type | description |
|---|---|---|
monitorIdrequired | string | Monitor ID Stable lowercase ID. Reuse it on scheduled runs to keep first-seen state. |
brandAccount | string | Brand account (optional) One public Instagram username or profile URL. |
keywords | array | Brand keywords (optional) Up to 5 exact phrases. Results retain configured and literal-match evidence. |
hashtags | array | Campaign hashtags (optional) Up to 5 hashtags, with or without #. |
firstRunBehavior | string | First run Return current posts or save them only as a baseline. options: emit_current, baseline_only default: emit_current |
keywordMatchPolicy | string | Keyword result policy Keep all configured search results or only literal caption, hashtag, or @mention matches. options: include_configured_matches, literal_matches_only default: include_configured_matches |
maxPagesPerInput | integer | Maximum pages per monitored input Check 1–3 pages for each configured source. default: 1 |
maxItemsPerInput | integer | Maximum observed items per monitored input Stop keeping items for an account, keyword, or hashtag after this many unique media IDs. Available results can be lower. default: 50 |
maxItemsPerRun | integer | Maximum observed items per run Hard cap across all monitored inputs. When reached, the Actor stops checking more pages or inputs and reports which inputs were not scanned. default: 250 |
Output fields
Each result is one row with these 21 fields, taken from the scraper's dataset schema.
| field | type | description |
|---|---|---|
recordType | string | Record type |
schemaVersion | string | Schema version |
monitorId | string | Monitor ID |
scanId | string | Scan ID |
rowId | string | Row ID |
dedupeKey | string | Deduplication key |
mediaId | string | Instagram media ID |
shortcode | string | null | Shortcode |
contentUrl | string | null | Instagram URL |
mediaType | string | Media type |
postedAt | string | null | Posted at |
observedAt | string | Observed at |
firstSeenAt | string | First seen at |
deliveryReason | string | Delivery reason |
author | object | Author |
caption | string | null | Caption |
engagement | object | Engagement |
media | object | Media |
hashtags | array | Hashtags |
mentions | array | Mentions |
matches | array | Configured matches |
Pricing
Pay-per-event pricing, billed through your Apify account. Where plan tiers are listed, paid Apify plans get a lower price per event.
| event | price | per 1,000, by Apify plan |
|---|---|---|
| Completed monitor scan Usable bounded scan with state committed; includes the first three completed monitored pages. | $0.06 each |
|
| Additional monitored page Each completed monitored page after the first three; retries are not billed separately. | $0.007 each |
|
| Actor Start Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). | $0.00005 per run |
|
Questions
How much does Instagram Brand Mentions & UGC Monitor cost?
Instagram Brand Mentions & UGC Monitor uses pay-per-event pricing on Apify. The main charge is $0.06 per completed monitor scan, which is $60.00 per 1,000. On higher Apify plans the price drops to $40.00 per 1,000. Each run also has a start fee of $0.00005.
Do I need to log in to Instagram or share cookies?
No. Instagram Brand Mentions & UGC Monitor works without your Instagram login or cookies. You only need an Apify account to run it.
Can I use Instagram Brand Mentions & UGC Monitor through an API?
Yes. Send a POST request to the Apify API with your input and read the results as JSON, or use Apify's official clients for JavaScript and Python. The code examples on this page are ready to copy.
What data does Instagram Brand Mentions & UGC Monitor return?
Each result is a structured row. Its dataset schema lists 21 fields, including recordType, schemaVersion, monitorId, scanId, and rowId.
What formats can I export?
Results are stored in an Apify dataset. You can read it through the API as JSON, or download it as CSV, Excel, XML or HTML.
More Instagram scrapers
All Instagram scrapersExtract every Instagram post where any account is tagged — no login. Get captions, likes, comments, tagged users, media URLs, and timestamps. Brand monitoring, UGC tracking, and influencer campaign verification. 100+ fields per post. No cookies. JSON/CSV/Excel.
- runs/30d
- 341
- users/30d
- 46
Instagramfrom $1.50 / 1K resultsTrack follower, following, and post-count changes for public Instagram accounts with durable comparisons between scheduled runs.
- runs/30d
- 12
- users/30d
- 0
Instagramfrom $3.50 / 1K resultsGet full details from any Instagram post or Reel by URL — no login. 128 fields: likes, comments, views, shares, saves, reposts, captions, audio metadata, video URLs, and creator profiles. Bulk URL input. Includes repost_count missing from Apify's own scraper. JSON/CSV/Excel.
- runs/30d
- 317.1K
- users/30d
- 1,600
Instagramfrom $1.50 / 1K resultsScrape all posts from any Instagram profile — no login. Get likes, comments, shares, captions with parsed hashtags & mentions, tagged users, collaborators, carousel media, video URLs, and timestamps. 107 fields per post including a 24-field creator profile. JSON/CSV/Excel.
- runs/30d
- 153.2K
- users/30d
- 350
Instagramfrom $1.50 / 1K resultsInstagram Profile Scraper
Account Age & Verified Emails
Scrape public Instagram profiles in bulk. Get the published account-creation month, registration country, username-change count, followers, bio, links, public email and phone, with optional email verification. No login or cookies.
- runs/30d
- 40.9K
- users/30d
- 196
Instagramfrom $1.50 / 1K resultsSearch Instagram Reels by keyword and discover trending content — no login, no cookies. Get play counts, likes, comments, shares, video URLs, captions, hashtags, audio/music info, and creator profiles. Find viral reels in any niche. 125+ data points per reel. JSON/CSV/Excel.
- runs/30d
- 31.3K
- users/30d
- 751
Instagramfrom $1.50 / 1K results