<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sergio Henrique</title>
    <description>The latest articles on DEV Community by Sergio Henrique (@serj_henrique).</description>
    <link>https://dev.to/serj_henrique</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4231018%2F22d8e8f5-cbc1-4f55-81eb-1c826a812529.jpg</url>
      <title>DEV Community: Sergio Henrique</title>
      <link>https://dev.to/serj_henrique</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/serj_henrique"/>
    <language>en</language>
    <item>
      <title>How to Get LinkedIn Ad Library Data into Google Sheet</title>
      <dc:creator>Sergio Henrique</dc:creator>
      <pubDate>Fri, 06 Nov 2026 22:44:45 +0000</pubDate>
      <link>https://dev.to/serj_henrique/how-to-get-linkedin-ad-library-data-into-google-sheet-25bk</link>
      <guid>https://dev.to/serj_henrique/how-to-get-linkedin-ad-library-data-into-google-sheet-25bk</guid>
      <description>&lt;p&gt;If you have ever tried to pull LinkedIn ad data into Google Sheets, you have probably hit the same wall: LinkedIn's Ad Library shows you the ads, but it gives you no bulk export, no search API, and no native Google Sheets integration.&lt;/p&gt;

&lt;p&gt;In this guide, we will use a &lt;strong&gt;LinkedIn Ad Library scraper&lt;/strong&gt; to pull structured ad data — headlines, ad copy, creative URLs, CTAs, targeting details, impression ranges — and push it straight into Google Sheets. No paid connector, no manual copy-paste.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What you will need:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A free &lt;a href="https://apify.com/" rel="noopener noreferrer"&gt;Apify&lt;/a&gt; account&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://apify.com/serj_henrique/linkedin-ad-library-scraper" rel="noopener noreferrer"&gt;LinkedIn Ad Library Scraper&lt;/a&gt; Actor&lt;/li&gt;
&lt;li&gt;A Google Drive account&lt;/li&gt;
&lt;li&gt;A free &lt;a href="https://www.make.com" rel="noopener noreferrer"&gt;Make&lt;/a&gt; account&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 1: Open the Make workflow
&lt;/h2&gt;

&lt;p&gt;There are two ways to reach Make — but they don't lead to the same place, so pick carefully.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Option A — from the Actor page:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the &lt;a href="https://apify.com/serj_henrique/linkedin-ad-library-scraper" rel="noopener noreferrer"&gt;LinkedIn Ad Library Scraper&lt;/a&gt; Actor.&lt;/li&gt;
&lt;li&gt;Go to the &lt;strong&gt;Integrations&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;+ Add Integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Type &lt;code&gt;Google Sheets&lt;/code&gt; in the search bar. Under &lt;strong&gt;Integrate with third party tools&lt;/strong&gt;, choose the &lt;strong&gt;Google Sheets&lt;/strong&gt; Make integration.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This takes you to the &lt;a href="https://www.make.com/integrations/apify/google-sheets" rel="noopener noreferrer"&gt;Connect Apify and Google Sheets integrations&lt;/a&gt; page. It works, but it isn't the best starting point — the template behind it needs more manual wiring than you'd expect. That's why I recommend Option B instead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Option B — from the Make template (recommended):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Use the &lt;a href="https://www.make.com/templates/13139-fetch-dataset-items-from-apify-and-add-them-to-google-sheets" rel="noopener noreferrer"&gt;Fetch dataset items from Apify and add them to Google Sheets&lt;/a&gt; template directly.&lt;/p&gt;

