LinkedIn Ad Library Scraper | Ads & Targeting | $0.50/1K
Pricing
from $0.40 / 1,000 ads
LinkedIn Ad Library Scraper | Ads & Targeting | $0.50/1K
LinkedIn Ad Library Scraper and LinkedIn Ads API: competitor ads by company, keyword or payer for $0.50/1K. Impressions by country, targeting, payer, dates and CTA. No login.
Pricing
from $0.40 / 1,000 ads
Rating
0.0
(0)
Developer
Monkey D. Scraping
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Security
Limited permissionsShare
LinkedIn Ad Library Scraper | Ads & Targeting | $0.50/1K
LinkedIn Ad Library Scraper exports ads from the public LinkedIn Ad Library by company, keyword or payer. Get ad text, headline, creative, format and advertiser for $0.50 per 1,000 ads, platform usage included. Add payer, run dates, call to action, total impressions, impressions by country and targeting (languages, locations, audience, company, job and more) for $0.80 per 1,000 ads. No LinkedIn account, login or cookies needed.
Also known as: LinkedIn Ads Library scraper, LinkedIn Ad Library API, LinkedIn competitor ads scraper, LinkedIn ads spy tool.
Built for B2B marketers, agencies, SaaS teams, sales and analysts who want to see what competitors advertise on LinkedIn, which messages and offers they test, where their ads are seen and whom they target.
Why choose this LinkedIn Ad Library scraper?
- Full details at a low, all-inclusive price. $0.50 per 1,000 ads, or $1.30 with full details. Platform usage (compute and proxies) is included. No start fee. Popular LinkedIn ad scrapers in the Apify Store charge $1–$5 per 1,000 ads, and the most used one $4 per 1,000 with details on the free plan (checked on 6 November 2026).
- Impressions by country, not just a total. Every country LinkedIn reports, with its share of impressions, plus the total impression range as text and as numbers you can sort.
- Landing pages with UTM parameters. The ad's destination link, its domain and its UTM parameters (
source,medium,campaign...), so you see where competitors send traffic and how they name their campaigns. - Every format, with its media. Video files and cover, document title, page count and link, carousel cards with title and image, message ads with sender and full text, advertiser logo.
- No result cap on the free plan. Some LinkedIn ad scrapers stop at 30 or 300 results until you pay or rent. This one returns as many ads as you ask for, at the same price.
- Targeting you can analyse. Targeted and excluded languages and locations (including the hidden "and 23 others" list), and which targeting parameters were used or excluded: audience, demographic, company, education, job, member interests and traits.
- Search by company, keyword or payer, with country, date, ad format and impressions range filters, or paste a LinkedIn Ad Library search URL. Turn on Only this exact advertiser to skip partners and resellers whose name contains the brand.
- You never pay for gaps. Duplicate ads are free. Details are charged only when they were actually obtained. Ad IDs that cannot be read are not charged.
- Every ad found is delivered. The search runs first, then details are added. If LinkedIn slows down or the run nears its time limit, the remaining ads are still delivered (without details, which are then not charged). The status message shows progress live.
- No login, no cookies, no LinkedIn account.
What can you use it for?
- Competitor ad research: every LinkedIn ad a competitor runs, with full text, headline, creative, CTA and dates.
- B2B messaging and offer ideas: search a keyword (for example
crm,cybersecurityorwebinar) and see how companies position themselves. - Reach and market analysis: which countries a campaign reached and how impressions are split.
- Targeting analysis: which languages, locations and audience criteria advertisers select or exclude.
- Lead generation: find which companies advertise on LinkedIn in a niche and who pays for their ads (often the agency).
- Monitoring with schedules or API: run the same search weekly and compare results by
adId. For new and disappeared ads between runs, see the LinkedIn Ad Library Change Monitor below.
What data do you get?
| Field | Description | Ad ($0.50/1K) | Details (+$0.80/1K) |
|---|---|---|---|
adId, adUrl | Ad ID and link to the ad in the LinkedIn Ad Library | ✅ | ✅ |
advertiserName | Advertiser shown on the ad | ✅ | ✅ |
format, formatLabel | single-image, video, carousel, document, event, message, text, spotlight and others | ✅ | ✅ |
adText, headline, imageUrls | Ad text (shortened in search results, full with details), headline and creative images | ✅ | ✅ |
advertiserUrl, advertiserCompanyId | LinkedIn company page and ID | — | ✅ |
paidBy | Who paid for the ad (company or agency) | — | ✅ |
ctaText | Call to action button | — | ✅ |
clickUrl, landingDomain, utmParameters | Landing page of the ad, its domain and UTM parameters, when LinkedIn publishes the link | — | ✅ |
videoUrls, videoPosterUrl | Video files (best quality first) and cover image | — | ✅ |
documentTitle, documentPageCount, documentUrl | Document ads: file title, pages and link | — | ✅ |
carouselCards | Carousel ads: each card's title and image | — | ✅ |
messageSender, messageText | Message (InMail) ads: sender and full message | — | ✅ |
advertiserLogoUrl, textLinks | Advertiser logo and links written in the ad text | — | ✅ |
daysRunning, isActive | Days the ad ran and whether it ran in the last two days | — | ✅ (EU) |
firstShown, lastShown | Run dates (YYYY-MM-DD) | — | ✅ (EU) |
totalImpressions, totalImpressionsMin, totalImpressionsMax | Total impressions range, as text and numbers | — | ✅ (EU) |
impressionsByCountry | Every country with its share of impressions | — | ✅ (EU) |
targetingLanguages, targetingLocations (+ Excluded) | Targeted and excluded languages and locations | — | ✅ (EU) |
targetingParameters | Audience, demographic, company, education, job, interests: targeted or excluded | — | ✅ (EU) |
Every row also has searchTerm, searchBy, searchCountry, detailsIncluded, euData and scrapedAt.
(EU): LinkedIn publishes dates, impressions and targeting for ads shown in the European Union. For other ads these fields are empty (euData: false); advertiser, payer, format, text and CTA are still returned.
How much does it cost?
You pay only for results. Platform usage is included.
| What you get | Free and Starter plans | Scale plan | Business plan and above |
|---|---|---|---|
| Ads only (details off), per 1,000 ads | $0.50 | $0.45 | $0.40 |
| Ads with full details (default), per 1,000 ads | $1.30 | $1.05 | $0.90 |
For example, 100 ads with full details cost $0.13 on the free plan. Prices are per result with platform usage included; the exact price for your plan is shown on the pricing tab.
- Duplicate ads are removed and not charged.
- Details are charged only when they were actually obtained for that ad.
- An ad requested by ID whose details cannot be read is not charged.
- Set a maximum cost per run in Apify Console and the run stops when it is reached.
Benchmark on the same search
Same input, same day (6 November 2026): advertiser hubspot, 30 ads with details, free Apify plan.
| This Actor | Popular alternative | |
|---|---|---|
| Ads with details | 30 / 30 | 30 / 30 (free plan capped at 30) |
| Landing page | ✅ with UTM parameters | ✅ without UTM parameters |
| Price paid | $0.039 | $0.045 |
| Run time | 2 min 24 s | 18 s |
The alternative is faster on small runs; this Actor is cheaper, has no free-plan cap and returns UTM parameters, media and the full targeting lists.
Measured on real searches
Runs from 6 November 2026, default settings:
| Search | Result | Run time |
|---|---|---|
hubspot, 100 ads with details | 100 / 100 with details, 56 with EU impressions and targeting | 6 min 51 s |
keyword crm, Germany, 50 ads with details | 50 / 50 with details, 26 advertisers | 3 min 17 s |
salesforce, 500 ads without details | 500 / 500 | 2 min 43 s |
hubspot, 10 ads with details (example input) | 10 / 10 with details | about 1 min |
Results depend on the search and on how busy the LinkedIn Ad Library is. Re-run your own search with 10 ads to check output and cost before larger runs.
How to use it
- Enter one or more companies, keywords or LinkedIn Ad Library search URLs, one per line.
- Choose Search by: advertiser (company), keyword, or payer.
- Optional: choose a country, a date range, ad formats or an impressions range.
- Set maximum ads per search. Start with 10 to see the output.
- Click Start and export to JSON, CSV, Excel, or use the API.
Tips for large searches
- For thousands of ads, run without details first (fast and cheap), then put the IDs of the ads you care about in Ad IDs or ad URLs to get their details.
- Use country and dates to focus on the ads that matter and get faster runs.
- Searching a brand returns partners whose name contains it too. Turn on Only this exact advertiser to keep only the brand itself.
Input example
{"searchTerms": ["hubspot"],"searchBy": "advertiser","country": "","maxAdsPerSearch": 10,"includeDetails": true}
Output example
Real result with details, shortened:
{"adId": "1672927376","adUrl": "https://www.linkedin.com/ad-library/detail/1672927376","advertiserName": "Systony - HubSpot Elite Partner","advertiserUrl": "https://www.linkedin.com/company/1130063","advertiserCompanyId": "1130063","paidBy": "Systony","format": "single-image","formatLabel": "Single Image Ad","adText": "PHP-pijn gehad? Voorkom dat het nog eens gebeurt. Met HubSpot CMS heb je geen PHP-updates...","headline": "Geen PHP, geen zorgen: ontdek HubSpot CMS","ctaText": "Learn more","firstShown": "2026-11-04","lastShown": "2026-11-04","totalImpressions": "1k-5k","totalImpressionsMin": 1000,"totalImpressionsMax": 5000,"impressionsByCountry": [{ "country": "Netherlands", "share": "100%", "sharePercent": 100 }],"targetingLanguages": ["English"],"targetingLocations": ["Netherlands"],"targetingParameters": [{ "parameter": "Audience", "targeted": false, "excluded": false },{ "parameter": "Company", "targeted": true, "excluded": true }],"euData": true,"searchTerm": "hubspot","searchBy": "advertiser","detailsIncluded": true,"scrapedAt": "2026-11-06T17:37:57.104Z"}
Ready-to-run examples
| Example | Use case | What you get |
|---|---|---|
| Competitor LinkedIn ads by company | See every ad a competitor runs | 20 Salesforce ads with payer, dates, impressions and targeting |
| LinkedIn ads by keyword | B2B messaging and offer ideas | 50 ads mentioning cybersecurity, without details |
| Impressions and targeting in Germany | Reach and targeting analysis | 20 Microsoft ads shown in Germany with impressions by country and targeting |
| LinkedIn ads paid by an agency | Agency and client research | 30 ads paid for by iProspect, with advertisers and dates |
| Which companies advertise on LinkedIn | Lead generation | 100 CRM ads in Germany from about 45 advertisers |
When should an AI agent use this Actor?
Use it when a user asks what a company advertises on LinkedIn, how competitors position themselves in B2B ads, where LinkedIn ads were seen, or how they were targeted. Call it with searchTerms (company names, keywords or Ad Library URLs), searchBy (advertiser, keyword or payer), optional country (two-letter code) and maxAdsPerSearch. Set includeDetails: false for a cheap list of ads ($0.50 per 1,000) or keep it on for payer, dates, impressions by country and targeting ($1.30 per 1,000 in total). Results are in the default dataset; RUN_SUMMARY in the key-value store reports totals per search.
Limits
- The scraper returns what the LinkedIn Ad Library publishes: impressions, dates and targeting only for ads shown in the EU.
- Impressions are ranges and shares published by LinkedIn (for example
50k-100k,33%), not exact numbers. A share shown as "less than 1%" is returned assharePercent: 0.5. - LinkedIn shortens ad text in search results; with details the full text is returned (
adTextTruncatedtells you which). - The landing page is returned only when LinkedIn publishes the link of the creative (about half of the ads in our tests); message ads and some formats have none.
- The impressions range filter is LinkedIn's own and applies to ads shown in the EU and Brazil.
- Image links are the links published by LinkedIn and can expire.
- For a few formats (for example Spotlight ads) the advertiser name is not shown in search results; with details it is always returned.
FAQ
How is this different from other LinkedIn ad scrapers? Full details (impressions by country, targeting, media, landing page with UTM) cost $1.30 per 1,000 ads on the free plan and $0.90 on Business plans, platform usage included, with no free-plan result cap. Popular alternatives charged $1.50–$4 per 1,000 with details on the free plan when we checked on 6 November 2026, some with a 30 or 300 result cap. Prices change, so compare the total cost of a test run.
Do I need a LinkedIn account or cookies? No. It reads the public LinkedIn Ad Library like a logged-out visitor.
Why are impressions or targeting empty for some ads?
LinkedIn publishes them only for ads shown in the European Union. Those ads have euData: true. For other ads you still get advertiser, payer, format, text and CTA.
Why do I get ads from other companies when I search a brand? LinkedIn's advertiser search matches names that contain your term, such as partners and resellers. Turn on Only this exact advertiser.
Can I get specific ads? Yes. Put ad IDs or LinkedIn Ad Library ad URLs in Ad IDs or ad URLs. Details are fetched for each one.
How do I monitor a competitor?
Save an Apify task with the company and schedule it, then compare runs by adId. If you want new, disappeared and newly seen advertisers computed for you, use the LinkedIn Ad Library Change Monitor.
Related ad research tools
- Microsoft Ads Library Scraper: Bing ads by keyword, advertiser or website domain, with landing pages, UTM parameters, impressions by country and targeting. From $0.50 per 1,000 ads.
- TikTok Ads Library Scraper: TikTok ads by brand or keyword, with reach by country, age and gender, and targeting. From $0.29 per 1,000 ads.
- Google Ads Scraper — Transparency Center: a competitor's Google Search, YouTube and Shopping ads by domain or brand, with reach by country and platform. From $0.40 per 1,000 ads.
- LinkedIn Ad Library Change Monitor: new and disappeared LinkedIn ads and new advertisers between scheduled runs.
- Google Ads Domain Checker: check whether a website advertises on Google.
More tools for marketers
- Website SEO Audit & Contact Scraper: audit the landing pages your competitors advertise, with SEO issues and contact details.
- Google Shopping Price Tracker & Seller Monitor: track competitor prices and sellers on Google Shopping.
- Google Trends Scraper — Keyword History API: check the search interest behind the keywords competitors bid on.
- Affiliate Program Finder & Commission Checker: find affiliate programs and commissions in your niche.
These are separate Actors and are never called by this one.