LinkedIn Ads Library Scraper — Full Details at $1/1K avatar

LinkedIn Ads Library Scraper — Full Details at $1/1K

Pricing

from $0.85 / 1,000 delivered ads

Go to Apify Store
LinkedIn Ads Library Scraper — Full Details at $1/1K

LinkedIn Ads Library Scraper — Full Details at $1/1K

Search and export live LinkedIn ads with creatives, advertiser details, payer, targeting, impressions, CTA, video, documents, and thought-leader data. No cookies or LinkedIn account. Pay only for delivered ads.

Pricing

from $0.85 / 1,000 delivered ads

Rating

0.0

(0)

Developer

Meka.im

Meka.im

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

4

Monthly active users

18 hours ago

Last modified

Categories

Share

Extract ordered ads from public LinkedIn Ads Library search URLs and receive full creative, advertiser, payer, impression, targeting, and media details. The Actor uses LinkedIn's anonymous public transparency pages—no LinkedIn account, cookies, browser session, residential proxy, or proxy configuration is required.

Tool preview: Search public LinkedIn ads in the live LinkedIn Ads Library preview. The free preview returns up to five search-card records; the full Actor provides richer detail fields when LinkedIn publishes them. Source availability can vary. Browse the tools directory for other sources.

  • Full public details: ad copy, image/video/document resources, CTA, payer, availability, impressions, and targeting when LinkedIn publishes them.
  • Public cursor pagination: continues past the first 24 ads while preserving LinkedIn's result order.
  • Reliable bulk delivery: five-attempt transient-failure recovery, bounded multi-region failover, failed-item-only retries, global adId deduplication, and restart-safe checkpoints.
  • Simple pricing: $1 per 1,000 successfully delivered unique ads. Empty searches, invalid inputs, failed details, and duplicate ads are not charged as delivered ads. Platform usage is included.

Quick start: scrape LinkedIn Ads Library search results

You can start from the published Apify US ads example and replace its search URL with your own.

Copy a search URL from LinkedIn Ads Library. Keeping the full URL preserves the filters selected in LinkedIn's interface.

{
"startUrls": [
{
"url": "https://www.linkedin.com/ad-library/search?accountOwner=apify&countries=US&dateOption=last-30-days"
}
],
"resultsLimit": 100,
"skipDetails": false
}

You may also provide a LinkedIn company URL:

{
"startUrls": [
{ "url": "https://www.linkedin.com/company/nvidia/" }
],
"resultsLimit": 100
}

Search URLs are recommended because they retain country, date, keyword, payer, impression, targeting, and sorting choices.

LinkedIn ad data returned

Every delivered item contains the stable ad identity, canonical Ad Library detail URL, advertiser name, format, and original source URL. Depending on the public creative and transparency sections, a result can also include:

  • advertiser logo and public LinkedIn URL;
  • complete public ad body and headline;
  • CTA labels and click destination;
  • primary image or highest-bitrate public MP4;
  • Message Ad sender image;
  • Document Ad PDF and all public page images;
  • paying entity and first/last shown dates;
  • public impression range and country percentages;
  • public targeting parameters;
  • Thought Leader member name, URL, image, and headline.

Fields that LinkedIn does not publish for a particular ad are omitted. The Actor does not replace unavailable data with zero values or guesses.

Representative result:

{
"adId": "1625789306",
"adLibraryUrl": "https://www.linkedin.com/ad-library/detail/1625789306",
"advertiserName": "Augment Code",
"advertiserUrl": "https://www.linkedin.com/company/101718725",
"body": "More coding agents won't automatically make your engineering organization more effective...",
"ctas": [],
"format": "DOCUMENT",
"paidBy": "Augment Computing",
"impressions": "1k-5k",
"headline": "Build an engineering system that gets smarter over time",
"documentUrl": "https://media.licdn.com/dms/document/...",
"imageUrls": [
"https://media.licdn.com/dms/image/.../1/...",
"https://media.licdn.com/dms/image/.../2/..."
],
"startUrl": "https://www.linkedin.com/ad-library/search?keyword=AI&countries=US&dateOption=last-30-days"
}

Signed media URLs expire. Store or download media according to your own retention needs and rights.

Input reference

startUrls

Required list of LinkedIn Ads Library search URLs or LinkedIn company URLs. Exact duplicate source URLs are processed once. Ads appearing on multiple pages or sources are globally deduplicated by adId, and only the first occurrence is delivered.

Public search parameters are forwarded rather than reinterpreted. This includes parameters such as:

  • accountOwner, payer, and keyword;
  • countries;
  • dateOption, startdate, and enddate;
  • impression and targeting-presence filters;
  • sort parameters.

resultsLimit

Maximum successfully delivered ads per source URL. Leave it empty to continue until LinkedIn reports the end of the result stream or the run's spending limit is reached.

This is a ceiling, not a promised number of rows. A search with fewer public matches, unavailable details, or a source that stops early can return less. Check OUTPUT.sourceOutcomes for sources visited during this run attempt and the actual delivered count.

OUTPUT.sourceOutcomes covers sources visited during the current run attempt. After a resumed run, it does not repeat sources completed before that attempt; the Dataset and delivered count still include ads already delivered.

skipDetails

The default is false, which opens each public detail page and returns full available fields. Set it to true for faster list mode. List mode uses search-card data, so body text may be truncated and transparency/detail fields may be absent.

Ordering, failures, and recovery

