Instagram Content Scraper - Posts + Reels [NO LOGIN] ✅ avatar

Instagram Content Scraper - Posts + Reels [NO LOGIN] ✅

Pricing

$5.00 / 1,000 results

Go to Apify Store
Instagram Content Scraper - Posts + Reels [NO LOGIN] ✅

Instagram Content Scraper - Posts + Reels [NO LOGIN] ✅

Scrape every public Instagram post AND reel from any profile in one run. Get captions, likes, comments, plays, video URLs, carousel images, and verified status. No login, no cookies. Built for influencer research, content strategy, and brand monitoring.

Pricing

$5.00 / 1,000 results

Rating

5.0

(3)

Developer

Unseen User

Unseen User

Maintained by Community

Actor stats

4

Bookmarked

4

Total users

3

Monthly active users

3 days ago

Last modified

Share

Instagram Posts Scraper - Posts + Reels Combined (No Login)

Pull every public Instagram post (photos, videos, carousels) AND every reel from a profile in one run. Unified output, complete coverage, no login.

Try on Apify

Why run two scrapers when one does both? This Actor pulls every public Instagram post (photos, videos, carousels) AND every reel from a profile in a single run, then merges them into one unified, analysis-ready dataset. No Instagram login required, no cookies, no proxies to manage.

The official apify/instagram-scraper and most alternatives require separate runs for posts and reels and leave the merge and dedup work to you. This Actor calls both endpoints in parallel, dedupes reels by shortcode, and emits a single flat row per item so you can stream straight into BI tools, dashboards, RAG pipelines, or downstream Actors.


Table of contents


What this Actor returns

For every public Instagram profile you supply, you receive a unified, normalized dataset row per piece of content, covering:

Content typeSource endpointFields surfaced
Photo postsposts feedshortcode, URL, caption, thumbnail, likes, comments, posted date, author, branded-content flag
Video postsposts feedall of the above plus video URL, dimensions, duration, play count
Carouselsposts feedall of the above plus carousel media count and first-slide thumbnail
Reelsreels feedshortcode, URL, video URL (no watermark), thumbnail, play count, likes, comments, shares, music metadata, author
Pinned contentposts feedincluded (pinned reels surface here, not in the reels feed)

Inputs accepted: profile URLs, handles (with or without @), or numeric Instagram user IDs - mix any of them in one bulk field.


Required caveats (read these first)

  • Play counts are Instagram-only. When a reel is cross-posted to Facebook, the in-app view count shows combined IG + FB. This API returns only the IG portion. Disclose this to your end users so they do not dispute your numbers against in-app stats.
  • Reel captions are not returned by the reels endpoint. If your pipeline needs reel captions, enable enrich_reel_captions = true. This adds one extra upstream request per reel and roughly doubles run time. Disabled by default.
  • Private accounts return an error row, not data. The Actor accesses publicly visible content only.
  • Story and Highlight content is not included. This Actor targets the permanent feed (posts + reels) only.

Free plan limit

Free Apify users get up to 50 results per run. Paying users are not affected and receive results normally.

This limit was set by the Actor developer, not by Apify. To remove it and receive unlimited results, upgrade to any paid Apify plan: https://apify.com/pricing

When a free plan run hits the cap, the Actor finishes successfully (status SUCCEEDED) and the run's status message explains what happened. No error is raised, so the first 50 results are fully usable as normal.


Hero use case

An influencer marketing agency tracking 200 creators across Instagram:

  1. Paste 200 profile URLs into the profiles bulk field.
  2. Get every post + reel for each creator in one unified dataset.
  3. Run engagement analysis (views, likes, comments, branded-content flags) without merging two separate sources.

The merge is the conversion event - one row per item, normalized fields across both shapes, ready for analysis the moment the run finishes.


Sample output (unified schema)

