LinkedIn Ad Library Scraper – No Login avatar

LinkedIn Ad Library Scraper – No Login

Pricing

$2.00 / 1,000 ad results

Go to Apify Store
LinkedIn Ad Library Scraper – No Login

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

$2.00 / 1,000 ad results

Rating

0.0

(0)

Developer

DataScraperES

DataScraperES

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Run the Actor on Apify

Search LinkedIn's public Ad Library and export ads as structured JSON, CSV, Excel, XML, or RSS. The Actor searches by keyword, advertiser, or payer and can enrich every ad with its public detail page—no LinkedIn account, cookies, or session token required.

What you can collect

Each dataset item represents one unique LinkedIn ad and can include:

  • LinkedIn ad ID and public Ad Library URL
  • Advertiser name, LinkedIn URL, identifier, and logo
  • Entity shown in the Paid for by field
  • Ad format and LinkedIn creative type
  • Primary text, headline, description, and call to action
  • Landing-page URL
  • Creative image, video, and poster URLs
  • First and last run dates
  • Total impression range and impressions by country, when shown
  • Targeting categories and targeted/excluded parameter groups, when shown
  • Multiple creative variants belonging to the same ad
  • Search source and UTC collection timestamp

LinkedIn does not disclose every field for every ad. Missing information is returned as null or an empty array instead of being guessed.

How to use the Actor

  1. Open the Actor and select Create new task or Start.
  2. Add at least one value under Keywords, Advertisers, or Payers.
  3. Choose the countries and date range.
  4. Set Maximum ads to the total number of unique ads you want across all searches.
  5. Keep Fetch full ad details enabled for payer, dates, landing pages, complete media, impressions, and targeting data.
  6. Start the run and open the Dataset tab to preview or export the results.

Duplicate ad IDs found by several searches are written only once.

Input

FieldTypeDefaultDescription
keywordsstring[][]Words or phrases matched against public ads. Each item is a separate search.
advertisersstring[][]Advertiser names, LinkedIn company slugs, or full company URLs.
payersstring[][]Names shown in LinkedIn's Paid for by field.
countriesstring[]["US"]Two-letter country codes. Use ["ALL"] to search all countries.
dateOptionstring"last-30-days"last-30-days, current-month, current-year, last-year, or custom-date-range.
startDatestring | nullnullCustom start date in YYYY-MM-DD format.
endDatestring | nullnullCustom end date in YYYY-MM-DD format.
maxResultsinteger100Global limit from 1 to 1,000 unique ads.
fetchDetailsbooleantrueEnrich each search result using its public ad detail page.

At least one keyword, advertiser, or payer is required. A run accepts up to 50 combined searches.

Example: keywords and advertisers

{
"keywords": ["marketing automation", "artificial intelligence"],
"advertisers": [
"microsoft",
"https://www.linkedin.com/company/hubspot/"
],
"countries": ["US", "GB"],
"dateOption": "last-30-days",
"maxResults": 100,
"fetchDetails": true
}

Example: payer with a custom date range

{
"payers": ["Example Media LLC"],
"countries": ["ALL"],
"dateOption": "custom-date-range",
"startDate": "2026-06-01",
"endDate": "2026-06-30",
"maxResults": 50,
"fetchDetails": true
}

Output example

{
"adId": "1234567890",
"adLibraryUrl": "https://www.linkedin.com/ad-library/detail/1234567890",
"advertiserName": "Example Company",
"advertiserUrl": "https://www.linkedin.com/company/example-company",
"advertiserSlug": "example-company",
"advertiserLogoUrl": "https://media.licdn.com/dms/image/example-logo",
"paidBy": "Example Company LLC",
"creativeType": "SPONSORED_STATUS_UPDATE",
"format": "image",
"body": "Build a faster reporting workflow.",
"headline": "Download the 2026 benchmark report",
"headlineDescription": null,
"cta": "Download",
"destinationUrl": "https://example.com/report?utm_source=linkedin",
"imageUrls": [
"https://media.licdn.com/dms/image/example-creative"
],
"videoUrls": [],
"videoPosterUrl": null,
"isRestricted": false,
"startDate": "2026-06-10",
"endDate": "2026-06-30",
"runDateText": "Ran from Jun 10, 2026 to Jun 30, 2026",
"totalImpressions": "1k – 5k",
"impressionsByCountry": [
{"country": "United States", "percentage": 82.0},
{"country": "United Kingdom", "percentage": 18.0}
],
"targeting": [
{"category": "Language", "details": "Targeting includes English"}
],
"targetingMatrix": [
{"parameter": "Company", "targeted": true, "excluded": false}
],
"variantsCount": 1,
"variants": [
{
"body": "Build a faster reporting workflow.",
"headline": "Download the 2026 benchmark report",
"headlineDescription": null,
"cta": "Download",
"destinationUrl": "https://example.com/report?utm_source=linkedin",
"imageUrls": ["https://media.licdn.com/dms/image/example-creative"],
"videoUrls": [],
"videoPosterUrl": null
}
],
"detailsFetched": true,
"detailStatus": "success",
"source": {
"type": "keyword",
"value": "marketing automation",
"countries": ["US", "GB"],
"dateOption": "last-30-days",
"startDate": null,
"endDate": null
},
"scrapedAt": "2026-07-13T16:20:00Z"
}

When detail enrichment is disabled, detailsFetched is false and detailStatus is not_requested. If an individual detail page is temporarily unavailable, the valid search-card data is still returned and detailStatus describes the missing enrichment.

Run through the Apify API

Start a run with your Apify API token:

curl -X POST \
"https://api.apify.com/v2/acts/datascraperes~linkedin-ad-library-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"keywords": ["B2B software"],
"countries": ["US"],
"dateOption": "last-30-days",
"maxResults": 25,
"fetchDetails": true
}'

You can also run the Actor from JavaScript, Python, Make, Zapier, n8n, or any service that can call the Apify API. Use the run's defaultDatasetId to download the resulting items.

Billing behavior

Each unique ad successfully written to the dataset counts as one result when pay-per-event pricing is enabled. Duplicate ads, failed searches, retries, and detail pages that do not create an additional dataset item are not separate results. The current unit price and platform usage are shown on the Actor page before you run it.

Data availability and responsible use

  • The Actor reads only pages exposed by LinkedIn's public Ad Library.
  • Ads and transparency fields vary by country, date, ad format, and disclosure requirements.
  • The public library can change over time, so repeated searches may return different totals.
  • Use the results in accordance with applicable laws, privacy rules, and LinkedIn's terms.