Instagram Ads Scraper

Scrape Instagram ads from any URL or keyword from the Instagram (Meta) Ads Library. Get data points like media, engagement, captions, and targeting data. The best Instagram Ads API alternative that lets you export, schedule, and integrate data.

Publicly accessible, real-time data from Instagram ads

What data can Instagram Ads Scraper extract?

Scrape ads from any Instagram platform without login or rate limits. Extract structured data using unofficial Instagram Ad APIs. Get clean results in JSON, CSV, Excel, or via API.

Input

Output

[
{
"adId": null,
"pageID": "6815841748",
"pageId": "6815841748",
"endDate": 1730185200,
"inputUrl": "https://www.facebook.com/ads/library/?active_status=all&ad_type=political_and_issue_ads&country=ALL&is_targeted_country=false&media_type=all&publisher_platforms[0]=instagram&search_type=page&view_all_page_id=6815841748",
"isActive": false,
"pageInfo": {
"page": {
"_fromStrapi": true,
"id": "6815841748",
"name": "Barack Obama"
},
"adLibraryUser": null,
"adLibraryPageInfo": {
"pageInfo": {
"hiddenAds": 0,
"hasBlankAds": false,
"relatedPages": [],
"pageIsDeleted": false
}
},
"adLibrarySystemStatus": {
"systemStatus": {
"status": "NO_KNOWN_ISSUES",
"activeIssues": []
}
}
},
"pageName": "Barack Obama",
"gatedType": "ELIGIBLE",
"menuItems": [],
"startDate": 1730098800,
"categories": [
"POLITICAL"
],
"entityType": "person_profile",
"adArchiveID": "1068208845315432",
"adArchiveId": "1068208845315432",
"collationId": "2195727750828998",
"reportCount": null,
"archiveTypes": [],
"isAaaEligible": false,
"isProfilePage": false,
"pageIsDeleted": false,
"collationCount": 43,
"hideDataStatus": "NONE",
"hasUserReported": false,
"totalActiveTime": null,
"endDateFormatted": "2024-10-29T07:00:00.000Z",
"hiddenSafetyData": false,
"publisherPlatform": [
"FACEBOOK",
"INSTAGRAM"
],
"politicalCountries": [
"US"
],
"startDateFormatted": "2024-10-28T07:00:00.000Z",
"stateMediaRunLabel": null,
"regionalRegulationData": {
"finserv": {
"isDeemedFinserv": false,
"isLimitedDelivery": false
},
"twAntiScam": {
"isLimitedDelivery": false
}
},
"containsSensitiveContent": false,
"targetedOrReachedCountries": [],
"containsDigitalCreatedMedia": false
},
{
"adId": null,
"pageID": "6815841748",
"pageId": "6815841748",
"endDate": 1730185200,
"inputUrl": "https://www.facebook.com/ads/library/?active_status=all&ad_type=political_and_issue_ads&country=ALL&is_targeted_country=false&media_type=all&publisher_platforms[0]=instagram&search_type=page&view_all_page_id=6815841748",
"isActive": false,
"pageInfo": {
"page": {
"_fromStrapi": true,
"id": "6815841748",
"name": "Barack Obama"
},
"adLibraryUser": null,
"adLibraryPageInfo": {
"pageInfo": {
"hiddenAds": 0,
"hasBlankAds": false,
"relatedPages": [],
"pageIsDeleted": false
}
},
"adLibrarySystemStatus": {
"systemStatus": {
"status": "NO_KNOWN_ISSUES",
"activeIssues": []
}
}
},
"pageName": "Barack Obama",
"gatedType": "ELIGIBLE",
"menuItems": [],
"startDate": 1730098800,
"categories": [
"POLITICAL"
],
"entityType": "person_profile",
"adArchiveID": "905278001536597",
"adArchiveId": "905278001536597",
"collationId": "2283104208737584",
"reportCount": null,
"archiveTypes": [],
"isAaaEligible": false,
"isProfilePage": false,
"pageIsDeleted": false,
"collationCount": null,
"hideDataStatus": "NONE",
"hasUserReported": false,
"totalActiveTime": null,
"endDateFormatted": "2024-10-29T07:00:00.000Z",
"hiddenSafetyData": false,
"publisherPlatform": [
"FACEBOOK",
"INSTAGRAM"
],
"politicalCountries": [
"US"
],
"startDateFormatted": "2024-10-28T07:00:00.000Z",
"stateMediaRunLabel": null,
"regionalRegulationData": {
"finserv": {
"isDeemedFinserv": false,
"isLimitedDelivery": false
},
"twAntiScam": {
"isLimitedDelivery": false
}
},
"containsSensitiveContent": false,
"targetedOrReachedCountries": [],
"containsDigitalCreatedMedia": false
},
{
"adId": null,
"pageID": "23402039579",
"pageId": "23402039579",
"endDate": null,
"inputUrl": "https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=ALL&is_targeted_country=false&media_type=all&publisher_platforms[0]=instagram&search_type=page&view_all_page_id=23402039579",
"isActive": true,
"pageInfo": {
"page": {
"_fromStrapi": true,
"id": "23402039579",
"name": "CONVERSE"
},
"adLibraryUser": null,
"adLibraryPageInfo": {
"pageInfo": {
"hiddenAds": 0,
"hasBlankAds": false,
"relatedPages": [],
"pageIsDeleted": false
}
},
"adLibrarySystemStatus": {
"systemStatus": {
"status": "NO_KNOWN_ISSUES",
"activeIssues": []
}
}
},
"pageName": "CONVERSE",
"gatedType": null,
"menuItems": [],
"startDate": null,
"categories": [],
"entityType": "brand_page",
"adArchiveID": "3878669552269238",
"adArchiveId": "3878669552269238",
"collationId": null,
"reportCount": null,
"archiveTypes": [],
"isAaaEligible": false,
"isProfilePage": false,
"pageIsDeleted": false,
"collationCount": null,
"hideDataStatus": "NONE",
"hasUserReported": false,
"totalActiveTime": null,
"endDateFormatted": "2026-01-07T08:00:00.000Z",
"hiddenSafetyData": false,
"publisherPlatform": [
"INSTAGRAM"
],
"politicalCountries": [],
"startDateFormatted": "2026-01-05T08:00:00.000Z",
"stateMediaRunLabel": null,
"regionalRegulationData": {
"finserv": {
"isDeemedFinserv": false,
"isLimitedDelivery": false
},
"twAntiScam": {
"isLimitedDelivery": false
}
},
"containsSensitiveContent": false,
"targetedOrReachedCountries": [],
"containsDigitalCreatedMedia": false
},
{
"adId": null,
"pageID": "23402039579",
"pageId": "23402039579",
"endDate": null,
"inputUrl": "https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=ALL&is_targeted_country=false&media_type=all&publisher_platforms[0]=instagram&search_type=page&view_all_page_id=23402039579",
"isActive": true,
"pageInfo": {
"page": {
"_fromStrapi": true,
"id": "23402039579",
"name": "CONVERSE"
},
"adLibraryUser": null,
"adLibraryPageInfo": {
"pageInfo": {
"hiddenAds": 0,
"hasBlankAds": false,
"relatedPages": [],
"pageIsDeleted": false
}
},
"adLibrarySystemStatus": {
"systemStatus": {
"status": "NO_KNOWN_ISSUES",
"activeIssues": []
}
}
},
"pageName": "CONVERSE",
"gatedType": null,
"menuItems": [],
"startDate": null,
"categories": [],
"entityType": "brand_page",
"adArchiveID": "3878669552269238",
"adArchiveId": "3878669552269238",
"collationId": null,
"reportCount": null,
"archiveTypes": [],
"isAaaEligible": false,
"isProfilePage": false,
"pageIsDeleted": false,
"collationCount": null,
"hideDataStatus": "NONE",
"hasUserReported": false,
"totalActiveTime": null,
"endDateFormatted": "2026-01-07T08:00:00.000Z",
"hiddenSafetyData": false,
"publisherPlatform": [
"FACEBOOK",
"INSTAGRAM"
],
"politicalCountries": [],
"startDateFormatted": "2026-01-05T08:00:00.000Z",
"stateMediaRunLabel": null,
"regionalRegulationData": {
"finserv": {
"isDeemedFinserv": false,
"isLimitedDelivery": false
},
"twAntiScam": {
"isLimitedDelivery": false
}
},
"containsSensitiveContent": false,
"targetedOrReachedCountries": [],
"containsDigitalCreatedMedia": false
},
{
"adId": null,
"spend": null,
"pageID": "380039845369159",
"pageId": "380039845369159",
"endDate": 1767772800,
"fevInfo": null,
"currency": "",
"inputUrl": "https://www.facebook.com/ads/library/?active_status=all&ad_type=all&country=ALL&is_targeted_country=false&media_type=all&publisher_platforms[0]=instagram&search_type=page&start_date[min]=2025-01-07&start_date[max]&view_all_page_id=380039845369159",
"isActive": true,
"pageInfo": {
"page": {
"_fromStrapi": true,
"id": "380039845369159",
"name": "SHEIN"
},
"adLibraryUser": null,
"adLibraryPageInfo": {
"pageInfo": {
"hiddenAds": 0,
"hasBlankAds": false,
"relatedPages": [],
"pageIsDeleted": false
}
},
"adLibrarySystemStatus": {
"systemStatus": {
"status": "NO_KNOWN_ISSUES",
"activeIssues": []
}
}
},
"pageName": "SHEIN",
"gatedType": "ELIGIBLE",
"menuItems": [],
"startDate": 1767772800,
"categories": [
"UNKNOWN"
],
"entityType": "person_profile",
"adArchiveID": "2417736712062508",
"adArchiveId": "2417736712062508",
"collationId": "1194877899425288",
"reportCount": null,
"archiveTypes": [],
"isAaaEligible": false,
"isProfilePage": false,
"pageIsDeleted": false,
"reachEstimate": null,
"collationCount": 1,
"hideDataStatus": "NONE",
"hasUserReported": false,
"totalActiveTime": 9722,
"endDateFormatted": "2026-01-07T08:00:00.000Z",
"hiddenSafetyData": false,
"publisherPlatform": [
"FACEBOOK",
"INSTAGRAM",
"AUDIENCE_NETWORK"
],
"politicalCountries": [],
"startDateFormatted": "2026-01-07T08:00:00.000Z",
"stateMediaRunLabel": null,
"impressionsWithIndex": {
"impressionsText": "<100",
"impressionsIndex": 0
},
"regionalRegulationData": {
"finserv": {
"isDeemedFinserv": false,
"isLimitedDelivery": false
},
"twAntiScam": {
"isLimitedDelivery": false
}
},
"containsSensitiveContent": false,
"targetedOrReachedCountries": [],
"containsDigitalCreatedMedia": false
},
{
"adId": null,
"spend": null,
"pageID": "380039845369159",
"pageId": "380039845369159",
"endDate": 1767772800,
"fevInfo": null,
"currency": "",
"inputUrl": "https://www.facebook.com/ads/library/?active_status=all&ad_type=all&country=ALL&is_targeted_country=false&media_type=all&publisher_platforms[0]=instagram&search_type=page&start_date[min]=2025-01-07&start_date[max]&view_all_page_id=380039845369159",
"isActive": true,
"pageInfo": {
"page": {
"_fromStrapi": true,
"id": "380039845369159",
"name": "SHEIN"
},
"adLibraryUser": null,
"adLibraryPageInfo": {
"pageInfo": {
"hiddenAds": 0,
"hasBlankAds": false,
"relatedPages": [],
"pageIsDeleted": false
}
},
"adLibrarySystemStatus": {
"systemStatus": {
"status": "NO_KNOWN_ISSUES",
"activeIssues": []
}
}
},
"pageName": "SHEIN",
"gatedType": "ELIGIBLE",
"menuItems": [],
"startDate": 1767772800,
"categories": [
"UNKNOWN"
],
"entityType": "person_profile",
"adArchiveID": "597853286754995",
"adArchiveId": "597853286754995",
"collationId": "1576924000006512",
"reportCount": null,
"archiveTypes": [],
"isAaaEligible": false,
"isProfilePage": false,
"pageIsDeleted": false,
"reachEstimate": null,
"collationCount": 1,
"hideDataStatus": "NONE",
"hasUserReported": false,
"totalActiveTime": 9361,
"endDateFormatted": "2026-01-07T08:00:00.000Z",
"hiddenSafetyData": false,
"publisherPlatform": [
"FACEBOOK",
"INSTAGRAM",
"AUDIENCE_NETWORK"
],
"politicalCountries": [],
"startDateFormatted": "2026-01-07T08:00:00.000Z",
"stateMediaRunLabel": null,
"impressionsWithIndex": {
"impressionsText": "<100",
"impressionsIndex": 0
},
"regionalRegulationData": {
"finserv": {
"isDeemedFinserv": false,
"isLimitedDelivery": false
},
"twAntiScam": {
"isLimitedDelivery": false
}
},
"containsSensitiveContent": false,
"targetedOrReachedCountries": [],
"containsDigitalCreatedMedia": false
}
]
Range of scraping features