{
"source": "reel",
"id": "3251234567890123456",
"url": "https://www.instagram.com/reel/Cabc123xyz/",
"shortcode": "Cabc123xyz",
"type": "reel",
"caption": "Behind the scenes...",
"created_at": "2026-05-12T10:23:45.000Z",
"stats": {
"views": 482310,
"ig_plays": 482310,
"fb_plays": 138420,
"video_views": null,
"likes": 31204,
"comments": 412,
"shares": 1820,
"saves": 3022,
"reposts": 47,
"engagement_total": 36505,
"likes_disabled": false,
"comments_disabled": false
},
"video": {
"url_no_watermark": "https://scontent.cdninstagram.com/.../video.mp4",
"url_alt": null,
"duration_ms": 28500,
"width": 1080,
"height": 1920
},
"thumbnail_url": "https://scontent.cdninstagram.com/.../thumb.jpg",
"is_paid_partnership": false,
"music": { "title": "Original audio", "author": "natgeo", "id": "..." },
"author": { "handle": "natgeo", "name": "National Geographic", "verified": true },
"_metadata": {
"source_endpoint": "/v1/instagram/user/reels",
"page": 2,
"fetched_at": "2026-06-05T14:32:01.000Z",
"input_identifier": "natgeo"
}
}

A post row has the same shape with source: "post" and type: "photo" | "video" | "carousel". The unified schema means a downstream consumer never has to branch on the source endpoint.

Field reference

FieldTypeNotes
source"post" | "reel"Which feed the item came from.
idstringStable Instagram media ID.
urlstringDirect link to the content.
shortcodestringUsed for dedup between posts and reels feeds.
typeenumphoto, video, carousel, reel, text, unknown.
captionstring | nullAlways present for posts. Null for reels unless enrichment is on.
created_atISO 8601Original post time.
stats.viewsnumber | nullBest available view count for video / reels. null for photos (Instagram does not count views on photos).
stats.ig_playsnumber | nullInstagram-only plays, when Instagram splits the count from Facebook plays in the response (most reels).
stats.fb_playsnumber | nullFacebook cross-post plays. Almost always null - Instagram's public feeds rarely return this.
stats.video_viewsnumber | nullLegacy video_view_count for very old video posts. Almost always null on modern content.
stats.likesnumber | nullAll content types. null when likes_disabled = true.
stats.commentsnumber | nullAll content types. null when comments_disabled = true.
stats.sharesnumber | nullPRIVATE METRIC. Always null. See "What about shares, saves, reposts?" below.
stats.savesnumber | nullPRIVATE METRIC. Always null. See below.
stats.repostsnumber | nullPRIVATE METRIC. Always null. See below.
stats.engagement_totalnumber | nullComputed: likes + comments + shares + saves + reposts. In practice equals likes + comments because the other three are private.
stats.likes_disabledbooleanCreator hid like counts on the post.
stats.comments_disabledbooleanCreator turned comments off.

What about shares, saves, reposts?

These are private creator-only metrics. Instagram only shows them to the post's author inside their own Insights dashboard. No public Instagram scraper can return them, including this one - it is an Instagram product decision, not a scraper limitation.

The fields are kept in the schema for forward compatibility: if Instagram ever exposes them via a public response (which has happened briefly in the past), the normalizer is already wired to pick them up without a code change. Until then they will be null.

If you need shares / saves / reposts, the only legitimate paths are:

  • The creator's own Insights, accessed through the Instagram Graph API with the creator's OAuth consent (business / creator accounts only).
  • The Meta Business Suite for accounts you own.

What publicly visible engagement actually exists

MetricPhotosCarouselsVideo postsReels
LikesYesYesYesYes
CommentsYesYesYesYes
ViewsNo (Instagram does not count)NoYesYes
IG-only plays vs FB playsn/an/aSometimes splitSometimes split
Shares / saves / repostsPrivatePrivatePrivatePrivate
video.url_no_watermarkstring | nullDirect MP4.
video.duration_msnumber | nullDuration in milliseconds.
video.width, video.heightnumber | nullPixel dimensions.
thumbnail_urlstringFirst-frame thumbnail or photo.
is_paid_partnershipbooleanBranded-content disclosure flag.
music.title, music.author, music.idstring | nullReel audio metadata.
author.handle, author.name, author.verifiedstring / booleanCreator identity.
_metadata.source_endpointstringThe underlying endpoint that produced this row.
_metadata.pagenumberPagination page index.
_metadata.fetched_atISO 8601When this row was fetched.
_metadata.input_identifierstringThe input you supplied.

