// LinkedIn ads scraper

LinkedIn ad data for every company on your list

Pull any company's LinkedIn ads programmatically. Send a domain, get back every ad they're running. Do it for one company or a million.

No credit card required

"Our team would manually check the LinkedIn Ad Library and rely on SimilarWeb for rough insights. It was slow, inconsistent, and often outdated."
Viktor Salnich

Viktor Salnich

Sr. Software Engineer, GTM Growth, HockeyStack

What you get from each API call

Send a domain. Get every LinkedIn ad that company is running.

For the company:

  • Total ad count + continuation_token for pagination
  • Complete ad inventory across all LinkedIn sponsored formats

For each ad:

  • Commentary text: The post copy (may be truncated for longer posts)
  • Creative format: SPONSORED_VIDEO, SPONSORED_STATUS_UPDATE, and other LinkedIn ad types
  • Headline and description: Separated fields showing message structure
  • Advertiser details: Company name, logo URL, promoted status
  • Ad Library link: Direct link to view impression data and targeting (for EU ads)
  • Image/video URLs: Direct links to creative assets

Example: Shopify is running 7,082 LinkedIn ads

{
  "status": "success",
  "data": {
    "page_id": "784652",
    "total_ads": 7082,
    "continuation_token": "1064686376-1770051774900",
    "is_last_page": false,
    "ads": [
      {
        "ad_id": "1064231496",
        "creative_type": "SPONSORED_STATUS_UPDATE",
        "advertiser": {
          "name": "Shopify",
          "logo_url": "https://media.licdn.com/dms/image/v2/D560BAQ...",
          "promoted": true
        },
        "commentary": {
          "text": "Get an exclusive look at how Cotopaxi stays ahead of modern retail trends through innovative technology partnerships...",
          "link": null
        },
        "headline": {
          "title": "Free retail webinar",
          "description": "Promoted"
        },
        "image": {
          "alt_text": "Free retail webinar",
          "url": "https://media.licdn.com/dms/image/v2/D5610AQG..."
        },
        "view_details_link": "https://www.linkedin.com/ad-library/detail/1064231496",
        "type": "image",
        "carousel": null
      }
    ]
  }
}

First call returns 25 ads. Page through the rest using continuation_token. Each page costs 1 credit.

Actionable data at any volume

Run one domain or batch millions. Same structure every time.

Run it for:

Lead enrichment
Add LinkedIn ad data to every lead in your CRM. Flag accounts running ads (they have B2B marketing budget). Segment by creative sophistication (video/carousel = higher investment). Route high-value advertisers to sales, non-advertisers to marketing nurture.

Competitive intelligence
Pull all ads from your top competitors. Extract their messaging, creative formats, and positioning. Track monthly to see what they launch, what they kill, and how long each campaign runs. Feed creative URLs directly to your design team.

Market mapping
Batch process 1000+ companies in your category. See what percentage are advertising on LinkedIn. Compare creative sophistication (video vs static image). Identify gaps in the market or validate your positioning against active advertisers.

Sales triggers
Call the API weekly for target accounts. Store ad counts. When ad volume jumps or new campaigns appear, trigger outreach (new spend signals budget and buying window). Build the comparison logic in your CRM or automation tool.

// gong.io
{
  "status": "success",
  "data": {
    "page_id": "2414183",
    "total_ads": 1607,
    "is_last_page": false,
    "continuation_token": "eyJwYWdlX2lkIjogIjI0MTQxODMiLCAib2Zmc2V0IjogMzB9",
    "ads": [ /* ~30 ads per page */ ]
  }
}
// clay.com
{
  "status": "success",
  "data": {
    "page_id": "18170737",
    "total_ads": 817,
    "is_last_page": false,
    "continuation_token": "eyJwYWdlX2lkIjogIjE4MTcwNzM3IiwgIm9mZnNldCI6IDMwfQ==",
    "ads": [ /* ~30 ads per page */ ]
  }
}
// shopify.com
{
  "status": "success",
  "data": {
    "page_id": "1626",
    "total_ads": 7082,
    "is_last_page": false,
    "continuation_token": "eyJwYWdlX2lkIjogIjE2MjYiLCAib2Zmc2V0IjogMzB9",
    "ads": [ /* ~30 ads per page */ ]
  }
}

