LinkedIn Ad Library Scraper – No Login
Pricing
from $1.50 / 1,000 ad results
LinkedIn Ad Library Scraper – No Login
Scrape public LinkedIn Ad Library results by keyword, advertiser, or payer. Extract ad copy, creative media, advertiser, payer, dates, landing pages, impressions, and targeting data without login or cookies.
Pricing
from $1.50 / 1,000 ad results
Rating
0.0
(0)
Developer
DataScraperES
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Search LinkedIn's public Ad Library by keyword, advertiser, or payer without a LinkedIn login. Receive one structured Dataset item per unique ad, including creative copy, media, advertiser, payer, dates, destination, impressions, targeting, variants, and source context when publicly available.
What this Actor does
The Actor performs bounded public Ad Library searches and deduplicates results by ad ID. With detail fetching enabled, it opens each public ad detail page to add the fields LinkedIn exposes beyond the search card.
Use cases
- Research competitor advertising messages and creative formats.
- Compare campaigns by advertiser, payer, market, or date range.
- Build ad-monitoring datasets with public media and targeting signals.
How to use
- Open the Actor in Apify Console.
- Add at least one keyword, advertiser, or payer.
- Select countries, dates, and a maximum result count.
- Click Start and open the Dataset when the run finishes.
Input
{"keywords": ["artificial intelligence"],"advertisers": [],"payers": [],"countries": ["US"],"dateOption": "last-30-days","startDate": null,"endDate": null,"maxResults": 3,"fetchDetails": false}
Provide at least one value across keywords, advertisers, or payers; each list accepts up to 25 values, with at most 50 searches in total. Duplicate values within a list are removed. countries accepts 1–20 two-letter codes, or ALL by itself. dateOption defaults to last-30-days; custom ranges require startDate and endDate. maxResults defaults to 100 and accepts 1–1,000. fetchDetails defaults to true. The prefilled example requests three ads without optional details.
This exact input produced the complete output below:
{"keywords": ["artificial intelligence"],"advertisers": [],"payers": [],"countries": ["US"],"dateOption": "last-30-days","maxResults": 3,"fetchDetails": false}
Output
Each Dataset item represents one unique ad. Search-card fields remain useful when optional details cannot be fetched; inspect detailsFetched and detailStatus. Nested variants, media arrays, source, impressions, and targeting are preserved when LinkedIn publishes them. SUMMARY reports unique ads, searches, pages, optional detail availability, result limits, and spending limits. Its status distinguishes completed searches, partial output, and failed searches. Missing requested details produce a partial summary. Searches that remain blocked after retries also produce a partial summary, including when no ads could be collected; other searches continue and saved progress remains resumable. A partial summary does not mean that all requested data was collected. A completed search may contain no matching ads. If delivery cannot be confirmed, deliveryUncertain is true and uniqueAds is null; inspect the Dataset before treating the results as complete.
This is the complete Dataset item from a real successful run:
{"adId": "1578762354","adLibraryUrl": "https://www.linkedin.com/ad-library/detail/1578762354","advertiserName": "Laetitia ADER-YA","advertiserUrl": null,"advertiserSlug": null,"advertiserLogoUrl": "https://media.licdn.com/dms/image/v2/D4E03AQHV8LkzxD_Jbw/profile-displayphoto-scale_100_100/B4EZ2KkWX9GQAc-/0/1776146279887?e=1792627200&v=beta&t=F1-mrhFC6ipPqnRvr_ayV0r0uHkPQl_WcYPQOD8jJlo","creativeType": "SPONSORED_STATUS_UPDATE","format": "image","body": "Global Digital Edition Some books tell a story. Some books start a conversation. This one invites us to rethink how p…","headline": null,"headlineDescription": null,"cta": null,"destinationUrl": null,"imageUrls": ["https://media.licdn.com/dms/image/v2/D4E22AQEzfSVJEnoM_w/feedshare-image-high-res/B4EaBWn5ibHwAY-/0/1788159695282?e=1792627200&v=beta&t=F_q9bKdHmGvq85Fxm7RK4xpIm-iAR-OPvOoTCqQnspk","https://media.licdn.com/dms/image/v2/D4E22AQEmzdgAnQKQJA/feedshare-shrink_1280/B4EaBWn5dNG8AM-/0/1788159694949?e=1792627200&v=beta&t=yAwhqHf9Rfsqwtu-3CIPM3_c210rzuDimoDTFs2F-_A"],"videoUrls": [],"videoPosterUrl": null,"isRestricted": false,"paidBy": null,"startDate": null,"endDate": null,"runDateText": null,"totalImpressions": null,"impressionsByCountry": [],"targeting": [],"targetingMatrix": [],"variantsCount": 1,"variants": [{"body": "Global Digital Edition Some books tell a story. Some books start a conversation. This one invites us to rethink how p…","headline": null,"headlineDescription": null,"cta": null,"destinationUrl": null,"imageUrls": ["https://media.licdn.com/dms/image/v2/D4E22AQEzfSVJEnoM_w/feedshare-image-high-res/B4EaBWn5ibHwAY-/0/1788159695282?e=1792627200&v=beta&t=F_q9bKdHmGvq85Fxm7RK4xpIm-iAR-OPvOoTCqQnspk","https://media.licdn.com/dms/image/v2/D4E22AQEmzdgAnQKQJA/feedshare-shrink_1280/B4EaBWn5dNG8AM-/0/1788159694949?e=1792627200&v=beta&t=yAwhqHf9Rfsqwtu-3CIPM3_c210rzuDimoDTFs2F-_A"],"videoUrls": [],"videoPosterUrl": null}],"detailsFetched": false,"detailStatus": "not_requested","source": {"type": "keyword","value": "artificial intelligence","countries": ["US"],"dateOption": "last-30-days","startDate": null,"endDate": null},"scrapedAt": "2026-10-01T08:11:19.289223Z"}
Results can be exported as JSON, JSONL, CSV, Excel, XML, or RSS.
Pricing
The Actor uses tiered pay-per-event pricing for each unique ad result written to the Dataset. Apify selects the tier from your account plan automatically.
| Apify plan tier | Price per ad | Equivalent per 1,000 ads |
|---|---|---|
| Free | $0.002 | $2.00 |
| Bronze | $0.0018 | $1.80 |
| Silver | $0.0016 | $1.60 |
| Gold | $0.0015 | $1.50 |
| Platinum | $0.0015 | $1.50 |
| Diamond | $0.0015 | $1.50 |
Empty searches, failed searches, duplicates, and ads not written because of a spending limit do not create an ad charge. There is no Actor-start charge.
Related Actors
| Actor | Best for |
|---|---|
| TikTok Commercial Content Library Ads Scraper | Comparing public ad creatives and campaign signals across TikTok markets. |
| LinkedIn Company Profile Scraper - No Login | Enriching advertisers with their current public company profile. |
Limits and data quality
The Actor returns up to 1,000 unique ads per run and processes at most 50 search values and 20 countries. Public Ad Library coverage changes over time and by country. Temporary source restrictions can leave a run with fewer ads than requested; already delivered ads remain available in the Dataset. Check SUMMARY.status, failedSearches, and pendingSearches to assess coverage. Optional detail fields can be null even when detailStatus is success because LinkedIn did not publish them for that ad. Media URLs are public source URLs and may expire or change.
Frequently asked questions
Can I search all countries?
Yes. Use "countries": ["ALL"]; do not combine ALL with country codes.
Why are impressions, dates, or destination URL null?
Those fields were not exposed for that ad at collection time. Enabling fetchDetails allows collection but cannot make unavailable fields public.
Responsible use
Use only publicly available advertising data for lawful research. You are responsible for complying with LinkedIn's terms, advertising rules, privacy laws, intellectual-property rights, and any requirements that apply to your use case.
Support
Open an issue in the Actor's Issues tab with the run ID, exact search input, and an affected public Ad Library URL.