Extract only what is new about each competitor since your last run: new Meta and TikTok ads, changed web pages, new and re-priced Shopify products and new jobs, in one plain-language report per competitor. A competitor ads tracker and site monitor in one. $30.00 per 1,000 competitor checks.
Competitors to watch, up to 25 per run. Give each one as its website domain, e.g. 'allbirds.com': the domain is what the Actor uses to find the brand's Facebook page and TikTok advertiser (only accounts whose ads link to that domain), its Shopify product feed, its pages and its job board. A plain brand name such as 'Allbirds' gets no ads and no site checks unless you give it as an object with IDs; with 'jobs' on, its job board is still looked up by name. A competitor is charged once per run when at least one source was searched, whether or not anything new was found (a search that finds no matching account still counts); a competitor where no source could be searched is free. Objects override what is detected, e.g. {"domain": "gymshark.com", "name": "Gymshark", "facebookPageId": "129669023798560", "tiktokAdvertiser": "7210820606949064706", "pages": ["/pages/about-us"], "shopifyStore": "gymshark.com", "careersUrl": "https://careers.gymshark.com"}. 'tiktokAdvertiser' is the advertiser ID from the TikTok Ad Library (adv_biz_ids) or a name to search for.
Type:array
Default:
[]
What to watch
sources
Optional
Sources checked for every competitor: 'meta_ads' (new Facebook and Instagram ads in the Meta Ad Library), 'tiktok_ads' (new ads in the TikTok Ad Library; EU/EEA, UK, Switzerland and Turkey only), 'website' (text changes on the Pages to watch), 'shopify' (new and re-priced products, when the site is a Shopify store) and 'jobs' (new postings on the company's public job board). Example: ["meta_ads", "website", "shopify"].
Type:string[]
Default:
[
"meta_ads",
"website",
"shopify"
]
State key
stateKey
Optional
Name of this watchlist's memory, e.g. 'my-competitors' or 'client-acme'. Every run with the same key reports only what is new since the previous run with that key; use a different key per schedule or client. Letters, digits, '-', '_' and '.' (other characters become '-').
Type:string
Default:default
Pages to watch (paths on each competitor's site)
watchPaths
Optional
Paths checked on every competitor's domain for text changes, e.g. ['/', '/pricing', '/collections/new-arrivals']. Up to 10 pages per competitor in total, including any 'pages' given in a competitor object. Pages that cannot be read are reported, not charged.
Type:array
Default:
[
"/"
]
Meta ads country
metaCountry
Optional
Two-letter ISO code of the country whose active Meta ads are checked, e.g. 'US' or 'GB', or 'ALL' for every country.
Type:string
Default:ALL
TikTok ads country
tiktokCountry
Optional
Country searched in the TikTok Ad Library, which covers only the EU/EEA, the UK, Switzerland and Turkey, e.g. 'GB', 'FR' or 'DE'.
Type:string
Default:GB
Max ads read per competitor and ad library
maxAdsPerCompetitor
Optional
How many of each competitor's most recent ads are read per run and ad library, e.g. 30 (also the maximum: one page of Meta results). Ads already seen are free.
Type:integer
Minimum:10
Maximum:30
Default:30
Max Shopify products per competitor
maxProductsPerCompetitor
Optional
Upper limit of catalogue products compared per store and run, e.g. 5000 (also the maximum, which keeps every run's price above its cost). Larger stores are compared on their first 5,000 products in Shopify's feed order.
Type:integer
Minimum:250
Maximum:5000
Default:5000
Slack webhook URL (optional)
slackWebhookUrl
Optional
Slack incoming-webhook URL, e.g. https://hooks.slack.com/services/T000/B000/XXXX. After a run that found something new, the digest (one line per competitor) is posted there. Leave empty for none.
Type:string
Webhook URL (optional)
webhookUrl
Optional
Any http(s) URL, e.g. a Zapier, Make or n8n webhook that emails or forwards the digest. After a run that found something new it receives JSON with 'text' (the digest), 'stateKey', 'checkedAt', 'newItems' and 'competitors'. Leave empty for none.
Type:string
Proxy for the Meta Ad Library
proxyConfiguration
Optional
Proxy used only for the Meta Ad Library. The default starts on Apify datacenter proxy and switches to residential proxy (included in the price) once Meta rate-limits it.