Get real-time and historical Instagram ad data. Easy export to JSON, CSV, Excel, or via API. Automate, schedule, and monitor your scraping runs.

Scalable ad scraping

Scrape a few ads or thousands effortlessly. Perfect for one-time campaigns or ongoing monitoring. With built-in pagination and rate-limit handling, your workflow stays smooth from start to finish.

Automated scheduling and monitoring

Run your scrapers hourly, daily, or on custom intervals - automatically. Get alerts when something fails, retry automatically, and review logs anytime. Automation does the heavy lifting while you focus on insights.

Powered by the Apify platform

Features of Instagram Ads Scraper

We know your use cases — here’s the stack to make them happen.

Flexible ad sourcing

Scrape ads directly from the Instagram Ad Library using advanced options. Filter by country, language, ad type, media type, activity status, and even date range for precise results.

Active, cross-platform, and historical ad tracking

Scrape ads published across Instagram and other Meta platforms: Facebook, Instagram, Messenger, Threads, WhatsApp, and Audience Network. Track campaign history, spot regional trends, and build long-term datasets for performance comparison.

In-depth Instagram advertising intelligence

Retrieve detailed ad data, including advertiser name, ad ID, verified status, total number of ads, start/end dates, and visibility timeframe. Check targeting info, spend indicators, and reach metrics when available.

