Get every ad one advertiser runs
Return the Ad Library ads for one advertiser, from a company or advertiser name or a linkedin.com/company URL. Advertiser names are matched by substring, so a broad name can return ads from several advertisers — matchedAdvertisers names the ones the results actually cover. Accepts the same filters as a keyword search, plus an optional query to narrow within that advertiser.
/advertiser-ads Ads https://api.fetchlayer.dev/linkedin-ad-library/advertiser-ads Headers
Authorization string required Bearer token — your FetchLayer API key.
Parameters
advertiser string required Advertiser or company name, or a linkedin.com/company/<name> URL (max 500 characters).
query string optional Optional keyword to filter within the advertiser's ads.
country string optional Two-letter country code, or ALL. (default: ALL)
countries string[] optional Several countries at once (max 20). Overrides country.
payer string optional Name on the ad’s "paid for by" line.
dateRange string optional last-30-days, current-month, current-year, last-year, or custom-date-range. Widen it before concluding an advertiser has gone quiet. (default: last-30-days)
startDate string optional Only ads running on or after this YYYY-MM-DD date. Pair with dateRange custom-date-range.
endDate string optional Only ads running on or before this YYYY-MM-DD date. Pair with dateRange custom-date-range.
impressionsMin number optional Only ads with at least this many impressions (max 1000000000). EU-targeted ads only.
impressionsMax number optional Only ads with at most this many impressions (max 1000000000). EU-targeted ads only.
includedTargeting string[] optional Only ads that targeted these categories: LANGUAGE, LOCATION, AUDIENCE, DEMOGRAPHIC, COMPANY, EDUCATION, JOB, INTERESTS_AND_TRAITS. EU-targeted ads only.
excludedTargeting string[] optional Only ads that excluded these targeting categories. EU-targeted ads only.
sortOrder string optional Orders the whole result set by date: newest or oldest. (default: newest)
limit number optional Maximum ads returned (max 2000), or -1 for everything available. (default: 30)
pages number optional Pages of results to collect in one request (max 100), or -1 for the maximum allowed. Each page walked bills as one request.
cursor string optional Resume from a previous response's nextCursor. Only valid for the same filters.
delayMs number optional Milliseconds to wait between pages (max 30000).
sortBy string optional Reorders only the ads in this response: start_date, end_date, advertiser, or none.
sortDirection string optional asc or desc.
Response Fields
advertiser-ads
Get every ad one advertiser runs
advertiser string The advertiser name that was looked up.
matchedAdvertisers string[] The distinct advertisers these ads belong to. A broad name matches by substring and can span several — check this before attributing the ads to one company.
filters object The filters this lookup actually ran with, after defaults were applied.
ads object[] The matching ads, newest first unless sortOrder or sortBy says otherwise.
ads[].adId string Ad Library id — the handle for ad-detail and ad-media.
ads[].adLibraryUrl string Public Ad Library permalink for this ad.
ads[].format string Ad format, e.g. SPONSORED_STATUS_UPDATE, SPONSORED_INMAILS, SPONSORED_UPDATE_CAROUSEL, SPOTLIGHT_V2. A newly introduced format is reported as-is.
ads[].formatLabel string LinkedIn’s own label for the format, e.g. "Message Ad".
ads[].advertiser object Name, display name, LinkedIn page URL and id, profile type (company, member, school, showcase), tagline, logo and promotedBy.
ads[].payer string The entity named on the ad’s "paid for by" line.
ads[].creative object Body copy, headline, CTA labels, destination link, videos, images and attachments (carousel cards, documents, events, job postings).
ads[].creative.bodyTruncated boolean True in search results, where the copy is shortened. Call ad-detail for the full text.
ads[].startDate string YYYY-MM-DD. Published only for ads whose targeting includes the EU; null otherwise.
ads[].endDate string YYYY-MM-DD. Published only for ads whose targeting includes the EU; null otherwise.
ads[].runDatesLabel string LinkedIn’s own run-dates sentence, verbatim.
ads[].impressions object Impressions band and per-country share. Null for any ad whose targeting does not include the EU. Always a band, never an exact figure — LinkedIn publishes no spend for any ad.
ads[].targeting object The targeting categories and values the advertiser chose, with inclusions and exclusions. Null for any ad whose targeting does not include the EU.
adCount number Number of ads in this response.
totalMatchCount number Ads matching these filters across every page, when LinkedIn reports it.
pagesScraped number Pages actually walked. Each page counts as one request against your plan.
nextCursor string Pass back as cursor to continue from where this response stopped. Only valid for the same filters.
hasNextPage boolean Whether more results are available beyond this response.
notes string[] Caveats about this particular result — a walk cut short, a filter the upstream capped. Read it before treating a result set as complete.
Request
curl -X POST "https://api.fetchlayer.dev/linkedin-ad-library/advertiser-ads" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"advertiser":"https://www.linkedin.com/company/acme-software","dateRange":"current-year","pages":3}'Response
{
"advertiser": "Acme Software",
"matchedAdvertisers": [
"Acme Software",
"Acme Software EMEA"
],
"adCount": 84,
"pagesScraped": 3,
"hasNextPage": false,
"notes": [],
"ads": []
}