Competitor Ad Watch avatar

Competitor Ad Watch

Pricing

from $1,000.00 / 1,000 result (one competitor report)s

Go to Apify Store
Competitor Ad Watch

Competitor Ad Watch

Weekly report on up to 10 competitors: new Google ads, example ads and worst app reviews. Schedule it, get a Sheets-ready CSV.

Pricing

from $1,000.00 / 1,000 result (one competitor report)s

Rating

0.0

(0)

Developer

Mokksh Bhatt

Mokksh Bhatt

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Competitor Ad Watch — a weekly report on your competitors' new Google ads and worst app reviews

Give it up to 10 competitors. Once a week it tells you, for each one: how many new Google ads they started, 5 example ads to open, and the 3 worst recent reviews of their Android app. You get one row per competitor, a short summary text, and a CSV that opens in Google Sheets. Set it on an Apify schedule and the report arrives every Monday without you doing anything.

Who uses this: PPC managers and agencies who want to know what a client's rivals are running, e-commerce and app teams tracking competitors, founders who check the market every Monday, sales teams who need a fresh hook for an outreach message.

What you get per competitor

FieldWhat it is
competitor, advertiserName, advertiserIdWho was checked, and the advertiser found in the Google Ads Transparency Center
periodStart, periodEndThe days the report covers
newAdsCountAds first shown in the period
newAdsByFormatThe same count split into text, image and video
adsShownInPeriodAll ads the competitor showed in the period, new and old
countsAreMinimumstrue if the competitor has more ads than the scan limit, so the counts are "at least"
exampleAdLinksUp to 5 links to the newest ads, open them on the Transparency Center
androidAppId, reviewsScanned, lowRatedReviewsTheir app, how many newest reviews were read, and how many are 1 or 2 stars
worstReviewsThe 3 worst recent reviews: rating, text, date, helpful votes, link
summaryOne plain sentence per competitor that you can paste into an email or a chat

The run also saves report.csv (flat columns, one row per competitor, ready for Google Sheets) and summary.txt (one line per competitor) in the Key-value store.

Price

$0.01 per run + $1.00 per competitor report. That is two pay-per-event charges: actor-start ($0.01) and result ($1.00) for each competitor that is found. A competitor that cannot be found is shown in the results and is not charged. A run that Google blocks before it returns any data is not charged. Ten competitors every Monday cost about $43 a month.

How to use

  1. Open the Input tab and add your competitors, one per line. Write a name (Nike, Inc.), or paste the advertiser's Transparency Center link or ID. To add their Android app, write the app ID after a bar: Zomato | com.application.zomato.
  2. Leave Days back at 7 for a weekly report. Click Start.
  3. To run it every Monday: open Schedules in Apify Console, create a schedule with the cron 0 9 * * 1, and add this Actor with the same input. Add the Google Sheets integration to the schedule if you want the rows in a sheet.

Which advertiser does a name pick? Among the advertisers whose name contains your text, the one with the most ads. Paste the advertiser link or ID to be exact.

Input example

{
"competitors": [
"Nike, Inc.",
"Zomato | com.application.zomato",
"https://adstransparency.google.com/advertiser/AR16735076323512287233"
],
"daysBack": 7
}

Output example

{
"status": "ok",
"competitor": "Zomato",
"advertiserName": "zomato limited",
"advertiserId": "AR01028087910781419521",
"transparencyUrl": "https://adstransparency.google.com/advertiser/AR01028087910781419521",
"periodStart": "2026-09-19",
"periodEnd": "2026-09-26",
"newAdsCount": 0,
"newAdsByFormat": { "text": 0, "image": 0, "video": 0 },
"adsShownInPeriod": 2,
"countsAreMinimums": false,
"exampleAdLinks": [],
"androidAppId": "com.application.zomato",
"reviewsScanned": 100,
"lowRatedReviews": 19,
"worstReviews": [
{
"rating": 1,
"text": "pathetic brand...worst customer support",
"date": "2026-09-24",
"thumbsUp": 1,
"url": "https://play.google.com/store/apps/details?id=com.application.zomato&reviewId=ee20fe12-42af-43e7-80e5-95d699462866"
}
],
"generatedAt": "2026-09-26T06:58:16.148Z",
"summary": "zomato limited: 0 new Google ads since 2026-09-19 (0 text, 0 image, 0 video). 2 ads were shown in the period. Of the 100 newest reviews of com.application.zomato, 19 are 1-2 stars. Worst: \"pathetic brand...worst customer support\" (1 star)."
}

The example is shortened: a real report lists up to 3 worst reviews.

Limits

  • Google ads only. The data comes from the public Google Ads Transparency Center. Other ad networks are not included.
  • "New" means first shown on or after the start date, as the Transparency Center reports it.
  • The actor asks Google for up to Max ads to scan ads per competitor (1,000 by default). A very large advertiser can have more. Then countsAreMinimums is true and the counts mean "at least".
  • Reviews come from the 100 newest reviews of the Android app in English for the US store. Only 1 and 2 star reviews count as "worst". Without an app ID there are no review fields.
  • The actor keeps to about 4 requests a second and retries with a pause. If Google still answers with 429, turn on Proxy and choose Residential.

FAQ

Can I watch more than 10 competitors? Run the actor twice with two lists. Each run takes up to 10.

Can I get the report by e-mail or in Slack? Yes. Add an integration to the schedule in Apify Console, or read the dataset through the Apify API.

Is the data public? Yes. Everything comes from public Google pages: the Ads Transparency Center and Google Play. No login and no private data.

Something is wrong. What now? Open an issue on the Issues tab with the competitor and the input you used. Field requests are welcome.

Changelog

  • 0.1 First release: new ads, example ads, worst app reviews, summary, CSV, pay per event.