Each response includes total ad count and continuation_token. Page through results at your own pace. Each call costs 1 credit.

Format ready for any tool

Clean JSON. Every field has the same structure across all responses. No parsing edge cases.

Clay

Add as HTTP API enrichment or use Adyntel's direct integration. Map fields to columns. Build conditional logic:

  • ads.length > 50: tag as "active LinkedIn advertiser"
  • creative_type = "SPONSORED_VIDEO": add to "video advertiser" list

CRMs (Salesforce, HubSpot, Pipedrive, Attio, etc)

Store as custom fields: linkedin_ad_count (number), primary_creative_type (text), advertiser_name (text). Trigger sequences when ad count changes or new creative formats appear.

Databases (Postgres, Airtable)

Store full JSON in JSONB column. Query by creative type, advertiser name, commentary text. Track changes over time by storing responses daily.

LLMs (ChatGPT, Claude, Gemini, Copilot, etc)

Pass structured ad data as context: "Analyze these LinkedIn ads from Gong: [JSON]. Extract their main value props and B2B messaging themes." Get a summary of their messaging themes instead of manually reviewing all their ads.

Spreadsheets (Google Sheets, Excel)

Import via Apps Script or Power Query. Flatten JSON into rows. Track ad count by company, pivot by creative type, filter by commentary keywords. Export individual ad data to CSV for manual review.

Python/Node

Standard HTTP POST. Parse with built-in JSON libraries. No SDK. No wrapper. Works anywhere you can make an HTTP request.

Python

response = requests.post('https://api.adyntel.com/linkedin', json={
  'api_key': key,
  'email': email,
  'company_domain': 'stripe.com'
})
ads = response.json()['ads']

Pricing

Start with 50 free credits so you can test the product. No credit card required.

Subscription
(save 25%)
Pay as you go

5,000

credits

$44/mo

$0.00882 per credit

Start with 50 free credits

25,000

credits

$179/mo

$0.00714 per credit

Start with 50 free credits

50,000

credits

$321/mo

$0.00643 per credit

Start with 50 free credits

Every credit works across LinkedIn, Meta, and Google endpoints.

Need more than 50k credits? Contact us for a custom plan.

Frequently asked questions

Adyntel's LinkedIn ads scraper API

What input do I need to look up a company's LinkedIn ads?
Just the company domain (e.g. tesla.com). We resolve it to the correct LinkedIn Ad Library page automatically. You don't need a LinkedIn URL, company name search, or session cookies. If you have the linkedin_page_id, you can pass that in for better coverage and accuracy.
How is Adyntel different from Apify or other LinkedIn ad scrapers?
Most scrapers require a LinkedIn Ad Library URL or company name as input. Adyntel starts from a domain, which is what you actually have in your CRM or Clay table. It's also a single REST API endpoint, not a scraping platform with actors to configure and datasets to manage. POST a domain, get JSON back. No Apify account, no runs, no cookie exports.
Do I need LinkedIn cookies or a login?
No. Adyntel doesn't require any LinkedIn authentication. Some Apify actors and PhantomBuster scrapers need you to export LinkedIn session cookies. Adyntel handles everything on its own infrastructure.
What data do I get back for each ad?
Advertiser name and logo, creative type, ad headline, ad copy, CTA, image or video URL, image alt text, and a direct link to the ad in the LinkedIn Ad Library.
How many ads can I pull per company?
All of them. The first call returns 25 ads plus a continuation_token and the total ad count. Use the token to page through every ad the company is running.
What happens if a company isn't running ads?
You don't get charged. You only pay when we successfully return results from the LinkedIn Ad Library.
How does pricing work?
Each API call costs 1 credit. No compute units, no platform fees, no monthly actor subscriptions. You're charged per successful call.
Can I use this with Clay?
Yes. Adyntel integrates directly with Clay. You can enrich entire tables with LinkedIn ad data using our API.
Do you support other ad platforms?
Yes. Adyntel also covers Meta and Google ad libraries. Same domain-based input, same API structure, same pricing. You don't need separate tools or scrapers for each platform.
What about reliability? Apify scrapers break when LinkedIn changes their page structure.
Adyntel maintains its own scraping infrastructure with 99.99% API uptime. We're not a marketplace of community-built scrapers. When something changes on LinkedIn's end, our team fixes it.