LinkedIn Ads Scraper with Ad Format Specific Data
Pricing
$19.99/month + usage
LinkedIn Ads Scraper with Ad Format Specific Data
🔍LinkedIn Ads Scraper with Ad-Format-Specific Data extracts company sponsored posts—creative, primary text, headline, media, CTA, destination URL & run dates, with CSV/JSON export. 📊 Perfect for competitor research, ad inspiration & media buying. 🚀 Accelerate B2B campaign planning.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapeEngine
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
LinkedIn Ads Scraper With Ad-Format-Specific Data
Scrape the public LinkedIn Ad Library by advertiser and get deep, type-specific structured fields for every ad format LinkedIn supports — Event, Document, Article, Message and InMail — instead of a single generic ad-copy shape. Most LinkedIn ad scrapers, ad library scrapers, and ad intelligence tools return one flat body/headline/CTA structure for every ad regardless of its actual format. This actor parses the ad's own type-specific block on the LinkedIn Ad Library detail page, so an event ad gives you its real date/host/location/registration link, a document (carousel/PDF-style) ad gives you its title/page counts/cover images, a message or InMail ad gives you the full personalized message body and sender, and an article ad gives you its title and summary — each shipped inside a single formatDetails object, alongside every field the base ad-library scraper already returns.
No login, no cookies, no LinkedIn account required — this actor only reads the public, guest-accessible Ad Library pages.
What this LinkedIn ad scraper does
- Accepts one or more advertisers (company names, LinkedIn company URLs, or a ready-made Ad Library search URL) and collects their public LinkedIn ads.
- Parses the standard ad fields every ad has: ad ID, Ad Library URL, advertiser name/URL/logo, ad format, ad copy, creative images, CTAs, paying entity, source URL and scrape timestamp.
- Adds a
formatDetailsobject shaped by the ad's own format — event date/title/host/location/registration URL for Event ads; title/type/page counts/cover-image URLs for Document ads; title/summary for Article ads; sender/full message body/CTA label for Message and InMail ads. Fields that don't apply to a given ad's format staynull— never guessed or borrowed from another format. - Adds a per-advertiser format-mix summary — one extra row per advertiser reporting how many ads of each format were collected (
creativeTypeDistribution) and what share of them carried extractable format-specific data (formatCoveragePct). - Lets you filter the output down to only the ad formats you care about (e.g. only Event and Document ads).
Why format-specific data matters
A generic LinkedIn ad scraper treats every ad the same way, which throws away real, high-value structured data LinkedIn already renders on the page: an event's actual date and registration link, a document ad's page count and preview images, an InMail's full personalized message copy including merge tags like %FIRSTNAME%. This is useful for competitive creative research, event-marketing tracking, content-format benchmarking, and B2B ad intelligence — seeing exactly HOW competitors structure each ad type, not just that an ad exists.
Honest coverage note: Event, Document, Article and Message/InMail ads are a real but small slice of a typical advertiser's ad mix (roughly 1–5% of ads across a normal LinkedIn advertiser sample) — most ads on the platform are plain status-update, video or carousel creatives with no type-specific block to parse. This actor reports the real formatCoveragePct per advertiser rather than implying every ad has structured detail.
Input
| Field | Description |
|---|---|
| 🎬 Advertisers or ad URLs | Company names, LinkedIn company URLs, or a ready-made Ad Library search URL — one per line. |
| 🧩 Ad formats to include | Optional multi-select filter (Status update, Video, Carousel, Event, Document, Article, Message, InMail). Leave empty for all formats. |
| 📐 Extract format-specific details | Toggle the formatDetails parsing on/off. Default on. |
| 📈 Include format-mix summary | Toggle the extra per-advertiser summary row on/off. Default on. |
| 📦 Max ads | Cap on total ads collected across all advertisers (1–1000). The public Ad Library exposes up to 24 ads per search; the budget is shared evenly across multiple advertisers. |
| 🌍 Country filter | Which country's ads to show. |
| 📅 When were the ads active? | Any time / last 30 days / current month / current year / last year. |
| 🛡️ Proxy configuration | Optional Apify Proxy settings. |
Output
Each run produces two row types in one dataset:
type: "ad" — one row per ad:
adId, adLibraryUrl, advertiserName, advertiserUrl, advertiserLogo, format, formatDetails, body, imageUrls, ctas, paidBy, startUrl, scrapedAt.
formatDetails (object, null when the ad's format has no structured block):
- Event ads:
eventTitle,eventDateTime(ISO),eventHost,eventLocationType,eventUrl - Document ads:
documentTitle,documentType,totalPageCount,previewPageCount,documentCoverImageUrls(image URLs only, never the document file itself) - Article ads:
articleTitle,articleSummary - Message / InMail ads:
messageSenderName,messageBody(paragraph-joined, personalization tokens like%FIRSTNAME%kept as-is),messageCtaLabel
type: "formatSummary" — one row per advertiser (when enabled):
advertiserName, totalAds, creativeTypeDistribution (ad count per format), formatCoveragePct, scrapedAt.
Example output row (Event ad)
{"type": "ad","adId": "1546309796","advertiserName": "Salesforce Developers","format": "SPONSORED_UPDATE_EVENT","formatDetails": {"eventTitle": "Agentforce NOW AMA: Build and Operate with Data 360 Headless + Agent Skills","eventDateTime": "2026-08-26T15:50:00+00:00","eventHost": "Salesforce Developers","eventLocationType": "Online","eventUrl": "https://www.linkedin.com/events/buildandoperatewithdata360headl7483603840215240705/"}}
FAQ
Does this need a LinkedIn login? No — it only reads the public, logged-out Ad Library.
Why is formatDetails null on most rows? Most LinkedIn ads are plain status-update, video or carousel creatives with no type-specific block to parse — this is a real, disclosed limitation of the ad, not a scraper error. Check formatCoveragePct on the advertiser's summary row for the real observed rate.
Does this download the actual document/PDF or video file? No — documentCoverImageUrls and any image/logo field are URLs and metadata only. No file bytes are ever downloaded or stored.
Why did I get fewer ads than "Max ads"? The public Ad Library caps each search at 24 ads. If you set an ad-format filter, the filter is applied after collection, so a narrow filter (e.g. only Event ads) can return fewer rows than requested.
Can I search by keyword instead of company? This actor scopes by advertiser (company name/URL or a ready-made search URL), matching the base ad-library scraper's input.