LinkedIn Ad Library Scraper
Pricing
from $2.00 / 1,000 ad scrapeds
LinkedIn Ad Library Scraper
Extract every ad a company runs on LinkedIn from the public Ad Library: ad copy, creative, headline, destination URL, run dates, estimated impressions per country and the advertiser's targeting. Search by advertiser or keyword.
Pricing
from $2.00 / 1,000 ad scrapeds
Rating
0.0
(0)
Developer
PulseData
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
3
Monthly active users
an hour ago
Last modified
Categories
Share
This actor extracts the ads a company runs on LinkedIn from the public LinkedIn Ad Library: ad copy, creative, headline, destination URL, run dates, estimated impressions per country and the targeting the advertiser selected. You search by advertiser, payer, keyword, Ad Library search URL or single ad ID, and get one JSON item per ad. It costs $2 per 1,000 ads, plus $3 per 1,000 ads for the detail page when includeDetails is on, plus $0.01 per run. Turn details off to pay only for the ads.
No LinkedIn account or cookies are needed. The Ad Library is public and the actor never logs in.
Features
- Scrape all LinkedIn ads of a company by advertiser page name.
- Find every LinkedIn ad paid for by a company group with
matchBy: payer, which catches subsidiaries whose ads the parent pays for. - Search LinkedIn ads by keyword in the ad text.
- See LinkedIn ad targeting and impressions per country for ads under the EU transparency rules.
- Filter LinkedIn ads by country and date range: last 30 days, this month, this year, last year or a custom range.
- Export LinkedIn Ad Library data to CSV, Excel or JSON through the Apify dataset.
Use cases
- B2B competitor research: every creative a competitor runs, how long each ran, and which countries got the impressions.
- Audience research: LinkedIn discloses whether the advertiser targeted by company, job, education, demographics or interests, plus the language and locations, including exclusions.
- Ad copy and creative research: full ad text and image assets for swipe files or LLM analysis.
- Agency pitches: bring the prospect's current LinkedIn ads, run dates and reach to the meeting.
- Lead generation: check which companies advertise on LinkedIn at all. Pass a list of names and set
maxAdsPerQueryto 1. - Brand monitoring: catch ads that mention your brand with
matchBy: keyword.
Input
{"queries": ["Salesforce"],"matchBy": "payer","countryCode": "de","dateOption": "last-30-days","maxAdsPerQuery": 200,"includeDetails": true}
| Field | Type | Default | Meaning |
|---|---|---|---|
queries | array | (required) | Advertiser names, keywords, Ad Library search URLs, ad URLs or bare ad IDs, one per line |
matchBy | select | advertiser | advertiser (the LinkedIn page running the ad), payer (the entity that paid) or keyword (the ad text) |
countryCode | string | empty | ISO code such as us, de, gb. Empty means all countries |
dateOption | select | any time | last-30-days, current-month, current-year, last-year or custom-date-range |
startDate, endDate | date | empty | YYYY-MM-DD, used with the custom range |
maxAdsPerQuery | integer | 100 | 0 means no limit |
includeDetails | boolean | true | Opens each ad's detail page for impressions, targeting, full copy and destination URL |
proxyConfiguration | object | Apify Unblocker | Leave as is unless you know your proxies get through |
An Ad Library search URL you built in the browser is used with its filters as given.
Output
One item per ad:
{"query": "Zalando SE","adId": "1552638623","url": "https://www.linkedin.com/ad-library/detail/1552638623","advertiserName": "ZEOS","advertiserProfileUrl": "https://www.linkedin.com/company/112941442","advertiserCompanyId": "112941442","paidBy": "Zalando SE","adType": "Single Image Ad","commentary": "What future is business creating today? Join our live session on loyalty in the agentic era.","headline": "90 minutes, live online","destinationUrl": "https://zeos.eu/loyalty-in-the-agentic-era","imageUrls": ["https://media.licdn.com/dms/image/..."],"availabilityText": "Ran from Jun 19, 2026 to Jul 6, 2026","firstShown": "2026-06-19","lastShown": "2026-07-06","totalImpressions": "5k-10k","impressionsLow": 5000,"impressionsHigh": 10000,"impressionsByCountry": [{ "country": "United Kingdom", "sharePercent": 18 },{ "country": "Germany", "sharePercent": 15 }],"topCountry": "United Kingdom","targeting": {"language": "Targeting includes English","location": "Targeting includes European Union | Targeting excludes Kazakhstan, India, Russia","parameters": [{ "parameter": "Company", "targeted": true, "excluded": false },{ "parameter": "Job", "targeted": true, "excluded": false }]},"hasTransparencyData": true,"scrapedAt": "2026-09-25T08:00:00.000Z"}
Items also include advertiserLogoUrl, creativeType and a detailed flag. The keys inside targeting follow the headings LinkedIn shows on the ad, so they can vary. Without includeDetails you get the card data only: advertiser, ad type, copy as shown on the card, headline and images.
What LinkedIn publishes
LinkedIn shows the ad itself for every ad in the library, but impressions, run dates and targeting only for ads that fall under the EU transparency rules. A US-only campaign usually has an "About the ad" box and nothing else. hasTransparencyData tells you which case you have. If you mainly want impressions and targeting, set a European countryCode.
Pricing
| Event | Price |
|---|---|
ad-scraped, per ad returned | $0.002 |
ad-detail-scraped, per ad detail page loaded (only with includeDetails on) | $0.003 |
apify-actor-start, per run | $0.01 (charged again per GB of memory above 1 GB) |
The detail event is charged once for every ad whose detail page loads, whether or not LinkedIn publishes impressions and targeting for it, because the page has to be fetched either way. Detail pages that time out or are blocked are not charged. With includeDetails off there is no detail charge at all.
Worked example: 200 ads of one advertiser with includeDetails on cost 200 × $0.002 + 200 × $0.003 + $0.01 = $1.01. The same run without details costs $0.41.
Pricing change on 2026-10-13: until 2026-10-12 the detail event is charged only for ads that carry impressions, run dates or targeting. From 2026-10-13 it is charged for every detail page that loads, as described above. The prices per event do not change.
FAQ
Why does an advertiser search return unrelated companies?
LinkedIn matches advertiser names loosely. Use matchBy: payer for the legal entity, or paste an Ad Library search URL.
Can I get all ads of a company, not just 100?
Set maxAdsPerQuery to 0. The actor follows LinkedIn's own pagination (24 ads per page) until the last page. Large advertisers have thousands of ads and the run charges per ad, so set a maximum charge on the run.
Which proxies does it need? LinkedIn answers datacenter and residential proxies with a challenge page, so the actor uses the Apify Unblocker by default. If the configured proxy is not available on your account, it falls back to the Unblocker. A run of 100 ads with details makes roughly 105 requests.
How fast is it? Detail pages are fetched four at a time. Expect roughly 2 to 4 minutes per 100 ads with details and a few seconds per 100 without.
How current is the data? Each run reads the Ad Library live at that moment.
Can I schedule it or use it via API? Yes. Save a task with your queries, add an Apify schedule, and pull the dataset as JSON, CSV or Excel through the API, or send it to Google Sheets, Make, Zapier or n8n.
What can it not do? It does not return spend or clicks, and it cannot see impressions or targeting for ads outside the EU transparency rules.
Example pages
- See every ad a competitor runs on LinkedIn
- All LinkedIn ads paid for by one company group
- Who does this company target on LinkedIn?
- Find LinkedIn ads that mention a keyword
- LinkedIn ads shown in Germany
- See the LinkedIn ads a SaaS company runs
- LinkedIn ads shown in the United States
- Find LinkedIn ads for hiring and recruiting
Related actors
- Google Ads Transparency Center Scraper: the same competitor view for Google Search, YouTube, Shopping, Maps and Play ads.
- TikTok Ad Library Scraper: TikTok video ads shown in Europe, with run dates and audience size.
- Website Tech Stack Detector: what an advertiser's landing pages are built with.
- Career Page Jobs Scraper: hiring signals for the same companies across 12 applicant tracking systems.