<?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: Ranova</title>
    <description>The latest articles on DEV Community by Ranova (@ranova).</description>
    <link>https://dev.to/ranova</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%2F4023247%2F9cd4d5f9-842e-4e8a-a0d1-82276fa4a080.png</url>
      <title>DEV Community: Ranova</title>
      <link>https://dev.to/ranova</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ranova"/>
    <language>en</language>
    <item>
      <title>Pinpoint Jobs Scraper</title>
      <dc:creator>Ranova</dc:creator>
      <pubDate>Mon, 14 Sep 2026 14:10:12 +0000</pubDate>
      <link>https://dev.to/ranova/pinpoint-jobs-scraper-3kc0</link>
      <guid>https://dev.to/ranova/pinpoint-jobs-scraper-3kc0</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; this post is about our own tool — &lt;code&gt;Pinpoint Jobs Scraper&lt;/code&gt; is a paid actor we publish on Apify Store. It was drafted by our automated publishing pipeline with AI assistance and reviewed before publishing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Scrape any company's Pinpoint job board in one click. Clean, de-duplicated job JSON with title, location, department and apply URLs. Free to start, API &amp;amp; MCP ready.&lt;/p&gt;

&lt;h2&gt;
  
  
  What comes back
&lt;/h2&gt;

&lt;p&gt;Every record has the same shape: &lt;code&gt;commitment&lt;/code&gt;, &lt;code&gt;department&lt;/code&gt;, &lt;code&gt;description&lt;/code&gt;, &lt;code&gt;id&lt;/code&gt;, &lt;code&gt;location&lt;/code&gt;, &lt;code&gt;price&lt;/code&gt;, &lt;code&gt;price_text&lt;/code&gt;, &lt;code&gt;seller&lt;/code&gt;, &lt;code&gt;title&lt;/code&gt;, &lt;code&gt;url&lt;/code&gt;, &lt;code&gt;workplace_type&lt;/code&gt;, &lt;code&gt;rating&lt;/code&gt;, &lt;code&gt;reviews&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Fields with no value are left out rather than filled with placeholders, and records are de-duplicated before they reach the dataset.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;query&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;What to search for on Pinpoint&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;maxResults&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;Maximum number of clean results to return (capped at 500)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;enrich&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;Adds deterministic enrichment per record: extracted emails, canonical domain and a completeness score&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;monitor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;Compares this run with the previous one and flags NEW records only&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Running it
&lt;/h2&gt;

&lt;p&gt;Start it from the Apify Console, call it over the REST API, or expose it to an agent as an MCP tool — the dataset is the same either way.&lt;/p&gt;




&lt;p&gt;Priced per event (not per hour or subscription) on &lt;a href="https://apify.com/enezli/pinpoint-scraper" rel="noopener noreferrer"&gt;Pinpoint Jobs Scraper on Apify Store&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>apify</category>
      <category>webscraping</category>
      <category>api</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Seek Jobs Scraper</title>
      <dc:creator>Ranova</dc:creator>
      <pubDate>Sun, 13 Sep 2026 14:10:12 +0000</pubDate>
      <link>https://dev.to/ranova/seek-jobs-scraper-46o6</link>
      <guid>https://dev.to/ranova/seek-jobs-scraper-46o6</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; this post is about our own tool — &lt;code&gt;Seek Jobs Scraper&lt;/code&gt; is a paid actor we publish on Apify Store. It was drafted by our automated publishing pipeline with AI assistance and reviewed before publishing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Search Seek (Australia's largest job board) and get clean, de-duplicated job JSON: title, company, location, salary label and canonical listing URLs. One click, no required fields, no LLM.&lt;/p&gt;

&lt;h2&gt;
  
  
  What comes back
&lt;/h2&gt;

