<?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: Cliqto Media</title>
    <description>The latest articles on DEV Community by Cliqto Media (@cliqtomedia).</description>
    <link>https://dev.to/cliqtomedia</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%2F2321999%2Fa1e333f9-2f11-4208-a031-4662c6dea245.png</url>
      <title>DEV Community: Cliqto Media</title>
      <link>https://dev.to/cliqtomedia</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cliqtomedia"/>
    <language>en</language>
    <item>
      <title>Hello DEV 👋 We're Cliqto Media, and we build web data tools</title>
      <dc:creator>Cliqto Media</dc:creator>
      <pubDate>Sun, 25 Oct 2026 09:58:25 +0000</pubDate>
      <link>https://dev.to/cliqtomedia/hello-dev-were-cliqto-media-and-we-build-web-data-tools-306i</link>
      <guid>https://dev.to/cliqtomedia/hello-dev-were-cliqto-media-and-we-build-web-data-tools-306i</guid>
      <description>&lt;p&gt;Hi DEV community!&lt;/p&gt;

&lt;p&gt;We're Cliqto Media, a small independent digital media company. Since 2020 we've been building our own tools and brands. Most of them are for people who work with data and automation, so this is where we'll share the technical side of our work.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we build
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Apify Actors.&lt;/strong&gt; 150+ ready-made web scrapers and data APIs that run in the Apify cloud. They collect public data such as app reviews, job listings, YouTube transcripts, company contacts and search suggestions, and return clean JSON you can pull from code. &lt;a href="https://apify.com/cliqtomedia?fpr=cliqto" rel="noopener noreferrer"&gt;Our Actors on Apify&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browser extensions.&lt;/strong&gt; Small tools that run in your own browser, with no servers and no sign-up. The first one, &lt;a href="https://cliqtomedia.com/extensions/x-bulk-scheduler/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=welcome" rel="noopener noreferrer"&gt;Bulk Post Scheduler for X&lt;/a&gt;, schedules many X posts from a CSV or Excel file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Voxlo Studio.&lt;/strong&gt; Our brand of original 3D-printable designs: &lt;a href="https://voxlostudio.com/" rel="noopener noreferrer"&gt;voxlostudio.com&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  A quick taste: YouTube transcripts from Python
&lt;/h2&gt;

&lt;p&gt;Every Actor can be called from code with the official Apify client (&lt;code&gt;pip install apify-client&lt;/code&gt;). This one returns public YouTube captions as plain text and as timed segments:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;apify_client&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ApifyClient&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ApifyClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;YOUR_APIFY_TOKEN&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;run&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;actor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;cliqtomedia/youtube-transcript-scraper&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;call&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;run_input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;videoUrls&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;jNQXAC9IVRw&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;preferredLanguages&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;en&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]}&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dataset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;defaultDatasetId&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]).&lt;/span&gt;&lt;span class="nf"&gt;iterate_items&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;videoId&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;status&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="sh"&gt;""&lt;/span&gt;&lt;span class="p"&gt;)[:&lt;/span&gt;&lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One video costs about six cents at the current price (USD 0.053 per run start plus USD 0.008 per transcript). Details are on the &lt;a href="https://apify.com/cliqtomedia/youtube-transcript-scraper?fpr=cliqto" rel="noopener noreferrer"&gt;Actor page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we'll write about here
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Calling our Actors from Python and JavaScript&lt;/li&gt;
&lt;li&gt;Data formats, edge cases and what breaks when a site changes&lt;/li&gt;
&lt;li&gt;How we build and test Actors and browser extensions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Questions, or an idea for a scraper you'd like to see? Leave a comment.&lt;/p&gt;

&lt;p&gt;More about us: &lt;a href="https://cliqtomedia.com/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=welcome" rel="noopener noreferrer"&gt;cliqtomedia.com&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Some links in this post are partner links. If you sign up through them, we may earn a commission at no extra cost to you (&lt;a href="https://cliqtomedia.com/legal/affiliate-disclosure/" rel="noopener noreferrer"&gt;disclosure&lt;/a&gt;). This post was drafted with AI assistance and reviewed by our team.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>webscraping</category>
      <category>python</category>
      <category>apify</category>
    </item>
  </channel>
</rss>
