LinkedIn Ad Library Scraper (No Cookies or Login Required) avatar

LinkedIn Ad Library Scraper (No Cookies or Login Required)

Pricing

from $0.50 / 1,000 ad results

Go to Apify Store
LinkedIn Ad Library Scraper (No Cookies or Login Required)

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

Curly

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

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

  1. Enter at least one filter such as Company or advertiser, Keyword or phrase, or Countries.
  2. Optionally select a payer, date range, impression range, or targeting category.
  3. Set Maximum ads per search from 1 to 1,000.
  4. Click Start.
  5. 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

InputDescription
advertiserCompany or advertiser name shown on LinkedIn
payerOrganization or person that paid for the ad
keywordWord or phrase contained in the ad
countriesOne or more countries, or all available countries
dateRangeLast 30 days, current month, current year, last year, all dates, or a custom range
startDate, endDateStart and end dates for a custom range
minImpressions, maxImpressionsOptional impression filters for ads shown in the EU region
includedTargetingCategoriesRequire public inclusions in selected EU targeting categories
excludedTargetingCategoriesRequire public exclusions in selected EU targeting categories
maxResultsPerUrlMaximum 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 groupAvailable fields
Ad identityAd ID, detail URL, source search URL, format, and restriction status
AdvertiserName, LinkedIn company URL, company ID, and logo
Payer and datesPaying entity, start date, end date, and active status
DeliveryPublic impression range and country distribution
TargetingIncluded and excluded public targeting segments
CreativeAll public variants, body text, headline, destination URL, external URLs, and call to action
MediaImages, videos, documents, events, and carousel items
MetadataScrape 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:

ChargeFree planPaid 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.

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.