LinkedIn Ad Library Scraper
Search LinkedIn's public Ad Library and inspect advertiser, creative, payer, date, impression, and targeting details without sign-in.
Workspace
Configure
Inputs stay here while results become exportable artifacts.
Start from an example
Results
Preview, inspect, copy, or export the complete output.
Your result will become an artifact
Run the tool to inspect structured rows, raw JSON, execution details, and downloadable JSON, CSV, and Markdown files.
Overview
LinkedIn Ad Library Scraper uses LinkedIn's official public Ad Library pages. Search results include stable ad IDs, advertiser names, formats, copy, headlines, logos, and creative images. Detail mode adds payer, run dates, impression ranges, targeting labels, and variant state when publicly available.
Last validated: Jul 15, 2026
Input
idstringLinkedIn Ad Library ad ID.
urlstringPublic LinkedIn Ad Library detail URL.
mode"search" | "ad"requiredSearch ads or inspect one ad.
companystringCompany or advertiser name.
endDatestringEnd date in YYYY-MM-DD format.
keywordstringKeyword or phrase.
companyIdstringLinkedIn company ID.
countriesstringComma-separated country codes.
startDatestringStart date in YYYY-MM-DD format.
max_resultsintegerdefault: 10Maximum ads to return.
paginationTokenstringLinkedIn results pagination token.
Output
adobjectResolved individual ad.
ad.idstringLinkedIn Ad Library ID.
ad.urlstringPublic detail URL.
ad.formatstringAd format.
ad.ran_tostringVisible run end date.
ad.headlinestringVisible creative headline.
ad.logo_urlstringPublic advertiser logo.
ad.ran_fromstringVisible run start date.
ad.image_urlstringPublic creative image.
ad.targetingstringVisible targeting statements separated by semicolons.
ad.advertiserstringAdvertiser name.
ad.descriptionstringVisible ad copy.
ad.paid_for_bystringDisclosed payer.
ad.total_impressionsstringVisible impression range.
ad.has_multiple_variantsbooleanWhether LinkedIn reports multiple variants.
adsobject[]requiredPublic LinkedIn ads.
modestringrequiredResolved operation.
countintegerrequiredNumber of ads returned.
source_urlstringrequiredFetched LinkedIn Ad Library URL.
total_matchesintegerVisible total matching-ad count.
pagination_tokenstringNext LinkedIn pagination token when present.
Examples
search-ads
{
"mode": "search",
"company": "Microsoft",
"max_results": 5
}ad-details
{
"id": "1465155164",
"mode": "ad"
}Use cases
FAQ
Does this require LinkedIn sign-in?
No. It reads LinkedIn's official public Ad Library.
How long are ads available?
LinkedIn says ads remain in its Ad Library for one year after their last impression.
Why are some fields absent?
LinkedIn withholds some fields for restricted ads and exposes extra impression or targeting data only where applicable.
Use it anywhere
MCP (Claude, ChatGPT, Codex)
# After connecting https://betterfetch.co/api/mcp, ask your AI to:
1. Call search_tools for "LinkedIn Ad Library Scraper"
2. Call run_tool with:
name: "linkedin_ad_library_scraper"
input: {"mode":"search","company":"Microsoft","max_results":5}REST
curl -sS -X POST "https://betterfetch.co/api/tools/linkedin_ad_library_scraper/run" \
-H "Authorization: Bearer bf_your_key_here" \
-H "Content-Type: application/json" \
-d '{"input": {"mode":"search","company":"Microsoft","max_results":5}}'Run locally
git clone https://github.com/better-fetch/tools/tree/main/tools/linkedin-ad-library-scraper && cd linkedin-ad-library-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"mode":"search","company":"Microsoft","max_results":5}'