Competitor ad review
Collect public ads for a company or search and review copy, format and destination fields.
- advertiserName
- body
- format
LinkedIn Ads API
Preview pausedCollect public LinkedIn Ad Library records with advertiser, creative and impression context. Interactive preview is paused during source maintenance.
Historical recordings · 1 recorded item in the saved sample
Notion · LinkedIn ad record
LinkedIn · recorded sample
Advertising library
The exact decks, investor lists, and AI agents top startups used to close their first checks. Free guide, free Notion tr…
Advertiser
Empty string
Format
DOCUMENT
The saved advertiserName is an empty string and body may be truncated in list mode. Values are shown as recorded.
Overview
Collect public LinkedIn Ad Library records with advertiser, creative and impression context. Interactive preview is paused during source maintenance.
startUrls accepts public LinkedIn Ad Library search URLs or company URLs and preserves search parameters such as payer, keyword, countries, dates, impressions and sort. resultsLimit caps delivered ads per input; skipDetails enables a faster list-only mode.
The published product metadata marks an interactive preview pause during source maintenance. This page does not infer current source health beyond that note. Public fields such as availability, impressions and targeting appear only when LinkedIn exposes them.
Input
Ad Library search or company URLs
Output
Ad records
Provide public Ad Library search URLs or LinkedIn company URLs to the Actor endpoint.
The Actor follows the preserved search parameters and reads public ad records for each input.
Full detail mode returns public copy, CTA, media and impression context when those fields are available.
Use cases
The record is designed to sit inside research and review workflows. The examples below are starting points, not packaged scores.
Collect public ads for a company or search and review copy, format and destination fields.
Keep public creative references and media URLs from selected Ad Library results.
Compare public impression ranges and first/last-shown dates across saved ad records.
Try it
Read a saved public ad row, then inspect the original Dataset item as JSON. The maintenance notice remains visible.
Enter a public LinkedIn Ad Library search URL or company URL.
https://api.apify.com/v2/acts/meka.im~linkedin-ads-library-scraper/run-sync-get-dataset-itemsLinkedIn advertising
DOCUMENT
The exact decks, investor lists, and AI agents top startups used to close their first checks. Free guide, free Notion tr…
Format
DOCUMENT
Returned document or image pages.
Listing image 1
The advertiser name is displayed exactly as stored. An empty string stays empty and is not replaced with the sample label inside the record view.
Ad copy is shown as text; the report does not execute or interpret markup. List-mode text may be truncated by the source.
Not returned
Only returned fields are shown.
All returned fields
Recorded Sep 24, 2026 · Historical snapshot · Source: LinkedIn
1[2{3"adId": "1619931196",4"adLibraryUrl": "https://www.linkedin.com/ad-library/detail/1619931196",5"advertiserName": "",6"body": "The exact decks, investor lists, and AI agents top startups used to close their first checks. Free guide, free Notion tr…",7"format": "DOCUMENT"8}9]
Reference
POST to the Apify Actor endpoint with a bearer token. Request examples use $APIFY_TOKEN and the current product defaults; response examples come from a saved historical record.
Request fields accepted by the Actor. Preview input is sent only when you run a live request.
startUrlsArray<string | { url: string }>RequiredLinkedIn Ad Library search URLs or LinkedIn company URLs. Search parameters such as accountOwner, payer, keyword, countries, dates, impressions, targeting, and sort are preserved.
Example: [{"url":"https://www.linkedin.com/ad-library/search?accountOwner=apify&countries=US&dateOption=last-30-days"}]
resultsLimitinteger | nullMaximum successfully delivered ads per input URL. Leave empty to continue until LinkedIn reports the true end or your run budget is reached. Minimum: 1. Maximum: 100000.
Example: 100
skipDetailsbooleanFast list mode. Returns the public search-card fields, which may contain truncated text and fewer details. Full details are recommended. Default: false.
disableTelemetrybooleanTurn off the anonymous reliability telemetry described in the README. When this is on, nothing about your run — including the keywords in your Ad Library URLs — leaves the run. Default: false.
Published response fields. Example properties are taken from one historical record; they describe that record, not a guaranteed schema for every response.
adIdstringRequiredLinkedIn Ad Library ad identifier.
Example: 1619931196
adLibraryUrlstringRequiredCanonical public Ad Library detail URL.
Example: https://www.linkedin.com/ad-library/detail/1619931196
advertiserLogostring | nullPublic advertiser logo or profile image URL.
advertiserNamestringRequiredAdvertiser name displayed by LinkedIn.
Example:
advertiserUrlstring | nullPublic LinkedIn company or member URL.
availabilityobject | nullFirst and last shown dates when LinkedIn exposes them.
bodystring | nullFull public ad copy in detail mode; possibly truncated in list mode.
Example: The exact decks, investor lists, and AI agents top startups used to close their first checks. Free guide, free Notion tr…
clickUrlstring | nullPublic creative or CTA destination URL.
ctasstring[]Public call-to-action labels.
formatstringRequiredObserved LinkedIn creative format.
Example: DOCUMENT
headlinestring | nullCreative headline when publicly present.
imageUrlstring | nullPrimary image creative URL.
videoUrlstring | nullHighest-bitrate public MP4 URL.
documentUrlstring | nullPublic document PDF URL.
imageUrlsstring[]All public document page images.
senderImageUrlstring | nullMessage Ad sender image.
paidBystring | nullEntity LinkedIn identifies as paying for the ad.
impressionsstring | nullPublic impression range.
impressionsPerCountryobject[]Country impression percentages when published.
targetingobject | nullTop public targeting parameters.
thoughtLeaderMemberNamestring | nullThought Leader ad member name.
thoughtLeaderMemberUrlstring | nullThought Leader public member URL.
thoughtLeaderMemberImageUrlstring | nullThought Leader member image.
thoughtLeaderJobTitlestring | nullThought Leader public headline.
startUrlstringRequiredOriginal input source URL that discovered the ad.
curl -X POST 'https://api.apify.com/v2/acts/meka.im~linkedin-ads-library-scraper/run-sync-get-dataset-items' \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"startUrls": [
{
"url": "https://www.linkedin.com/ad-library/search?accountOwner=apify&countries=US&dateOption=last-30-days"
}
],
"resultsLimit": 100,
"skipDetails": false
}'Recorded sample
1 recorded item · historical sample
[
{
"adId": "1619931196",
"adLibraryUrl": "https://www.linkedin.com/ad-library/detail/1619931196",
"advertiserName": "",
"body": "The exact decks, investor lists, and AI agents top startups used to close their first checks. Free guide, free Notion tr…",
"format": "DOCUMENT"
}
]Recorded Sep 24, 2026 · historical snapshot
Pricing & access
Published FREE-plan event rates from public Apify metadata. Plan-specific rates and usage terms remain on the Actor's pricing page.
Pricing
$1.00per 1,000 ads
Per unique LinkedIn ad delivered.
Access
https://api.apify.com/v2/acts/meka.im~linkedin-ads-library-scraper/run-sync-get-dataset-items
FAQ
Authentication, response shape, recorded data and availability.
The product metadata marks an interactive preview pause during source maintenance. This page does not infer whether the underlying source is currently online beyond that published note.
skipDetails enables fast list mode with public search-card fields, which may contain truncated text and fewer details. Full detail mode is recommended when you need the complete public card.
No. impressions is a public range when LinkedIn publishes one. It is not converted into an exact count.
Send an Apify token as a Bearer token in the Authorization header, as shown in the request examples.
Not by default. Saved samples are historical recordings from the source; each keeps the fields and values from that record and does not verify current availability. Live data is requested directly from the published Apify Actor endpoint with your own token.
Current pricing and usage terms are published on the Apify Actor page.