Results retain source order, page order, and card order. A page is checkpointed only after its successfully parsed records have been durably committed to the Dataset. If a run restarts after a Dataset write but before its checkpoint, existing Dataset adId values are treated as the delivery source of truth and are not written or charged again.

Cloudflare may reject an individual AWS exit with HTTP 403 or challenge page. The Data Worker makes at most five target attempts total per search page or detail item: the first request plus up to four retries. Retries apply only to recoverable failures: Cloudflare 403/999, HTTP 408, 429, timeouts and network/egress transport failures, temporary 5xx responses, and recognized challenge pages. Invalid input, a valid zero-result search, a deterministic parse failure, and other 4xx responses are not retried. If a batch detail request fails before individual results are available, only its failed items return to the next attempt; items that already succeeded are not fetched again.

Retries use a 500 ms, 1 s, 2 s, 4 s exponential backoff. A numeric or date Retry-After response delays the next attempt instead, capped at 10 seconds. Each search page has a 90-second retry budget, and the detail items in one Actor batch share a 90-second budget; no new request starts when less than one second remains, and the per-request timeout is reduced to the remaining budget. The Actor-to-Data request, product call, and Fetch payload do not add their own target retries, so these budgets do not multiply. A batch detail failure is not converted into a second round of single-detail requests. An exhausted or invalid source produces no ad record and no ad-delivered event.

OUTPUT.retries records retries made by the Actor's product-to-Data call and remains zero while target retries happen exclusively in the Data Worker. Worker logs record each fingerprint attempt with attempt and maxAttempts; failure diagnostics include one round per target attempt and the Fetch-reported egressAttempts for that round.

Pricing and cost examples

One successfully delivered unique ad triggers one ad-delivered event at $0.001:

Delivered adsPrice
100$0.10
1,000$1.00
10,000$10.00

Platform usage is included. Actor startup, empty searches, invalid URLs, duplicate ads, failed detail pages, and unsupported records are not billed as delivered ads.

LinkedIn Ads Library data coverage

Validation on September 18, 2026 used the leading Actor's Build 1.1.52 as a Golden reference. The same public query produced 100/100 target ad IDs, and an anonymous search plus five continuation pages produced 144 ordered unique IDs without a silent page break. A separate anonymous detail test delivered 100/100 tested IDs using bounded six-region failover.

The validation fixtures included Single Image, Video, Message, LinkedIn Article, Document, and Thought Leader ads. Carousel, Spotlight, and Event-specific output shapes were not present in the bounded Golden sample and are therefore not claimed yet.

Observed results describe the tested public pages, not a universal speed or availability guarantee. LinkedIn can change its public markup and may restrict individual ads or regions.

API and automation

After a cloud run starts, its records are available through the default Dataset API in JSON, JSONL, CSV, Excel, XML, and other Apify export formats. You can invoke the Actor from JavaScript, Python, the Apify CLI, HTTP API, schedules, webhooks, or integrations such as Make and Zapier.

The API input uses the same JSON shown in Quick start. Keep skipDetails: false when downstream automation expects payer, targeting, impression, or full creative fields.

Limits and unsupported formats

  • Only data displayed by LinkedIn's public Ads Library is returned.
  • Signed image, video, and document URLs can expire.
  • List mode can contain truncated text.
  • Carousel, Spotlight, and Event-specific structures are not claimed until real fixtures are validated.
  • Private campaign data, audience identities, click performance, conversion data, and account-only analytics are unavailable.
  • Very broad unbounded searches may run until your Apify maximum charge stops further scheduling.

Privacy

This Actor sends one small telemetry event when a run starts and one when it finishes, so we can measure reliability and decide what to build next. An event carries the keyword and public filters from the Ad Library URLs you pasted, the public filters you set, and run counters: how many results you asked for, how many were delivered, how long the run took, and which error categories came up.

An event never carries your Apify token, cookies, authorization headers, API keys, proxy credentials, request headers, or any scraped result. URLs are reduced to a hostname, a path shape, a public resource ID, and a short allowlist of public query parameters — usernames, passwords, fragments and every other query parameter are removed before the URL leaves the run. Your Apify user ID is stored only as a keyed one-way hash, never in the clear.

Keywords are kept for 90 days and then deleted. After that only lowercase aggregate counts remain, and those are what the trend reports are built from.

To switch this off, tick Disable usage telemetry under Advanced options. With it on, the Actor sends nothing at all.

FAQ and troubleshooting

Why did resultsLimit: 100 return fewer than 100 ads?

The limit sets the maximum for each source URL. The public search may expose fewer matches, and a failed detail item is not counted as a delivered ad. Review OUTPUT.sourceOutcomes for sources visited during the current run attempt before increasing the limit or broadening the search filters. As noted above, a resumed run does not repeat outcomes for sources completed before that attempt.

Why is a transparency field absent?

LinkedIn only displays availability, impression, country, and targeting sections for eligible ads. Missing fields are omitted rather than invented.

Why should I use a search URL instead of a company URL?

A search URL captures the exact public filters chosen in LinkedIn Ads Library. A company URL is convenient but cannot express all country, date, payer, keyword, targeting, and sort choices.

Are duplicate ads charged twice?

No. Duplicate source URLs and repeated adId values across pages or searches do not create another Dataset item or delivery event.

Is this affiliated with LinkedIn?

No. This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by LinkedIn Corporation. Use public advertising data responsibly and comply with applicable laws, platform terms, and intellectual-property requirements.