Meta Ads Competitor Intelligence Report avatar

Meta Ads Competitor Intelligence Report

Pricing

from $0.49 / completed ad intelligence report

Go to Apify Store
Meta Ads Competitor Intelligence Report

Meta Ads Competitor Intelligence Report

Turn Facebook / Meta Ads Library scraper datasets into weekly competitor intelligence reports. Generate a client-ready Markdown report, JSON summary, and CSV evidence export with top advertisers, offer-angle signals, CTA domains, and traceable ad IDs.

Pricing

from $0.49 / completed ad intelligence report

Rating

0.0

(0)

Developer

Juyeop Park

Juyeop Park

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

4 days ago

Last modified

Share

Turn Facebook / Meta Ads Library scraper results into a client-ready weekly competitor intelligence package for brands, agencies, and growth teams.

This Actor does not scrape Meta directly. It analyzes rows from a Meta Ads Library scraper run, dataset, or inline export and produces:

  • REPORT / report.md — a human-readable competitor ad intelligence report
  • OUTPUT / summary.json — a structured JSON summary for automation
  • ADS_CSV / ads.csv — a traceable CSV evidence export
  • One dataset summary row for quick inspection in Apify Console

Get your first report in 3 minutes

This is the reporting layer after a Meta Ads Library scraper. It does not open or scrape Meta itself.

  1. Try the report format first. Click Try and run the built-in Nike / PUMA / New Balance sample rows. This creates an initial snapshot without claiming week-over-week change.

  2. Connect real scraper output. Replace the sample rows with either the default dataset ID or run ID from your Meta Ads Library scraper:

    {
    "reportName": "Weekly competitor ad report - sportswear",
    "datasetId": "YOUR_META_DATASET_ID",
    "maxItems": 500
    }

    Or let this Actor load a scraper run's default dataset:

    {
    "reportName": "Weekly competitor ad report - sportswear",
    "runId": "YOUR_META_SCRAPER_RUN_ID",
    "maxItems": 500
    }
  3. Open the deliverables. Review REPORT for the Markdown brief, OUTPUT for the JSON summary, ADS_CSV for source evidence, and the default dataset for the summary row.

What the $0.49 completed-report event produces

A completed-report event is charged only after the report artifacts are generated successfully. A separate platform-managed Actor start event also applies; see Pricing.

Each completed report includes:

  • a Markdown competitor brief in REPORT
  • a structured automation summary in OUTPUT
  • a traceable source export in ADS_CSV
  • one dataset summary row with report status, counts, top patterns, source IDs, and charge status

Plain-language sample report summary

The summary below condenses metrics from the current built-in three-row sample; it is not a verbatim excerpt of the generated REPORT. Because no baseline was supplied, it is correctly labeled as an initial snapshot.

Initial competitor ad snapshot
Ads captured: 3 active ads across 3 advertisers
Top advertiser: New Balance — 1 captured row, 33.3% share
Top offer angle: Problem / benefit led — 3 captured rows
Repeated term: training — 2 captured rows
CTA domains: newbalance.com, nike.com, us.puma.com
Review next: inspect the top CTA destination and compare offer angles with your campaign plan

The report grounds these statements in source row IDs and evidence URLs. It does not calculate ROAS, spend, conversions, performance lift, or “winning ads.”

Repeat it as a weekly report

  1. Run the same upstream Meta Ads Library scraper for the same competitor set and search criteria.

  2. Use its new dataset as datasetId and last week's dataset as baselineDatasetId:

    {
    "reportName": "Weekly competitor ad change report",
    "datasetId": "CURRENT_META_DATASET_ID",
    "baselineDatasetId": "PREVIOUS_META_DATASET_ID",
    "maxItems": 1000
    }
  3. Use workflow/API for success-based chaining after the upstream scraper succeeds. Use a later Apify Schedule only for time-based follow-up runs.

  4. Save the current dataset ID as next week's baseline. Keep keywords, country, active status, and item limit consistent for a meaningful comparison.

Good fit: agency client briefs, DTC competitor reviews, creative research, and weekly marketing preparation.

Not a fit: direct Meta scraping, real-time alerts, media-spend measurement, ROAS attribution, or conversion-lift claims.

Why this exists

Popular Apify Store Actors sell because they solve a direct workflow with clear inputs: “paste URLs or keywords, get useful data.” Meta ads scrapers already create the raw ad rows; this Actor handles the next paid workflow: turning raw Facebook/Instagram ad data into a repeatable marketing report.

