linkedin_ads_search_ad_library

Search LinkedIn Ad Library

Linkedin

Description

Search the LinkedIn Ad Library for ads from any advertiser. Returns real creative content — ad copy (primary text, headline, description, CTA), landing URLs, run dates, and media source/mirrored URLs. Served from Hopkin's scraped ad-library corpus (LinkedIn exposes no ad-library API); when the corpus has nothing for a query, a live scrape of the public Ad Library runs on demand (may take 60-90s). Filter by organization_ids (numeric LinkedIn org IDs), display_format (e.g. sponsored_status_update, sponsored_video), languages (names like "English"), delivery dates, and active status. Does NOT require a connected LinkedIn ad account — searches globally.

Read-onlyIdempotentOpen-world

Usage

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "linkedin_ads_search_ad_library",
    "arguments": {
      "search_terms": "sales automation",
      "countries": [
        "US"
      ],
      "reason": "Competitive research on B2B sales tooling ads"
    }
  }
}

Parameters

NameTypeRequiredDescription
countries array Required REQUIRED. ISO-3166-1 alpha-2 country codes (e.g. ["US", "GB"] — use "GB" not "UK") or ["ALL"]. Scopes on-demand scrapes; corpus rows carry no per-ad reach countries.
reason string Required Why this tool call is neededminLength: 1, maxLength: 500
Optional parameters (10)
NameTypeRequiredDescription
search_terms string Optional Keywords to search for in ad content. Spaces act as AND. Use the language the ad is written in.minLength: 1, maxLength: 100
search_type string Optional Search mode: KEYWORD_UNORDERED (default, any order) or KEYWORD_EXACT_PHRASE
KEYWORD_UNORDERED KEYWORD_EXACT_PHRASE
organization_ids array Optional Filter by up to 10 numeric LinkedIn organization IDs. Use this for competitor/brand lookups.
ad_active_status string Optional Filter by delivery status. Default: ACTIVE
ACTIVE INACTIVE ALL
ad_delivery_date_min string Optional Minimum delivery date (YYYY-MM-DD)pattern: ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}(:\d{2}(\.\d+)?)?(Z|[+-]\d{2}:\d{2})?)?$
ad_delivery_date_max string Optional Maximum delivery date (YYYY-MM-DD). Ads whose start date is unknown (not yet detail-enriched) are excluded by this bound.pattern: ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}(:\d{2}(\.\d+)?)?(Z|[+-]\d{2}:\d{2})?)?$
display_format string Optional Filter by creative type as recorded from the LinkedIn Ad Library (case-insensitive). Observed values: sponsored_status_update, sponsored_video, sponsored_update_linkedin_article, sponsored_message, sponsored_update_native_document, sponsored_update_event. sponsored_status_update is a single-image post; the vocabulary is LinkedIn’s own and open-ended.minLength: 1
languages array Optional Filter by language name as shown in LinkedIn ad transparency data, e.g. ["English"]
limit integer Optional Results per page (default: 25, max: 50)min: 1, max: 50
cursor string Optional Pagination cursor from previous responseminLength: 1

Examples

Search by keyword

{
  "search_terms": "sales automation",
  "countries": [
    "US"
  ],
  "reason": "Competitive research on B2B sales tooling ads"
}

hopkin linkedin search-ad-library --search-terms sales automation --countries US

Search by organization ID

{
  "organization_ids": [
    "3185"
  ],
  "countries": [
    "US"
  ],
  "reason": "View competitor ads"
}

hopkin linkedin search-ad-library --organization-ids 3185 --countries US

Video ads only

{
  "search_terms": "crm",
  "countries": [
    "ALL"
  ],
  "display_format": "sponsored_video",
  "reason": "Creative research"
}

hopkin linkedin search-ad-library --search-terms crm --countries ALL --display-format sponsored_video