LinkedIn Ad Library Scraper - Competitor Ads & Targeting
Pricing
from $1.90 / 1,000 ad delivered with details
LinkedIn Ad Library Scraper - Competitor Ads & Targeting
Scrape LinkedIn Ad Library ads by advertiser, keyword, payer, country and date: ad copy, advertiser, creative (images, video, carousel, document), CTA, landing page, run dates, impressions and targeting where LinkedIn shows them. Daily only-new mode for competitor alerts. No login.
Pricing
from $1.90 / 1,000 ad delivered with details
Rating
0.0
(0)
Developer
Scrapewise Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
LinkedIn Ad Library Scraper: competitor ads, creatives, run dates, impressions and targeting
LinkedIn Ad Library Scraper collects the ads any company runs on LinkedIn, straight from the public LinkedIn Ad Library, without a LinkedIn account or cookies. Search by advertiser, keyword, payer, country and date, and every ad comes back as one clean row: the full ad copy, the advertiser and who paid for it, the format, the creative (images, video, carousel cards, document, event), the call to action and landing page, and, for ads shown in the EU, the run dates, estimated impressions by country and the targeting the advertiser chose.
It is built for B2B marketers, agencies and founders who watch competitors: see which offers, webinars, reports and free trials a company is pushing right now, which landing pages it sends LinkedIn traffic to, how long each ad runs and which countries and languages it targets. Together with Meta and Google ad libraries it gives a full picture of a competitor's paid social.
At a glance
| What | Price |
|---|---|
| Ad delivered with full details | US$ 2.50 per 1,000 ads (US$ 0.0025 each) |
Ad delivered as a summary row (includeDetails off) | US$ 1.00 per 1,000 ads (US$ 0.001 each) |
| Run start | US$ 0.005 per run |
- 5 competitors with 50 ads each = 250 detailed ads = US$ 0.63 + US$ 0.005.
- Error rows, duplicates and ads already delivered in earlier runs (
onlyNew) are never charged.maxItemscaps each search, and a spending limit set on the run stops it cleanly with everything delivered so far. - No LinkedIn account, no cookies, no extra tools to pay for.
Quick start
All recent ads of one company shown in Germany, with full details:
{"advertisers": ["Adobe"],"countries": ["DE"],"maxItems": 50}
Several competitors, only ads that mention a webinar, last 30 days, any country:
{"advertisers": ["Canva", "Figma"],"searchQueries": ["webinar"],"dateRange": "last-30-days","maxItems": 100}
Daily alert of new ads (run it on a schedule):
{"advertisers": ["Adobe"],"onlyNew": true,"maxItems": 0}
You can also paste search links copied from the Ad Library after setting filters there, or single ad links such as
https://www.linkedin.com/ad-library/detail/1595643974, in startUrls.
Input
| Field | What it does |
|---|---|
advertisers | Company or advertiser names as LinkedIn shows them, one per line. A name also matches the company's showcase pages (for example Adobe returns Adobe, Adobe for Business, Adobe Acrobat and Adobe Creative Cloud). |
searchQueries | Words to find in the ads. Alone, each keyword searches every advertiser; with advertisers, each advertiser is searched with each keyword. |
payer | Only ads paid for by this name (the "Paid for by" line, often an agency or the legal entity). |
countries | 2-letter country codes where the ads were shown (US, DE, GB...). Several codes = any of them. Empty = all countries. |
dateRange | any, last-30-days, current-month, current-year, last-year or custom with startDate and endDate (YYYY-MM-DD). |
startUrls | Ad Library search links or single ad links. |
includeDetails | On (default): every ad with its full detail. Off: faster and cheaper summary rows from the search results. |
maxItems | Ads per search, newest first (default 50; 0 = every ad the search has). |
onlyNew | Remembers the ads delivered before for the same search and delivers only new ones. |
proxyConfiguration | Apify Proxy by default. |
accountOwner, keyword, urls, maxResults and scrapeDetails are accepted too, so inputs written for other
LinkedIn ad tools keep working.
Output
One row per ad (type: ad):
| Field | What it is |
|---|---|
adId, adUrl | Ad Library id and permanent link of the ad |
advertiserName, advertiserCompanyId, advertiserUrl, advertiserLogoUrl | The company page that runs the ad |
paidBy | The "Paid for by" entity (agency or legal entity) |
adFormat, creativeType | Single Image Ad, Video Ad, Carousel Ad, Document Ad, Message Ad, Event Ad, LinkedIn Article Ad... and LinkedIn's own creative code |
isThoughtLeaderAd | The ad promotes a post written by a member on behalf of the company (the company stays the advertiser) |
adText | Full ad copy, line breaks kept |
headline, subheadline | Headline under the creative |
ctaText, ctaButtons | Call to action button(s), for example Learn more, Register, Sign Up |
destinationUrl | Landing page the ad sends people to |
imageUrls | Creative images (carousel cards, document cover and event image included) |
videoUrl, videoThumbnailUrl | Video file in the best resolution offered, and its cover |
carouselCards | Each card of a carousel: title, imageUrl, url |
document | Document ads: title, pageCount, coverImageUrl |
event | Event ads: name, startsAt, organizer, location |
startDate, endDate, daysRunning | When the ad ran (YYYY-MM-DD) and for how many days |
totalImpressions, impressionsMin, impressionsMax | Estimated impressions as LinkedIn shows them (1k-5k) and as numbers |
impressionsByCountry | Share of impressions per country: country, share, sharePercent |
targetingLanguages, targetingLocations, targetingExcludedLocations | Languages and locations the advertiser targeted or excluded |
targeting | Every targeting group LinkedIn lists, with included and excluded values |
targetingParameters | Which audience, company, demographic, education, job and interest targeting was used (targeted, excluded) |
hasEuTransparencyData | True when the ad carries run dates, impressions or targeting |
variantCount | Number of versions of the ad |
detailsIncluded | False for summary rows |
sourceType, sourceQuery, scrapedAt | Which search found the ad and when it was collected |
Run dates, impressions and targeting are published by LinkedIn for ads shown in the European Union. For ads shown
only elsewhere those fields are empty, and hasEuTransparencyData is false.
One real row from the first quick start (lists shortened):
{"type": "ad","adId": "1600920164","adUrl": "https://www.linkedin.com/ad-library/detail/1600920164","advertiserName": "Adobe for Business","advertiserCompanyId": "3509272","advertiserUrl": "https://www.linkedin.com/company/3509272","isThoughtLeaderAd": false,"paidBy": "ADOBE SYSTEMS SOFTWARE IRELAND LIMITED","adFormat": "Single Image Ad","creativeType": "SPONSORED_STATUS_UPDATE","adText": "Von Kostensenkungen über kürzere Zykluszeiten bis hin zu höheren Volumina: KI-Vorreiter holen mehr aus derselben Technologie heraus. Entdeckt die fünf Erfolgsfaktoren, die den Unterschied machen.","headline": "Wie KI-Vorreiter bessere Ergebnisse erzielen.","ctaText": "Mehr erfahren","destinationUrl": "https://business.adobe.com/de/resources/sdk/state-of-ai-readiness.html?sdid=K42KVFY8&mv=social&mv2=paidsoc","imageUrls": ["https://media.licdn.com/dms/image/v2/D4E10AQGP0ZOItAN7Ig/image-shrink_1280/..."],"startDate": "2026-10-16","endDate": "2026-10-21","daysRunning": 6,"totalImpressions": "1k-5k","impressionsMin": 1000,"impressionsMax": 5000,"impressionsByCountry": [{"country": "Germany", "share": "99%", "sharePercent": 99.0},{"country": "France", "share": "< 1%", "sharePercent": null}],"targetingLanguages": ["Deutsch"],"targetingLocations": ["Deutschland"],"targetingParameters": [{"parameter": "Audience", "targeted": true, "excluded": true},{"parameter": "Company", "targeted": false, "excluded": true},{"parameter": "Job", "targeted": true, "excluded": true}],"hasEuTransparencyData": true,"variantCount": 1,"detailsIncluded": true,"sourceType": "advertiser","sourceQuery": "Adobe"}
In the same test run (30 ads from the search plus one ad link): 9 single image ads, 8 carousels, 8 message ads, 4 videos and 2 article ads, all with advertiser, payer and full copy, and 30 of the 31 with run dates, impressions and targeting.
Errors you may see
Every error is a row with errorCode and is never charged:
| errorCode | Meaning |
|---|---|
INVALID_INPUT | A field has a wrong value (country code, date, number) |
INVALID_URL | Not a LinkedIn Ad Library search or ad link |
NO_RESULTS | The Ad Library has no ad for this search and filters; check the advertiser name as LinkedIn shows it |
NOT_FOUND | The ad link does not exist or was removed |
PERSONAL_PROFILE_AD | The ad runs from a personal profile, not from a company page (left out, see below) |
BLOCKED | LinkedIn refused every attempt; run it again in a few minutes |
NOT_REACHED | The run timeout arrived before this search |
Integrations, scheduling and AI agents
- Schedule a daily or weekly run in Apify schedules with
onlyNew: trueto get only the ads your competitors launched since the last run. - Export as JSON, CSV, Excel or XML, or read the dataset from the Apify API.
- Connect it to Make, n8n, Zapier, Slack or Google Sheets through Apify integrations, for example to post every new competitor ad to a channel.
- AI agents: call it as a tool through the Apify MCP server in Claude, ChatGPT, Cursor or any MCP client, for example "get the LinkedIn ads Canva ran in Germany this month and group them by offer and landing page".
FAQ
Do I need a LinkedIn account? No. The Ad Library is public, and everything comes from it without login or cookies.
Which companies can I search? Any company page that ran ads in the last 12 months. Type the name as LinkedIn shows it; the search also returns the company's showcase pages.
Why do some ads have no dates, impressions or targeting? LinkedIn publishes those only for ads shown in the
European Union. Filter by an EU country (DE, FR, NL...) to get them for most ads.
What about ads from personal profiles? Ads that a private person runs from their own profile are left out, free.
Thought leader ads (a member's post promoted by a company) are kept with the company as the advertiser, without the
member's name, photo or profile. In message ads the sender's name is replaced by [sender], and email addresses and
phone numbers in any ad copy are removed.
Is it legal? The Actor reads the public Ad Library only, which LinkedIn publishes for ad transparency. You are responsible for how you use the data under the laws that apply to you.
Something broke or a field is missing? Open an issue on the Actor page; issues are answered within a day.
Limitations
- The Ad Library keeps about 12 months of ads, newest first.
- Impressions are ranges as LinkedIn estimates them, not exact counts.
- For ads with several versions, the row shows the first version and
variantCount. - Message ads have no landing page link in the Ad Library; their CTA text is still delivered.
- The impressions-range and targeting-type filters of the Ad Library website are not inputs yet; filter the dataset
by
impressionsMinortargetingParametersinstead.
Changelog
- 21 Oct 2026: first version: search by advertiser, keyword, payer, country and date, full ad detail with creative, CTA, landing page, run dates, impressions by country and targeting, summary mode and only-new mode.