LinkedIn Ad Library Scraper - Ads, Impressions & Targeting avatar

LinkedIn Ad Library Scraper - Ads, Impressions & Targeting

Pricing

from $0.15 / 1,000 ads

Go to Apify Store
LinkedIn Ad Library Scraper - Ads, Impressions & Targeting

LinkedIn Ad Library Scraper - Ads, Impressions & Targeting

Scrape every ad a company runs on LinkedIn from the public LinkedIn Ad Library. Get ad copy, headlines, images, videos, carousels, CTAs, landing pages, who paid, run dates, impressions by country and targeting. Search by advertiser, keyword or country. No login or cookies.

Pricing

from $0.15 / 1,000 ads

Rating

5.0

(2)

Developer

Mary Lou

Mary Lou

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

LinkedIn Ad Library Scraper — ads, impressions & targeting

See every ad a company runs on LinkedIn. Give it a competitor's name and get back their ad copy, headlines, images, videos, carousels, calls to action and landing pages, plus who paid for each ad, when it ran, how many impressions it got in each country, and who it targeted.

The data comes from LinkedIn's public Ad Library. No login, no cookies, no LinkedIn account at risk.


What you can do with it

  • Competitor ad intelligence: see every message, offer and creative a competitor is testing on LinkedIn, and how long each one ran
  • B2B creative research: collect hundreds of real LinkedIn ads in your industry for swipe files and briefs
  • Campaign and spend signals: impressions ranges and per-country splits show where a competitor is investing (published for ads shown in the EU)
  • Targeting insight: languages, locations and the audience parameters (company, job, demographic, interests) each EU ad used
  • Agency pitches and audits: a prospect's full LinkedIn ad history in minutes
  • Lead generation: companies advertising on LinkedIn are companies with a marketing budget

How to scrape the LinkedIn Ad Library

1. Type one or more company names into Advertisers: HubSpot, Salesforce. Their LinkedIn company page links work too.

2. Optionally narrow it down with Keywords, Countries and a Date range.

3. Press Start. Leave Proxy on for speed.

You can also paste links straight from the Ad Library into Ad Library links: a search, which keeps its own filters, or a single ad.


Output

One row per ad. Export as JSON, CSV, Excel, XML or RSS.

{
"ad_id": "1578715144",
"ad_library_url": "https://www.linkedin.com/ad-library/detail/1578715144",
"advertiser_name": "HubSpot",
"advertiser_url": "https://www.linkedin.com/company/68529",
"paid_by": "Dola Akinduro",
"format": "Video Ad",
"ad_type": "SPONSORED_VIDEO",
"body": "Recently, I have had the privilege of sitting on the other side...",
"link_url": "https://lnkd.in/g9fp7HSB",
"video_urls": ["https://dms.licdn.com/playlist/vid/v2/.../mp4-720p-30fp-crf28/..."],
"video_poster": "https://media.licdn.com/dms/image/v2/.../videocover-high/...",
"first_shown": "2026-09-29",
"last_shown": "2026-09-30",
"total_days_shown": 2,
"impressions": "1k-5k",
"impressions_min": 1000,
"impressions_max": 5000,
"impressions_by_country": [
{"country": "Germany", "share": "100%", "share_percent": 100.0},
{"country": "United Kingdom", "share": "< 1%", "share_percent": 0.5}
],
"targeting": {
"language": {"includes": ["English"]},
"location": {"includes": ["Germany"]},
"parameters": {
"Company": {"targeted": true, "excluded": false},
"Job": {"targeted": false, "excluded": false}
}
},
"shown_in_eu": true,
"searched_for": "advertiser 'HubSpot' | DE",
"scraped_countries": ["DE"]
}
FieldNotes
advertiser_name, advertiser_url, advertiser_idThe company running the ad
paid_byWho paid, which is often a different legal entity or an agency
format, ad_typeSingle Image, Video, Carousel, Document, Text, Event, Spotlight, Message and other ads
body, headline, cta_text, link_urlThe creative's copy, button and landing page, with LinkedIn's tracking parameter removed
image_urls, video_urls, carousel_cardsCreative files: images, MP4s in each quality, each carousel card's image, title and link
first_shown, last_shown, total_days_shownWhen it ran
impressions, impressions_min, impressions_maxLinkedIn's impressions range, also as numbers you can sort and sum
impressions_by_countryThe share of impressions in each country
targetingLanguage and location, and which audience parameters were targeted or excluded
shown_in_euWhether LinkedIn published EU transparency data for the ad

Why some ads have no dates, impressions or targeting. LinkedIn publishes those only for ads shown in the European Union, under the Digital Services Act. For other ads the library shows the advertiser, who paid, the format and the creative, and so does this scraper. Add EU countries such as DE, FR, NL or the group EU to Countries to focus on ads with the full data.


Input

FieldWhat it does
AdvertisersCompany names or LinkedIn company page links. One search each
KeywordsWords in the ad. Combined with each advertiser when both are given
Ad Library linksSearches or single ads copied from the Ad Library
CountriesWhere the ads were shown: codes, names, or groups like EU and DACH
Date rangeAll time, last 30 days, this month, this year, last year, or a custom range
Sort byNewest or oldest first
Max ads / Max ads per searchCaps for runtime and cost
Scrape ad detailsOn by default: who paid, dates, impressions, targeting, CTA, landing pages, videos
Exact advertiser matchKeep only the named company, not partners or agencies whose names contain it
ProxyApify Proxy by default, which makes the run several times faster

Inputs are read forgivingly: uk, Deutschland and DEU all mean a country; last 30 days, 30d and this year all work as date ranges; and a company page link or a website is read as the advertiser's name. Anything that cannot be read is skipped with a note in the log. A whole run is never lost to one odd entry.


Reliable on big runs

  • Rate limits handled for you. LinkedIn limits each IP to about one request every two seconds. The scraper paces itself and spreads the work over many exit IPs.
  • A refused search is retried. It moves to new IPs, and searches still refused at the end get a second pass on another proxy. The other searches carry on either way.
  • Resumable. Progress is saved every 30 seconds and resumes on the exact page it stopped at, so nothing is fetched or charged twice.
  • Deduplicated. An ad found by several searches appears once.

FAQ

Do I need a LinkedIn account or cookies? No. The Ad Library is public and the scraper reads it without signing in.

Why do I get ads from companies with similar names? LinkedIn's advertiser search matches names loosely, so HubSpot also finds HubSpot Platinum Partner. Turn on Exact advertiser match to keep only the company itself.

How far back does it go? As far back as the Ad Library itself goes. Use Date range to look at a particular period.

How many ads can I get? Every ad the library returns for your search. Searches of thousands of ads are normal.

Can I run it on a schedule? Yes. Use Date range: Last 30 days and run it weekly to track what your competitors launch.

Is scraping the LinkedIn Ad Library legal? The Ad Library is a public transparency tool that LinkedIn publishes so that anyone can see the ads on its platform. This scraper reads only that public data. As with any data, how you use it is your responsibility.


  • Meta Ads Library Scraper: Facebook and Instagram ads
  • Google Ads Transparency Center Scraper: Google Search, YouTube and Display ads
  • TikTok Ad Library Scraper: TikTok ads in the EU and UK
  • LinkedIn Jobs Scraper: what companies are hiring for