Complete creative and message analysis

Extract ad elements such as images, videos, carousels, text, CTAs, and even multiple versions of the same campaign. Analyze how brands communicate, test variations, and engage audiences.

How to scrape Instagram ads

Scraping Instagram ad data for your research or marketing projects is quick and simple. You won’t need APIs, start scraping in just a few steps and export your data in any format you need: CSV, JSON, Excel, or via API.

Sign up for an Apify account01

Using your email or GitHub account, create a free account, no credit card required. Your account gives you access to thousands of scrapers.

Get started for free
Find a scraper for scraping Instagram ads02

In Apify Store, search for Facebook Ads Library Scraper.

Find your Instagram API
Head over to Meta Ad Library03

Choose the country, advertisement category, and page name or keyword. Then filter the results by Instagram platform, but also language, activity, media type, timeframe, or even audience size before scraping them.

Paste the URLs from the Meta Ad Library and click "Start"04

Enter the URL of the Meta Ads Library pages you want to scrape, then click “Start.”

Export Instagram advertisement data05

View your data in the UI, or export it into any popular format, like JSON, CSV, Excel, or even via API.

Tutorial on scraping Instagram ads data

Learn how to scrape Facebook and Instagram ads data with this short tutorial video.

Apify video

Frequently asked questions

No, you don’t need to log in. Instagram Ads Scraper extracts publicly available information from the Instagram Ad Library, not personal accounts. As such, no cookies or logins are needed.

