LinkedIn Ad Library — B2B Competitor Ad Spy avatar

LinkedIn Ad Library — B2B Competitor Ad Spy

Pricing

$2.00 / 1,000 ad scrapeds

Go to Apify Store
LinkedIn Ad Library — B2B Competitor Ad Spy

LinkedIn Ad Library — B2B Competitor Ad Spy

Scrape LinkedIn's public Ad Library — every B2B ad an advertiser has run. Search by keyword or company. Get ad creatives, copy, dates, formats, targeting (EU DSA). Pure HTTP, no Chromium. DSA-mandated public data, stable and free of API auth.

Pricing

$2.00 / 1,000 ad scrapeds

Rating

0.0

(0)

Developer

Walid

Walid

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

LinkedIn Ad Library Scraper — B2B Competitor Ad Spy

LinkedIn Ad Library Scraper extracts B2B ads from LinkedIn's official public Ad Library — the only DSA-mandated public source of B2B competitor advertising. Search by company (advertiser) or keyword, optionally enrich each ad with DSA premium data (impressions per country, total impressions, targeting filters). No login, no cookies, no Chromium — pure HTTP, ~7 seconds per query.

Found this useful? Click the Bookmark button at the top of this page — it's the single strongest signal that keeps this actor visible to others. One click. No signup beyond your existing Apify account.


What can LinkedIn Ad Library Scraper do?

  • 🏢 Search by advertiser company (e.g. Salesforce, HubSpot, Microsoft)
  • 🔍 Search by keyword — find ads containing a specific phrase in their copy
  • 🌍 Filter by countries — ISO 2-letter codes, multi-select supported
  • 📅 Date range — last month / 3 months / 6 months / year / all time
  • 🎬 All ad formats — Sponsored Status Updates, Sponsored Videos, Sponsored InMails, Native Documents
  • 📊 DSA enrichment (opt-in) — total impressions, impressions per country, targeting filters (language, location)
  • Pure HTTP — no browser, no cookies, no auth. 24 ads in ~7s at 512 MB.

What data can you extract from LinkedIn Ads?

FieldDescription
ad_idLinkedIn's internal ad ID
advertiser_nameCompany name running the ad
advertiser_logoCompany logo URL
creative_typeSPONSORED_STATUS_UPDATE, SPONSORED_VIDEO, SPONSORED_INMAILS, SPONSORED_UPDATE_NATIVE_DOCUMENT, FOLLOW_COMPANY_V2
headlineAd headline / primary copy
ad_textFull body text of the ad
image_urlCreative image URL (when applicable)
detail_urlDirect link to the ad's transparency page
impressions_by_country(with enrichDetails) Per-country impression %, DSA-compliant
total_impressions(with enrichDetails) Estimated total impressions

How to spy on LinkedIn ads

  1. Create a free Apify account — no credit card required
  2. Open LinkedIn Ad Library Scraper in Apify Store
  3. Enter a company name in accountOwner (e.g. Salesforce) — or a keyword
  4. Pick countries (optional) and a date range (default: last year)
  5. Click Start — ads stream in within seconds
  6. Optionally enable enrichDetails to add DSA impressions + targeting

How much does it cost to spy on LinkedIn ads?

$0.002 per ad ($2 per 1,000 ads). HTTP-only — no Chromium, no proxy, no surprise compute charges.

Run sizeAdsApify costTime
Quick test5~$0.01~7s
Per query24~$0.05~7s
10 companies240~$0.48~1min
With DSA enrichment (24 ads)24~$0.05~30s

Input parameters

ParameterTypeRequiredDefaultDescription
accountOwnerstring❌*Company name to search (e.g. Salesforce)
keywordstring❌*Keyword to find in ad copy
countriesarray[]ISO 2-letter codes (e.g. ["US","GB","FR"])
dateOptionstringlast-yearlast-month, last-3-months, last-6-months, last-year, all-time
maxResultsinteger24Cap per query (LinkedIn serves ~24 ads per anonymous query)
enrichDetailsbooleanfalseFetch DSA detail page per ad: impressions per country + targeting
useResidentialProxybooleanfalseEnable only if you hit rate limits on large runs

*Provide at least one of accountOwner or keyword.


Output example

