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

LinkedIn Ad Library Scraper (No Cookies or Login Required)

Pricing

$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

$0.50 / 1,000 ad results

Rating

0.0

(0)

Developer

Curly

Curly

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

Search and scrape public ads from the LinkedIn Ad Library. Enter a company or advertiser, payer, keyword, countries, and date range directly in the Actor. Get structured ad creatives, advertiser details, run dates, formats, impression ranges, country distribution, and targeting when LinkedIn makes them public.

No LinkedIn cookies, account, login, or proxy setup is required. Proxies, rotation, retries, and pagination are included.

Quick start

  1. Enter at least one search filter, such as Company or advertiser, Keyword, or Countries.
  2. Optionally choose a date range, payer, impression range, or targeting categories.
  3. Set Maximum ads per search.
  4. Click Start and download the results.

You do not need to open LinkedIn or construct a URL.

{
"advertiser": "JetBrains",
"keyword": "AI",
"countries": ["DE", "US"],
"dateRange": "current-year",
"maxResultsPerUrl": 10
}

Available search fields:

  • advertiser: company or advertiser name
  • payer: organization or person that paid for the ad
  • keyword: word or phrase in the ad
  • countries: one or more countries selected from the input list
  • dateRange: any available date, last 30 days, current month, current year, last year, or a custom range
  • startDate and endDate: required only for a custom date range
  • minImpressions and maxImpressions: optional EU-region ad filters
  • includedTargetingCategories and excludedTargetingCategories: optional EU-region ad filters
  • maxResultsPerUrl: number of ads to return

The search fields map directly to LinkedIn Ad Library filters. Multiple countries and targeting categories can be selected without knowing LinkedIn's internal URL format.

Advanced URL mode

If you already have LinkedIn Ad Library URLs, leave every search field empty/default and use:

{
"urls": [
"https://www.linkedin.com/ad-library/search?accountOwner=JetBrains&dateOption=current-year",
"https://www.linkedin.com/ad-library/detail/1476666024"
],
"maxResultsPerUrl": 10
}

Search-field mode and URL mode cannot be combined in one run. URL mode accepts up to 100 LinkedIn Ad Library search or detail URLs. The result limit applies separately to every search URL; direct detail URLs return at most one result. Duplicate URLs and ads are processed once. Other LinkedIn URLs and non-LinkedIn URLs are rejected.

What you get

Each dataset item is one LinkedIn ad and can include:

  • Ad ID, detail URL, search URL, and ad format
  • Advertiser name, LinkedIn company URL, company ID, and logo
  • Paying entity and public run period
  • Public total-impression range and country distribution
  • Included and excluded targeting segments
  • Every public creative variant
  • Creative text, headline, call to action, and destination URLs
  • Image, video, document, event, and carousel details

Example result:

{
"ad_id": "1476666024",
"ad_url": "https://www.linkedin.com/ad-library/detail/1476666024",
"search_url": "https://www.linkedin.com/ad-library/search?accountOwner=Ketryx",
"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
},
"is_restricted": 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": [],
"is_targeted": null,
"is_excluded": null
}
],
"creative_variants": [
{
"variant_index": 0,
"creative_type": "SPONSORED_UPDATE_EVENT",
"body": "Example public ad text.",
"headline": "Example event",
"destination_url": "https://www.linkedin.com/events/example",
"call_to_action": "Register",
"external_urls": [],
"media": [],
"document": null,
"event": {
"title": "Example event",
"url": "https://www.linkedin.com/events/example",
"start_at": "2026-09-09T15:00:00.000Z",
"end_at": null,
"location": "Online"
},
"carousel_items": []
}
],
"scraped_at": "2026-07-29T12:00:00.000Z",
"source": "linkedin_ad_library"
}

The output always uses the same complete schema. Fields that are not publicly exposed for a particular ad remain null or an empty array. No _html fields are returned.

Price

The price is $0.0005 per stored ad$0.50 per 1,000 results. You pay for returned dataset items, not failed requests or duplicates.

Run with the 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":10}'

The same input works with the Apify API client, schedules, webhooks, and integrations.

Limits and responsible use

  • Impression and targeting data is returned only when LinkedIn exposes it publicly for the ad.
  • Some ads have multiple creative variants; all available variants are kept in the same result.
  • Public page availability can vary by ad, country, and time.
  • Use the Actor only for lawful purposes and comply with applicable privacy, data-protection, advertising, and platform rules.

FAQ

Do I need LinkedIn cookies or an account?

No. The Actor accesses the public LinkedIn Ad Library without your LinkedIn credentials.

Do I need to configure a proxy?

No. Proxy access and rotation are included automatically.

How do I choose an advertiser or keyword?

Enter the advertiser or keyword directly in the Actor input. You can combine it with payer, country, date, impression, and targeting filters. The Actor builds the LinkedIn search URL and paginates automatically.

Can I still paste a LinkedIn Ad Library URL?

Yes. Use Advanced URL mode and leave all search fields empty/default. URL mode and search-field mode are intentionally mutually exclusive, so it is always clear which filters will be used.

Can I limit the number of ads?

Yes. Set Maximum ads per search to any number from 1 to 1,000. A value of 10 returns at most 10 ads from the structured search. In URL mode, it returns at most 10 ads from each search URL.

Why are impressions or targeting empty?

LinkedIn does not publish those values for every ad. The Actor does not invent missing data.