Linkedin Ad Library Scraper avatar

Linkedin Ad Library Scraper

Pricing

from $0.60 / 1,000 results

Go to Apify Store
Linkedin Ad Library Scraper

Linkedin Ad Library Scraper

Scrape and analyze paid advertising campaigns from the LinkedIn Ad Library — extract headlines, body copy, images, videos, CTAs, targeting details, impressions, and advertiser information across multiple countries.

Pricing

from $0.60 / 1,000 results

Rating

0.0

(0)

Developer

Sergio Henrique

Sergio Henrique

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Categories

Share

Scrape and analyze paid advertising campaigns from the LinkedIn Ad Library — extract headlines, body copy, images, videos, CTAs, targeting details, impressions, and advertiser information across multiple countries.


Overview

The LinkedIn Ad Library is a publicly available database where advertisers disclose the creative and performance details of their paid ads. However, it provides no bulk export, no search API, and no way to filter by impression range or targeting criteria.

This Actor automates the entire workflow: it constructs a search query for LinkedIn's Ad Library, paginates through all matching results, opens each ad's detail page, and extracts 20+ structured fields — including creative type, headline, body text, image/video URLs, call-to-action buttons, advertiser info, impressions (and per-country breakdown), targeting parameters, and more.

Whether you're a marketer benchmarking competitor campaigns, a researcher tracking political or brand messaging, or a product team tracking ad creative trends, this Actor turns an otherwise manual process into a single configurable run that exports clean, queryable JSON.


Use Cases

  • Competitive ad intelligence — Enter a competitor's company name or a keyword like "project management software" and retrieve every active paid ad they've disclosed, along with the creative they're running and estimated reach.
  • Creative and copy analysis — Pull headlines, body copy, images, and CTAs at scale to study messaging strategies, visual styles, or CTA patterns across an industry or over a date range.
  • Political and brand messaging research — Filter by ad payer (e.g., a PAC or organization) and date range to track how messaging evolves across election cycles or product launches.
  • Market and audience insights — Inspect targeting parameters (industry, job function, education level, location, language) to understand how advertisers segment their LinkedIn audiences.
  • Performance estimation — Filter ads by impression range (minImpressions / maxImpressions) to surface high-reach campaigns or narrow in on niche, low-spend placements.

Input

Configure the scraper through the following fields:

InputTypeDescription
keywordstringSearch term used to find ads on the Ad Library (e.g. "python course").
payerstringName of the entity paying for the ads (e.g. a company or organization).
companystringLinkedIn company page name to filter ads by.
countriesarray of ISO codesLimit results to specific countries (e.g. ["DE", "FR", "US"]). Defaults to ["DE"].
startDatedate (YYYY-MM-DD)Start of the reporting period. Required together with endDate.
endDatedate (YYYY-MM-DD)End of the reporting period. Required together with startDate.
minImpressionsintegerMinimum estimated impressions to include (0 – 1,000,000,000).
maxImpressionsintegerMaximum estimated impressions to include (0 – 1,000,000,000).
maxLimitinteger (required)Maximum number of ad detail pages to scrape (1 – 10,000; default: 5).
proxyobjectOptional proxy configuration to avoid rate limits or geo-blocks during scraping.

Output

Each run produces a structured JSON record per ad. A representative example:

{
"adId": "1534932424",
"adUrl": "https://www.linkedin.com/ad-library/detail/1534932424",
"advertiserLogo": "https://media.licdn.com/dms/image/v2/C4D0BAQE_-3BSObKKhw/company-logo_100_100/company-logo_100_100/0/1630458623850/hogeschool_van_arnhem_en_nijmegen_logo?e=1793232000&v=beta&t=7h4JfSmEjCr-ucIXCmU-VVobsvuePPW-61gWInec92E",
"advertiserName": "HAN University of Applied Sciences",
"advertiserUrl": "https://www.linkedin.com/company/12219",
"availabilityStart": "Sep 1, 2026",
"availabilityEnd": "Sep 15, 2026",
"body": "🐍 𝗣𝘆𝘁𝗵𝗼𝗻 𝗹𝗲𝗿𝗲𝗻? 𝗕𝗲𝗴𝗶𝗻 𝗯𝗶𝗷 𝗱𝗲 𝗛𝗔𝗡!\n\nPython is toegankelijk, krachtig en breed inzetbaar – van data-analyse tot automatisering. In deze cursus leg je een stevige basis en leer je programmeren met praktijkgerichte opdrachten.\n\nPerfect als je:\n🚀 Sneller wilt werken met data of bestanden\n🧠 Je probleemoplossend vermogen wil vergroten\n💪 Een waardevolle skill wil toevoegen aan je werk\n\n\nStartdatum: 27 Oktober 2026 of 8 april 2026\nLestijden: 8 lesdagen van 09:30-15:00\nLocatie: HAN University of Applied Sciences, Academie Toegepaste Biowetenschappen en Chemie in Nijmegen",
"ctasUrl": [
"https://www.han.nl/opleidingen/cursus/programmeren-in-python"
],
"ctas": [
"Inschrijven"
],
"creativeType": "SPONSORED_STATUS_UPDATE",
"format": "Single Image Ad",
"impressions": "< 1k",
"impressionsPerCountry": [
{
"country": "Netherlands",
"impressions": "100%"
}
],
"paidBy": "Stichting Hogeschool van Arnhem en Nijmegen",
"headline": "Meld je vandaag nog aan voor de cursus!",
"imageUrl": [
"https://media.licdn.com/dms/image/v2/D4E10AQEeBPbfaCXtog/image_627_1200/B4DZjGW4x.H0AY-/0/1755674545433/BijdeHANlerenprogrammerenmetPythonjpg?e=2147483647&v=beta&t=BRB6ha1EklGp5wXzpoXoI05zdZmhPhq_DrGDX6NnRPs"
],
"videoUrl": null,
"targetingLanguage": "Nederlands",
"targetingLocation": "Nederland",
"targetingParameter": [
{
"targeting_parameter": "Audience",
"targeted": false,
"excluded": false
},
{
"targeting_parameter": "Demographic",
"targeted": false,
"excluded": false
},
{
"targeting_parameter": "Company",
"targeted": false,
"excluded": false
},
{
"targeting_parameter": "Education",
"targeted": true,
"excluded": false
},
{
"targeting_parameter": "Job",
"targeted": true,
"excluded": false
},
{
"targeting_parameter": "Member Interests and Traits",
"targeted": false,
"excluded": false
}
]
}

Notes

  • No login required. The Actor accesses the public LinkedIn Ad Library and does not need user credentials.
  • Proxy recommended. A rotating proxy (configured via the proxy input) is strongly advised for large maxLimit values — LinkedIn may throttle or block repeated requests without one.
  • Impressions are estimates. LinkedIn reports impression ranges (e.g. <1k, 1k–10k) rather than exact figures.
  • Date and impression filters are co-dependent. If you provide startDate, you must also provide endDate, and vice versa. The same applies to minImpressions / maxImpressions.
  • Rate limiting. The Actor respects page-load timing but does not implement intentional delays between requests. For runs exceeding a few hundred ads, use a proxy with multiple IP pools.