{
"ad_id": "998775576",
"advertiser_name": "Salesforce",
"advertiser_logo": "https://media.licdn.com/dms/image/.../salesforce_logo.png",
"creative_type": "SPONSORED_UPDATE_NATIVE_DOCUMENT",
"headline": "A future-ready CRM needs continuous evolution.",
"ad_text": "A future-ready CRM needs continuous evolution. Avanza's managed services keep your Salesforce…",
"image_url": "https://media.licdn.com/.../ad-creative.jpg",
"detail_url": "https://www.linkedin.com/ad-library/detail/998775576",
"impressions_by_country": [
{ "country": "United States", "percent": "65%" },
{ "country": "United Kingdom", "percent": "12%" }
],
"total_impressions": null
}

Use cases

  • B2B competitor ad spy — see every LinkedIn ad your competitors are running
  • Agency reporting — track competitor B2B ad strategies over time
  • Sales intelligence — discover what messaging high-growth B2B brands use
  • DSA compliance research — pull the official transparency record for any advertiser
  • Creative inspiration — browse a curated feed of polished B2B ad copy

Use the actor via API

Python:

import requests
run = requests.post(
"https://api.apify.com/v2/acts/dltik~linkedin-ad-library/runs",
headers={"Authorization": "Bearer YOUR_APIFY_TOKEN"},
json={
"accountOwner": "Salesforce",
"countries": ["US"],
"dateOption": "last-year",
"enrichDetails": True
}
).json()
print("Run started:", run["data"]["id"])

curl:

curl -X POST "https://api.apify.com/v2/acts/dltik~linkedin-ad-library/runs" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"accountOwner":"Salesforce","countries":["US"],"enrichDetails":true}'

FAQ

Do I need a LinkedIn account or session cookie? No. LinkedIn's Ad Library is a public DSA transparency tool — the scraper hits it cold without any auth or cookies.

Why does it return at most 24 ads per query? LinkedIn's public Ad Library serves about 24 ads per search; deeper pagination relies on an in-page XHR that isn't exposed publicly. To broaden coverage, stack multiple queries (different companies, keywords, countries, date ranges) — each one is a separate run.

What does the DSA enrichment add? For each ad, the actor fetches the detail page and parses the EU DSA-mandated transparency fields: total impressions, impressions per country, and targeting filters (language, location). Premium B2B intelligence you can't get from the list view alone.

Does it need a proxy? No, datacenter IPs work fine for the public Ad Library. The residential-proxy toggle is only for very large or repeated runs.

Is this only B2B ads? LinkedIn's audience is overwhelmingly professional / B2B — most ads in the library are B2B (SaaS, agencies, consulting, recruitment, enterprise software). That's exactly the differentiator vs Facebook or Google ad libraries.


Connect with Make, Zapier & n8n

This actor integrates with any automation platform via the Apify API.

Make (Integromat)

  1. Add an Apify module in your Make scenario
  2. Select Run Actor → choose this actor
  3. Configure the input (paste your JSON)
  4. Add a Get Dataset Items module to retrieve results
  5. Send ads to Google Sheets, HubSpot, Slack, or any downstream app

Zapier

  1. Use the Apify integration on Zapier
  2. Trigger: Actor Run Finished
  3. Action: Get Dataset Items
  4. Pipe results into your CRM, email tool, or spreadsheet

n8n

  1. Add an HTTP Request node to call the Apify API
  2. POST to https://api.apify.com/v2/acts/dltik~linkedin-ad-library/runs
  3. Wait for completion, then fetch dataset items
  4. Route results into any n8n node

Found this LinkedIn Ad Library Scraper useful? Bookmark it — Apify ranks actors by bookmarks, so it's the strongest single signal for Store visibility. One click = directly helps this actor stay surfaced.

Other scrapers by dltik

ActorWhat it doesPrice
Facebook Ads Library ScraperMeta (Facebook + Instagram) ad library spy with DSA detail enrichment$0.75/1K
Google Ads Transparency ScraperGoogle Search, YouTube, Display ad spy via official Ad Transparency Center$1/1K
TikTok ScraperProfiles, videos, hashtags, search, trending$8/1K
Trustpilot ScraperReviews, ratings, company profiles with sentiment$0.50/1K