LinkedIn Ads Library Scraper avatar

LinkedIn Ads Library Scraper

Pricing

$3.00 / 1,000 ads

Go to Apify Store
LinkedIn Ads Library Scraper

LinkedIn Ads Library Scraper

Collect ads from the public LinkedIn Ad Library by keyword, advertiser or company ID: ad text, format, advertiser, run dates, impressions and targeting.

Pricing

$3.00 / 1,000 ads

Rating

0.0

(0)

Developer

Datatrilha

Datatrilha

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Share

Collect ads from the public LinkedIn Ad Library without logging in. Search by keyword, advertiser name or company ID, and get each ad's text, format, advertiser, run dates, impressions and targeting as clean JSON, CSV or Excel.

What you can use it for

  • Competitor research: see every ad a competitor is running on LinkedIn, and for how long.
  • Creative inspiration: collect B2B ad copy, formats and calls to action by keyword.
  • Agency reporting: monitor clients' and competitors' ads on a schedule.
  • AI agents: call it as a tool through the Apify MCP server to answer "what is X advertising on LinkedIn?"

Input

FieldWhat it does
keywordsOne search per keyword
advertisersSearch by advertiser name
payersSearch by who paid for the ads
companyIdsEvery ad from a LinkedIn company ID
startUrlsAny Ad Library search or ad URL
countriesTwo-letter codes, for example US, GB, BR
dateOptionAll time, last 30 days, current month or year, last year, or a custom range
maxAdsPerSearchCap per search (default 100)
includeDetailsOpen each ad for full text, payer, headline, call to action and video files (default on)
delaySecsPause between requests; LinkedIn rate-limits fast clients (default 2)

Output

{
"adId": "1665182406",
"adUrl": "https://www.linkedin.com/ad-library/detail/1665182406",
"format": "Video Ad",
"creativeType": "SPONSORED_VIDEO",
"advertiserName": "Capsule",
"advertiserUrl": "https://www.linkedin.com/company/71307670",
"advertiserLinkedinId": "71307670",
"paidBy": "Capsule",
"bodyText": "Hey BigCommercers 👋\nYour team just got personalized videos from us...",
"headline": "BigCommerce, Scale On-Brand Video With Capsule 🤝",
"ctaText": "Learn more",
"videoUrls": ["https://dms.licdn.com/playlist/vid/v2/..."],
"videoPosterUrl": "https://media.licdn.com/dms/image/v2/...",
"searchKey": "keyword:hubspot",
"scrapedAt": "2026-10-31T18:00:00.000Z"
}

LinkedIn shows run dates, impressions and targeting only for some ads (mainly ads shown in the EU). When it does, you also get:

{
"firstSeen": "Oct 29, 2026",
"lastSeen": "Oct 31, 2026",
"impressions": "200k-300k",
"targeting": {
"Language": { "included": ["English"], "excluded": [] },
"Location": { "included": ["Italy", "United States", "France", "..."], "excluded": [] }
},
"targetingParameters": [
{ "parameter": "Company", "targeted": true, "excluded": false },
{ "parameter": "Job", "targeted": true, "excluded": false }
]
}

Pricing

Pay per ad returned. You never pay for duplicates or failed pages. Set a maximum charge per run in the run options to cap spend.

Tips

  • Keep the residential proxy on. LinkedIn sits behind Cloudflare and blocks plain HTTP clients and datacenter IPs, so this Actor drives a real browser and reads pages from inside it.
  • Use companyIds for complete results from one company; keyword search can mix advertisers.
  • Turn off includeDetails for a faster run with truncated ad text and no payer or video files.

Development

npm install
npm test # parser tests against real HTML saved in fixtures/
apify run # local run; put input in storage/key_value_stores/default/INPUT.json
apify push # deploy to your Apify account