# Find a competitor's long-running LinkedIn ads, tagged by AI

**Use case:** 

Ads a company has kept running for 30 days or more are the ones that work. This task keeps those only and tags each with its angle, offer type, funnel stage, the job function it speaks to, tone and sentiment, each with a confidence. Run dates are published for EU ads, so the task asks for ads shown in Germany.

## Input

```json
{
  "companies": [
    "https://www.linkedin.com/company/hubspot"
  ],
  "keywords": [],
  "payers": [],
  "startUrls": [],
  "adIds": [],
  "searches": [],
  "resultType": "ads",
  "countries": [
    "DE"
  ],
  "dateRange": "any",
  "targetingIncludes": [],
  "targetingExcludes": [],
  "sortOrder": "newest",
  "includeRelatedAdvertisers": false,
  "adFormats": [],
  "minDaysRunning": 30,
  "onlyActive": false,
  "includeDetails": true,
  "includeCompanyInfo": false,
  "tagAds": true,
  "analyzeAds": false,
  "ocrImageAds": false,
  "transcribeVideos": false,
  "summaryRows": false,
  "outputFormat": "full",
  "maxAds": 50,
  "maxAdsPerSearch": 0,
  "onlyNewAds": false,
  "includeEndedAds": false
}
```

## Output

```json
{
  "row_type": {
    "label": "Row type",
    "format": "string"
  },
  "creative_id": {
    "label": "Ad id",
    "format": "string"
  },
  "ad_url": {
    "label": "Ad URL",
    "format": "string"
  },
  "ad_format": {
    "label": "Ad format",
    "format": "string"
  },
  "creative_type": {
    "label": "Creative type",
    "format": "string"
  },
  "format_label": {
    "label": "Format label",
    "format": "string"
  },
  "advertiser_name": {
    "label": "Advertiser name",
    "format": "string"
  },
  "advertiser_id": {
    "label": "Advertiser id",
    "format": "string"
  },
  "advertiser_slug": {
    "label": "Advertiser slug",
    "format": "string"
  },
  "advertiser_type": {
    "label": "Advertiser type",
    "format": "string"
  },
  "advertiser_url": {
    "label": "Advertiser URL",
    "format": "string"
  },
  "advertiser_logo_url": {
    "label": "Advertiser logo",
    "format": "string"
  },
  "member_name": {
    "label": "Member name",
    "format": "string"
  },
  "member_headline": {
    "label": "Member headline",
    "format": "string"
  },
  "member_url": {
    "label": "Member URL",
    "format": "string"
  },
  "payer": {
    "label": "Payer",
    "format": "string"
  },
  "headline": {
    "label": "Headline",
    "format": "string"
  },
  "headline_description": {
    "label": "Headline description",
    "format": "string"
  },
  "body_text": {
    "label": "Body text",
    "format": "string"
  },
  "body_text_preview": {
    "label": "Body text preview",
    "format": "string"
  },
  "body_text_truncated": {
    "label": "Body text truncated",
    "format": "boolean"
  },
  "cta": {
    "label": "CTA",
    "format": "string"
  },
  "cta_buttons": {
    "label": "Cta buttons",
    "format": "array"
  },
  "cta_type": {
    "label": "CTA type",
    "format": "string"
  },
  "destination_url": {
    "label": "Destination URL",
    "format": "string"
  },
  "landing_domain": {
    "label": "Landing domain",
    "format": "string"
  },
  "links_in_text": {
    "label": "Links in text",
    "format": "array"
  },
  "image_url": {
    "label": "Image",
    "format": "string"
  },
  "image_urls": {
    "label": "Images",
    "format": "array"
  },
  "video_url": {
    "label": "Video URL",
    "format": "string"
  },
  "video_urls": {
    "label": "Video renditions",
    "format": "array"
  },
  "video_preview_url": {
    "label": "Video poster",
    "format": "string"
  },
  "document_title": {
    "label": "Document title",
    "format": "string"
  },
  "document_url": {
    "label": "Document URL",
    "format": "string"
  },
  "document_cover_url": {
    "label": "Document cover",
    "format": "string"
  },
  "document_pages": {
    "label": "Document pages",
    "format": "integer"
  },
  "cards": {
    "label": "Cards",
    "format": "array"
  },
  "event_name": {
    "label": "Event name",
    "format": "string"
  },
  "event_time": {
    "label": "Event time",
    "format": "string"
  },
  "event_location": {
    "label": "Event location",
    "format": "string"
  },
  "message_sender_name": {
    "label": "Message sender name",
    "format": "string"
  },
  "message_sender_image_url": {
    "label": "Message sender photo",
    "format": "string"
  },
  "employer_brand_line": {
    "label": "Employer brand line",
    "format": "string"
  },
  "variants_count": {
    "label": "Variants count",
    "format": "integer"
  },
  "variants": {
    "label": "Variants",
    "format": "array"
  },
  "run_dates_text": {
    "label": "Run dates text",
    "format": "string"
  },
  "first_shown": {
    "label": "First shown",
    "format": "string"
  },
  "last_shown": {
    "label": "Last shown",
    "format": "string"
  },
  "days_shown": {
    "label": "Days shown",
    "format": "integer"
  },
  "is_active": {
    "label": "Is active",
    "format": "boolean"
  },
  "launched_last_7_days": {
    "label": "Launched in the last 7 days",
    "format": "boolean"
  },
  "launched_last_30_days": {
    "label": "Launched in the last 30 days",
    "format": "boolean"
  },
  "long_running": {
    "label": "Long running",
    "format": "boolean"
  },
  "has_eu_transparency": {
    "label": "Has EU transparency data",
    "format": "boolean"
  },
  "impressions_bucket": {
    "label": "Impressions bucket",
    "format": "string"
  },
  "impressions_min": {
    "label": "Impressions min",
    "format": "integer"
  },
  "impressions_max": {
    "label": "Impressions max",
    "format": "integer"
  },
  "impressions_by_country": {
    "label": "Impressions by country",
    "format": "array"
  },
  "top_country": {
    "label": "Top country",
    "format": "string"
  },
  "countries_count": {
    "label": "Countries count",
    "format": "integer"
  },
  "regions": {
    "label": "Regions",
    "format": "array"
  },
  "targeting_language": {
    "label": "Targeting language",
    "format": "array"
  },
  "targeting_language_excluded": {
    "label": "Targeting language excluded",
    "format": "array"
  },
  "targeting_locations": {
    "label": "Targeting locations",
    "format": "array"
  },
  "targeting_locations_excluded": {
    "label": "Targeting locations excluded",
    "format": "array"
  },
  "targeting_parameters": {
    "label": "Targeting parameters",
    "format": "object"
  },
  "targeting_other": {
    "label": "Targeting other",
    "format": "array"
  },
  "copy_length": {
    "label": "Copy length",
    "format": "integer"
  },
  "text_language": {
    "label": "Text language",
    "format": "string"
  },
  "sentiment_score": {
    "label": "Sentiment score",
    "format": "number"
  },
  "analysis_angle": {
    "label": "Analysis angle",
    "format": "string"
  },
  "analysis_cta_intent": {
    "label": "Analysis CTA intent",
    "format": "string"
  },
  "analysis_tone": {
    "label": "Analysis tone",
    "format": "string"
  },
  "analysis_sentiment": {
    "label": "Analysis sentiment",
    "format": "number"
  },
  "analysis_offer_type": {
    "label": "Analysis offer type",
    "format": "string"
  },
  "analysis_funnel_stage": {
    "label": "Analysis funnel stage",
    "format": "string"
  },
  "analysis_target_function": {
    "label": "Analysis target function",
    "format": "string"
  },
  "analysis_confidence": {
    "label": "Analysis confidence",
    "format": "object"
  },
  "analysis_hook": {
    "label": "Analysis hook",
    "format": "string"
  },
  "analysis_offer": {
    "label": "Analysis offer",
    "format": "string"
  },
  "analysis_audience": {
    "label": "Analysis audience",
    "format": "string"
  },
  "analysis_strategy": {
    "label": "Analysis strategy",
    "format": "string"
  },
  "ad_ocr_text": {
    "label": "Image text",
    "format": "string"
  },
  "transcript": {
    "label": "Transcript",
    "format": "string"
  },
  "transcript_language": {
    "label": "Transcript language",
    "format": "string"
  },
  "hook_3s": {
    "label": "Hook (first 3 s)",
    "format": "string"
  },
  "speech_seconds": {
    "label": "Speech seconds",
    "format": "number"
  },
  "video_duration_s": {
    "label": "Video duration s",
    "format": "number"
  },
  "transcript_segments": {
    "label": "Transcript segments",
    "format": "array"
  },
  "advertiser_industry": {
    "label": "Advertiser industry",
    "format": "string"
  },
  "advertiser_size": {
    "label": "Advertiser size",
    "format": "string"
  },
  "advertiser_employees_min": {
    "label": "Advertiser employees min",
    "format": "integer"
  },
  "advertiser_employees_max": {
    "label": "Advertiser employees max",
    "format": "integer"
  },
  "advertiser_employees_on_linkedin": {
    "label": "Advertiser employees on linkedin",
    "format": "integer"
  },
  "advertiser_tagline": {
    "label": "Advertiser tagline",
    "format": "string"
  },
  "advertiser_similar_pages": {
    "label": "Advertiser similar pages",
    "format": "array"
  },
  "advertiser_headquarters": {
    "label": "Advertiser headquarters",
    "format": "string"
  },
  "advertiser_founded": {
    "label": "Advertiser founded",
    "format": "integer"
  },
  "advertiser_company_type": {
    "label": "Advertiser company type",
    "format": "string"
  },
  "advertiser_website": {
    "label": "Advertiser website",
    "format": "string"
  },
  "advertiser_followers": {
    "label": "Advertiser followers",
    "format": "integer"
  },
  "advertiser_specialties": {
    "label": "Advertiser specialties",
    "format": "array"
  },
  "detail_status": {
    "label": "Detail status",
    "format": "string"
  },
  "matched_query": {
    "label": "Matched query",
    "format": "string"
  },
  "matched_queries": {
    "label": "Matched queries",
    "format": "array"
  },
  "claimed_count": {
    "label": "Claimed count",
    "format": "integer"
  },
  "first_seen_at": {
    "label": "First seen",
    "format": "string"
  },
  "last_seen_at": {
    "label": "Last seen at",
    "format": "string"
  },
  "ended_at": {
    "label": "Ended at",
    "format": "string"
  },
  "scraped_at": {
    "label": "Scraped at",
    "format": "string"
  },
  "run_tag": {
    "label": "Run tag",
    "format": "string"
  },
  "has_ads": {
    "label": "Has ads",
    "format": "boolean"
  },
  "search_query": {
    "label": "Search query",
    "format": "string"
  },
  "advertiser_description": {
    "label": "Advertiser description",
    "format": "string"
  },
  "summary_ad_count": {
    "label": "Summary ad count",
    "format": "integer"
  },
  "summary_active_count": {
    "label": "Summary active count",
    "format": "integer"
  },
  "summary_longest_days": {
    "label": "Summary longest days",
    "format": "integer"
  },
  "summary_formats": {
    "label": "Summary formats",
    "format": "array"
  },
  "summary_landing_domains": {
    "label": "Summary landing domains",
    "format": "array"
  },
  "summary_countries": {
    "label": "Summary countries",
    "format": "array"
  },
  "summary_distinct_copies": {
    "label": "Summary distinct copies",
    "format": "integer"
  },
  "summary_ad_ids": {
    "label": "Summary ad ids",
    "format": "array"
  },
  "display_url": {
    "label": "Display url",
    "format": "string"
  }
}
```

## About this Actor

This example demonstrates how to use [LinkedIn Ad Library Scraper — Competitor LinkedIn Ads Library](https://apify.com/hyperbach/linkedin-ad-library-scraper.md) with a specific input configuration. Visit the [Actor detail page](https://apify.com/hyperbach/linkedin-ad-library-scraper.md) to learn more, explore other use cases, and run it yourself.


## How to integrate an Actor?

This Task's input is already configured above. Use it as-is rather than inventing a new one.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For full API examples (JavaScript, Python, CLI, MCP, OpenAPI), see this Task's Actor page: https://apify.com/hyperbach/linkedin-ad-library-scraper.md

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).
