# Changelog of Linkedin Ads Scraper (`data_xplorer/linkedin-ads-scraper`) Actor

- **URL**: https://apify.com/data\_xplorer/linkedin-ads-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/data\_xplorer/linkedin-ads-scraper.md

## Changelog

### 2026-10-01 / v1.8

- 🛡️ Much higher success rate: browser fingerprint switched to Safari 18.6 (Cloudflare was blocking the previous fingerprints most of the time)
- 🌐 Rotating residential gateway (fresh IP per request): no more reusing already-blocked IPs. The `proxyConfiguration` input is now ignored and proxies are managed automatically
- ⚡ Faster and lighter: one proxied attempt at a time instead of racing pages in parallel, quicker IP rotation, no unproxied attempts
- 🩹 No more crashes on malformed search URLs: pasting a LinkedIn company page URL now auto-corrects to the right Ad Library search
- 🧯 Clean, friendly exit instead of a raw error when a search genuinely returns 0 ads
- 🔐 Proxy credentials moved out of the source code into Actor secrets

### 2026-09-09 / v1.6

- ⚡ Replacing the previous stack for much higher reliability on LinkedIn's Ad Library
- 🚀 Parallel lane architecture with pipelined scanning
- 🛡️ Smart resilience: automatic retries with backoff, then full client/IP rotation before giving up on a page

### 2026-05-02 / v1.5

- 🧹 Removed `cloudscraper` dependency, URL resolution now uses native `fetch` with `redirect: 'follow'`
- 🔄 Added User-Agent rotation per request from a pool of 90+ browser fingerprints
- 🛡️ Added proactive session rotation (every 12 requests) to prevent rate-limiting
- 📉 Reduced concurrency (10 → 5) to lower proxy error rate (590/595/429)
- 📦 Bumped to Node 22 LTS, updated `apify` and `crawlee` to latest versions
- 🧼 Removed dead code (`resolveUrlInBackground` call in extractor was unused)

### 2026-02-13 / v1.4.8

- 🤖 Added `output_schema.json` for full AI & LLM compatibility
- 🖼️ Added support for Document Ads (PDF/Slides embedded in iframes)
- 📩 Added support for Sponsored Messages (InMail) with full text extraction
- 🛠️ Fixed missing description on specific ad formats
- 📊 Impressions by Country now returns an Array of objects for better export compatibility

### 2026-01-31 / v

### 2026-02-13 / v1.4.8

- 🤖 Added `output_schema.json` for full AI & LLM compatibility
- 🖼️ Added support for Document Ads (PDF/Slides embedded in iframes)
- 📩 Added support for Sponsored Messages (InMail) with full text extraction
- 🛠️ Fixed missing description on specific ad formats
- 📊 Impressions by Country now returns an Array of objects for better export compatibility

### 2026-01-31 / v1.3.2

- 🏗️ Complete architecture rewrite for superior stability
- ⚡ Turbo performance with increased concurrency
- 🐛 Fixed infinite loops on private ads by detecting and skipping gated content
- 📊 Improved data quality with standardized impression numbers and structured targeting audience
- 🔧 Solved various parsing issues for dates and IDs across different languages

### 2026-01-07 / v1.2.1

- 🏠 Residential proxies now enabled by default (recommended for LinkedIn to avoid blocks)
- 🔄 Optimized proxy rotation - Reuses same proxy for 50 requests instead of changing each time (faster & more reliable)
- ⚡ Better performance - Immediate result saving after each batch (no buffering delays)
- 🐛 Bug fixes - Fixed timeout issues with residential proxies (increased to 2 minutes)

### 2026-01-07 / v1.1.2

- 🏠 Residential proxies now enabled by default (recommended for LinkedIn to avoid blocks)
- 🔄 Optimized proxy rotation - Reuses same proxy for 50 requests instead of changing each time (faster & more reliable)
- ⚡ Better performance - Immediate result saving after each batch (no buffering delays)
- 🐛 Bug fixes - Fixed timeout issues with residential proxies (increased to 2 minutes)

### 2026-01-05 / v1.0.1

- 🚨 Added early detection for URLs with no results
- 🔧 Fixed proxy configuration: Now uses Apify's standard proxy editor

### 2026-01-03 / v0.9.1

- 📜 Intelligent scroll-based pagination to load all available ads
- 🐛 Fixed critical bug: Now uses Playwright for scrolling instead of CloudScraper to properly load dynamic content
- 🚀 Major performance upgrade with Playwright integration for dynamic content loading
- 📦 Updated dependencies: Apify, Playwright, Axios
- ✅ LIMITED\_PERMISSIONS mode fully supported

### 2025-02-16 / v0.8.10

- 🐛 Fixed impressions data extraction (total and per country)
- 🔢 Fixed impressions calculation system to handle all formats (k, ranges, percentages)

### 2025-02-15 / v0.7.3

- 🔗 Added URL decoding option for shortened links (bit.ly, lnkd.in)
- 🎯 Enhanced URL extraction from ad content with improved priority system
- ⚡️ Improved execution speed

### 2025-02-09 / v0.4.5

- 🎯 First stable release with comprehensive LinkedIn Ads data extraction
- 📊 Implemented automated impression calculations by country
- 🏗️ Structured data format with standardized fields
- ⚡️ Optimized parallel processing with batch handling
