LinkedIn Ads Library Scraper
Pricing
$3.00 / 1,000 ads
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
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
| Field | What it does |
|---|---|
keywords | One search per keyword |
advertisers | Search by advertiser name |
payers | Search by who paid for the ads |
companyIds | Every ad from a LinkedIn company ID |
startUrls | Any Ad Library search or ad URL |
countries | Two-letter codes, for example US, GB, BR |
dateOption | All time, last 30 days, current month or year, last year, or a custom range |
maxAdsPerSearch | Cap per search (default 100) |
includeDetails | Open each ad for full text, payer, headline, call to action and video files (default on) |
delaySecs | Pause 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
companyIdsfor complete results from one company; keyword search can mix advertisers. - Turn off
includeDetailsfor a faster run with truncated ad text and no payer or video files.
Development
npm installnpm test # parser tests against real HTML saved in fixtures/apify run # local run; put input in storage/key_value_stores/default/INPUT.jsonapify push # deploy to your Apify account