Comparison vs alternatives

FeatureThis Actorapify/instagram-scraper (official)apidojo InstagramMost commodity scrapers
Posts + reels in one runYesNo - separate runsNoNo
Unified normalized schema across both feedsYesNo - raw shape per endpointPartialNo
Reel dedup by shortcodeYesManualManualManual
Login requiredNoOptional but recommended for coverageNoVaries
Pinned reel coverage via posts feedYesYesPartialOften missed
Bulk input (URLs + handles + IDs mixed)YesYesPartialNo
Per-page progress logsYesNoNoRare
Live view HTTP APIYesNoNoNo
Pay modelPay-per-eventPer resultPer resultPer result

Inputs

InputTypeRequiredDefaultDescription
profilesarray of stringsyes-One entry per profile. Each entry can be a profile URL, a handle (with or without @), or a numeric user ID. Mix freely. Duplicates are removed.
results_typeenumnobothposts, reels, or both.
max_items_per_profileintegerno100Hard cap per profile, max 1000. Applies to posts and reels separately.
enrich_reel_captionsbooleannofalseFetch reel captions. Adds one extra upstream request per reel.
trimbooleannofalseDrop heavy CDN / transcode fields from each row.

Example profiles input

[
"natgeo",
"@nasa",
"https://www.instagram.com/nike/",
"529823214"
]

Numeric IDs are accepted but feed the reels endpoint only - the posts endpoint requires a handle. If you provide only a numeric ID, posts for that profile are skipped with a warning.

Programmatic run (Apify API)

curl -X POST "https://api.apify.com/v2/acts/unseenuser~instagram-posts-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"profiles": ["natgeo", "nasa"],
"results_type": "both",
"max_items_per_profile": 100
}'

Outputs and dataset views

Results stream to the Apify dataset as flat rows. The Apify console renders three pre-built views:

  • Overview - source, type, shortcode, URL, author, caption, headline engagement (views, likes, comments, shares, saves, total), posted date.
  • Engagement - public engagement signals per item: views (video / reels), IG-only plays, likes, comments, computed total, plus likes-hidden / comments-off flags. Shares, saves, and reposts are private metrics Instagram does not expose publicly and are not shown here.
  • Media URLs - shortcode, type, thumbnail, video URL, dimensions, duration. Use for download pipelines.
  • Errors - any rows that failed mid-run. Check first when a profile returns no data.

Export formats

  • JSON, JSON Lines, CSV, XLSX, XML, RSS, HTML
  • Apify API (paginated)
  • Webhooks on run finish

Key-value store outputs

KeyContent
OUTPUTRun-level summary (counts, cap status, finish time).
SUMMARY-<handle>Per-profile counts of posts, reels, and errors.
STATE-*Reserved for internal run state. Safe to ignore.

How it works

profiles input
v
parser ----> { handle, userId, label } per profile
v
for each profile (sequential)
+--> posts endpoint -+
| +--> dedup by shortcode --> normalize --> push to dataset
+--> reels endpoint -+
|
+--> if enrich_reel_captions: parallel caption enrichment (5 concurrent)
  • Posts and reels for a single profile fetch in parallel.
  • Profiles are processed sequentially so failures on one do not poison others.
  • Reels that appear in both feeds (cross-posts, pinned reels) are deduplicated by shortcode.
  • Failed pages emit error rows; the run keeps going.
  • Pagination is capped at 50 pages per endpoint and stops automatically if cursors stop advancing or pages return only duplicates.

Performance

Typical run times on the paid plan, no caption enrichment:

WorkloadApprox wall time
1 profile, 100 items, posts + reels10 - 25 s
1 profile, 1000 items, posts + reels1 - 3 min
10 profiles, 100 items each2 - 5 min
200 profiles, 100 items each30 - 90 min

Caption enrichment roughly doubles reels runtime (one extra upstream call per reel, batched 5 in parallel).


Volume guidance

Pulling 1000 items from a single creator typically requires several paginated upstream requests under the hood. The max_items_per_profile input lets you cap each profile's volume so a single noisy creator never blows up a bulk run.