&lt;p&gt;Every record has the same shape: &lt;code&gt;id&lt;/code&gt;, &lt;code&gt;title&lt;/code&gt;, &lt;code&gt;url&lt;/code&gt;, &lt;code&gt;price&lt;/code&gt;, &lt;code&gt;price_text&lt;/code&gt;, &lt;code&gt;rating&lt;/code&gt;, &lt;code&gt;reviews&lt;/code&gt;, &lt;code&gt;location&lt;/code&gt;, &lt;code&gt;seller&lt;/code&gt;, &lt;code&gt;description&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Fields with no value are left out rather than filled with placeholders, and records are de-duplicated before they reach the dataset.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;query&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Job search keywords, optionally with location: 'python developer in Sydney'&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;maxResults&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;Maximum number of clean results to return (capped at 500)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;enrich&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;Adds deterministic enrichment per record: extracted emails, canonical domain and a completeness score&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;monitor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;Compares this run with the previous one and flags NEW records only&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Running it
&lt;/h2&gt;

&lt;p&gt;Start it from the Apify Console, call it over the REST API, or expose it to an agent as an MCP tool — the dataset is the same either way.&lt;/p&gt;




&lt;p&gt;Priced per event (not per hour or subscription) on &lt;a href="https://apify.com/enezli/seek-scraper" rel="noopener noreferrer"&gt;Seek Jobs Scraper on Apify Store&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>apify</category>
      <category>webscraping</category>
      <category>api</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Rippling Jobs Scraper &amp; Data Extractor API</title>
      <dc:creator>Ranova</dc:creator>
      <pubDate>Fri, 11 Sep 2026 14:10:12 +0000</pubDate>
      <link>https://dev.to/ranova/rippling-jobs-scraper-data-extractor-api-44l1</link>
      <guid>https://dev.to/ranova/rippling-jobs-scraper-data-extractor-api-44l1</guid>
      <description>&lt;p&gt;Rippling Jobs Scraper &amp;amp; Data Extractor API&lt;/p&gt;

&lt;h2&gt;
  
  
  What comes back
&lt;/h2&gt;