Use it after running a compatible Facebook / Meta Ads Library scraper when you need a weekly deliverable instead of a raw dataset.

What this is for

Good use cases:

  • DTC competitor monitoring — track what brands are actively advertising and what messages repeat.
  • Agency client research — create quick competitor creative briefs before strategy calls.
  • Ad library review workflows — turn Meta scraper datasets into Markdown, JSON, and CSV artifacts.
  • Weekly marketing intelligence — compare a current dataset with a baseline dataset to identify new, removed, and continued ads.
  • Scheduled reporting — run the upstream scraper weekly, then run this Actor with the new dataset and previous baseline.

Key insights included

The report highlights evidence-backed patterns such as:

  • active ad count and advertiser count
  • top advertiser and share of captured ads
  • new / removed / continued ads when a baseline is provided
  • repeated copy and message patterns
  • repeated terms across ad copy
  • offer / angle signals such as promo, launch, demo, proof, benefit, and urgency
  • CTA destination domains and landing URL patterns
  • suggested marketer review actions
  • source IDs and Meta Ad Library evidence URLs

How to use

Option A — analyze a Meta ads dataset

  1. Run a Facebook / Meta Ads Library scraper.
  2. Copy the resulting dataset ID.
  3. Run this Actor with:
{
"reportName": "Weekly competitor ad report - sportswear",
"datasetId": "YOUR_META_DATASET_ID",
"search": {
"keywords": ["Nike", "Puma", "New Balance"],
"country": "US",
"activeStatus": "active"
},
"maxItems": 500
}

Option B — analyze a run ID

{
"reportName": "Weekly competitor ad report",
"runId": "YOUR_META_SCRAPER_RUN_ID",
"maxItems": 500
}

The Actor will load the run's default dataset.

Option C — compare against a baseline

For a weekly change report, provide a current dataset and a previous dataset:

{
"reportName": "Weekly competitor ad change report",
"datasetId": "CURRENT_META_DATASET_ID",
"baselineDatasetId": "PREVIOUS_META_DATASET_ID",
"maxItems": 1000
}

If no baseline is supplied, the output is clearly labeled as an initial snapshot and will not claim week-over-week movement.

Option D — paste inline rows

Use items when you already have exported ad rows or want to test the report format without connecting another dataset.

Pricing

This Actor uses pay-per-event pricing:

  • Actor start: small platform-managed start event
  • Completed report: charged once only after the report artifacts are generated successfully

This keeps pricing simple for weekly monitoring workflows: one run creates one report package.

Important guardrails

  • This Actor analyzes public ad rows supplied by the user or by another scraper output.
  • It does not promise real-time monitoring, unlimited scraping, ROAS, winning ads, spend, conversions, impressions, or performance lift.
  • It does not send emails/DMs, spend ad budget, or contact prospects.
  • TikTok is marked as experimental/fallback only and is not a core source in this MVP.
  • Placement/platform analytics are only meaningful when the source rows contain platform values.

Output records

Dataset summary

The default dataset contains one summary row with fields such as:

  • status
  • reportType
  • reportName
  • totalAds
  • activeAds
  • advertiserCount
  • newAds
  • removedAds
  • topAdvertiser
  • topAdvertiserSharePct
  • topOfferAngle
  • topCtaDomain
  • sourceDatasetId
  • sourceRunId
  • reportChargeStatus

Key-value store records

  • OUTPUT — JSON summary
  • REPORT — Markdown report
  • ADS_CSV — CSV evidence export

Best results

For a sales-ready or client-ready report:

  • use specific competitor brands or Facebook Page IDs in the upstream Meta scraper
  • keep each weekly run's search criteria consistent
  • store the prior week's dataset ID as the next run's baseline
  • review evidence URLs before quoting insights externally
  • tag report rows by offer angle, landing page type, and creative theme for your own playbook

Example workflow

  1. Run a Meta Ads Library scraper for 3–10 competitor brands.
  2. Save the dataset ID.
  3. Run this Actor with the dataset ID.
  4. Download REPORT, OUTPUT, and ADS_CSV.
  5. Next week, use the new dataset as datasetId and the prior dataset as baselineDatasetId.

The result is a repeatable competitor ad intelligence loop instead of one-off manual ad library review.