If you enable enrich_reel_captions, the Actor performs one additional upstream request per reel. For a profile with 100 reels that roughly doubles wall-clock time on the reels half of the run, so leave it off unless you actually need captions. The Actor logs a one-line notice at the start of any run that has enrichment enabled, so it never surprises you.


Use cases

  • Influencer content audits - vet a creator's full portfolio before a partnership.
  • Brand monitoring - track a brand or competitor's posting cadence across both formats.
  • Content strategy research - measure how reels stack up against photo / carousel posts on engagement per impression.
  • Competitor analysis - benchmark engagement against peers in your category.
  • Cross-posting analysis - identify which reels also appear as feed posts (the dedup metadata tells you).
  • Brand-safety audits - review what a creator actually publishes before sponsorship.
  • UGC research - analyze how communities create content around products.
  • Academic research - study posting cadence, engagement velocity, content trends.
  • RAG / search indexing - feed creator content into vector stores for downstream Q&A.

FAQ

How is this different from the official Apify Instagram scraper? The official actor solves a broader surface (profiles, hashtags, locations, comments) but requires you to run separate jobs for posts and reels and stitch the results yourself. This Actor is purpose-built for the posts + reels merge: one run, unified schema, dedup handled.

What happens with private accounts? Only publicly visible content is returned. Private profiles return a clear error row and the Actor moves on to the next profile.

What is the max posts per profile? 1000 per profile via max_items_per_profile. For larger needs, run multiple jobs or contact support.

How are carousels handled? Each carousel is one row with type: "carousel". The first media's thumbnail represents the carousel.

Reel caption workaround? Enable enrich_reel_captions = true. The Actor logs a notice at the start of any run that has it on, and enrichment runs 5 reels in parallel so wall-clock impact is minimal.

Why is my reel's play_count lower than the in-app number? The in-app number includes Facebook cross-post views. This API returns Instagram-only views. See "Required caveats" above.

Do I need an Instagram login? No. The Actor accesses publicly visible content only.

Does the Actor handle pinned reels? Yes. Pinned reels surface through the posts feed (the reels feed excludes them by default). The dedup logic merges them cleanly.

What if a profile has zero reels? The reels task returns an empty list and the run continues with just the posts data. No error.

What about rate limits? The Actor retries 429 / 502 / 503 / 504 responses three times with exponential backoff. Hard failures emit an error row and the Actor moves on.

Can I get historical data older than X? The Actor follows whatever Instagram exposes through the public feeds. There is no cutoff date you control - you bound the volume with max_items_per_profile.

Can I use this for AI training? No. Instagram's Terms of Service prohibit using Instagram data to train AI / ML models without Meta's authorization, and creators retain copyright. See Legal and compliance.


Live view API

While the Actor is running, an HTTP server is exposed on the container port and accessible via the Apify run detail page's "Live view" tab.

MethodPathReturns
GET/healthLiveness probe { status, uptime_ms }.
GET/progressCurrent pushed count, item cap, cap reached flag, current profile.
GET/summaryPer-profile counts gathered so far.

The full OpenAPI v3 spec ships in .actor/web_server_openapi.json.


This Actor accesses publicly visible Instagram content. Your downstream use must independently comply with Instagram's Terms of Service.

You may NOT use this Actor to:

  • Train commercial AI / LLM models on Instagram content (Meta prohibits this; creators retain copyright).
  • Scrape content of users you know or suspect are minors. Instagram has many under-18 users and minor-data violations carry the highest regulatory penalties (COPPA, GDPR Article 8, Illinois BIPA, Israel PPL).
  • Republish creator content as your own.
  • Build mass-DM tools targeting commenters or engagers.
  • Strip creator attribution before redistribution.
  • Aggregate Instagram data with Facebook, LinkedIn, TikTok, X / Twitter to build cross-platform identity profiles of named individuals.
  • Process personal data without a lawful basis under GDPR, UK GDPR, CCPA, or Israel PPL.

You agree to:

  • Honor data subject deletion requests within 30 days under GDPR.
  • Disclose to your end users that play counts are Instagram-only (do not include Facebook cross-post views).
  • Notify the Publisher within 48 hours if Meta or a creator issues a cease-and-desist regarding data obtained via this Actor.

