LinkedIn Ad Library Scraper (No Cookies or Login Required)
Pricing
from $0.50 / 1,000 ad results
LinkedIn Ad Library Scraper (No Cookies or Login Required)
Search LinkedIn Ad Library ads directly by advertiser, payer, keyword, country, date, impressions, and targeting. Get creatives, run dates, impressions, and targeting with no cookies, login, or proxy setup. ($0.50 USD per 1,000 results)
Pricing
from $0.50 / 1,000 ad results
Rating
0.0
(0)
Developer
Curly
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
LinkedIn Ad Library Scraper | From $0.50/1K Ads | No Login
Scrape public LinkedIn Ad Library results by company, advertiser, payer, keyword, country, and date. Export LinkedIn ad copy, creatives, calls to action, run dates, advertiser details, and available EU impressions and targeting data—without a LinkedIn login or cookies. Paid Apify plans start at $0.50 per 1,000 stored ads; Free-plan users pay $0.70 per 1,000.
Use this LinkedIn ads scraper for competitor ad research, creative analysis, campaign monitoring, and advertising-transparency datasets. Each run returns structured data through the Apify Dataset, API, schedules, webhooks, and integrations.
What is the LinkedIn Ad Library Scraper?
LinkedIn's public Ad Library lets people search ads shown on LinkedIn. This Actor automates that search and turns the available ad records into consistent JSON, CSV, Excel, XML, or RSS output.
Instead of opening ads one by one, you can collect up to 1,000 ads per search and retain all public creative variants in a single record. Search with simple input fields or provide existing LinkedIn Ad Library URLs in advanced mode.
What can you use it for?
- Competitor LinkedIn ads research — track the messaging, offers, formats, and calls to action used by specific companies.
- Ad creative analysis — build a structured library of copy, images, videos, documents, events, and carousel items.
- Campaign monitoring — run the same LinkedIn Ad Library search on a schedule and send new datasets to other tools.
- Market and messaging research — compare how advertisers discuss a keyword across countries or time periods.
- Advertising-transparency research — analyze public payer, impression, country-distribution, and targeting fields where available.
How to scrape LinkedIn ads
- Enter at least one filter such as Company or advertiser, Keyword or phrase, or Countries.
- Optionally select a payer, date range, impression range, or targeting category.
- Set Maximum ads per search from 1 to 1,000.
- Click Start.
- Open the Dataset to preview or export the results.
No LinkedIn account, cookies, manually constructed search URL, or proxy configuration is required.
Example: search by advertiser and keyword
{"advertiser": "JetBrains","keyword": "AI","countries": ["DE", "US"],"dateRange": "current-year","maxResultsPerUrl": 100}
LinkedIn Ad Library search filters
| Input | Description |
|---|---|
advertiser | Company or advertiser name shown on LinkedIn |
payer | Organization or person that paid for the ad |
keyword | Word or phrase contained in the ad |
countries | One or more countries, or all available countries |
dateRange | Last 30 days, current month, current year, last year, all dates, or a custom range |
startDate, endDate | Start and end dates for a custom range |
minImpressions, maxImpressions | Optional impression filters for ads shown in the EU region |
includedTargetingCategories | Require public inclusions in selected EU targeting categories |
excludedTargetingCategories | Require public exclusions in selected EU targeting categories |
maxResultsPerUrl | Maximum number of ads returned per search, from 1 to 1,000 |
You can combine advertiser, payer, keyword, country, date, impression, and targeting filters in one search.
Advanced mode: scrape LinkedIn Ad Library URLs
If you already have LinkedIn Ad Library search or ad-detail URLs, leave the search fields empty or at their defaults and use urls:
{"urls": ["https://www.linkedin.com/ad-library/search?accountOwner=JetBrains&dateOption=current-year","https://www.linkedin.com/ad-library/detail/1476666024"],"maxResultsPerUrl": 100}
URL mode accepts up to 100 LinkedIn Ad Library search or detail URLs. The limit applies separately to every search URL; a detail URL returns at most one ad. Duplicate ads are returned once. Search-field mode and URL mode cannot be combined in one run.
What LinkedIn ad data can you scrape?
Each dataset item represents one LinkedIn ad and can include:
| Data group | Available fields |
|---|---|
| Ad identity | Ad ID, detail URL, source search URL, format, and restriction status |
| Advertiser | Name, LinkedIn company URL, company ID, and logo |
| Payer and dates | Paying entity, start date, end date, and active status |
| Delivery | Public impression range and country distribution |
| Targeting | Included and excluded public targeting segments |
| Creative | All public variants, body text, headline, destination URL, external URLs, and call to action |
| Media | Images, videos, documents, events, and carousel items |
| Metadata | Scrape timestamp and source |
The output uses a consistent schema. When LinkedIn does not publish an optional value for an ad, the field remains null or an empty array instead of being inferred.
Example output
{"ad_id": "1476666024","ad_url": "https://www.linkedin.com/ad-library/detail/1476666024","ad_format": "Event Ad","advertiser": {"name": "Ketryx","url": "https://www.linkedin.com/company/73267396","company_id": "73267396","logo_url": "https://media.licdn.com/example-logo.png"},"payer": "Ketryx Corporation","run_period": {"start_date": "2026-07-27","end_date": "2026-07-29","is_active": false},"impression_range": {"label": "< 1k","estimated_min": 0,"estimated_max": 999},"impressions_by_country": [{"country": "United Kingdom","share_label": "17%","share_percent": 17}],"targeting": [{"category": "Language","included_values": ["English"],"excluded_values": []}],"creative_variants": [{"variant_index": 0,"body": "Example public ad text.","headline": "Example event","destination_url": "https://www.linkedin.com/events/example","call_to_action": "Register"}],"scraped_at": "2026-07-29T12:00:00.000Z","source": "linkedin_ad_library"}
Export and automate LinkedIn ad data
Download results from the Apify Dataset as JSON, CSV, Excel, XML, or RSS. You can also:
- run the Actor from the Apify API or API clients;
- schedule recurring LinkedIn ad searches;
- trigger a webhook after a run finishes;
- connect the dataset to supported Apify integrations.
Run the scraper with the Apify API
curl -X POST \"https://api.apify.com/v2/acts/curly~linkedin-ad-library-scraper/run-sync-get-dataset-items?format=json" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \--data '{"advertiser":"JetBrains","keyword":"AI","countries":["DE"],"dateRange":"current-year","maxResultsPerUrl":100}'
Pricing
The Actor uses pay-per-event pricing with two charges:
| Charge | Free plan | Paid Apify plans |
|---|---|---|
| Actor start | $0.001 per run | $0.0006 per run |
| Successfully stored unique ad | $0.0007 per ad | $0.0005 per ad |
Paid plans start at $0.50 per 1,000 stored ads. The Free-plan rate is $0.70 per 1,000. The small Actor-start charge applies once when a run starts. You pay the per-ad price only for unique ads added to the dataset; unavailable ads and duplicates create no result charge.
The Actor-start charge can still apply when a run returns no ads. Platform usage is included in these prices. The Apify Store shows the applicable prices and maximum run cost before the run starts.
Limitations and responsible use
- The Actor collects only fields available on public LinkedIn Ad Library pages.
- Impression and targeting data is not published for every ad and is mainly available for ads shown in the EU region.
- Public page availability can vary by ad, country, and time.
- The Actor is not affiliated with or endorsed by LinkedIn.
- Use the Actor only for lawful purposes and comply with applicable privacy, data-protection, advertising, and platform rules.
Frequently asked questions
Is there a LinkedIn Ad Library?
Yes. LinkedIn provides a public Ad Library for searching ads shown on its platform. This Actor automates LinkedIn Ad Library searches and returns the public results as structured data.
Can I search LinkedIn ads by company?
Yes. Enter a company in Company or advertiser. You can combine it with a keyword, payer, country, date, impression range, or targeting category.
Can I scrape LinkedIn ads by keyword and country?
Yes. Set keyword and select one or more countries. The Actor handles the LinkedIn Ad Library search and returns the matching public ads.
Do I need a LinkedIn account or cookies?
No. The Actor reads public LinkedIn Ad Library pages without your LinkedIn credentials or cookies.
Do I need to configure a proxy?
No. Proxy setup is included automatically.
Can I scrape images, videos, and carousel ads?
The Actor returns every public creative variant it can identify, including available image, video, document, event, and carousel details.
Why are impressions or targeting fields empty?
LinkedIn does not publish those values for every ad. The Actor preserves missing values as null or empty arrays and does not invent them.
Can I monitor new LinkedIn ads automatically?
Yes. Save your input and use an Apify schedule to run it repeatedly. Use a webhook or integration to process the resulting dataset after each run.
How much does the LinkedIn Ad Library Scraper cost?
Paid Apify plans start at $0.50 per 1,000 successfully stored ads, while the Free-plan rate is $0.70 per 1,000. Each run also has a small Actor-start charge: $0.0006 on paid plans or $0.001 on the Free plan.
What happens if an input is invalid or an ad is unavailable?
Invalid inputs and unavailable public ads create no result charge. The Actor-start charge still applies once the run starts.
Support
For questions, missing fields, or unexpected results, open the Actor's Issues tab and include the run ID plus a short description of the expected result.