&lt;p&gt;From there, click &lt;strong&gt;+ Create workflow&lt;/strong&gt; to continue.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2: Configure the Make workflow
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc456xfdp6hgac59grfid.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc456xfdp6hgac59grfid.png" alt="Fetch dataset items from Apify and add them to Google Sheets Template" width="799" height="236"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Configure the Apify node — "Watch Actor Runs":&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click the &lt;strong&gt;Watch Actor Runs&lt;/strong&gt; node.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create a webhook&lt;/strong&gt; and give it a name.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create Connection&lt;/strong&gt; → choose &lt;strong&gt;Apify&lt;/strong&gt;. An OAuth window will open — follow the steps to connect your account.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F97vrc4f8zqpx09zksi86.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F97vrc4f8zqpx09zksi86.png" alt="What Actor Runs Configuration" width="800" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Actor&lt;/strong&gt; field, select &lt;a href="https://apify.com/serj_henrique/linkedin-ad-library-scraper" rel="noopener noreferrer"&gt;LinkedIn Ad Library Scraper&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqrsgm4mz01e1nh67ekzz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqrsgm4mz01e1nh67ekzz.png" alt="Select LinkedIn scraper" width="583" height="631"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Save.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Configure the Apify node — "Get Dataset Items":&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Choose the connection you just created.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;dataset ID&lt;/strong&gt; field, select &lt;code&gt;defaultDatasetId&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Save.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Configure the Google Sheets node:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click the &lt;strong&gt;Google Sheets&lt;/strong&gt; node.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create a connection&lt;/strong&gt; → &lt;strong&gt;Sign in with Google&lt;/strong&gt; and complete the OAuth flow.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2s6ij3oohkbg60j34n7s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2s6ij3oohkbg60j34n7s.png" alt="Google Sheets node configuration" width="590" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Choose the Google Sheet where results should be saved.&lt;/li&gt;
&lt;li&gt;Map the dataset columns to your sheet columns.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgfsu3rqpfsodwoc2qjan.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgfsu3rqpfsodwoc2qjan.png" alt="Map dataset columns" width="577" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Save.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In the top-right corner of the canvas, make sure the workflow is toggled &lt;strong&gt;Active&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzt94hvaebcd6x6f18n3p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzt94hvaebcd6x6f18n3p.png" alt="Workflow Active" width="765" height="100"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3: Run the Actor
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to the &lt;strong&gt;Input&lt;/strong&gt; tab of the &lt;a href="https://apify.com/serj_henrique/linkedin-ad-library-scraper" rel="noopener noreferrer"&gt;LinkedIn Ad Library Scraper&lt;/a&gt; Actor.&lt;/li&gt;
&lt;li&gt;Fill in your input parameters (advertiser name or keyword, country, date range) and click &lt;strong&gt;Start&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;When the run finishes, the Make workflow triggers automatically. You can monitor its progress in the Actor's &lt;strong&gt;Integrations&lt;/strong&gt; tab.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once the integration completes, open the Google Sheet you configured in the Make workflow — your extracted LinkedIn ad data is waiting there.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdhim7uskp7ezj0lasvyi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdhim7uskp7ezj0lasvyi.png" alt="Dataset saved in google sheet" width="799" height="349"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;You now have a hands-off pipeline that turns public LinkedIn Ad Library data into structured rows in Google Sheets — no manual exports, no copy-paste, and no paid connector. Run the Actor manually whenever you want a one-off snapshot, or &lt;a href="https://docs.apify.com/platform/schedules" rel="noopener noreferrer"&gt;schedule it on Apify&lt;/a&gt; to keep the sheet continuously updated with fresh competitor ad data.&lt;/p&gt;

&lt;p&gt;A few ways to put the data to work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Competitive creative analysis&lt;/strong&gt; — pivot by advertiser to see who is running the most ads in your space.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CTA and messaging trends&lt;/strong&gt; — count the most common CTAs and headlines across an industry.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High-impression ad spotting&lt;/strong&gt; — filter the dataset by impression range to surface the creatives that are actually getting reach.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you build something interesting with this workflow, drop a link in the comments — I'd love to see it.&lt;/p&gt;

</description>
      <category>apify</category>
      <category>linkedin</category>
      <category>googlesheets</category>
      <category>automation</category>
    </item>
  </channel>
</rss>