Yes, all data is scraped from Instagram Ad Library in real time. Your database can be updated at any time. You can also scrape old or inactive ads.

Yes, Instagram Ads Scraper can extract political ads. Like with any other ad in the Meta Ad Library, just pick the country, select political ads, and you’ll be able to scrape them either by keyword or by a specific page. You’ll get datapoints like ad spend, how long it ran, and more.

Instagram Ads Scraper uses the pay-per-result (PPR) model. You only pay for the dataset items the Actor outputs, not platform usage. Using the Apify Free plan, you can scrape up to 1,000 ads. On the paid Starter plan, you can scrape over 9,800 ads per month. For more on this, check out Instagram Ads Scraper’s pricing tab.

Yes, but you’re relying on the Meta Ads Library search when doing so. The scraper accepts just one URL per run, but if you search for a keyword instead of an ad page, you'll get ads from various pages corresponding to that keyword. Currently, this is the best way to scrape multiple Instagram ad profiles at the same time.

You can see sponsored Instagram posts in the Branded Content part of Meta Ads Library by looking up brands or creators. You can see which posts and reels on Instagram were sponsored. To see a specific creator’s sponsored posts, we recommend you use Instagram Post Scraper.

Yes, Instagram Ads Scraper can be customized. Please contact Apify’s Sales department for more on this. If you have some specific questions about this scraper, we recommend you ask our devs directly by posting your question in the Issues tab.

