LinkedIn Ad Library Scraper: Ads, Impressions, Targeting
Pricing
from $0.79 / 1,000 ads
LinkedIn Ad Library Scraper: Ads, Impressions, Targeting
Scrape LinkedIn Ad Library ads by advertiser, keyword or payer, with country and date filters. Get text, headline, CTA, images, video, documents, carousel cards, payer, run dates, impressions by country and targeting. No login, no cookies.
Pricing
from $0.79 / 1,000 ads
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with over 140,000 runs across 170+ public actors.
Why choose this actor?
- Search the whole LinkedIn Ad Library the way the site does. By advertiser, keyword or "Paid for by" name, filtered by country, date range and order. Our proof run returned 240 ads from 4 searches (HubSpot, Salesforce, SAP and the keyword "cybersecurity") in 104 seconds, every one with its detail page read. No LinkedIn account, no cookies, no browser.
- The transparency data, not just the creative. With details on, each ad carries the advertiser's LinkedIn link, the legal entity that paid, the full text, the call to action, the landing page when LinkedIn shows it, the video file and document pages, and, where LinkedIn publishes them, the run dates, total impressions, impressions by country and the targeting the advertiser chose. Filtered to Germany and France, 60 of 60 ads came back with all of it.
- You pay for ads you receive, and details only when you ask for them. One charge per ad saved to your dataset, one more when its detail page was read, plus a flat start fee. Searches with no results, refused pages, an ad found twice in the same run, ad links LinkedIn cannot show and ads an earlier run already gave you (when you switch that on) are never charged.
Part of The Mine Works LinkedIn family: LinkedIn Company Scraper, LinkedIn Post Scraper, LinkedIn Employees Scraper, LinkedIn Profile Scraper, LinkedIn Email Finder, LinkedIn Newsletter Scraper.
Try it in one minute
Paste this input and press Start. It returns HubSpot's 20 newest ads with their detail pages, 20 rows, in about 15 seconds:
{"advertisers": ["HubSpot"],"maxAdsPerSearch": 20}
You can tell the actor what to find in five ways, and mix them in one run:
- Advertisers: names as you would type them in the Ad Library's "Company or advertiser" box, such as
HubSpotorSiemens. A company page link (https://www.linkedin.com/company/hubspot/) also works; its page name is searched. - Keywords: a word or phrase from the ad text, such as
CRMorwebinar. - Payers: the "Paid for by" name, such as
HubSpot, Inc., to find every ad a legal entity paid for, whichever page ran it. - Ad Library search links: copy the address bar after searching on
https://www.linkedin.com/ad-library/; the link runs with its own filters. - Ad links or ids:
https://www.linkedin.com/ad-library/detail/1566665103or just1566665103, to read single ads with their details.
Apify's free plan includes $5 of credit every month, which covers about 3,200 results at this actor's price.
Copy to your AI assistant
themineworks/linkedin-ad-library-scraper on Apify. Searches LinkedIn's public Ad Library by advertiser, keyword or payer, with country, date range and sort filters, and returns one row per ad: advertiser name, LinkedIn link and id, payer, format, headline, full text, call to action, landing page, image, video and document links, carousel cards, run dates, total impressions, impressions by country and targeting. Call ApifyClient("TOKEN").actor("themineworks/linkedin-ad-library-scraper").call(run_input={"advertisers": ["HubSpot"], "keywords": ["CRM"], "countries": ["DE", "FR"], "maxAdsPerSearch": 50}), then client.dataset(run["defaultDatasetId"]).list_items().items. Give at least one of: advertisers, keywords, payers, adLibraryUrls (search links, ad links or ad ids). Optional: countries (two letter codes, default all), dateRange (all, last-30-days, current-month, current-year, last-year, custom; default all), startDate and endDate (YYYY-MM-DD, for custom), sortOrder (newest or oldest, default newest), maxAdsPerSearch (default 50, 20 to 1000), includeAdDetails (default true), onlyNewAds (default false). Skip rows that have "_type": "info". Full spec: GET https://api.apify.com/v2/acts/themineworks~linkedin-ad-library-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
Key features
- 52 fields per ad: ad id and link; advertiser name, LinkedIn link, id, type and logo; payer; the member behind a thought leader ad; format; headline, full text, description, call to action and landing page; images, video, document pages, carousel cards; run dates; impressions as a range and by country; targeted and excluded languages, locations and parameters; and which search found the ad, at what position, out of how many.
- Every Ad Library filter: advertiser, keyword and payer boxes; one or many countries (all 249 the site offers); last 30 days, current month, current year, last year or a custom range; newest or oldest first.
- Up to 1,000 ads per search, 100 searches per run. LinkedIn serves 24 ads per page; the actor asks for the next pages the same way the Ad Library page does when you scroll. Our deep run read 42 pages of one keyword search and delivered 1,000 distinct ads.
- Every ad format we met: single image, video, carousel, document, article, text, spotlight, message, event and job ads, each with the fields that format has.
- Only new ads on repeat runs: switch on
onlyNewAdsfor a schedule and each run returns, and charges, only ads no earlier run in your account delivered. In our test the second run delivered 0 ads and stopped after one request.
How to use it
Basic: one advertiser's latest ads
{"advertisers": ["Salesforce"],"maxAdsPerSearch": 100}
You get up to 100 rows, newest first. LinkedIn matches advertiser names loosely, the same as on its own site, so a search for Salesforce also returns ads from pages such as "Salesforce Data 360" and from Salesforce executives whose posts Salesforce promotes (thought leader ads, with the member in posted_by_name). Filter on advertiser_id or paid_by when you want one exact advertiser, or search by payer, the tightest way to find one legal entity's ads.
Several advertisers and keywords at once
{"advertisers": ["HubSpot", "Salesforce", "SAP"],"keywords": ["cybersecurity"],"maxAdsPerSearch": 60}
This is our proof run: 240 ads, 60 per search, all with details, in 104 seconds. Each line is its own search with its own search_query on every row. An ad that two searches both find is delivered and charged once.
Competitor ads in Europe with impressions and targeting
{"advertisers": ["SAP"],"payers": ["HubSpot, Inc."],"countries": ["DE", "FR"],"maxAdsPerSearch": 30}
LinkedIn publishes run dates, impressions, the country split and targeting for the ads it shows in the European Union. With a German and French filter, all 60 ads in our run carried them: total impressions such as 5k-10k, the share of impressions per country, the languages and locations targeted, and which of Audience, Demographic, Company, Education, Job and Member Interests and Traits the advertiser used or excluded.
Weekly new ad alerts for a list of competitors
{"advertisers": ["HubSpot", "Pipedrive", "Zoho"],"dateRange": "last-30-days","maxAdsPerSearch": 100,"onlyNewAds": true}
Schedule it weekly in Apify Console (Schedules, then Add schedule). Each later run returns, and charges, only ads you have not received before, and stops a search as soon as it reaches ads you already have.
Find the longest running ads in a niche
{"keywords": ["webinar"],"dateRange": "custom","startDate": "2026-09-01","endDate": "2026-09-15","sortOrder": "oldest","maxAdsPerSearch": 50}
The date filter keeps ads that ran during the window, and oldest first puts the ads that started earliest at the top. In our run this surfaced webinar ads that started in July 2023 and were still running in October 2026.
Read single ads you already know
{"adLibraryUrls": ["https://www.linkedin.com/ad-library/detail/1566665103","1630864966","https://www.linkedin.com/ad-library/search?keyword=crm&countries=FI%2CSE"]}
Ad links and bare ids are read from their detail pages; search links run with the filters inside them. Our test of 10 ad links (9 formats, 1 missing id) returned 9 rows in 9 seconds, the missing one not charged.
Input parameters
| Parameter | Type | Default | What it does |
|---|---|---|---|
advertisers | array of strings | none (prefilled with ["HubSpot"]) | Advertiser names as typed in the Ad Library's "Company or advertiser" box, one per line. A LinkedIn company page link is searched by its page name. |
keywords | array of strings | none | Words or phrases matched against the ad text, one per line. |
payers | array of strings | none | "Paid for by" names, one per line. |
adLibraryUrls | array of strings | none | Ad Library search links (run with their own filters), ad detail links, or bare ad ids. |
countries | array of strings | all countries | Two letter country codes (US, GB, DE...). Only ads shown in these countries. |
dateRange | string | all | all, last-30-days, current-month, current-year, last-year or custom. |
startDate | string | none | First day of a custom range, YYYY-MM-DD. LinkedIn's date filter covers the last 365 days; an older start is moved to the earliest day it accepts, with a warning. |
endDate | string | none | Last day of a custom range, YYYY-MM-DD. |
sortOrder | string | newest | newest or oldest first. |
maxAdsPerSearch | integer | 50 | Ads to collect from each advertiser, keyword, payer or search link, 20 to 1,000. |
includeAdDetails | boolean | true | Read each ad's detail page for the full text, CTA, landing page, payer, run dates, impressions and targeting. Charged as one extra event per ad. |
onlyNewAds | boolean | false | Skip ads an earlier run of yours already delivered, so a scheduled run returns and charges only new ones. |
Give at least one advertiser, keyword, payer or link. A completely empty input searches HubSpot as an example, so a first run always returns real rows. Country, date and order settings apply to advertiser, keyword and payer searches; a pasted search link keeps the filters inside it. Repeated lines are searched once. There is no proxy setting: the actor reads through Apify's datacenter proxy, included in the price.
What data do you get?
One row per ad. Fields marked "details" are filled when includeAdDetails is on (or for ad links), and some only where LinkedIn shows them.
The ad
ad_id: LinkedIn's Ad Library id, stable, use it to dedupe.ad_url: the public Ad Library page of the ad.ad_format:single_image,video,carousel,document,article,text,spotlight,message,event,joband so on.ad_format_label: LinkedIn's own name, such asSingle Image Ad.creative_type: LinkedIn's internal type, such asSPONSORED_STATUS_UPDATE.
Advertiser and payer
advertiser_name: the page that ran the ad (for a thought leader ad, the company that promotes the member's post).advertiser_url(details): its LinkedIn link,https://www.linkedin.com/company/<id>for companies or a profile link for people.advertiser_id: the numeric company id.advertiser_type:companyorperson(alsoshowcaseorschoolwhen LinkedIn links one).advertiser_logo_url, andadvertiser_subtitle, the headline line LinkedIn shows under a person advertiser's name.paid_by(details): the "Paid for by" entity, often the legal name (HubSpot, Inc.) or the agency that bought the media.posted_by_name,posted_by_url,posted_by_headline: on thought leader ads, the member whose post the company promotes.
Creative
headline,body(the introductory text, or a message ad's message),description(the line under a headline, an article teaser or a text ad's second line),cta(Learn more, Register, Download, Sign Up...).body_truncated: true when the text comes from the result page, which cuts it at about 120 characters. With details,bodyis the full text with its line breaks.destination_url: where the ad sends people, when LinkedIn shows the link (carousel cards, text ads, job ads and many image ads, often with the advertiser's UTM tags).image_urls;video_url(details, the highest quality MP4 LinkedIn offers) andvideo_thumbnail_url;document_title,document_page_count,document_page_image_urls,document_manifest_url(details);carousel_cards, each withtitle,image_urlandurl;message_senderon message ads.
Run dates and impressions (details, where LinkedIn publishes them)
first_shown,last_shown: the "Ran from ... to ..." dates,YYYY-MM-DD. Alast_shownof yesterday or today usually means the ad is still running.impressions_rangeas LinkedIn shows it (< 1k,1k-5k,10k-20k...), withimpressions_minandimpressions_maxas numbers.impressions_by_country: each country withcountry,country_code,share_pctandshare_text. LinkedIn shows a share under 1% as< 1%; that comes back asshare_pct0 with the exact label inshare_text.
Targeting (details, where LinkedIn publishes it)
targeting_languages,targeting_languages_excluded,targeting_locations,targeting_locations_excluded: the lists LinkedIn prints, including the ones hidden behind "N others".targeting_parameters: Audience, Demographic, Company, Education, Job and Member Interests and Traits, each withtargetedandexcludedtrue or false.targeted_parametersandexcluded_parameterslist the names that are true.targeting_other: any further targeting section LinkedIn adds, by name.
Search and run fields
has_detailsanddetail_status(ok,not_requested,unavailablewhen LinkedIn cannot load the ad,failedwhen it refused every try).search_type(advertiser,keyword,payer,search_urlorad_url),search_query,search_url,search_total_ads(how many ads LinkedIn said matched),position(1 is the first result) andscraped_at.
See the FAQ for how often LinkedIn publishes run dates, impressions and targeting, and how to get them on every row.
Media links are LinkedIn's own signed CDN links. Save the files you need soon after the run.
Stable fields for automations
These fields were present in every one of the 269 rows of our final test runs (240 ads with details, 20 without, 9 from ad links):
| Field | What it holds |
|---|---|
ad_id | LinkedIn Ad Library id of the ad |
ad_url | Public Ad Library page of the ad |
advertiser_name | Page that ran the ad |
advertiser_type | company or person |
ad_format | Format code such as single_image or video |
ad_format_label | LinkedIn's name for the format |
creative_type | LinkedIn's internal creative type |
image_urls | Images of the creative (an empty list for video, document and message ads) |
body_truncated | True when the text is the shortened result page text |
has_details | Whether the detail page was read |
detail_status | ok, not_requested, unavailable or failed |
search_type | How the ad was found |
search_query | The advertiser, keyword, payer or link that found it |
scraped_at | When the row was collected |
These names will not change. Other fields appear only when the ad has them: a video ad has video_url and no headline, a message ad has message_sender, and the run dates, impressions and targeting appear only where LinkedIn publishes them.
Output examples
Real rows from our runs on 6 October 2026, trimmed: long texts are cut where marked, signed media links end in ?e=..., logo links are left out.
Single image ad shown in Europe, with impressions and targeting (HubSpot)
{"ad_id": "1558773703","ad_url": "https://www.linkedin.com/ad-library/detail/1558773703","advertiser_name": "HubSpot","advertiser_url": "https://www.linkedin.com/company/68529","advertiser_id": "68529","advertiser_type": "company","paid_by": "HubSpot, Inc.","ad_format": "single_image","ad_format_label": "Single Image Ad","creative_type": "SPONSORED_STATUS_UPDATE","headline": "GROW Europe 2026 · London · Register Today","body": "$1M to $100M ARR in 18 months. Stuart Shingler, Legora, on how fast-growth companies build trust while they innovate. London, 17 November.","body_truncated": false,"cta": "Register","destination_url": "https://www.hubspot.com/grow-europe?utm_source=linkedin&utm_medium=paid&utm_campaign=Marketing_Registrations_E...","image_urls": ["https://media.licdn.com/dms/image/v2/D4D10AQGshA0JBhq0cA/image-shrink_1280/B4DaDP9g74HMAc-/0/1790195405027/2png?e=..."],"first_shown": "2026-09-23","last_shown": "2026-10-05","impressions_range": "5k-10k","impressions_min": 5000,"impressions_max": 10000,"impressions_by_country": [{"country": "United Kingdom", "country_code": "GB", "share_pct": 89, "share_text": "89%"},{"country": "Ireland", "country_code": "IE", "share_pct": 11, "share_text": "11%"}],"targeting_languages": ["English"],"targeting_locations": ["Ireland", "United Kingdom"],"targeting_parameters": [{"parameter": "Audience", "targeted": false, "excluded": true},{"parameter": "Demographic", "targeted": false, "excluded": false},{"parameter": "Company", "targeted": true, "excluded": true},{"parameter": "Education", "targeted": false, "excluded": false},{"parameter": "Job", "targeted": true, "excluded": false},{"parameter": "Member Interests and Traits", "targeted": false, "excluded": false}],"targeted_parameters": ["Company", "Job"],"excluded_parameters": ["Audience", "Company"],"has_details": true,"detail_status": "ok","search_type": "advertiser","search_query": "HubSpot","search_total_ads": 2533,"position": 49,"scraped_at": "2026-10-05T20:36:35.162Z"}
Thought leader video ad (Salesforce)
{"ad_id": "1567149503","ad_url": "https://www.linkedin.com/ad-library/detail/1567149503","advertiser_name": "Salesforce","advertiser_url": "https://www.linkedin.com/company/3185","advertiser_id": "3185","advertiser_type": "company","paid_by": "Iprospect.com Inc.","posted_by_name": "Leandro Perez","posted_by_url": "https://www.linkedin.com/in/leandroperez","posted_by_headline": "SVP & CMO ANZ Salesforce | MAA Board | Marketing Academy Fellow | Mi3 Top 20 CMO","ad_format": "video","ad_format_label": "Video Ad","creative_type": "SPONSORED_VIDEO","body": "Formula 1 has one of the most passionate fanbases in the world, and that raises the bar for everything we make.\nFormula 1 and Salesforce giving fans a [trimmed]","body_truncated": false,"image_urls": [],"video_url": "https://dms.licdn.com/playlist/vid/v2/D5605AQGcSR38YJeeRg/mp4-720p-30fp-crf28/B56aD063bnIACQ-/0/1790815475233?e=...","video_thumbnail_url": "https://media.licdn.com/dms/image/v2/D5605AQGcSR38YJeeRg/videocover-high/B56aD063bnIABU-/0/1790815472500?e=...","has_details": true,"detail_status": "ok","search_type": "advertiser","search_query": "Salesforce","search_total_ads": 9298,"position": 4,"scraped_at": "2026-10-05T20:35:55.095Z"}
Document ad with the country split (SAP Portugal)
{"ad_id": "1585276764","ad_url": "https://www.linkedin.com/ad-library/detail/1585276764","advertiser_name": "SAP","advertiser_url": "https://www.linkedin.com/company/1115","advertiser_id": "1115","advertiser_type": "company","paid_by": "DSL Digital LLC","ad_format": "document","ad_format_label": "Document Ad","creative_type": "SPONSORED_UPDATE_NATIVE_DOCUMENT","body": "A IA ja esta a transformar as empresas portuguesas. Descubra por onde começar.","body_truncated": false,"image_urls": [],"document_title": "Como a SAP está a usar a IA para transformar as empresas portuguesas","document_page_count": 4,"document_page_image_urls": ["https://media.licdn.com/dms/image/v2/D4E10AQEhetwVcirdkQ/ads-document-cover-images_480/B4EaD5OD.lIYAw-/0/1790887610507?e=...","https://media.licdn.com/dms/image/v2/D4E10AQEhetwVcirdkQ/ads-document-cover-images_480/B4EaD5OD.lIYAw-/1/1790887610507?e=..."],"document_manifest_url": "https://media.licdn.com/dms/document/pl/v2/D4E10AQEhetwVcirdkQ/document-sliced-primary-manifest/B4EaD5OHGeJgAg-/0/1790887621490?e=...","first_shown": "2026-10-01","last_shown": "2026-10-05","impressions_range": "5k-10k","impressions_min": 5000,"impressions_max": 10000,"impressions_by_country": [{"country": "Portugal", "country_code": "PT", "share_pct": 100, "share_text": "100%"}],"targeting_languages": ["Português"],"targeting_locations": ["Portugal"],"targeting_parameters": [{"parameter": "Audience", "targeted": false, "excluded": true},{"parameter": "Demographic", "targeted": false, "excluded": false},{"parameter": "Company", "targeted": false, "excluded": true},{"parameter": "Education", "targeted": false, "excluded": false},{"parameter": "Job", "targeted": true, "excluded": true},{"parameter": "Member Interests and Traits", "targeted": true, "excluded": false}],"targeted_parameters": ["Job", "Member Interests and Traits"],"excluded_parameters": ["Audience", "Company", "Job"],"has_details": true,"detail_status": "ok","search_type": "advertiser","search_query": "SAP","search_total_ads": 29826,"position": 15,"scraped_at": "2026-10-05T20:36:44.000Z"}
Result page row without details (Bizowie)
{"ad_id": "1585587284","ad_url": "https://www.linkedin.com/ad-library/detail/1585587284","advertiser_name": "Bizowie Cloud ERP","advertiser_type": "company","ad_format": "single_image","ad_format_label": "Single Image Ad","creative_type": "SPONSORED_STATUS_UPDATE","headline": "Outgrown Your ERP? Discover Bizowie.","body": "Your distribution business has evolved. Has your ERP kept up?\nMove beyond spreadsheets and workarounds. Bizowie connect…","body_truncated": true,"description": "Still relying on legacy ERP? Explore a modern platform built to give distributors better visibility, simpler workflows,…","image_urls": ["https://media.licdn.com/dms/image/v2/D4E10AQHcB0JlOpADmA/image-shrink_1280/B4EaD.TMeOI8Ac-/0/1790972840121/BizowieERPLearnMoreAdpng?e=..."],"has_details": false,"detail_status": "not_requested","search_type": "keyword","search_query": "CRM","search_total_ads": 75308,"position": 11,"scraped_at": "2026-10-05T20:38:19.250Z"}
Pricing
Pay per event: you pay for each ad delivered to your dataset, one more event for each ad whose detail page was read, plus a flat $0.005 per run, whatever memory you choose. Nothing else is billed: no proxy add-on, no charge per search or per page.
| Event | Free plan | Bronze (Starter) | Silver (Scale) | Gold (Business) and above |
|---|---|---|---|---|
| Ad delivered, per 1,000 ads | $1.49 | $1.29 | $0.99 | $0.79 |
| Ad details read, per 1,000 ads (only with details on) | $1.49 | $1.29 | $0.99 | $0.79 |
| Run start, once per run | $0.005 | $0.005 | $0.005 | $0.005 |
Never charged: searches LinkedIn finds nothing for, pages LinkedIn refuses on every attempt, an ad that a second search in the same run finds again, ads an earlier run already delivered when onlyNewAds is on, ad links LinkedIn cannot load, the detail event on any row whose detail page failed (that row is charged as an ad only), and the information row at the end of a run. A run that delivers nothing costs only the start fee.
To cap a run's cost, set Maximum cost per run in the run options; the actor stops delivering, and charging, when that budget is used.
FAQ
What is the LinkedIn Ad Library?
LinkedIn's public archive of ads that ran on LinkedIn, at https://www.linkedin.com/ad-library/. Anyone can search it by advertiser, keyword, payer, country and date, and open each ad's page. This actor runs those searches and reads those pages for you, then returns one clean row per ad.
How many ads can I get?
Up to 1,000 per search and up to 100 searches per run. LinkedIn serves 24 ads per page and keeps serving pages as you scroll; our deep run read 42 pages of one search for 1,000 distinct ads. A search with fewer matching ads returns what it has. The minimum is 20 per search, about one page, which keeps the start fee in proportion to what you receive.
Why do only some ads have run dates, impressions and targeting?
Because LinkedIn publishes that block only for some ads. In our proof run without a country filter 86 of 240 ads had it; filtered to Germany and France, 60 of 60 had it. LinkedIn shows it for ads served in the European Union, so add EU country codes to countries when you need these fields on every row. Ads without it still carry the creative, the advertiser and the payer.
What does "Include ad details" add, and is it worth it?
The result pages show the creative with the text cut at about 120 characters. The detail page adds the full text, call to action, landing page, advertiser link and id, payer, video file, document pages and the transparency block above. It is one extra request per ad; our 240 ad run with details took 104 seconds. Turn it off for a quick list of which ads exist.
How fresh is the data?
Live. Every run reads the Ad Library at that moment. last_shown is the latest day LinkedIn reports the ad ran, usually yesterday or today for ads still running.
Do I need a LinkedIn account, cookies or an API key?
No. The actor never logs in and never asks for your cookies. It uses only the pages LinkedIn's Ad Library shows to any visitor.
Do I need my own proxy?
No. Requests go through Apify's datacenter proxy, a new session for every request, and that is included in the price. LinkedIn's front door refuses a small share of requests (17 of 269 in our proof run); each refused page is tried again on a new session, up to 4 times for result pages and 3 for detail pages. All 240 ads in that run came back with their details.
What happens with a wrong name or a broken link?
A search with no results is reported in the run summary as no_results and costs nothing. A line in adLibraryUrls that is not an Ad Library link is skipped with a warning that says why, and an ad id LinkedIn cannot load is reported as unavailable and not charged. The rest of the run continues.
Can I monitor competitors for new ads?
Yes. Schedule the actor in Apify Console (Schedules, then Add schedule) with onlyNewAds on. Each run returns, and charges, only ads no earlier run of yours delivered. Keep the default newest first order so each search stops as soon as it reaches ads you already have.
In what formats can I export the data?
From the dataset: JSON, CSV, Excel, XML, HTML table or RSS, from Console or the API. In CSV and Excel the list fields (image_urls, impressions_by_country, targeting_parameters and the rest) are flattened into columns.
Can I use it from Claude, ChatGPT or another AI assistant?
Yes, through Apify's MCP server.
- Connector URL: https://mcp.apify.com/?tools=themineworks/linkedin-ad-library-scraper
- Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: turn on developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code:
claude mcp add -t http linkedin-ad-library-scraper "https://mcp.apify.com/?tools=themineworks/linkedin-ad-library-scraper"
Is it legal to scrape the LinkedIn Ad Library?
The actor collects only what LinkedIn publishes in its public Ad Library for anyone to see, and it does not log in or bypass any login. You are responsible for how you use the data: check LinkedIn's terms for your use case and the data protection laws that apply to you, such as GDPR and CCPA, especially for the names of people who appear as advertisers, thought leaders or message senders.
Integrations
- Google Sheets: send each run's dataset to a sheet with Apify's Google Sheets integration, one row per ad.
- Make, Zapier and n8n: start a run and read its dataset with the Apify apps and nodes, for example to post new competitor ads to Slack.
- Webhooks: have Apify call your URL when a run finishes, then fetch the dataset.
- API: start runs and read results from any language with the Apify API or the Python and JavaScript clients (see "Copy to your AI assistant" above).
- MCP clients: Claude, ChatGPT, Cursor, VS Code and Claude Code, through the connector URL in the FAQ.
Related actors from us: Facebook Ad Library Scraper for Meta ads, Google Ads Transparency Scraper for an advertiser's Google ads, and LinkedIn Company Scraper for the profile of any advertiser you find here.
More from The Mine Works
- LinkedIn Company Scraper
- LinkedIn Post Scraper
- LinkedIn Employees Scraper
- LinkedIn Profile Scraper
- LinkedIn Email Finder
- LinkedIn Newsletter Scraper
- LinkedIn Candidate Finder
Social media and video
Leads and business directories
Marketing, SEO and reviews
Real estate
Science, health and government data
Jobs and hiring
Company and business data
E-commerce and marketplaces
Food and local services
Developer and AI tools
More tools
Support
Found an ad that does not come back right, or a field you need? Open an issue in the Issues tab and include the run link. For new sources or a custom build, email dmineworks@gmail.com.
Every ad in LinkedIn's public Ad Library by advertiser, keyword or payer, with country and date filters, full creatives, payer, run dates, impressions by country and targeting, read logged out and charged only for ads you receive.

