Building a B2B Competitor Watchlist with the LinkedIn API
A live watchlist closes the 60-day gap of quarterly audits. How to wire the LinkedIn Ad Library plus the LinkedIn API into a daily competitor diff feed.
Most B2B teams audit competitors quarterly. By the time the audit lands, the data is 60 days old. A live B2B competitor watchlist — built on top of the LinkedIn Ad Library and the LinkedIn API — closes that gap to 24 hours and turns competitor research from a project into a feed.
What a watchlist actually is
A watchlist is a list of competitor LinkedIn pages plus a daily diff of their ads. Every morning you get: new ads launched, ads paused, format changes, copy changes. Three signals, one inbox.
Three data sources to wire together
1. LinkedIn Ad Library (creatives)
Scrape (or have an intelligence platform scrape) the Ad Library page for each watchlist brand daily. Capture first-seen and last-seen dates so you can compute diffs.
2. LinkedIn Marketing Developer Platform (your own data)
Even if you only have access to your own ads through the Marketing API, the format taxonomy lets you normalise competitor ads into the same schema. That's how you compare your CTR to a competitor's creative volume.
3. LinkedIn page activity (organic)
The LinkedIn page API exposes organic posts. Pair organic with paid: brands that organic-post heavily about Topic X and then start running paid ads about Topic X within 14 days are signaling a launch.
The diff pipeline
- Snapshot daily. Pull all ads per watchlist brand, store with timestamp.
- Compare to yesterday. Compute added, removed and modified sets.
- Filter for signal. Ignore copy-only edits; flag format changes and new ad-group launches.
- Score. Score each diff: new format = high; new copy variant = medium; new region = high; pause = low.
- Alert. Daily email digest with top 10 signals.
Reference architecture
| Layer | Tool |
|---|---|
| Ingest | AdScrape API (LinkedIn Ad Library coverage) |
| Storage | Postgres (jsonb columns for raw payload) |
| Diff engine | Daily cron, computes set differences |
| Scoring | Rule-based scoring, optional LLM tag pass |
| Alerting | Slack webhook + daily email digest |
Watchlists, prebuilt
AdScrape ships a hosted watchlist feature for the LinkedIn Ad Library — add brands, get the diff in Slack daily. The DIY route is fine for a single analyst; the hosted route is what production teams use.
Put this into practice with AdScrape
Search every active Meta ad, compare brands side-by-side, and pull it all through a clean REST API. Free to start, no credit card required.