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

7 days ago

Last modified

Share

Search public LinkedIn Ad Library ads by advertiser, payer, keyword, country, or date. Each result includes the available creative, advertiser, run dates, format, impressions, country distribution, and targeting data. No LinkedIn cookies, account, login, or proxy setup is required.

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
}
FieldPurpose
advertiserCompany or advertiser name
payerOrganization or person that paid for the ad
keywordWord or phrase in the ad
countriesOne or more countries from the input list
dateRangeLinkedIn date preset or a custom range
startDate, endDateBounds for a custom date range
minImpressions, maxImpressionsOptional EU-region impression filters
includedTargetingCategories, excludedTargetingCategoriesOptional EU-region targeting filters
maxResultsPerUrlMaximum ads returned per search

The search fields map directly to LinkedIn Ad Library filters. Multiple countries and targeting categories can be selected without constructing a LinkedIn search URL.

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 LinkedIn does not publish for a particular ad remain null or an empty array.

Price

The price is $0.0005 per stored ad, or $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.

What happens when an input is invalid or an ad is not found?

Invalid inputs and missing public pages complete without a charge. A genuine service failure still fails the run so operational problems remain visible.

Support

For questions, missing fields, or unexpected results, contact hello@trycurly.xyz.