Instagram Ad Scraper (Premium)
Pricing
$6.00 / 1,000 results
Instagram Ad Scraper (Premium)
Uncover every Instagram ad a brand is running—creatives, copy, CTA, landing URLs, impressions and spend ranges—via the Meta Ad Library. Search by keyword, Facebook Page ID, or Ad Library URL. All results filtered to Instagram placements. Unlimited ads per run. Export to CSV or JSON.
Pricing
$6.00 / 1,000 results
Rating
5.0
(4)
Developer
Shop Intel
Actor stats
5
Bookmarked
82
Total users
2
Monthly active users
15 days ago
Last modified
Categories
Share
Instagram Ads Scraper – Extract Meta Ad Library Ads by Keyword, Brand, or Page ID | Apify Actor
Instagram Ads Scraper extracts active Instagram ads, creatives, copy, timing, and performance metadata from the Meta Ad Library — search by keyword, Facebook Page ID, or custom Ad Library URL and export structured ad data to JSON or CSV.
🧠 Overview
This Instagram Ads Scraper is an Apify Actor built for performance marketers, creative strategists, competitive‑intelligence teams, and agencies that need bulk access to Instagram ad creatives and metadata. Point it at a keyword (like nike), a Facebook Page ID, or a ready‑made Ad Library URL, and the Actor pulls every ad where Instagram is the publisher platform — ad copy, media, CTA, landing URLs, impressions ranges, spend ranges, demographics, and regional targeting (when Meta discloses it). All results stream into the Apify Dataset and a structured OUTPUT JSON, ready for creative research, swipe files, brand monitoring, and competitor ad tracking. No Meta developer account required.
✨ Features
- Extract Instagram ads only, filtered by publisher platform at the API layer.
- Search by keyword, Facebook Page ID, or full Meta Ad Library URL.
- Scrape unlimited ads per run — stop when
maxResultsis reached or the source is exhausted. - Capture ad creative metadata: copy, media URLs, CTA, landing page, start and end dates.
- Harvest performance bands: impressions ranges, spend ranges (when disclosed), and delivery regions.
- Export structured per‑ad JSON to Apify Dataset +
OUTPUTsummary object with run diagnostics. - Monitor run status via
summary.status(SUCCESS/ERROR) and typed error objects. - Automate daily or hourly creative pulls with the Apify scheduler and webhooks.
- Integrate with Google Sheets, Airtable, Notion, Slack, or a data warehouse via the Apify REST API.
- Skip Meta's restricted Ad Library API — no developer app, no tokens, no review process.
🎯 Use Cases
- Competitor Ad Monitoring: Track every Instagram ad your competitors are running right now — copy, creatives, and landing pages — and build a live swipe file.
- Creative Strategy & Swipe Files: Feed an ever‑growing ad library into your creative team's briefs, Notion boards, or Figma canvases.
- Brand Safety & IP Monitoring: Catch counterfeit ads, hijacked brand names, or unauthorized affiliates running Instagram creatives under your trademark.
- Performance Benchmarking: Compare impressions and spend ranges across brands, verticals, and regions to benchmark your own media plans.
- Affiliate & Influencer Research: Identify brands actively advertising on Instagram to pitch influencer, UGC, or affiliate partnerships.
- Political & Public‑Interest Research: Build longitudinal datasets of political or issue‑based Instagram ads for journalism, academia, and NGOs.
⚙️ Input Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
keyword | string | One of three | Brand or search term. | "nike" |
pageId | string | One of three | Numeric Facebook Page ID tied to the brand. | "15087023549" |
url | string | One of three | Full Meta / Facebook Ad Library URL. | "https://www.facebook.com/ads/library/?q=nike&ad_type=all" |
maxResults | integer | Yes | Target number of Instagram ads to collect. | 150 |
📤 Output Example (JSON)
{"metadata": {"adArchiveId": "1234567890123456","pageId": "15087023549","pageName": "Nike","publisherPlatforms": ["INSTAGRAM"]},"ad_content": {"body": "Just Do It. Discover the new Pegasus 41.","title": "Nike Pegasus 41","cta": "Shop Now","landingUrl": "https://www.nike.com/launch/t/pegasus-41","mediaUrls": ["https://scontent.../video.mp4"]},"timing": {"startDate": "2026-03-15","endDate": null,"active": true},"performance": {"impressions": { "lowerBound": 50000, "upperBound": 60000 },"spend": { "lowerBound": 500, "upperBound": 999, "currency": "USD" }},"distribution": {"regions": ["US", "CA", "UK"],"demographics": { "ageRange": "18-34", "gender": "all" }}}
📋 Output Data Schema
Every Instagram ad is returned as a structured object with these top‑level keys:
| Key | Type | Fields |
|---|---|---|
metadata | object | adArchiveId, pageId, pageName, publisherPlatforms |
ad_content | object | body, title, cta, landingUrl, mediaUrls[] |
timing | object | startDate, endDate, active |
performance | object | impressions.lowerBound, impressions.upperBound, spend.lowerBound, spend.upperBound, spend.currency |
distribution | object | regions[], demographics.ageRange, demographics.gender |
status | object | active, adDeliveryStartTime, adDeliveryStopTime |
additional_info | object | Any extra fields Meta exposes for the ad (creative tags, disclaimer, etc.) |
Run‑level OUTPUT also contains summary.status (SUCCESS / ERROR), summary.totalAds, summary.keyword, and timing metadata.
▶️ How to Use
- Run on Apify Console: Open the Instagram Ads Scraper Actor page, click Try for free, enter a keyword (or Page ID or Ad Library URL), set
maxResults, and press Start. - Via API: Trigger runs with the Apify REST API or
ApifyClient, then stream the Dataset into your pipeline. - Via CLI: Run with the Apify CLI:
$apify call scrapeio/instagram-scraper-premium --input='{"keyword":"skincare","maxResults":200}'
🔗 API Example (JavaScript)
const { ApifyClient } = require('apify-client');const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('scrapeio/instagram-scraper-premium').call({keyword: 'skincare',maxResults: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Collected ${items.length} Instagram ads`);console.log(items[0].ad_content);
📈 Why Use This Instagram Ads Scraper?
- Speed & Automation: Pull hundreds of live Instagram creatives in minutes — no manual Ad Library browsing or screenshots.
- Platform‑Filtered Results: The Actor filters at the publisher‑platform layer so you only get Instagram ads, not Facebook Feed or Messenger noise.
- Scale & Reliability: No hard cap on
maxResults; automatic pagination and typed error objects keep large runs predictable. - Three Flexible Entry Points: Keyword, Page ID, or Ad Library URL — whichever matches your existing research workflow.
- Developer Integrations: Apify REST API, webhooks, scheduler, JavaScript + Python SDKs — stream into BI, CRM, Notion, or Slack.
- No Meta Developer Account: Skip the Ad Library API approval process and token lifecycle — start scraping in seconds.
❓ FAQ
Q: Is it legal to scrape the Meta Ad Library? The Meta Ad Library is publicly accessible and designed for transparency. You are responsible for complying with Meta's Terms of Service, local data laws, and responsible use of personal or advertiser data.
Q: Does this include Facebook ads too? No — this Actor is tuned for Instagram publisher placements. Use the companion Meta / Facebook Ad Library Scraper if you need Facebook Feed, Stories, or cross‑platform ads.
Q: Why does my run return an empty Dataset?
Try broader keywords, switch to country=ALL in a custom url, or check that the brand actually runs ads on Instagram via the Meta Ad Library UI.
Q: Does it support proxies? Yes. The Actor can be configured with Apify Proxy for stable high‑volume runs.
Q: What output formats are supported?
Dataset exports to CSV, JSON, Excel, XML, and HTML. The OUTPUT key‑value store holds a full JSON summary plus the ad array.
Q: How do I scale to thousands of ads?
Raise maxResults and combine multiple runs with the scheduler. Large brands can easily yield thousands of creatives across regions.
Q: Will I get video and image URLs?
Yes, when Meta exposes them — ad_content.mediaUrls returns direct links to the creative assets shown in the Ad Library preview.
Q: Can I get impressions and spend? Yes, as ranges (lower/upper bounds), mirroring what Meta discloses publicly. Exact numbers are not shared by Meta.
📣 Start Scraping Instagram Ads Today
Run the Instagram Ads Scraper on Apify now → and turn any brand or keyword into a live feed of Instagram ad creatives, copy, and performance metadata.
🔗 Related Scrapers by ScrapeIO
Build cross‑platform ad‑intelligence pipelines with these companion Apify Actors:
- Facebook Ad Library Scraper — full Meta ads by keyword, Page ID, or URL.
- WhatsApp Ads Scraper — Click‑to‑WhatsApp ad intelligence.
- Facebook Ad Library Brand Finder — resolve brand names to verified Page IDs.
- Google Maps Scraper — local businesses, reviews, and contacts.
- Amazon Multi‑Marketplace Scraper — ASINs, prices, and rankings across 23 regions.
- Google News Scraper — headlines, sources, and publisher links by keyword.
- YouTube Video Downloader — download videos or audio to cloud storage.
FastAd — automation & growth tooling.