LinkedIn Ad Library Scraper (Targeting Data, No Login)
Pricing
Pay per event
LinkedIn Ad Library Scraper (Targeting Data, No Login)
Scrape LinkedIn's Ad Library by company page, name or keyword. Get ad text, headline, format, button, landing page, images and videos, plus run dates, impressions, share by country and targeting for EU ads. Filter by country and date. Only-new mode. No login. From $1.00 per 1,000 ads.
Pricing
Pay per event
Rating
0.0
(0)
Developer
locaihost data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Get every ad a company or a keyword runs on LinkedIn, straight from LinkedIn's public Ad Library, with the impressions, run dates and targeting LinkedIn publishes for ads shown in the EU.
What people use it for
- Competitor ad research: every ad a rival runs on LinkedIn, with its text, headline, format, button, landing page and creative.
- B2B creative swipe files: pull hundreds of ads for a keyword ("payroll software", "cybersecurity webinar") with their images, videos, carousels and documents.
- Targeting and reach intelligence: for ads shown in the EU, LinkedIn publishes the impressions range, the share by country, the run dates, and which targeting (job, company, audience, location, language) the advertiser chose.
- Who pays for what: the "Paid for by" line shows the agency or entity behind each ad.
- New-ad alerts: schedule it daily with "Only new ads" on and get only the ads that appeared since the last run.
Quick start
- Paste a company's LinkedIn page link (or type its name) and press Start.
- Or call it from code with input like this:
{"advertisers": ["https://www.linkedin.com/company/hubspot", "Salesforce"],"keywords": ["payroll software"],"countries": ["DE", "FR"],"dateRange": "last-30-days","maxAds": 100,"includeDetails": true}
You can also search on linkedin.com/ad-library with any filters and paste the link into Ad Library links, or paste one ad's link to get that ad with its details.
What data can I get?
| Field | What it is |
|---|---|
adId, adLibraryUrl | The ad's Ad Library ID and link |
advertiserName, advertiserType, advertiserLogoUrl | The company running the ad (members are shown as "Individual advertiser", see Limits) |
advertiserId, advertiserUrl | The company's LinkedIn ID and page (with ad details) |
format, formatLabel, creativeType | image, video, carousel, document, message, article, event, text and other formats |
headline, bodyText, description | The ad's copy (the search page cuts long texts; ad details give the full text) |
ctaText, linkUrl, linkDomain | The button and where the ad sends people (with ad details) |
imageUrls, videoUrls, thumbnailUrls, cards | The creative files, and each card of a carousel |
documentTitle, documentPageCount | Document ads: title and page count |
paidForBy | Who paid for the ad (with ad details) |
firstShown, lastShown, daysShown | When the ad ran (ads shown in the EU, with ad details) |
impressionsText, impressionsMin, impressionsMax | Total impressions range, as text and as numbers (EU, with ad details) |
impressionsByCountry | Share of impressions per country (EU, with ad details) |
targeting | Languages and locations targeted or excluded, and which targeting categories were used (EU, with ad details) |
variants, detailsStatus | Versions of the ad, and whether its detail page was read |
searchInput, searchCountries, scrapedAt | Which search found the ad, and when |
One real row (image links and lists shortened):
{"adId": "1617945314","adLibraryUrl": "https://www.linkedin.com/ad-library/detail/1617945314","advertiserName": "Zellis","advertiserType": "business","advertiserId": "12978257","advertiserUrl": "https://www.linkedin.com/company/12978257/","advertiserLogoUrl": "https://media.licdn.com/dms/image/v2/D4E0BAQGhP1klcZnzwg/company-logo_100_100/...","format": "image","formatLabel": "Single Image Ad","creativeType": "SPONSORED_STATUS_UPDATE","headline": "Imagine no more manual payroll stress 😮","bodyText": "Your payroll team answers the same questions every cycle. The Zellis Intelligent Assistant handles those routine queries for you ✅","bodyTruncated": false,"description": null,"ctaText": "Learn more","linkUrl": "https://www.zellis.com/lp/enterprise-payroll-software/?utm_campaign=6732e597-fdc7-4701-8242-a53f4e9c7369&utm_medium=abm&utm_source=Influ2&utm_term=%2B583988","linkDomain": "zellis.com","imageUrls": ["https://media.licdn.com/dms/image/v2/D4E10AQFSjqhB64CsVQ/image-shrink_1280/..."],"videoUrls": [],"cards": [],"paidForBy": "Influ2","firstShown": "2026-10-29","lastShown": "2026-10-30","daysShown": 2,"impressionsText": "< 1k","impressionsMin": 0,"impressionsMax": 1000,"impressionsByCountry": [],"targeting": {"language": { "included": ["English"], "excluded": [] },"location": { "included": ["Glasgow", "Ireland", "Leeds", "Hamburg", "India", "Brazil"], "excluded": [] },"parameters": [{ "parameter": "Audience", "targeted": true, "excluded": true },{ "parameter": "Job", "targeted": false, "excluded": false }]},"variants": 1,"detailsStatus": "read","searchInput": "\"payroll software\"","searchCountries": ["DE"],"scrapedAt": "2026-11-01T14:46:31.574Z"}
How much does it cost?
You pay per ad returned. Prices per 1,000:
| Event | Free and Starter | Scale | Business |
|---|---|---|---|
| Ad | $1.00 | $0.75 | $0.55 |
| Ad with details ($, only with "Ad details" on, or for a pasted ad link) | $1.50 | $1.125 | $0.825 |
Plus a one-time $0.00005 per run.
Free: companies that can't be found, searches with no matching ads, ads already returned by an earlier run (with "Only new ads" on), and the same ad found by two of your searches (charged once). With "Ad details" on, an ad whose detail page can't be read is charged as a plain ad.
Apify's free $5 monthly credit covers about 5,000 ads.
Limits, stated up front
- Public ads only, logged out. This Actor reads what anyone sees on the Ad Library without an account. It never logs in and never asks for cookies.
- Impressions, targeting and run dates exist only for ads shown in the EU. LinkedIn publishes them there under EU rules; for ads shown only elsewhere those fields are empty, and no tool can fill them. Pick an EU country (or every country) to get them. The share by country appears up to 48 hours after an ad starts.
- The Ad Library keeps one year of ads. Older ads are not available.
- Company names are matched exactly. "SAP" finds the advertiser named SAP, not SAP partners. For an exact match every time, paste the company page link with its number (linkedin.com/company/1115).
- Members are not named. When an ad runs from a person's profile (thought-leader ads), the advertiser is shown as "Individual advertiser" with no profile link or photo. Message ads' senders are not included.
- Image and video links are signed by LinkedIn and expire. Download the files you want to keep.
- Pages are read 24 ads at a time, and each detail page is one more request, so 1,000 ads with details take several minutes.
- Free plan: up to 1,000 ads per run. Any paid Apify plan removes the cap.
Only new ads, and scheduling
Turn on Only new ads and schedule the Actor (Apify Console, Schedules) daily or weekly. Each run remembers the ads it returned for the same searches and filters, and skips them for free, so you get only ads that appeared since the last run. Changing the companies, keywords or filters starts a fresh memory.
Integrations
- API: run it and read results with the Apify API or the JavaScript and Python clients.
- n8n and Make: use the Apify node or module, pick this Actor, and pass the input above.
- Agents (MCP): add it to Apify's MCP server and call it from any MCP client.
- Exports: CSV, Excel, JSON, XML from the dataset, or straight into Google Sheets.
FAQ
How much will a run cost me? 100 ads cost $0.10 on the Starter price, or $0.15 with ad details. The run's maximum charge (in the run options) caps it: the Actor stops cleanly when it is reached.
Can I use it through the API? Yes. Every input field works the same through the API, and results come back as JSON, CSV or Excel.
Can agents use it? Yes, through Apify's MCP server. It is paid per event, so an agent pays only for the ads it gets.
Is it legal? The Ad Library is a public transparency tool that LinkedIn publishes for anyone to read without an account, and this Actor only reads what a logged-out visitor sees. You are responsible for how you use the data; check the rules that apply to you.
Why is a field empty? LinkedIn does not show it for that ad. Impressions, targeting and run dates exist only for ads shown in the EU; the button, link and company page come from the detail page, so turn on "Ad details" to get them.
Why did a run end with "No ads matched"? Nothing in the Ad Library matched your search with those filters. Nothing was charged. Try every country, a wider date range, or a broader keyword.
More from locaihost data
- Facebook Ad Library Scraper: Facebook and Instagram ads, with EU and UK audience data.
- Google Ads Transparency Scraper: every Google ad a brand runs, with only-new mode.
- LinkedIn Company Scraper: firmographics from public company pages.
- Website Tech Stack Checker: email provider, DNS, SSL and tech for any domain.
Did it help? A rating on the Store helps other people find it.
Support: open an issue on this Actor's Issues tab. We answer issues within 24 hours.