LinkedIn Ad Library Scraper - Ads, Impressions, Targeting
Pricing
from $0.55 / 1,000 ads
LinkedIn Ad Library Scraper - Ads, Impressions, Targeting
Scrape LinkedIn's public Ad Library by keyword, advertiser, company page, pasted search link, country or date: full ad text, headline, CTA, landing page, images, video, run dates, impressions by country and targeting. No login. $1 per 1,000 ads with full details.
Pricing
from $0.55 / 1,000 ads
Rating
0.0
(0)
Developer
Khandji Omar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
LinkedIn Ad Library Scraper — Ads, Impressions, Targeting
Scrape LinkedIn's public Ad Library by keyword, advertiser, country or date: the full ad text, headline, call to action, landing page, images and video, run dates, estimated impressions with the split by country, and the targeting the advertiser chose (languages, locations, job / company / audience criteria). No login, no cookies. $1 per 1,000 ads with full details, no start fee.
Free tier — 20 results free on every run
The first 20 results of every run are free, on every run you ever make — not a one-off trial. One guard: the free allowance never covers more than half of a run, so the offer stays sustainable.
What does this LinkedIn Ad Library scraper do?
Give it keywords (crm), advertisers (HubSpot), specific ad links, or just a list of
countries. It searches LinkedIn's Ad Library, then opens every ad's detail page so each row
is complete: text, media, landing page, dates, impressions and targeting — the data you
would otherwise copy by hand, ad by ad.
Why use it
- Full details included in the price. Impressions by country, targeting and landing page on every ad, not only the search card. $0.001 per ad, no start fee.
- Competitor B2B ad intelligence. See which messages, offers and formats a competitor has been running, where, for how long and to whom.
- Landing pages with UTM tags. Reveal the campaigns and funnels behind each ad.
- Filters: keyword, advertiser (with optional exact match), countries, date range.
- Never charged for incomplete rows. If LinkedIn refuses an ad's detail page, you still
get the search card, flagged
detailsIncluded: false, and it is not charged. - API, n8n, Make, Zapier and MCP ready.
How to use it in 3 steps
- Click Try for free — a keyword and an advertiser are prefilled.
- Add keywords, advertisers or ad links; optionally countries and dates.
- Click Start and download JSON, CSV or Excel.
Input
| Field | What it does |
|---|---|
searchTerms | Keywords (ad text or advertiser). |
advertisers | Company or person names that paid for the ads. |
exactAdvertiserMatch | Keep only ads whose advertiser name equals yours (drops partners and resellers). |
adUrls | Specific linkedin.com/ad-library/detail/... links or ad IDs. |
startUrls | Pasted LinkedIn links: an Ad Library search link (run again with its filters), a company page like linkedin.com/company/nvidia (every ad of exactly that company), or a single ad link. |
countries | Two-letter codes (US, FR, DE…) where the ads were shown. |
dateRange | All time, last 30 days, this month, this year, last year. |
startDate / endDate | Custom range (YYYY-MM-DD). |
maxAdsPerSearch | 1 to 5,000. Default 50. |
includeDetails | Full details (default on). Off = search cards only, faster. |
maxTotalChargeUsd | Optional hard cost cap for the run. |
{"advertisers": ["HubSpot"],"exactAdvertiserMatch": true,"countries": ["US", "GB"],"dateRange": "last-30-days","maxAdsPerSearch": 200}
Output
Real example (text, video and targeting lists trimmed):
{"adId": "1578467644","adUrl": "https://www.linkedin.com/ad-library/detail/1578467644","advertiser": "Altera","advertiserUrl": "https://www.linkedin.com/company/15226690","format": "Video Ad","text": "Accelerate Design in the AI Era at Altera Innovators Day.\nJoin us on October 28 in San Jose…","headline": "Join us on October 28 in San Jose for a full day of technical sessions, demos, and conversations…","callToAction": "Register","landingUrl": "https://go.altera.com/innovators-day-san-jose-registration?utm_source=linkedin&utm_medium=paid_social&utm_campaign=Raghib-Keynote-alterainnovatorsday2026-sanjose","videoUrl": "https://dms.licdn.com/playlist/vid/v2/…/mp4-720p-30fp-crf28/…","paidBy": "Altera","startDate": "2026-09-28","endDate": "2026-09-29","totalImpressions": "< 1k","impressionsMin": 0,"impressionsMax": 1000,"impressionsByCountry": [{"country": "Japan", "percent": "46%"},{"country": "United States", "percent": "28%"},{"country": "India", "percent": "23%"}],"targetingLanguages": ["English"],"targetingLocations": ["Greater Tokyo Area", "San Francisco Bay Area", "Chennai", "Tel Aviv District", "Israel"],"targetingParameters": {"Job": {"targeted": true, "excluded": false},"Company": {"targeted": false, "excluded": true}},"detailsIncluded": true,"status": "ok"}
How much does it cost?
| Event | Price |
|---|---|
| Ad (with full details) | $0.001 ($1 per 1,000) |
| Start fee | none |
Up to 20 ads of every run are free (at most half of the run). An ad whose details could not be read is delivered but never charged. Paid Apify plans get lower tier prices.
Use cases
- Competitor monitoring — every ad a competitor ran this month, with landing pages.
- B2B ad creative research — hooks, formats and CTAs that run the longest.
- Agency pitches — show a prospect what their competitors spend attention on.
- Market research — who advertises on a topic, in which countries, to which jobs.
Use it from code (API)
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("om_kh/linkedin-ad-library-scraper").call(run_input={"advertisers": ["HubSpot"],"exactAdvertiserMatch": True,"dateRange": "last-30-days",})for ad in client.dataset(run["defaultDatasetId"]).iterate_items():print(ad["startDate"], ad.get("totalImpressions"), ad.get("landingUrl"))
curl -X POST "https://api.apify.com/v2/acts/om_kh~linkedin-ad-library-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"searchTerms": ["crm"], "countries": ["FR"], "maxAdsPerSearch": 24}'
Integrations and MCP
Schedule it weekly per competitor and push new ads to Slack, Google Sheets or Airtable with
n8n, Make or Zapier. AI agents can call it through https://mcp.apify.com as
om_kh/linkedin-ad-library-scraper.
Tips and limits
- Run dates, impressions, country split and targeting are published by LinkedIn for ads shown
in the EU (DSA transparency). Add an EU country (
FR,DE,NL…) to get them; for ads shown only outside the EU these fields are empty — LinkedIn does not publish them. - LinkedIn's advertiser search is fuzzy — use
exactAdvertiserMatchfor one company. - Spend and clicks are not public on LinkedIn, so no scraper can provide them.
FAQ
Do I need a LinkedIn account or cookies? No.
Is it legal? It reads the Ad Library LinkedIn publishes for transparency. Use the data in line with the laws and terms that apply to you.
Related Actors
- Facebook Ads Library Scraper - Copy, Spend, Reach — the same competitors on Meta.
- Google Ads Transparency Scraper - Copy, Spend, Advertiser — their Google ads.
- LinkedIn Company Scraper - Size, Industry, Employee Count — the advertiser's company profile.
Your feedback
Did this Actor save you time? A short review on the Reviews tab helps other people find it, and every review is read. Something missing or broken? Open an issue on the Issues tab: it is answered and fixed fast.