By running this Actor you accept the Publisher's Terms of Service V4.0 (referenced in the log on every run) and the actor-specific addendum. Full terms are available on the Apify Actor page.


Changelog

1.0.0 (2026-06)

  • Initial public release.
  • Unified posts + reels schema with shortcode-based dedup.
  • Bulk profiles input accepting URLs, handles, and numeric IDs.
  • Three pre-built dataset views, key-value store summaries, live-view HTTP API.
  • Free plan cap of 50 results per run with SUCCEEDED exit status.

Support

  • Bugs, feature requests, or questions: open an issue on the Actor's Apify page contact form.
  • Found a profile that returns weird data? Include the handle and the run ID and we can usually fix the normalizer the same day.
  • For commercial questions (volume pricing, white-label, custom fields): contact via the Apify profile.

Build the complete cross-platform creator intelligence stack:

  • Instagram Profile Scraper - profile-level data to pair with content.
  • TikTok Audience Geography - evaluate cross-platform creators (flagship).
  • Facebook Page Posts & Reels Scraper - extend brand monitoring to Facebook.
  • Meta Ad Library Scraper - paid + organic intelligence on the same brand.

See all scrapers by unseenuser


Quick start

  1. Click Try for free on the Actor page.
  2. Paste URLs, handles, or user IDs into the profiles field.
  3. Run the Actor.
  4. Download results as JSON, CSV, or XLSX, or pull via the Apify API.

Keywords: instagram posts scraper, instagram reels scraper, scrape instagram content, instagram bulk scraper, instagram api alternative, no login instagram, influencer content audit, brand monitoring instagram, instagram analytics, ugc research, creator analytics, social media monitoring



Terms of Service

Version: 4.0 Effective Date: May 5, 2026

0. Acceptance by use

These Terms of Service ("Terms") form a binding legal agreement between you ("User," "you," "your") and the Publisher of this Apify Actor ("the Publisher," "we," "us," "our").

You accept these Terms by any of the following acts:

  • (a) Running the Actor on the Apify platform
  • (b) Using any output returned by the Actor for any purpose
  • (c) Continuing to access the Actor's listing or documentation after these Terms are visible

Each time you run the Actor or use its outputs, you reaffirm your acceptance of the then-current Terms. If you do not agree to these Terms, you must not run the Actor.

Architecture

You (User) -> Apify Platform -> Actor (software) -> Third-Party API Provider -> Source Platform
|
You (User) <- Apify Platform <- Actor (software) <- Third-Party API Provider
  • You (the User): Run the Actor on the Apify platform with input parameters you choose.
  • Apify: Operates the cloud infrastructure that hosts and executes Actors, governed by Apify's own Terms of Service.
  • The Publisher (us): Publishes software code (the Actor) on Apify's platform. The Actor is a thin wrapper that translates your input into requests to a third-party data provider and returns the responses to you. The Publisher does not operate scraping infrastructure. The Publisher does not store or retain data returned by the Actor.
  • Third-Party API Provider: An independent third-party company that operates the scraping infrastructure and returns data from the source platform. The provider is responsible for the lawfulness of the data collection itself.
  • Source Platform: Instagram (the platform whose publicly visible data is accessed).

Your relationship with the Publisher is that of a software user to a software vendor. The Publisher has the responsibilities of a software vendor (functional code, accurate documentation) and the limits of one (the Publisher is not responsible for how you use the data you obtain).

These Terms operate alongside but do not replace:

  • Apify's Terms of Service and Acceptable Use Policy
  • Source Platform terms (Instagram) governing the public data accessed
  • Applicable law in your jurisdiction and the jurisdictions of data subjects

1. Nature of the service

The Actor is a software program published on the Apify platform. It accepts structured input, translates that input into requests to a third-party data provider, receives responses, and returns the data to you in a structured format. The Actor's source code is hosted on Apify's infrastructure. The Actor runs in Apify's cloud, not on the Publisher's servers.

The Actor is not:

  • A scraping tool - the Publisher does not operate scraping infrastructure, proxies, headless browsers, or fake accounts
  • A direct connection to Instagram - that connection is made by the Third-Party API Provider
  • A data storage or data retention service
  • A licensed access channel to Instagram or Meta
  • Affiliated with, endorsed by, sponsored by, or authorized by Instagram or Meta

