Instagram Latest Post Scraper & Activity Tracker
Pricing
$19.00/month + usage
Instagram Latest Post Scraper & Activity Tracker
Find the latest Instagram post date for up to 1,000 profiles. Monitor creator activity, export timestamps, captions and post URLs. No Instagram login required.
Pricing
$19.00/month + usage
Rating
0.0
(0)
Developer
Newbs
Maintained by CommunityActor stats
4
Bookmarked
137
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
What does Instagram Latest Post Scraper do?
Find when an Instagram account last posted. Enter up to 1,000 public Instagram usernames or profile URLs and get the newest available post's date, URL, caption, media type, and profile details. No Instagram login or cookies are required.
Use this Instagram latest-post API for competitor monitoring, creator activity checks, content alerts, and finding inactive accounts. Results stream into an Apify dataset and can be exported as JSON, CSV, Excel, or other supported formats.
Quick start
- Click Try for free or Start and enter usernames such as
diorandnikein Instagram profiles. - Keep the default settings and start the run.
- Open Latest Post Times in the dataset. Check
status,lastPostTimeISO, andlatestPostUrl. - Export the results, or save an Apify task to repeat the same profile checks.
Minimal API input:
{"channel": ["dior", "https://www.instagram.com/nike/"]}
Use the actual username: timberland, for example, is different from instagramTimberland. The Actor preserves the account you requested. Duplicate forms such as Dior, @dior, and its profile URL are checked once.
What you get
- Latest public post time: Unix seconds and an ISO 8601 UTC date.
- Post content: URL, shortcode, caption, thumbnail, and image/video/carousel type.
- Activity:
daysSinceLastPostfor finding accounts that have not posted recently. - Profile and engagement details: display name, user ID, follower count, likes, and comments when Instagram exposes them.
- Clear diagnostics: distinguish usable results, unavailable profiles, private accounts, empty profiles, and blocked requests.
The Actor compares timestamps across the posts returned by Instagram, so an older pinned post does not automatically become the latest result. postsExamined records how many candidates the response contained.
Example output
Illustrative values; live timestamps and available metadata vary:
{"channel": "dior","inputChannel": "dior","profileUrl": "https://www.instagram.com/dior/","fullName": "Dior","userId": "550072490","followersCount": 46000000,"latestPostShortcode": "EXAMPLE","latestPostUrl": "https://www.instagram.com/p/EXAMPLE/","latestPostType": "image","latestPostCaption": "Example caption","lastPostTime": 1789463440,"lastPostTimeISO": "2026-09-15T09:10:40.000Z","daysSinceLastPost": 0,"postsExamined": 6,"latestPostLikesCount": 1200,"latestPostCommentsCount": 25,"source": "embed","status": "ok","usedProxy": false,"requestCount": 1,"responseTimeMs": 500,"scrapedAt": "2026-09-15T10:00:00.000Z"}
The original fields channel, lastPostTime, and lastPostTimeISO remain available for existing integrations. Optional metadata can be empty or null; it is not estimated.
Monitoring workflows
Receive alerts when a creator publishes
Save your input as an Apify task and schedule it. After a successful run, use an Apify integration or webhook to pass the dataset to Make, Zapier, or your own application. Compare each account's latestPostShortcode with the value saved from the previous run. Send an alert only when it changes. The Actor produces the data; configure alert delivery in your workflow.
Find inactive accounts
Filter for status = "ok" and daysSinceLastPost >= 30 to find accounts whose newest available public post is at least 30 days old. Exclude failed and private-profile rows, since missing public data does not establish inactivity.
Track competing brands
Run the same brand list at an interval appropriate for your needs. Save channel, lastPostTimeISO, latestPostUrl, and latestPostCaption in your spreadsheet or database. Historical comparisons require retaining previous exports or datasets.
Input settings
| Field | Default | Description |
|---|---|---|
channel | Required | Up to 1,000 usernames, @handles, or Instagram profile URLs. Comma/newline lists inside entries are also accepted. Post and Reel URLs are not profile inputs. |
maxConcurrency | 20 | Profiles checked in parallel, from 1 to 50. Lower this if many requests are blocked. |
requestTimeoutSecs | 10 | Timeout per HTTP request, from 3 to 30 seconds. |
maxRetries | 0 | Extra proxy recovery rounds, from 0 to 3. Each round can make two requests. Increase to 1 for transient failures; more retries can increase time and proxy cost. |
proxy | Residential Apify Proxy | Direct embed and API requests run first. Residential recovery is used only if needed and available. Custom HTTP/HTTPS proxy URLs are supported. |
{"channel": ["dior", "nike"],"maxConcurrency": 20,"requestTimeoutSecs": 10,"maxRetries": 0,"proxy": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
To disable proxy recovery, set proxy to {"useApifyProxy": false}. Residential proxy availability depends on your Apify account. Large lists over 1,000 entries are rejected with an explanation instead of being silently truncated.
Pricing
Check the Pricing tab for the price applicable to your run. The existing $19/month rental is scheduled to switch to $2 per 1,000 successful latest-post results at 02:20 UTC on September 16, 2026.
Under pay-per-result pricing:
- A
status: "ok"row with a post timestamp costs $0.002. - Failed, invalid, private, and confirmed empty-profile diagnostics incur no result fee.
- Duplicate profiles are removed within a run; subsequent scheduled runs check and bill successful profiles again.
- Apify compute, storage, data transfer, and proxy usage are billed separately.
For example, 100 successful latest-post results cost $0.20 in result fees, plus Apify usage. A run with 90 successful results and 10 diagnostics costs $0.18 in result fees, plus usage. These examples apply after the scheduled price change. The run's OUTPUT.pricing records the active model and event price; a rental run does not report a per-result charge.
API and exports
Run a small list and return its dataset items directly:
curl --request POST \'https://api.apify.com/v2/acts/newbs~Latest-Post-Time-Instagram/run-sync-get-dataset-items?timeout=120&format=json' \--header "Authorization: Bearer $APIFY_TOKEN" \--header 'Content-Type: application/json' \--data '{"channel":["dior","nike"]}'
For large lists, start asynchronously with POST /v2/acts/newbs~Latest-Post-Time-Instagram/runs. Poll GET /v2/actor-runs/{runId} and export GET /v2/datasets/{defaultDatasetId}/items?format=csv after completion. Include your bearer token on API requests. See the Apify API documentation for authentication and dataset export options.
The dataset includes Latest Post Times and Post Content views. The default key-value store's OUTPUT record contains profile counts, usable post results, status counts, requests, proxy attempts, timing, and billing details. succeeded counts resolved profiles, including private/empty statuses; postResults counts rows with usable post timestamps. At a spending limit, fewer rows may be written than profiles processed.
Troubleshooting and limitations
| Result | Meaning and next step |
|---|---|
ok | A public post timestamp was found. Use this row for activity monitoring. |
private_or_no_public_posts | Instagram identifies a private profile. Private posts cannot be retrieved. |
no_posts_found | Instagram explicitly reports an empty public timeline. |
invalid_input | Supply an actual username or profile URL, not a post URL or another website. |
failed with not_found_or_unavailable | Check the spelling and whether the account is still available. Further proxy requests are skipped after a direct API 404. |
failed with access_blocked, rate_limited, or timeout | Retry later, reduce concurrency, and check proxy configuration. |
failed with incomplete_response | Instagram did not expose usable post data. This is not treated as proof that the account has no posts. |
Does this download all posts, Stories, or followers?
No. It returns one latest-post result per profile. It is designed for lightweight public-profile activity monitoring. It does not paginate an account's entire history or retrieve private posts, Stories, or follower lists.
Is the latest post guaranteed to match the logged-in app?
The result is the newest timestamp among posts Instagram exposes in the public response. Instagram can cache or limit public previews, restrict particular accounts, or show different posts to logged-in users. The Actor cannot guarantee that an unavailable or omitted post is included.
Why is a thumbnail or follower count missing?
Instagram does not expose every field on every response. Thumbnail links can expire. The Actor returns available data without extra detail-page requests.
Support
For a reproducible problem, open an Actor issue or contact newbs.contact@gmail.com. Include the run ID, affected public username, and expected behavior. Do not include tokens or proxy passwords.