LinkedIn Ads Library Scraper
Pricing
from $0.85 / 1,000 ads
LinkedIn Ads Library Scraper
Extract public LinkedIn ad previews with advertiser names, creative IDs, fuller ad text, linked mentions, headlines, CTA labels, ad formats, images, and paid-for entities.
Pricing
from $0.85 / 1,000 ads
Rating
0.0
(0)
Developer
Trove Vault
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
Extract public LinkedIn ad previews for B2B competitor monitoring, creative research, and campaign tracking. The actor searches LinkedIn's public Ad Library by brand, company name, competitor, or keyword, then returns public ad cards with advertiser names, creative IDs, ad text, linked mentions, headlines, CTA labels, image URLs, ad format labels, paid-for entities, and direct detail links.
Use it when you want repeatable LinkedIn ad data for brands such as Nike, Salesforce, HubSpot, or a client competitor list without manually searching LinkedIn's Ad Library.
Why use LinkedIn Ads Library Scraper?
- Monitor public LinkedIn ads by brand, company, competitor, or topic.
- Build B2B creative swipe files from public promoted post previews.
- Export ad text, linked mentions, headline, CTA, image, advertiser, ad format, paid-for entity, and detail URLs.
- Feed agency reports, sales intelligence, or cross-platform ad monitoring workflows.
- Keep the run cheap by using public HTML pages instead of browser automation.
What data does LinkedIn Ads Library Scraper extract?
| Field group | Fields |
|---|---|
| Search context | target, runId |
| Advertiser identity | advertiserName, companyUrl, paidForBy, logoUrl |
| Creative identity | creativeId, creativeType, adFormat, adDetailsUrl |
| Copy and assets | creativeText, linkedMentions, headline, callToAction, imageUrl |
The actor uses the public LinkedIn Ad Library pages tested for guest access. It does not require a LinkedIn login for the tested search and detail paths.
Who uses LinkedIn Ads Library Scraper?
B2B growth teams can monitor competitor messaging and promoted post angles.
Agencies can run scheduled checks for client competitors and export LinkedIn creative examples.
Sales and RevOps teams can spot campaign themes around accounts, categories, or buying committees.
Researchers can collect public LinkedIn ad previews with direct detail links for review.
What input does LinkedIn Ads Library Scraper accept?
{"targets": ["Nike", "Salesforce"],"maxAds": 40,"sortOrder": "DESCENDING"}
| Input | Required | Description |
|---|---|---|
targets | Yes | Brand names, company names, or keywords. Examples: Nike, Salesforce, B2B marketing. |
maxAds | No | Maximum ad previews to return per target. Default: 40; maximum: 250. |
sortOrder | No | DESCENDING for newest first or ASCENDING for oldest first. Default: DESCENDING. |
datasetId | No | Existing Apify dataset ID for pipeline runs. Rows are appended there in addition to the default run dataset. |
runId | No | External workflow ID copied to output rows and RUN_SUMMARY. |
What output does LinkedIn Ads Library Scraper return?
Example row:
{"target": "Nike","advertiserName": "MarqVision","creativeId": "1499909906","creativeType": "SPONSORED_STATUS_UPDATE","adFormat": "Single Image Ad","creativeText": "At Nike's volume, fakes reappear as fast as they come down. Proactive control changes what's measured: not how many listings were removed, but whether exposure is actually falling.","linkedMentions": ["Nike"],"headline": "Removed by you. Relisted by them.","callToAction": "Learn more","imageUrl": "https://media.licdn.com/dms/image/v2/...","paidForBy": "Marq Vision Inc.","companyUrl": "https://www.linkedin.com/company/35587681","adDetailsUrl": "https://www.linkedin.com/ad-library/detail/1499909906"}
For each result, the actor opens the public detail page when a creative ID is available. This usually provides fuller ad text than the search preview, plus the public adFormat label shown by LinkedIn, such as Single Image Ad or Video Ad. linkedMentions lists public LinkedIn entities linked inside the ad text; those mentions remain in creativeText as part of the original copy. The actor does not infer feed placement or campaign setup fields when LinkedIn does not expose them.
How do I run LinkedIn Ads Library Scraper?
- Add one or more brand names, company names, or keywords.
- Set
maxAdsbased on how deep you want the run to go. - Choose newest-first or oldest-first sorting.
- Run the actor and download the dataset as JSON, CSV, Excel, or through the Apify API.
How can I use LinkedIn Ads Library Scraper through the API?
curl "https://api.apify.com/v2/acts/YOUR_USERNAME~linkedin-ads-library-scraper/runs" \-X POST \-H "Content-Type: application/json" \-H "Authorization: Bearer $APIFY_TOKEN" \-d '{"targets": ["Nike"],"maxAds": 40}'
Fetch dataset items:
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true" \-H "Authorization: Bearer $APIFY_TOKEN"
How can I monitor advertisers over time?
Schedule the actor daily or weekly with the same targets. Use creativeId, advertiserName, creativeText, linkedMentions, headline, and adDetailsUrl to deduplicate and detect new creative angles.
What are the limits of LinkedIn Ads Library Scraper?
- The actor returns data visible through public LinkedIn Ad Library guest pages.
- It does not claim complete LinkedIn Ads account or campaign coverage.
- Public pages may not expose dates, impressions, spend, targeting, or all creative variants.
- Placement-style labels such as feed placement are not returned unless LinkedIn exposes them as public text.
- Search results can include ads that mention the keyword but are not owned by the brand.
- LinkedIn can change public HTML structure. The actor records failures in
RUN_SUMMARYrather than inventing rows.
How do I troubleshoot LinkedIn Ads Library Scraper?
| Issue | Likely cause | Solution |
|---|---|---|
| Search results include unrelated companies | Keyword search matches ad copy, headlines, and brand mentions | Use a more specific company name or phrase. |
| A row has no paid-for entity | The detail page did not expose it or the detail request failed | Use advertiser and detail URL fields, then inspect the row manually if needed. |
| A row has no ad format | The detail page did not expose a public format label or the detail request failed | Use creativeType and adDetailsUrl, but avoid treating them as placement fields. |
| A row has no image | The public preview may be text-only or use a format without an image | Use creativeText, headline, and adDetailsUrl. |
| No rows were returned | The target has no visible public results, or LinkedIn changed the page | Try a broader target and check RUN_SUMMARY for suppressed errors. |
What changed in the current version?
0.1
- Initial version with public search, detail enrichment, fuller creative text, linked mentions, ad format labels, image URLs, paid-for entities, and pipeline fields.
How can I get support?
Open an issue on the actor page with the target, run ID, and a short description of what looked wrong. Include whether the problem was matching, missing rows, or detail enrichment.