Once you’ve scraped the data you need, you can download all of it via the overview of your run or via the Storage tab. In either case, click on the button that says Export. Then, select the format of your choice. You can pick from JSON, Excel, and XML, among others.

Yes, currently, you can scrape image and video URLs with Instagram Ads Scraper; you can find them as originalImageUrl, videoSdUrl, and videoHdUrl in your dataset. You can also configure the scraper to extract ads specifically by media type: images, videos, or even memes. Instagram Ad Library has those filters in the Media type section.

If you need to extract the images themselves, you can download them with the Dataset Image Downloader & Uploader. This step will transfer all files to your drive.

Yes, you can scrape Instagram video ads (reels ads) with this scraper. Start by opening the Meta Ad Library and adding a keyword to scrape ads by, for example, "pandas". Alternatively, choose a specific page or brand to scrape from, for example, WWF.

After this step, in the Filters section, choose Instagram as the platform and Videos as the media type. This will show you all the video ads published on Instagram for that page. Now, copy the filtered Ad Library URL and paste it into the Instagram Ads Scraper. The scraper will then extract the video ads for you.

Social media ads are a booming business, and Instagram is a wildly popular platform. Knowing who is advertising what and what they’re spending will give you a good idea of what’s happening in your industry, allowing you to figure out your own market position more easily.

You can view sponsored Instagram posts in the Branded Content section of the Meta Ad Library. Just choose Instagram, search for a brand or creator, and you’ll see which posts and reels were marked as sponsored and when that collaboration was active. If you want to get more details from a specific creator’s sponsored posts or reels, Instagram Post Scraper is a great option because it automates the process and gives you structured data.

At the moment, you can’t browse all sponsored posts on Instagram through the Meta Ad Library. You’ll always need to start from a specific brand or creator to see their sponsored content.

You can find Instagram promotions in the Meta Ad Library, which is Meta’s public database of ads. It includes both active and inactive ads, and you can search by page, keyword, location, ad type, or platform. Since Meta covers multiple platforms, all Instagram ads are stored there as well. You can extract these ads as structured data by using an Instagram Ads scraper.

You can find Instagram ads examples in the Meta Ad Library, which shows both active and inactive ads from any advertiser. Just search for a brand or keyword, then filter the results by platform (Instagram). If you want to save or analyze these ads at scale, you can paste the filtered URL into the Instagram Ads Scraper.

