Instagram New Posts Monitor API - Schedule It, Pay for Changes
Pricing
from $1.50 / 1,000 post (image or carousel)s
Instagram New Posts Monitor API - Schedule It, Pay for Changes
Watch Instagram profiles on a schedule: only posts you have not seen, or whose counts moved, are billed; unchanged posts come back free. A last-7-days window, a feed-check tick per profile, optional monthly pass.
Pricing
from $1.50 / 1,000 post (image or carousel)s
Rating
0.0
(0)
Developer
Blackcube
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
The Instagram suite
- Instagram Posts Scraper API — posts, reels and carousels from any public profile
- Instagram Reels Scraper API — only the reels from a profile, with play counts and the video file
- Instagram Profile Posts Scraper API — a username in, its newest posts out, as many pages as you ask for
Put Instagram profiles on a schedule and receive only the posts you have not seen or whose counts moved, with a free row for everything unchanged. No login, no cookies, no proxy to configure — it reads the public feed Instagram shows to anyone. Failures are free: a profile that is private, missing or empty costs nothing and returns a row saying which.
Exact numbers, not display numbers. Instagram's page says "1.4M likes" and "46M plays"; the rows carry 1,487,695 and 46,522,596.
Quick start
- Press Start — the defaults are a working run.
- Replace them with your own profiles, then create a Schedule for this Actor — daily is typical — and leave Monitor on.
- Take the dataset as JSON, CSV or Excel, or via the API. Every row has a
type; the freecoveragerow says what was asked for and what arrived.
What people use it for
- Content and competitor analysis. What a brand, creator or rival account posts, how often, and how each post performs — exact counts, not rounded.
- Influencer vetting. Engagement per post over the newest posts, paid-partnership flags, co-authored posts, verified status.
- Alerts and feeds. Put a list of profiles on a daily schedule and receive only what is new or changed, ready for Slack, Sheets or a CRM.
- Feeding an AI agent or workflow. One flat schema, a
typeon every row, and a free coverage row that says what was asked for and what arrived.
What the rows look like
A post row
{"type": "post","profile": "nasa","id": "3967213292204992434","shortcode": "DcOX3hWFiey","url": "https://www.instagram.com/p/DcOX3hWFiey/","mediaType": "image","takenAt": "2026-08-19T14:11:47.000Z","caption": "With your powers combined… This colorful picture of the cosmos is the product of teamwork between our @NASAHubble ...","hashtags": [],"mentions": ["NASAHubble", "NASAWebb"],"likeCount": 503772,"commentCount": 3547,"playCount": null,"media": [{ "kind": "image", "url": "https://instagram.f...fbcdn.net/v/t51.82787-15/...jpg", "width": 1440, "height": 1440, "id": null }],"carouselCount": null,"location": null,"coauthors": [],"isPaidPartnership": false,"isPinned": true,"owner": { "id": "528817151", "username": "nasa", "fullName": "NASA", "isVerified": true, "isPrivate": false }}
likeCount is null, never 0, when the author hides like counts. profile is the username whose feed the row came from; owner is the original poster, which differs on a collaboration post. A carousel carries every slide in media in order, with carouselCount.
A reel row
{"type": "reel","profile": "cristiano","shortcode": "Dcgs4DvIr3u","url": "https://www.instagram.com/reel/Dcgs4DvIr3u/","mediaType": "video","productType": "clips","likeCount": 1487695,"commentCount": 18722,"playCount": 46522596,"videoDurationSec": 21.68,"hasAudio": true,"media": [{ "kind": "video", "url": "https://instagram.f...fbcdn.net/o1/v/t2/f2/m86/....mp4", "width": 720, "height": 1280, "id": null }],"music": { "title": "Original audio", "artist": "cristiano", "isOriginal": true }}
playCount is Instagram's exact play count for the reel. Media URLs are signed by Instagram and expire after a few hours — download during the run, or turn them off.
What it costs
| You pay for | Price |
|---|---|
| Each image or carousel post delivered | $1.50 per 1,000 posts |
| Each reel or video post delivered (play count, duration, sound and the MP4 URL included) | $2.00 per 1,000 reels |
| Each profile feed read (every profile Instagram answered; never counted against your result cap) | $2.00 per 1,000 profiles |
| Optional monthly pass: 30 days with no per-row charges, charged once, no automatic renewal | $19.00 |
Free, always: a profile that does not exist, is private or has no posts, a post skipped by your content or date filter, a post you already received on a monitoring run whose numbers did not move, a malformed input, every error row, the coverage row and the run summary. A run that reads nothing costs nothing.
The monthly pass is for heavy use: turn it on and the run charges it once after it has read at least one profile, then every run you start with it on for the next 30 days delivers posts, reels and feed checks without per-row charges. It pays for itself above roughly 5,000 posts or 3,000 profile checks a month. It is never charged silently — only when you run with it on and no pass is active.
Set Cost ceiling (USD) to stop any run before it passes a number you choose; the free summary row reports what the run actually spent.
FAQ
Do I need an Instagram login, cookies or a proxy?
No. This Actor reads the public feed Instagram serves to anyone, and it never signs in, never sends a cookie and never uses a session. Everything is handled for you and there is nothing to buy on top.
Can I get follower counts, the bio, stories or comments?
Not from this Actor, and it says so rather than pretending. Instagram only shows those to signed-in accounts; every row does carry the poster's username, full name, verified and private flags. What you get is the feed itself: every post and reel with exact like, comment and play counts, captions, media and dates.
What is the difference between a post and a reel row?
A post is an image or a carousel; a reel is a video (productType: clips). Reels carry the play count, duration, sound and the MP4 URL, which is why they cost a little more. Use What to deliver to take only one kind — skipped items are never billed.
How far back can I go?
As far as the profile's public feed goes, 12 posts per page. Set Newest posts per profile for a depth, or Only posts from the last N days to stop at a date. Pinned posts sit first regardless of date and do not end the walk.
What happens to a profile that is private, missing or has no posts?
It costs nothing. You get a free error row that says which (private, not-found, no-posts), and the run keeps going.
Does a run fail if everything I asked for is gone?
No. "All of these are private or deleted" is a correct answer, not a failure, so the run succeeds and returns free rows explaining each one. Only Instagram actually refusing us fails a run.
Can I put this on a schedule without paying twice for the same posts?
Yes. Turn Monitor on (it is on by default here). Delivered posts and the counts seen are remembered per profile in a named store; a post whose numbers have not moved comes back as a free row marked unchanged, and each profile read is billed as one feed check.
How does the monthly pass work?
Turn Monthly pass on. The run charges it once, after it has read at least one profile, and for 30 days every run you start with it on delivers rows and feed checks without per-row charges. It is never renewed automatically — it is charged again only when you run with it on after it expired.
Will I be charged twice if the same post appears twice?
No. A collaboration post that appears in two co-authors' feeds, or a profile you listed twice under two spellings, is one row and one charge.
Limits, stated plainly
Instagram shows follower and following counts, the bio, stories, highlights, the comments under a post, hashtag and location pages, and search only to signed-in accounts (measured 2026-09-02 from two independent networks). This Actor reads public feeds only and never signs in, so it sells none of those — and says so here rather than on your invoice.
Media URLs are signed by Instagram and expire after a few hours. A private account's posts are not readable at all; the row says private.
Like counts an author has hidden come back as null, never as zero.
Use it from n8n, MCP, the API or a schedule
Built to be called by a workflow, not only from the Store form. The Actor is vonsensey/instagram-new-posts-monitor-api; every snippet below sends {}, which runs the defaults shown on the form — replace it with your own input.
n8n
Install the Apify community node (@apify/n8n-nodes-apify under Settings → Community Nodes, or search "Apify" on n8n Cloud). Add Apify → Run Actor with Actor vonsensey/instagram-new-posts-monitor-api and your input JSON, then Apify → Get Dataset Items on the run's defaultDatasetId and pipe the rows anywhere. For scheduled runs, the On new Apify Event trigger fires when a run of this Actor finishes.
MCP (Claude, Cursor, VS Code, any MCP client)
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=vonsensey/instagram-new-posts-monitor-api","headers": {"Authorization": "Bearer <YOUR_APIFY_TOKEN>"}}}}
Your agent then calls vonsensey/instagram-new-posts-monitor-api as a tool with the same input the form takes and reads the dataset back.
REST API (one call, rows in the response)
curl -X POST "https://api.apify.com/v2/acts/vonsensey~instagram-new-posts-monitor-api/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" -d '{}'
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("vonsensey/instagram-new-posts-monitor-api").call(run_input={})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row)
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('vonsensey/instagram-new-posts-monitor-api').call({});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Make, Zapier, LangChain, CrewAI
The Apify app in Make and Zapier has a Run an Actor module: pick vonsensey/instagram-new-posts-monitor-api. In LangChain and CrewAI the Apify tool wrappers take the same Actor id. A daily schedule needs nothing but the Console: Schedules → Create → this Actor → cron, and the dataset fills on its own.