{"name":"linkedin-ads-search","id":"sfoln/linkedin-ads-search","title":"LinkedIn Ads Library Scraper","description":"Search the LinkedIn Ad Library by keyword, company name or ID, or look up ad URLs: advertiser, headline, body, CTA, landing URL, media, run dates, impressions and targeting, one row per ad. $1.50 per 1,000 ads + $0.004 per results page.","version":"0.1","status":"ready","family":{"id":"ad-intelligence","name":"Ad intelligence","description":"Ads and advertisers from the Meta Ad Library, Google Ads Transparency Center, and the TikTok and LinkedIn ad libraries.","actors":6},"categories":["SOCIAL_MEDIA","LEAD_GENERATION","ECOMMERCE"],"availability":"on_request","seoTitle":"LinkedIn Ads Library API – $1.50 per 1,000 Ads","seoDescription":"LinkedIn Ad Library scraper: export any company's LinkedIn ads with headline, text, CTA, landing URL, media and impressions, as JSON. $1.50 per 1,000 ads.","summary":"LinkedIn Ads Library Scraper searches the LinkedIn Ad Library by keyword, company name or company ID – or looks up ad URLs directly – and returns one dataset record per ad: advertiser and company page, ad type, headline, body text, call to action, landing URL, image / video / carousel media, run dates, impressions range, targeting summary and impressions by country. Filter by countries and date range. Built for B2B competitive research, ABM and demand-gen teams, agencies and AI agents.","pricing":{"model":"pay-per-event","currency":"USD","billedBy":"Apify","freePlanMaxItemsPerRun":10,"events":[{"name":"linkedin-ad","title":"LinkedIn ad","description":"Charged once per ad record delivered from the LinkedIn Ad Library (recordType ad). Duplicates, query summary rows and failed requests are not charged.","priceUsd":0.0015},{"name":"linkedin-ads-query","title":"LinkedIn Ad Library request","description":"Charged once per Ad Library results page fetched and once per ad URL looked up. A page without new ads is charged only when the upstream provider billed it. Failed requests are not charged.","priceUsd":0.004},{"name":"linkedin-ad-details","title":"LinkedIn ad details","description":"Optional (includeAdDetails). Charged once per searched ad enriched from its ad page (impressions by country, full targeting, dates). Not charged when the details request fails.","priceUsd":0.005}]},"input":{"description":"Search the LinkedIn Ad Library by keyword, company name or company ID, or look up ad URLs. Each query returns one dataset record per ad plus one summary record.","required":[],"fields":[{"name":"keywords","title":"Keywords","type":"array","required":false,"description":"Keywords to search ad content for, one per line. Accounts on the Apify free plan can process up to 10 queries per run (keywords, companies, company IDs and ad URLs together).","editor":"stringList"},{"name":"companies","title":"Company names","type":"array","required":false,"description":"Advertiser company names (e.g. Microsoft), one per line.","prefill":["Microsoft"],"editor":"stringList"},{"name":"companyIds","title":"Company IDs","type":"array","required":false,"description":"Numeric LinkedIn company IDs or linkedin.com/company/<id> URLs (most precise).","editor":"stringList"},{"name":"adUrls","title":"Ad URLs","type":"array","required":false,"description":"LinkedIn Ad Library ad URLs (https://www.linkedin.com/ad-library/detail/<id>) to look up directly.","editor":"stringList"},{"name":"maxAdsPerQuery","title":"Max ads per query","type":"integer","required":false,"description":"Maximum ads returned per keyword, company or company ID (1–500).","default":50,"prefill":10,"minimum":1,"maximum":500},{"name":"countries","title":"Countries","type":"array","required":false,"description":"Optional 2-letter country codes the ads were shown in (e.g. US, CA).","editor":"stringList"},{"name":"startDate","title":"Shown from (YYYY-MM-DD)","type":"string","required":false,"description":"Optional; requires endDate. LinkedIn accepts dates from one year ago up to yesterday.","editor":"textfield"},{"name":"endDate","title":"Shown until (YYYY-MM-DD)","type":"string","required":false,"description":"Optional; requires startDate. Must be yesterday or earlier.","editor":"textfield"},{"name":"includeAdDetails","title":"Include ad details","type":"boolean","required":false,"description":"Open every found ad's detail page for impressions by country, full targeting and dates. Adds one linkedin-ad-details event per ad.","default":false},{"name":"maxQueries","title":"Max queries","type":"integer","required":false,"description":"Safety cap on keywords + companies + IDs + ad URLs processed in this run.","default":100,"minimum":1,"maximum":1000},{"name":"concurrency","title":"Concurrency","type":"integer","required":false,"description":"Queries processed in parallel (1–8).","default":4,"minimum":1,"maximum":8},{"name":"itemTimeoutSecs","title":"Time limit per query (seconds)","type":"integer","required":false,"description":"Pagination (and ad-detail calls) for one keyword, company or ID stops cleanly shortly before this limit (60–3600). Raise it for very large per-query limits.","default":900,"minimum":60,"maximum":3600},{"name":"includeRaw","title":"Include raw upstream response","type":"boolean","required":false,"description":"Attach the unmodified upstream ad object(s) to each ad record under `raw` (larger output).","default":false}]},"exampleInput":{"companies":["Microsoft"],"maxAdsPerQuery":10},"outputFields":[{"name":"input","type":"string | object","title":"Input","description":"The input query this record belongs to."},{"name":"recordType","type":"string","title":"Row type","description":"ad (one per ad, charged linkedin-ad) | query (one summary per query, free)."},{"name":"status","type":"string","title":"Status","description":"ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan"},{"name":"charged","type":"boolean","title":"Charged","description":"Whether this record incurred a pay-per-event charge."},{"name":"chargedEvent","type":"string","title":"Charged event","description":"Pay-per-event event charged for this record."},{"name":"source","type":"string","title":"Source","description":"Upstream data source (scrapecreators = ScrapeCreators API over the public ad library)."},{"name":"fetchedAt","type":"string","title":"Fetched at","description":"ISO timestamp."},{"name":"error","type":"object","title":"Error","description":"code / message when status is not ok."},{"name":"warnings","type":"array","title":"Warnings","description":"Non-fatal notes (e.g. stopped early)."},{"name":"query","type":"string | null","title":"Query","description":"Keyword, company, company ID or ad URL the row belongs to."},{"name":"queryType","type":"string | null","title":"Query type","description":"keyword | company | companyId | adUrl."},{"name":"position","type":"integer | null","title":"Position","description":"1-based position within the query results."},{"name":"adId","type":"string | null","title":"Ad ID","description":"LinkedIn Ad Library ad ID."},{"name":"adLibraryUrl","type":"string | null","title":"Ad Library URL","description":"Public LinkedIn Ad Library page of the ad."},{"name":"advertiser","type":"string | null","title":"Advertiser","description":"Advertiser (paying company)."},{"name":"advertiserUrl","type":"string | null","title":"Advertiser page","description":"Advertiser's LinkedIn company page."},{"name":"poster","type":"string | null","title":"Poster","description":"Page or person shown as the poster."},{"name":"promotedBy","type":"string | null","title":"Promoted by","description":"Promoting page for thought-leader ads."},{"name":"adType","type":"string | null","title":"Ad type","description":"e.g. Single Image Ad, Video Ad, Carousel Ad, Document Ad."},{"name":"headline","type":"string | null","title":"Headline","description":"Ad headline."},{"name":"body","type":"string | null","title":"Body","description":"Ad introductory text."},{"name":"ctaText","type":"string | null","title":"CTA text","description":"Call-to-action button text."},{"name":"landingUrl","type":"string | null","title":"Landing URL","description":"Destination URL (LinkedIn trk tracking parameter removed)."},{"name":"imageUrl","type":"string | null","title":"Image URL","description":"Creative image."},{"name":"videoUrl","type":"string | null","title":"Video URL","description":"Creative video."},{"name":"carouselImageUrls","type":"array","title":"Carousel images","description":"Carousel card images."},{"name":"startDate","type":"string | null","title":"Start date","description":"ISO date the ad started running (null when LinkedIn hides it)."},{"name":"endDate","type":"string | null","title":"End date","description":"ISO date the ad stopped running."},{"name":"adDuration","type":"string | null","title":"Run text","description":"LinkedIn's run description, e.g. Ran from Aug 10, 2025 to Aug 10, 2025."},{"name":"totalImpressions","type":"string | null","title":"Impressions","description":"Impressions range, e.g. < 1k or 5k-10k."},{"name":"impressionsByCountry","type":"array","title":"Impressions by country","description":"Country and share of impressions (mostly from ad details)."},{"name":"targeting","type":"object | null","title":"Targeting","description":"Targeting summary lines (language, location, audience, company…)."},{"name":"detailsFetched","type":"boolean | null","title":"Details fetched","description":"Record comes from (or was enriched by) the ad detail page."},{"name":"detailsChargedEvent","type":"string | null","title":"Details event","description":"linkedin-ad-details when details were charged for this ad."},{"name":"adsDelivered","type":"integer | null","title":"Ads delivered","description":"Ads delivered for this query (summary rows)."},{"name":"pagesFetched","type":"integer | null","title":"Pages fetched","description":"Upstream pages / lookups fetched (summary rows)."},{"name":"queryFeesCharged","type":"integer | null","title":"Request fees charged","description":"linkedin-ads-query events charged (summary rows)."},{"name":"adDetailsCharged","type":"integer | null","title":"Details charged","description":"linkedin-ad-details events charged (summary rows)."},{"name":"totalResults","type":"integer | null","title":"Total results","description":"Total matching ads reported by LinkedIn (summary rows)."},{"name":"stopReason","type":"string | null","title":"Stop reason","description":"limit | end | budget | max_pages | deadline | error | empty_pages (summary rows)."}],"outputExample":{"input":{"kind":"company","value":"Microsoft"},"recordType":"ad","query":"Microsoft","queryType":"company","position":1,"adId":"823975056","adLibraryUrl":"https://www.linkedin.com/ad-library/detail/823975056","advertiser":"Microsoft","advertiserUrl":"https://www.linkedin.com/company/1035","poster":"Microsoft","promotedBy":null,"adType":"Single Image Ad","headline":null,"body":"The countdown has begun – grab your discounted tickets now for #FabConEurope in Vienna! …","ctaText":null,"landingUrl":"http://msft.it/6043sMFt3","imageUrl":"https://media.licdn.com/dms/image/…","videoUrl":null,"carouselImageUrls":[],"startDate":"2025-08-10T05:00:00.000Z","endDate":"2025-08-10T05:00:00.000Z","adDuration":"Ran from Aug 10, 2025 to Aug 10, 2025","totalImpressions":"< 1k","impressionsByCountry":[],"targeting":{"language":"Targeting includes English","location":"Targeting includes Netherlands","company":"Exclusion targeting applied"},"detailsFetched":false,"status":"ok","charged":true,"chargedEvent":"linkedin-ad","source":"scrapecreators","fetchedAt":"2026-10-14T10:00:00.000Z"},"faq":[],"mcpExamplePrompt":"List the 20 most recent LinkedIn ads run by Microsoft and summarize their headlines, calls to action and landing pages.","related":["ad-library-scraper","facebook-ads-search","google-ads-transparency","tiktok-ads-search","linkedin-company-lookup"],"urls":{"site":"https://www.sfoln.com/actors/linkedin-ads-search/","siteJson":"https://www.sfoln.com/actors/linkedin-ads-search.json","siteMarkdown":"https://www.sfoln.com/actors/linkedin-ads-search.md","runSync":"https://api.apify.com/v2/actors/sfoln~linkedin-ads-search/run-sync-get-dataset-items","runAsync":"https://api.apify.com/v2/actors/sfoln~linkedin-ads-search/runs","mcp":"https://mcp.apify.com?tools=sfoln/linkedin-ads-search","requestAccess":"mailto:contact@sfoln.com?subject=Access%20request%3A%20LinkedIn%20Ads%20Library%20Scraper%20(sfoln%2Flinkedin-ads-search)&body=Please%20publish%20linkedin-ads-search.%20What%20we%20plan%20to%20use%20it%20for%3A"},"publisher":{"name":"SFOLN LLC","apifyUsername":"sfoln","url":"https://www.sfoln.com","apifyProfile":"https://apify.com/sfoln","email":"contact@sfoln.com"},"generatedAt":"2026-10-22T04:28:58.477Z"}