The Publisher's role is limited to designing and writing the Actor's source code, publishing it on the Apify Store, maintaining it, and providing documentation and customer support via Apify's contact mechanism. The Publisher is a software vendor, similar to a developer who publishes an app on the App Store or Google Play. The Publisher is not a data provider, data broker, data processor, or data controller for purposes of GDPR, CCPA, Israel's Privacy Protection Law, or equivalent.

2. Who may use the Actor

You may use the Actor only if you are at least 18 years old (or the age of majority in your jurisdiction), you have legal capacity to enter into binding contracts, you are not located in or resident of a country subject to comprehensive sanctions by the United States, European Union, United Kingdom, or Israel, and you are not on any prohibited persons list.

By using the Actor, you represent and warrant that your intended use complies with applicable law in your jurisdiction, that you will independently comply with Instagram's Terms of Service, that you will respect data subject rights under applicable law where outputs include personal data, and that you will not use the Actor for any prohibited purpose listed below.

3. Permitted uses

The Actor may be used for any lawful purpose, including market research and competitive analysis, academic research, journalism and investigative reporting, internal business intelligence, brand monitoring, recruitment research where consistent with applicable employment law, and building products that further process publicly available information lawfully.

4. Prohibited uses

You may not use the Actor for any of the following:

  • Activity illegal under the law of your jurisdiction or the jurisdiction of any data subjects.
  • Harassment, stalking, doxxing, or tracking individuals without their knowledge.
  • Discriminatory employment, lending, housing, or insurance decisions based on protected characteristics.
  • Sending unsolicited marketing in violation of CAN-SPAM, CASL, GDPR, PECR, Israeli Anti-Spam Law, or equivalent.
  • Identity theft, impersonation, fake reviews / coordinated inauthentic behavior, election interference, or securities fraud.
  • Circumventing technical protection measures of Instagram, creating fake accounts, engagement manipulation, or building services that competitively substitute for Instagram.
  • Reselling raw Actor outputs as your own data product or scraping-as-a-service. Sharing your Apify credentials to provide third parties indirect access.
  • Using Actor outputs as training data for commercial AI/ML models without separate licensing.
  • Specifically targeting or profiling based on health conditions, sexual orientation, religious beliefs, political opinions, or other sensitive characteristics. Targeting children under 16.
  • Processing personal data of EU/UK/California/Israeli residents without complying with applicable privacy law. Failing to honor data subject access, deletion, or objection requests.

5. Source platform terms - your responsibility

The Actor accesses publicly visible data on Instagram. You are solely responsible for ensuring your downstream use of data obtained through the Actor complies with Instagram's Terms of Service: https://help.instagram.com/581066165581870

The Publisher makes no representation that any specific use is permitted under Instagram's terms. If you receive a cease-and-desist or other legal demand regarding your use of Actor outputs, you must cease the contested use immediately, notify the Publisher within 48 hours via the Apify profile contact form, and cooperate as needed to mitigate.

6. Data protection

For purposes of GDPR, UK GDPR, CCPA, Israel's Privacy Protection Law (PPL) including Amendment 13, and equivalents:

  • You (the User) are the Data Controller of any personal data you obtain through the Actor and subsequently process for your own purposes.
  • The Third-Party API Provider that performs the collection bears responsibilities relating to the collection itself.
  • The Publisher acts solely as a software vendor, not as a data controller or processor, because the Publisher does not store, retain, or substantively process personal data.

The Publisher confirms: no database of personal data obtained through the Actor is maintained; data flows from the Third-Party API Provider directly through the Apify runtime to you; Apify's standard execution and operational logging is governed by Apify's own privacy practices.

Where your use of the Actor involves processing personal data, you are responsible for establishing a lawful basis, providing transparent notice to data subjects, honoring data subject access / rectification / erasure / restriction / portability requests, implementing appropriate security measures, conducting Data Protection Impact Assessments where required, and any cross-border transfer safeguards required by your law.

You will not use the Actor to target, profile, or build datasets focused on health or medical conditions, religious beliefs, political opinions, sexual orientation or gender identity, genetic or biometric data, criminal history, or children under 16.

