LinkedIn Ad Library Scraper: Ads, Impressions & Targeting
Pricing
Pay per event
Pricing
Pay per event
Rating
0.0
(0)
Developer
Plain Signal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
What does LinkedIn Ad Library Scraper do?
LinkedIn Ad Library Scraper extracts the ads any company runs on LinkedIn from the public LinkedIn Ad Library: single image, video, carousel, document, article, message (InMail), event and job ads, searchable by company name, website, LinkedIn company URL or keyword.
For every ad you get the full ad text, headline, call to action and landing page (with its UTM parameters), the image, video or carousel cards, who paid for it and, for ads shown in the EU, run dates, total impressions, impressions by country and the targeting the advertiser chose. Clean JSON, CSV or Excel. No LinkedIn account or cookies needed.
- 🎯 Exact advertiser:
HubSpot,hubspot.comorlinkedin.com/company/hubspotall return HubSpot's own ads, not the ads of every partner with "HubSpot" in its name. - 📊 Impressions and targeting: impression ranges as numbers (
impressionsMin,impressionsMax), country shares, and targeted locations, languages and criteria. - 🔗 Campaign tracking: landing URL (LinkedIn
lnkd.inshort links resolved), landing domain and parsedutm_*parameters show which campaigns and funnels an ad belongs to. - 🔔 Monitor mode: schedule it and get only competitors' new ads on every run.
- ✅ Advertiser check: one row per company: does it run LinkedIn ads, how many in the last 30 days, which formats.
What can I use it for?
- 🕵️ B2B competitor research: see every offer, webinar, whitepaper and message your competitors push to your buyers, and how much reach each ad got.
- 📝 Ad copy swipe files: collect hundreds of real B2B ads in your niche as a spreadsheet, or feed them to an LLM to draft your own.
- 🎯 Lead generation: check a list of companies and find the ones spending on LinkedIn ads, a strong signal for agencies, SaaS sales and B2B marketers.
- 🔔 Alerts: get a Slack message or email when a competitor launches new LinkedIn ads.
- 🌍 Market research: search by keyword (e.g.
crm software,webinar) and country to see who advertises in a category.
How to use it
- Enter one or more companies: names (
HubSpot), websites (hubspot.com), LinkedIn company URLs or company IDs. Or enter keywords to find ads from any advertiser. - Optionally pick a country and a date range.
- Click Start. Download the results as JSON, CSV or Excel, or get them through the API.
Advertiser check (lead lists)
Set Mode to Advertiser check and paste a list of companies or websites. You get one row per company with isAdvertising, the number of ads in the last 30 days (adsLast30Days, up to 100), the formats used and links to sample ads.
Get alerts for new ads (monitor mode)
Set Monitor name (e.g. competitors) and schedule the Actor daily or weekly. Each run then returns only ads it hasn't returned before under that name. Connect it to Slack, email, Google Sheets, Make, Zapier or n8n through Apify integrations.
Input example
{"companies": ["HubSpot", "salesforce.com", "https://www.linkedin.com/company/pipedrive"],"keywords": ["crm software"],"country": "DE","dateRange": "last-30-days","maxAdsPerSearch": 100}
Output example
A real ad from a run on 2026-10-02 (country shares shortened):
{"adId": "1515543043","advertiserName": "HubSpot","advertiserId": "68529","advertiserUrl": "https://www.linkedin.com/company/68529","paidBy": "HubSpot, Inc.","format": "IMAGE","formatLabel": "Single Image Ad","postedBy": null,"headline": "Kostenlos anmelden","adText": "Pipeline-Problem erkannt, Kampagne gestartet: in Minuten. Live-Demo mit HubSpot am 30. Sept.","callToAction": "Mehr erfahren","landingUrl": "https://hubs.la/Q04vVMsQ0?utm_campaign=EMEA&utm_source=linkedin&utm_medium=paid&utm_id=805100113&hsa_acc=517582366&...","landingDomain": "hubs.la","utm": {"campaign": "EMEA", "source": "linkedin", "medium": "paid", "id": "805100113"},"imageUrl": "https://media.licdn.com/dms/image/v2/D4D10AQFBkzQOBRPWCw/image-shrink_1280/...","videoUrl": null,"carousel": [],"document": null,"firstShown": "2026-09-01","lastShown": "2026-09-29","impressions": "100k-150k","impressionsMin": 100000,"impressionsMax": 150000,"impressionsByCountry": [{"country": "Germany", "percent": 65, "label": "65%"},{"country": "Switzerland", "percent": 18, "label": "18%"},{"country": "Austria", "percent": 17, "label": "17%"}],"targeting": {"Language": {"includes": ["Deutsch"], "excludes": []},"Location": {"includes": ["Deutschland", "Österreich und die Schweiz"], "excludes": []}},"targetedBy": ["Audience", "Company", "Job"],"excludedBy": ["Audience", "Company"],"adUrl": "https://www.linkedin.com/ad-library/detail/1515543043","searchInput": "HubSpot","country": "DE","scrapedAt": "2026-10-02T09:07:22+00:00"}
Video ads also have videoUrl (MP4) and a thumbnail in imageUrl; carousel ads list their cards in carousel; document ads have the document title and page count in document.
How much does it cost?
$0.002 per ad ($2 per 1,000 ads) with all details. $0.001 per ad with Include ad details turned off (text preview and image only). $0.003 per company in advertiser-check mode. No monthly fee, and you only pay for results.
| Use case | Results | Cost |
|---|---|---|
| One competitor, 100 latest ads | 100 | $0.20 |
| 10 competitors × 200 ads | 2,000 | $4.00 |
| Advertiser check for 500 companies | 500 | $1.50 |
| Weekly monitor of 5 competitors, ~30 new ads a week | ~120/month | ~$0.24/month |
Set Max results in total to cap the cost of a run.
Good to know
- Run dates, impressions and targeting are published by LinkedIn for ads shown in the EU (Digital Services Act). For ads shown only outside the EU these fields are empty; the ad text, creative, advertiser, payer and landing page are always there.
- Which advertiser is used for a name or website? The advertiser whose name matches exactly (legal suffixes like Inc. or GmbH are ignored), for websites first the full domain (
monday.com), then the name (monday). The run log says which LinkedIn company was used. If no advertiser has exactly that name, you get no ads (orisAdvertising: false) rather than a look-alike company, and the run log lists similar advertiser names: use one of them or the LinkedIn company URL. - Thought-leader ads: ads a company runs through an employee's post have the company as advertiser and the employee's name in
postedBy. - Message ads contain LinkedIn's placeholders such as
%FIRSTNAME%. - Coverage: the Ad Library lists ads that ran on LinkedIn in the past year. Newest ads come first.
- Speed: about 150 ads with details per minute.
- The Actor reads public data only, doesn't log in and doesn't use cookies.
FAQ
Why are there fewer ads than I asked for? The advertiser has no more ads for your filters (country, dates). Try All countries and All dates.
Can I search ads by payer or for several countries at once? Run one search per country; enter companies or keywords, and filter paidBy in the results.
Something's wrong or missing? Open an issue on the Issues tab. Requests are welcome.