&lt;p&gt;Every record has the same shape: &lt;code&gt;id&lt;/code&gt;, &lt;code&gt;title&lt;/code&gt;, &lt;code&gt;url&lt;/code&gt;, &lt;code&gt;price&lt;/code&gt;, &lt;code&gt;price_text&lt;/code&gt;, &lt;code&gt;location&lt;/code&gt;, &lt;code&gt;seller&lt;/code&gt;, &lt;code&gt;rating&lt;/code&gt;, &lt;code&gt;reviews&lt;/code&gt;, &lt;code&gt;description&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Fields with no value are left out rather than filled with placeholders, and records are de-duplicated before they reach the dataset.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;query&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Rippling job board to read: a company board code (e.g&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;maxResults&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;Maximum number of clean results to return (capped at 500)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;enrich&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;Adds deterministic enrichment per record: extracted emails, canonical domain and a completeness score&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;monitor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;Compares this run with the previous one and flags NEW records only&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Running it
&lt;/h2&gt;

&lt;p&gt;Start it from the Apify Console, call it over the REST API, or expose it to an agent as an MCP tool — the dataset is the same either way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;p&gt;Pay per event, not per hour: starting a run is free, and you are charged for the results you actually get.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://apify.com/enezli/rippling-scraper" rel="noopener noreferrer"&gt;Rippling Jobs Scraper &amp;amp; Data Extractor API on Apify Store&lt;/a&gt;&lt;/p&gt;

</description>
      <category>apify</category>
      <category>webscraping</category>
      <category>api</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Flarum Forum Scraper</title>
      <dc:creator>Ranova</dc:creator>
      <pubDate>Thu, 10 Sep 2026 14:10:12 +0000</pubDate>
      <link>https://dev.to/ranova/flarum-forum-scraper-6e</link>
      <guid>https://dev.to/ranova/flarum-forum-scraper-6e</guid>
      <description>&lt;p&gt;Search or monitor any Flarum-powered forum — not social media. Clean discussion JSON with replies, participants, dates, canonical URLs. Free to start, API &amp;amp; MCP ready.&lt;/p&gt;

&lt;h2&gt;
  
  
  What comes back
&lt;/h2&gt;

&lt;p&gt;Every record has the same shape: &lt;code&gt;created_at&lt;/code&gt;, &lt;code&gt;id&lt;/code&gt;, &lt;code&gt;is_sticky&lt;/code&gt;, &lt;code&gt;last_posted_at&lt;/code&gt;, &lt;code&gt;participants&lt;/code&gt;, &lt;code&gt;reviews&lt;/code&gt;, &lt;code&gt;title&lt;/code&gt;, &lt;code&gt;url&lt;/code&gt;, &lt;code&gt;price&lt;/code&gt;, &lt;code&gt;price_text&lt;/code&gt;, &lt;code&gt;location&lt;/code&gt;, &lt;code&gt;seller&lt;/code&gt;, &lt;code&gt;rating&lt;/code&gt;, &lt;code&gt;description&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Fields with no value are left out rather than filled with placeholders, and records are de-duplicated before they reach the dataset.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;query&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;What to search for on Flarum&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;maxResults&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;Maximum number of clean results to return (capped at 500)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;enrich&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;Adds deterministic enrichment per record: extracted emails, canonical domain and a completeness score&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;monitor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;Compares this run with the previous one and flags NEW records only&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Running it
&lt;/h2&gt;

&lt;p&gt;Start it from the Apify Console, call it over the REST API, or expose it to an agent as an MCP tool — the dataset is the same either way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;p&gt;Pay per event, not per hour: starting a run is free, and you are charged for the results you actually get.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://apify.com/enezli/flarum-scraper" rel="noopener noreferrer"&gt;Flarum Forum Scraper on Apify Store&lt;/a&gt;&lt;/p&gt;

</description>
      <category>apify</category>
      <category>webscraping</category>
      <category>api</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Mail Triage</title>
      <dc:creator>Ranova</dc:creator>
      <pubDate>Wed, 09 Sep 2026 14:10:14 +0000</pubDate>
      <link>https://dev.to/ranova/mail-triage-1nap</link>
      <guid>https://dev.to/ranova/mail-triage-1nap</guid>
      <description>&lt;p&gt;Classifies hundreds of emails with AI, surfaces the few that genuinely need a reply, suggests a draft for simple/social emails (never sends), and produces a daily digest. No subscription — pay per email processed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;emails&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;The emails to triage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kullanici_isimleri&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;Emails that mention your name/surname are flagged as 'addressed to you' and surfaced&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kullanici_eposta&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;By looking at the To/Cc headers: if you are only CC'd (not the direct addressee) the email is treated as 'informational' and deprioritized&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;language&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;The language of the classification text and draft replies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;model&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Classification model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;process&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;When off, only a FREE preview (email count + how many can be filtered without the LLM)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Running it
&lt;/h2&gt;

&lt;p&gt;Start it from the Apify Console, call it over the REST API, or expose it to an agent as an MCP tool — the dataset is the same either way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;p&gt;Pay per event, not per hour: starting a run is free, and you are charged for the results you actually get.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://apify.com/enezli/mail-triage" rel="noopener noreferrer"&gt;Mail Triage on Apify Store&lt;/a&gt;&lt;/p&gt;

</description>
      <category>apify</category>
      <category>webscraping</category>
      <category>api</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Google Maps Contact Cleaner &amp; Enricher</title>
      <dc:creator>Ranova</dc:creator>
      <pubDate>Tue, 08 Sep 2026 14:10:12 +0000</pubDate>
      <link>https://dev.to/ranova/google-maps-contact-cleaner-enricher-4o6e</link>
      <guid>https://dev.to/ranova/google-maps-contact-cleaner-enricher-4o6e</guid>
      <description>&lt;p&gt;Turns any Google Maps scraper's raw output into CRM-ready contacts: cross-source dedup &amp;amp; merge, phone/website/social normalization, deterministic email-quality classes (role / disposable / free / corporate) and a 'who can I safely email' contact-confidence verdict. No LLM, no API keys — fully deterministic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;records&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;Raw business records to clean&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;datasetId&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Instead of &lt;code&gt;records&lt;/code&gt;: an Apify dataset ID holding the raw records to clean (e.g&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;searchTerms&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;If you have no dataset yet: we call an upstream Google Maps scraper with these terms (e.g&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;maxPlaces&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;When searchTerms is provided, the maximum number of places to fetch per search term&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;liveMxCheck&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;When enabled, the domain of each best email is checked for a live MX record (extra quality confirmation)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Running it
&lt;/h2&gt;

&lt;p&gt;Start it from the Apify Console, call it over the REST API, or expose it to an agent as an MCP tool — the dataset is the same either way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;p&gt;Pay per event, not per hour: starting a run is free, and you are charged for the results you actually get.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://apify.com/enezli/maps-contact-cleaner" rel="noopener noreferrer"&gt;Google Maps Contact Cleaner &amp;amp; Enricher on Apify Store&lt;/a&gt;&lt;/p&gt;

</description>
      <category>apify</category>
      <category>webscraping</category>
      <category>api</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Amazon Review Intelligence</title>
      <dc:creator>Ranova</dc:creator>
      <pubDate>Mon, 07 Sep 2026 14:10:12 +0000</pubDate>
      <link>https://dev.to/ranova/amazon-review-intelligence-5eba</link>
      <guid>https://dev.to/ranova/amazon-review-intelligence-5eba</guid>
      <description>&lt;p&gt;Turns Amazon product reviews into a seller-ready action plan: sentiment, recurring themes (quality, sizing/fit, shipping, packaging, value, defects), top complaints &amp;amp; praises, and prioritized product &amp;amp; listing fixes. Connect any Amazon review-scraper output and get decisions, not rows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;reviews&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;The Amazon product reviews to analyze&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;businessName&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;The product name or ASIN&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;domainContext&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;E-commerce context that guides theme extraction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;language&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Language of the analysis content (sentiment and action text)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;model&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;LLM model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;maxAksiyon&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;How many prioritized actions to show in the main table (for focus)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Running it
&lt;/h2&gt;

&lt;p&gt;Start it from the Apify Console, call it over the REST API, or expose it to an agent as an MCP tool — the dataset is the same either way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;p&gt;Pay per event, not per hour: starting a run is free, and you are charged for the results you actually get.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://apify.com/enezli/amazon-review-intelligence" rel="noopener noreferrer"&gt;Amazon Review Intelligence on Apify Store&lt;/a&gt;&lt;/p&gt;

</description>
      <category>apify</category>
      <category>webscraping</category>
      <category>api</category>
      <category>devtools</category>
    </item>
    <item>
      <title>TripAdvisor Review Intelligence</title>
      <dc:creator>Ranova</dc:creator>
      <pubDate>Sun, 06 Sep 2026 14:10:13 +0000</pubDate>
      <link>https://dev.to/ranova/tripadvisor-review-intelligence-4p3n</link>
      <guid>https://dev.to/ranova/tripadvisor-review-intelligence-4p3n</guid>
      <description>&lt;p&gt;Turns TripAdvisor hotel &amp;amp; restaurant reviews into a manager-ready action plan: sentiment, recurring themes (cleanliness, staff, food, location, value, noise), top complaints &amp;amp; praises, and prioritized fixes. Connect any TripAdvisor review-scraper output and get decisions, not rows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;reviews&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;The TripAdvisor reviews to analyze&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;businessName&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;The property or venue name&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;domainContext&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Hospitality context that guides theme extraction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;language&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Language of the analysis content (sentiment and action text)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;model&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;LLM model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;maxAksiyon&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;How many prioritized actions to show in the main table (for focus)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Running it
&lt;/h2&gt;

&lt;p&gt;Start it from the Apify Console, call it over the REST API, or expose it to an agent as an MCP tool — the dataset is the same either way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;p&gt;Pay per event, not per hour: starting a run is free, and you are charged for the results you actually get.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://apify.com/enezli/tripadvisor-review-intelligence" rel="noopener noreferrer"&gt;TripAdvisor Review Intelligence on Apify Store&lt;/a&gt;&lt;/p&gt;

</description>
      <category>apify</category>
      <category>webscraping</category>
      <category>api</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Invoice &amp; Receipt to Excel</title>
      <dc:creator>Ranova</dc:creator>
      <pubDate>Sat, 05 Sep 2026 14:10:16 +0000</pubDate>
      <link>https://dev.to/ranova/invoice-receipt-to-excel-172i</link>
      <guid>https://dev.to/ranova/invoice-receipt-to-excel-172i</guid>
      <description>&lt;p&gt;Reads PDF/image invoices and receipts with AI and extracts date, seller, tax ID, VAT/tax, total and line items into a clean Excel/CSV table. No subscription — pay only per document you process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;files&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;The invoices to process — ALL common file types: PDF, image (png/jpg/webp/gif), Excel (.xlsx), Word (.docx), text/CSV/HTML&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;output_format&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;A table is always produced (dataset)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;texts&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;Plain-text invoice content instead of an image (OCR output or pasted text)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;language&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Language for any descriptive labels the AI generates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;model&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Vision model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;process&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;When off, you only get a FREE preview (document/page count)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Running it
&lt;/h2&gt;

&lt;p&gt;Start it from the Apify Console, call it over the REST API, or expose it to an agent as an MCP tool — the dataset is the same either way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;p&gt;Pay per event, not per hour: starting a run is free, and you are charged for the results you actually get.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://apify.com/enezli/invoice-to-excel" rel="noopener noreferrer"&gt;Invoice &amp;amp; Receipt to Excel on Apify Store&lt;/a&gt;&lt;/p&gt;

</description>
      <category>apify</category>
      <category>webscraping</category>
      <category>api</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Cachet Status Page Scraper</title>
      <dc:creator>Ranova</dc:creator>
      <pubDate>Fri, 04 Sep 2026 14:10:14 +0000</pubDate>
      <link>https://dev.to/ranova/cachet-status-page-scraper-18ka</link>
      <guid>https://dev.to/ranova/cachet-status-page-scraper-18ka</guid>
      <description>&lt;p&gt;Search or monitor any self-hosted Cachet status page — not a single vendor. Clean component/incident JSON with status, dates, canonical URLs. Free to start, API &amp;amp; MCP ready.&lt;/p&gt;

&lt;h2&gt;
  
  
  What comes back
&lt;/h2&gt;

&lt;p&gt;Every record has the same shape: &lt;code&gt;created_at&lt;/code&gt;, &lt;code&gt;description&lt;/code&gt;, &lt;code&gt;id&lt;/code&gt;, &lt;code&gt;record_type&lt;/code&gt;, &lt;code&gt;status&lt;/code&gt;, &lt;code&gt;title&lt;/code&gt;, &lt;code&gt;updated_at&lt;/code&gt;, &lt;code&gt;url&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Fields with no value are left out rather than filled with placeholders, and records are de-duplicated before they reach the dataset.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;query&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;What to search for on Cachet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;maxResults&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;Maximum number of clean results to return (capped at 500)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;enrich&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;Adds deterministic enrichment per record: extracted emails, canonical domain and a completeness score&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;monitor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;Compares this run with the previous one and flags NEW records only&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Running it
&lt;/h2&gt;

&lt;p&gt;Start it from the Apify Console, call it over the REST API, or expose it to an agent as an MCP tool — the dataset is the same either way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;p&gt;Pay per event, not per hour: starting a run is free, and you are charged for the results you actually get.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://apify.com/enezli/cachet-scraper" rel="noopener noreferrer"&gt;Cachet Status Page Scraper on Apify Store&lt;/a&gt;&lt;/p&gt;

</description>
      <category>apify</category>
      <category>webscraping</category>
      <category>api</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Real Estate Agency Maps Scraper</title>
      <dc:creator>Ranova</dc:creator>
      <pubDate>Thu, 03 Sep 2026 14:10:15 +0000</pubDate>
      <link>https://dev.to/ranova/real-estate-agency-maps-scraper-2mgi</link>
      <guid>https://dev.to/ranova/real-estate-agency-maps-scraper-2mgi</guid>
      <description>&lt;p&gt;Search Google Maps for real estate agencies and agents in any city and get clean, de-duplicated business JSON — name, address, phone, website, category, rating, and place ID. No API key, no quota limits.&lt;/p&gt;

&lt;h2&gt;
  
  
  What comes back
&lt;/h2&gt;

&lt;p&gt;Every record has the same shape: &lt;code&gt;categories&lt;/code&gt;, &lt;code&gt;category&lt;/code&gt;, &lt;code&gt;lat&lt;/code&gt;, &lt;code&gt;lng&lt;/code&gt;, &lt;code&gt;location&lt;/code&gt;, &lt;code&gt;phone&lt;/code&gt;, &lt;code&gt;photo&lt;/code&gt;, &lt;code&gt;place_id&lt;/code&gt;, &lt;code&gt;rating&lt;/code&gt;, &lt;code&gt;timezone&lt;/code&gt;, &lt;code&gt;title&lt;/code&gt;, &lt;code&gt;url&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Fields with no value are left out rather than filled with placeholders, and records are de-duplicated before they reach the dataset.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;query&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;What to search for on Google Maps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;maxResults&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;Maximum number of clean results to return (capped at 500)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;enrich&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;Adds deterministic enrichment per record: extracted emails, canonical domain and a completeness score&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;monitor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;Compares this run with the previous one and flags NEW records only&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Running it
&lt;/h2&gt;

&lt;p&gt;Start it from the Apify Console, call it over the REST API, or expose it to an agent as an MCP tool — the dataset is the same either way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;p&gt;Pay per event, not per hour: starting a run is free, and you are charged for the results you actually get.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://apify.com/enezli/realestate-agency-maps-scraper" rel="noopener noreferrer"&gt;Real Estate Agency Maps Scraper on Apify Store&lt;/a&gt;&lt;/p&gt;

</description>
      <category>apify</category>
      <category>webscraping</category>
      <category>api</category>
      <category>devtools</category>
    </item>
    <item>
      <title>AI Competitor &amp; SEO Intelligence</title>
      <dc:creator>Ranova</dc:creator>
      <pubDate>Wed, 02 Sep 2026 14:10:04 +0000</pubDate>
      <link>https://dev.to/ranova/ai-competitor-seo-intelligence-3i1n</link>
      <guid>https://dev.to/ranova/ai-competitor-seo-intelligence-3i1n</guid>
      <description>&lt;p&gt;Synthesizes a competitor's SERP, content and social signals with AI into a manager-ready intelligence report: threat level, strengths/weaknesses, content gaps, social momentum, and a prioritized plan of strategic moves. Bring your own data or connect a scraper dataset — get decisions, not just rows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;competitorDomain&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;The name/domain of the competitor to analyze&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;sources&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;The signals to analyze&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;dataPoints&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;The focus of the analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;language&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Language of the intelligence report content (present it to your boss/client in their own language)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;model&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;LLM model&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Running it
&lt;/h2&gt;

&lt;p&gt;Start it from the Apify Console, call it over the REST API, or expose it to an agent as an MCP tool — the dataset is the same either way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;p&gt;Pay per event, not per hour: starting a run is free, and you are charged for the results you actually get.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://apify.com/enezli/ai-competitor-intelligence" rel="noopener noreferrer"&gt;AI Competitor &amp;amp; SEO Intelligence on Apify Store&lt;/a&gt;&lt;/p&gt;

</description>
      <category>apify</category>
      <category>webscraping</category>
      <category>api</category>
      <category>devtools</category>
    </item>
  </channel>
</rss>