7. Intellectual property

The Actor's source code, schemas, documentation, and branding are owned by the Publisher. You receive a limited, non-exclusive, non-transferable, revocable license to use the Actor for permitted purposes.

The Publisher claims no ownership over the public data the Actor returns. Source Platforms may have copyright or database rights in their data; data subjects may have copyright in user-generated content. Your use of output data must respect these rights independently. You may not reverse engineer or decompile the Actor's code, or reuse it in a competing actor.

8. Pricing

Pricing is administered through Apify's pricing models. Apify processes all payments. Apify's payment terms govern refunds and disputes. The Publisher may change Actor pricing with at least 14 days' notice via the Actor's Apify listing. If your access is suspended or terminated for breach of these Terms, you forfeit any unused balance and are not entitled to refunds.

9. Service availability

The Actor depends on the Apify platform, the underlying upstream data provider, and Instagram's continued public accessibility. Any of these may change behavior, restrict access, or become unavailable without notice. The Publisher makes no uptime guarantees and may discontinue the Actor at any time, with reasonable notice when feasible.

10. Disclaimers

THE ACTOR IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTIES OF ANY KIND, INCLUDING WARRANTIES OF MERCHANTABILITY, FITNESS FOR PURPOSE, NON-INFRINGEMENT, OR ACCURACY OF DATA. The Publisher makes no representation that your specific use of the Actor or the data it returns is lawful in your jurisdiction or under Instagram's terms. Content returned by the Actor was created by third parties; the Publisher does not endorse, verify, or take responsibility for it.

11. Limitation of liability

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL THE AGGREGATE LIABILITY OF THE PUBLISHER FOR ALL CLAIMS RELATING TO THE ACTOR EXCEED THE GREATER OF (a) ONE HUNDRED U.S. DOLLARS (US $100), OR (b) THE AMOUNTS YOU PAID THROUGH APIFY FOR USE OF THE ACTOR IN THE THREE (3) MONTHS IMMEDIATELY PRECEDING THE EVENT. THE PUBLISHER IS NOT LIABLE FOR INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, OR FOR LOSS OF PROFITS, REVENUE, OR DATA. Any claim must be brought within one (1) year of the event.

12. Indemnification

You agree to defend, indemnify, and hold harmless the Publisher from any claims arising from your use of the Actor, your violation of these Terms, your violation of any law (including privacy law), your violation of Instagram's Terms of Service, or your processing of personal data obtained through the Actor.

13. Suspension and termination

The Publisher may terminate your access for material breach, illegal use, breach of warranty, or upon credible legal demand. You may stop using the Actor at any time.

14. Dispute resolution

Send a detailed written description of any dispute via the Publisher's Apify profile contact form and wait 60 days for resolution attempt before any formal claim. These Terms are governed by the substantive laws of the State of Israel. Any dispute shall be brought exclusively in the competent civil courts of Tel Aviv-Jaffa, Israel. You agree to bring claims only in your individual capacity. The prevailing party recovers reasonable attorneys' fees.

15. Miscellaneous

These Terms (with the addendum below) are the entire agreement. Unenforceable provisions are severed. You may not assign without the Publisher's consent. Neither party is liable for failure due to events beyond reasonable control. Apify is an intended third-party beneficiary of Sections 4, 5, and 12. Sections 0, 4, 5, 6, 7, 10, 11, 12, 14, and 15 survive termination. English controls. The Publisher's full legal identity may be disclosed upon receipt of valid legal process directed through Apify's official channels.


Actor-Specific Addendum

This addendum supplements the Terms above. By running this Actor, you accept both.

A. Nature of data returned

This Actor returns unified output combining posts and reels for an Instagram profile. Each item includes media identity (shortcode, URL), media type (photo / video / carousel / reel), caption text (when available - posts always have it, reels do not unless enrichment is on), engagement metrics (likes, comments, plays for video / reels), video URLs, thumbnail URLs, dimensions, duration, branded-content flags, and owner identity (handle, name, verification status). Note: play counts are Instagram-only and do not include Facebook cross-post views.

