All notable changes to LinkedIn Ad Library Scraper are recorded here. The newest release is first.
Apify renders this as a Changelog tab on the Store page. Keeping it current is a
visible signal that the Actor is maintained, which feeds the quality score that
drives Store and MCP search ranking. Add an entry with every published build.
- Faster and cheaper start: the proxy check now spreads its first round over eight residential exit countries at once and keeps to the ones LinkedIn serves that day, instead of three fixed countries. A served proxy session is shared by up to three parallel requests, so small runs need one checked IP instead of six. Typical 10-ad runs start in under 10 s (was 40-60 s).
- A proxy IP that LinkedIn blocks mid-run is taken out of the pool at once, so no other request is sent through it.
First public release.
- Search and extraction implemented against the source's own public endpoints, with no login and no third-party API key.
- Every row carries
status, so a missing record (not_found) and a failure (error) are told apart from real data. Only ok rows are charged.
- Records are validated against a schema before they are written, so an upstream change produces loud warnings instead of silently billing for empty rows.
- Callable with no arguments by an AI agent, which the input schema's defaults make safe.
- LinkedIn Ad Library search by keyword, advertiser, payer, countries and date range, plus Ad Library URLs and ad ids.
- Company ads only: member and thought-leader ads are skipped and never saved.
- Fast basic rows straight from the search results (24 ads per page, no extra request); optional Include ad details opens each ad's page for company page, landing URL, CTA, full text, dates, impressions and targeting (extra
Ad details event).
- Residential proxy by default (datacenter optional, off): every proxy session is checked with one tiny request before use, exit countries are ranked by how well LinkedIn serves them, and a blocked or throttled session is replaced at once.