Your biggest marketplace of Instagram APIs

Want more tools for scraping Instagram?

Use our library of over 20 unofficial Instagram APIs to extract exactly the data you need. Each API is tailored for specific scraping tasks.

Instagram Comments Scraper avatar

Instagram Comments Scraper

apify/instagram-comment-scraper

Scrape Instagram comments from posts or reels. Just add one or more Instagram post URLs to get comment text, post and comment IDs, replies, timestamp, owner IDs, usernames, profile pics. Export scraped datasets, run the scraper via API, schedule and monitor runs or integrate with other tools.

User avatar

Apify

26K

3.8

(35)

Instagram API Scraper avatar

Instagram API Scraper

apify/instagram-api-scraper

Scrape and download Instagram posts, profiles, places, hashtags, photos without login. Supports search keywords and URL lists. Download your data as HTML table, JSON, CSV, Excel, XML, and RSS feed.

User avatar

Apify

12K

5.0

(24)

Instagram Followers Count Scraper avatar

Instagram Followers Count Scraper

apify/instagram-followers-count-scraper

Scrape the number of followers & follows from any Instagram profile. Schedule the scraper to run regularly to monitor how the numbers change. You can also export scraped data, run the scraper via API, monitor runs or integrate with other tools.

User avatar

Apify

7.8K

4.8

(14)

Instagram Hashtag Analytics Scraper avatar

Instagram Hashtag Analytics Scraper

apify/instagram-hashtag-analytics-scraper

Extract detailed Instagram hashtag metrics fast. Get total post count, posts per day, top and latest posts, related hashtags (literal and semantic), and their usage frequency. Export scraped stats, run the scraper via API, schedule and monitor runs or integrate with other tools.

User avatar

Apify

2.3K

4.3

(10)

Instagram Search Scraper avatar

Instagram Search Scraper

apify/instagram-search-scraper

Scrape Instagram search results: places, businesses, locations, users, and hashtags. Add a keyword and extract search results like contact details, categories, metrics, recent posts, hashtag popularity. Export scraped data, schedule scraper via API, and integrate with other tools or AI workflows.

User avatar

Apify

5.7K

4.4

(19)

Instagram Topic Scraper avatar

Instagram Topic Scraper

apify/instagram-topic-scraper

Scrape and download Instagram posts based on the topic. Just add one or more Instagram topic URLs. Export scraped datasets, run the scraper via API, schedule and monitor runs or integrate with other tools.

User avatar

Apify

149

5.0

(1)

Integrate Instagram Ads data with apps and platforms

With Apify, you can schedule scrapers automatically and integrate your workflows with over 20 services like Make, n8n, Airtable, Zapier, Google Drive, GitHub, and more. Connect your Apify tasks with cloud services to enhance automation and analytics.

See all integrations

I don't see a situation where you shouldn't use social media scrapers from Apify. Given the cost and quality

Ahmed GaberAhmed Gaber

Ahmed Gaber

Co-Founder & CTO @ Diligent AI

Social media scraping made simple

Get full access to social media APIs for platforms like TikTok, YouTube, BlueSky, X (Twitter), and Mastodon. Extract posts, videos, comments, and insights for analysis, lead generation, or market research. You don’t need to know code, and you get full customization options.

Go to Apify Store

Using Apify has helped us focus on the problem we're trying to solve, and it's been a home run. The infrastructure positions Apify as a unique player in this [scraping] space, especially with their ability to handle the complexities of scraping and data processing.

Ted BensonTed Benson

Ted Benson

Founder @ Steamship

Agent-ready Instagram scraping

All Instagram scrapers support MCP for integration into your AI workflows. Process Instagram data for automation, ad research, or to train your AI models.

Check MCP for Instagram Ads

Ready to start scraping ads?

It only takes minutes to get started, and you’ll be able to extract all the data you need to get ahead.