Where the output includes individuals' names, photos, or content authored by them, that data constitutes personal data subject to GDPR, CCPA, Israeli Privacy Protection Law (including Amendment 13), and equivalent privacy laws in your downstream processing - but only in your hands as the data controller, not the Publisher's.

B. Specifically prohibited uses

In addition to the prohibitions in the Terms above, you may NOT:

  • Republish creator content as your own on Instagram, TikTok, or any other platform
  • Download videos at scale to host on competing platforms or facilitate piracy
  • Train commercial AI / LLM models on Instagram content without proper licensing
  • Build mass-DM tools targeting commenters or engagers identified through this data
  • Mass-extract content from minor creators
  • Aggregate posts across many profiles to build a comprehensive Instagram content database for resale (data broker activity)
  • Strip creator attribution before redistribution
  • Use posts to identify and harass creators
  • Build deep-fake training datasets from creator face / voice footage in videos

C. Platform terms

Meta has aggressively litigated against Instagram scrapers. Instagram's Terms of Service explicitly prohibit automated extraction. This Actor accesses publicly visible Instagram content via a third-party data provider that bears responsibility for the lawfulness of the data collection. Your downstream use must independently comply with Instagram's Terms. If Meta issues a cease-and-desist regarding data obtained via this Actor, notify the Publisher within 48 hours via the Apify profile contact form and cease your use immediately.

D. Minor protection - CRITICAL

Instagram has significant under-18 user populations. Many creators do not disclose age. You MUST:

  • NOT use this Actor to scrape content of users you know or suspect are minors
  • NOT use this Actor for any product or service targeted at minors without parental consent mechanisms compliant with COPPA (US), GDPR Article 8 (EU), and Israeli Privacy Law
  • DELETE any data you discover relates to a minor unless you have valid parental consent
  • If profile metadata or content suggests the subject is under 18 (school references, age-related hashtags, parental "manage account" notes), treat the profile as belonging to a minor by default

Minor-data and likeness-protection violations carry the highest regulatory penalties under COPPA, GDPR Article 8, Illinois BIPA, and Israeli Privacy Law.

Instagram content is multi-layered copyright: images by the creator; videos by the creator AND any music rights holders separately; captions by the creator; filters and effects subject to Meta's platform license.

You may use this content for analysis (typically fair use), quoted excerpts with attribution (typically fair use), and aggregated metrics (no copyright issue). You may NOT republish full content as your own, train commercial AI without proper licensing, strip creator attribution, or use content to create competing platforms. For anything beyond analysis or attributed quotation, get explicit licensing from the creator and any music / IP rights holders.

F. AI training - special notice

Instagram's Terms of Service explicitly prohibit using Instagram data to train AI / ML models without Meta's authorization. Both captions AND visual content fall under this restriction. The Publisher does NOT authorize, and has no ability to authorize, AI training use. Your AI training use is your own legal exposure. Get proper licensing or do not train on this data.

G. Play count caveat - disclosure to your users

Play counts returned for reels are Instagram-only. When a reel is cross-posted to Facebook, the in-app view count shows combined IG + FB views, but this Actor returns only the Instagram portion. If you redistribute play-count data to your users, you MUST disclose this. Otherwise creators will dispute your numbers against their in-app stats and your product credibility erodes.

H. Cross-platform aggregation limit

Do NOT aggregate Instagram data with Facebook, LinkedIn, TikTok, X / Twitter, or other personal data to build comprehensive cross-platform identity profiles of named individuals. Cross-platform aggregation multiplies the personal data risk, triggers heightened scrutiny under GDPR, and creates "people search" / "data broker" profiles that the California Delete Act, GDPR Article 14, and Israeli Privacy Law Amendment 13 specifically target.

I. Cease-and-desist protocol

If Meta contacts the Publisher regarding your use, the Publisher will notify Apify, may suspend access to this Actor pending investigation, and you agree to provide documentation of your lawful basis and processing activities upon reasonable request. If a creator contacts you directly demanding deletion of their content data, honor the request promptly (typically within 30 days under GDPR), do not route them to the Publisher (the Publisher is the software vendor, not the data controller), and document the request and your response.


These Terms are not a substitute for legal advice. Consult qualified counsel before any commercial deployment.