<?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: Kushan Randika Herath</title>
    <description>The latest articles on DEV Community by Kushan Randika Herath (@kushan20070126).</description>
    <link>https://dev.to/kushan20070126</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%2F3838012%2F1ae7f9be-b9b6-46cc-9767-0d0be890fb4f.jpeg</url>
      <title>DEV Community: Kushan Randika Herath</title>
      <link>https://dev.to/kushan20070126</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kushan20070126"/>
    <language>en</language>
    <item>
      <title>Stop writing scrapers . Extract data instantly.</title>
      <dc:creator>Kushan Randika Herath</dc:creator>
      <pubDate>Sun, 22 Mar 2026 10:13:17 +0000</pubDate>
      <link>https://dev.to/kushan20070126/stop-writing-scrapers-extract-data-instantly-n72</link>
      <guid>https://dev.to/kushan20070126/stop-writing-scrapers-extract-data-instantly-n72</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/kushan20070126/stop-writing-scrapers-i-built-a-web-data-extractor-api-with-puppeteer-full-code-1cnj" class="crayons-story__hidden-navigation-link"&gt;🚀 Stop Writing Scrapers — I Built a Web Data Extractor API with Puppeteer (Full Code)&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/kushan20070126" class="crayons-avatar  crayons-avatar--l  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3838012%2F1ae7f9be-b9b6-46cc-9767-0d0be890fb4f.jpeg" alt="kushan20070126 profile" class="crayons-avatar__image" width="460" height="460"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/kushan20070126" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Kushan Randika Herath
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Kushan Randika Herath
                
              
              &lt;div id="story-author-preview-content-3383335" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/kushan20070126" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3838012%2F1ae7f9be-b9b6-46cc-9767-0d0be890fb4f.jpeg" class="crayons-avatar__image" alt="" width="460" height="460"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Kushan Randika Herath&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/kushan20070126/stop-writing-scrapers-i-built-a-web-data-extractor-api-with-puppeteer-full-code-1cnj" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Mar 22&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/kushan20070126/stop-writing-scrapers-i-built-a-web-data-extractor-api-with-puppeteer-full-code-1cnj" id="article-link-3383335"&gt;
          🚀 Stop Writing Scrapers — I Built a Web Data Extractor API with Puppeteer (Full Code)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/kushan20070126/stop-writing-scrapers-i-built-a-web-data-extractor-api-with-puppeteer-full-code-1cnj" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/kushan20070126/stop-writing-scrapers-i-built-a-web-data-extractor-api-with-puppeteer-full-code-1cnj#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              1&lt;span class="hidden s:inline"&gt;&amp;nbsp;comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>🚀 Stop Writing Scrapers — I Built a Web Data Extractor API with Puppeteer (Full Code)</title>
      <dc:creator>Kushan Randika Herath</dc:creator>
      <pubDate>Sun, 22 Mar 2026 10:10:45 +0000</pubDate>
      <link>https://dev.to/kushan20070126/stop-writing-scrapers-i-built-a-web-data-extractor-api-with-puppeteer-full-code-1cnj</link>
      <guid>https://dev.to/kushan20070126/stop-writing-scrapers-i-built-a-web-data-extractor-api-with-puppeteer-full-code-1cnj</guid>
      <description>&lt;p&gt;Scraping websites is one of the most annoying things in development.&lt;/p&gt;

&lt;p&gt;❌ Every site has different HTML&lt;br&gt;
❌ JavaScript-heavy pages break your scraper&lt;br&gt;
❌ You get blocked randomly&lt;br&gt;
❌ You waste hours fixing selectors&lt;/p&gt;

&lt;p&gt;So I decided to solve this once and for all 👇&lt;/p&gt;

&lt;p&gt;🔥 What I Built&lt;/p&gt;

&lt;p&gt;I built an AI Web Data Extractor API using:&lt;/p&gt;

&lt;p&gt;Node.js&lt;br&gt;
Puppeteer&lt;br&gt;
Axios + Cheerio&lt;/p&gt;

&lt;p&gt;👉 It extracts structured data from ANY URL:&lt;/p&gt;

&lt;p&gt;🛒 Product data (title, price, image)&lt;br&gt;
📧 Emails from pages&lt;br&gt;
📰 Articles (title, content, author)&lt;/p&gt;

&lt;p&gt;And the best part:&lt;/p&gt;

&lt;p&gt;It automatically switches between fast scraping and browser scraping.&lt;/p&gt;

&lt;p&gt;⚡ Live API&lt;/p&gt;

&lt;p&gt;👉 Try it here:&lt;br&gt;
&lt;a href="https://rapidapi.com/kushanherath59/api/ai-web-data-extractor-api" rel="noopener noreferrer"&gt;https://rapidapi.com/kushanherath59/api/ai-web-data-extractor-api&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🧠 How It Works&lt;br&gt;
Step 1 — Try Fast Mode (Axios + Cheerio)&lt;br&gt;
import axios from "axios";&lt;br&gt;
import cheerio from "cheerio";&lt;/p&gt;

&lt;p&gt;export async function fetchStatic(url) {&lt;br&gt;
  const res = await axios.get(url, {&lt;br&gt;
    headers: {&lt;br&gt;
      "User-Agent": "Mozilla/5.0"&lt;br&gt;
    }&lt;br&gt;
  });&lt;/p&gt;

&lt;p&gt;return cheerio.load(res.data);&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;👉 This is fast ⚡ and cheap.&lt;/p&gt;

&lt;p&gt;Step 2 — Fallback to Puppeteer (for JS-heavy sites)&lt;br&gt;
import puppeteer from "puppeteer";&lt;/p&gt;

&lt;p&gt;export async function fetchBrowser(url) {&lt;br&gt;
  const browser = await puppeteer.launch({&lt;br&gt;
    args: ["--no-sandbox"],&lt;br&gt;
    headless: "new"&lt;br&gt;
  });&lt;/p&gt;

&lt;p&gt;const page = await browser.newPage();&lt;br&gt;
  await page.goto(url, { waitUntil: "domcontentloaded" });&lt;/p&gt;

&lt;p&gt;const html = await page.content();&lt;/p&gt;

&lt;p&gt;await browser.close();&lt;br&gt;
  return html;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;👉 This handles sites like:&lt;/p&gt;

&lt;p&gt;AliExpress&lt;br&gt;
Amazon&lt;br&gt;
modern React apps&lt;br&gt;
Step 3 — Smart Extraction&lt;/p&gt;

&lt;p&gt;Example: product extractor&lt;/p&gt;

&lt;p&gt;export function extractProduct($) {&lt;br&gt;
  return {&lt;br&gt;
    title: $("h1").first().text().trim(),&lt;br&gt;
    price: $(".price, .product-price").first().text(),&lt;br&gt;
    image: $("img").first().attr("src")&lt;br&gt;
  };&lt;br&gt;
}&lt;br&gt;
Step 4 — Auto Fallback Logic&lt;br&gt;
function isWeak(data) {&lt;br&gt;
  return !data.title || !data.price;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;if (isWeak(result)) {&lt;br&gt;
  const html = await fetchBrowser(url);&lt;br&gt;
  const $ = cheerio.load(html);&lt;br&gt;
  result = extractProduct($);&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;👉 This is the secret sauce&lt;/p&gt;

&lt;p&gt;🧪 Example API Request&lt;br&gt;
curl -X POST &lt;a href="https://your-api-url/api/v1/extract" rel="noopener noreferrer"&gt;https://your-api-url/api/v1/extract&lt;/a&gt; \&lt;br&gt;
-H "Content-Type: application/json" \&lt;br&gt;
-d '{&lt;br&gt;
  "url": "&lt;a href="https://example.com" rel="noopener noreferrer"&gt;https://example.com&lt;/a&gt;",&lt;br&gt;
  "type": "product"&lt;br&gt;
}'&lt;br&gt;
📦 Example Response&lt;br&gt;
{&lt;br&gt;
  "title": "Wireless Headphones",&lt;br&gt;
  "price": 19.99,&lt;br&gt;
  "currency": "USD",&lt;br&gt;
  "image": "https://..."&lt;br&gt;
}&lt;br&gt;
💡 Why This Is Powerful&lt;/p&gt;

&lt;p&gt;Instead of writing scrapers like this:&lt;/p&gt;

&lt;p&gt;document.querySelector(".price")&lt;/p&gt;

&lt;p&gt;You just do:&lt;/p&gt;

&lt;p&gt;POST /extract&lt;/p&gt;

&lt;p&gt;And get clean JSON ✅&lt;/p&gt;

&lt;p&gt;🔥 Real Use Cases&lt;br&gt;
SaaS builders&lt;br&gt;
price tracking tools&lt;br&gt;
lead generation systems&lt;br&gt;
market research tools&lt;br&gt;
AI pipelines&lt;br&gt;
⚠️ Challenges I Faced&lt;br&gt;
Dynamic rendering (fixed with Puppeteer)&lt;br&gt;
Messy price formats (regex cleaning)&lt;br&gt;
Anti-bot protection (still improving)&lt;br&gt;
🚀 What’s Next&lt;/p&gt;

&lt;p&gt;I’m planning to add:&lt;/p&gt;

&lt;p&gt;Proxy rotation&lt;br&gt;
CAPTCHA bypass&lt;br&gt;
AI extraction (LLM-based parsing)&lt;br&gt;
Smart page classification&lt;br&gt;
🙌 Final Thoughts&lt;/p&gt;

&lt;p&gt;If you’ve ever built a scraper, you know:&lt;/p&gt;

&lt;p&gt;It’s not fun 😅&lt;/p&gt;

&lt;p&gt;This API makes it:&lt;/p&gt;

&lt;p&gt;simple&lt;br&gt;
fast&lt;br&gt;
scalable&lt;br&gt;
🔗 Try It + Feedback&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://rapidapi.com/kushanherath59/api/ai-web-data-extractor-api" rel="noopener noreferrer"&gt;https://rapidapi.com/kushanherath59/api/ai-web-data-extractor-api&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love your feedback 🙌&lt;br&gt;
What feature should I add next?&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Just launched my first API on RapidAPI…</title>
      <dc:creator>Kushan Randika Herath</dc:creator>
      <pubDate>Sun, 22 Mar 2026 08:34:25 +0000</pubDate>
      <link>https://dev.to/kushan20070126/-hf7</link>
      <guid>https://dev.to/kushan20070126/-hf7</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/kushan20070126/i-built-an-api-to-extract-product-email-article-data-from-any-website-no-scraping-needed-3ilf" class="crayons-story__hidden-navigation-link"&gt;I built an API to extract product, email &amp;amp; article data from ANY website (No Scraping Needed)&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/kushan20070126" class="crayons-avatar  crayons-avatar--l  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3838012%2F1ae7f9be-b9b6-46cc-9767-0d0be890fb4f.jpeg" alt="kushan20070126 profile" class="crayons-avatar__image" width="460" height="460"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/kushan20070126" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Kushan Randika Herath
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Kushan Randika Herath
                
              
              &lt;div id="story-author-preview-content-3382999" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/kushan20070126" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3838012%2F1ae7f9be-b9b6-46cc-9767-0d0be890fb4f.jpeg" class="crayons-avatar__image" alt="" width="460" height="460"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Kushan Randika Herath&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/kushan20070126/i-built-an-api-to-extract-product-email-article-data-from-any-website-no-scraping-needed-3ilf" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Mar 22&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/kushan20070126/i-built-an-api-to-extract-product-email-article-data-from-any-website-no-scraping-needed-3ilf" id="article-link-3382999"&gt;
          I built an API to extract product, email &amp;amp; article data from ANY website (No Scraping Needed)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
            &lt;a href="https://dev.to/kushan20070126/i-built-an-api-to-extract-product-email-article-data-from-any-website-no-scraping-needed-3ilf#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            1 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Just launched my first API on RapidAPI…</title>
      <dc:creator>Kushan Randika Herath</dc:creator>
      <pubDate>Sun, 22 Mar 2026 08:34:01 +0000</pubDate>
      <link>https://dev.to/kushan20070126/just-launched-my-first-api-on-rapidapi-5pl</link>
      <guid>https://dev.to/kushan20070126/just-launched-my-first-api-on-rapidapi-5pl</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/kushan20070126/i-built-an-api-to-extract-product-email-article-data-from-any-website-no-scraping-needed-3ilf" class="crayons-story__hidden-navigation-link"&gt;I built an API to extract product, email &amp;amp; article data from ANY website (No Scraping Needed)&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/kushan20070126" class="crayons-avatar  crayons-avatar--l  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3838012%2F1ae7f9be-b9b6-46cc-9767-0d0be890fb4f.jpeg" alt="kushan20070126 profile" class="crayons-avatar__image" width="460" height="460"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/kushan20070126" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Kushan Randika Herath
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Kushan Randika Herath
                
              
              &lt;div id="story-author-preview-content-3382999" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/kushan20070126" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3838012%2F1ae7f9be-b9b6-46cc-9767-0d0be890fb4f.jpeg" class="crayons-avatar__image" alt="" width="460" height="460"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Kushan Randika Herath&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/kushan20070126/i-built-an-api-to-extract-product-email-article-data-from-any-website-no-scraping-needed-3ilf" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Mar 22&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/kushan20070126/i-built-an-api-to-extract-product-email-article-data-from-any-website-no-scraping-needed-3ilf" id="article-link-3382999"&gt;
          I built an API to extract product, email &amp;amp; article data from ANY website (No Scraping Needed)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
            &lt;a href="https://dev.to/kushan20070126/i-built-an-api-to-extract-product-email-article-data-from-any-website-no-scraping-needed-3ilf#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            1 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>I built an API to extract product, email &amp; article data from ANY website (No Scraping Needed)</title>
      <dc:creator>Kushan Randika Herath</dc:creator>
      <pubDate>Sun, 22 Mar 2026 08:32:22 +0000</pubDate>
      <link>https://dev.to/kushan20070126/i-built-an-api-to-extract-product-email-article-data-from-any-website-no-scraping-needed-3ilf</link>
      <guid>https://dev.to/kushan20070126/i-built-an-api-to-extract-product-email-article-data-from-any-website-no-scraping-needed-3ilf</guid>
      <description>&lt;h1&gt;
  
  
  🚀 I Built an AI Web Data Extractor API (No-Code Scraper)
&lt;/h1&gt;

&lt;p&gt;Scraping websites is painful.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❌ Writing selectors for every site&lt;/li&gt;
&lt;li&gt;❌ Getting blocked&lt;/li&gt;
&lt;li&gt;❌ Handling dynamic content&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I built something simpler 👇&lt;/p&gt;

&lt;h2&gt;
  
  
  🔥 AI Web Data Extractor API
&lt;/h2&gt;

&lt;p&gt;👉 Extract structured data from ANY URL:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🛒 Product data (title, price, image)&lt;/li&gt;
&lt;li&gt;📧 Emails from pages&lt;/li&gt;
&lt;li&gt;📰 Article content&lt;/li&gt;
&lt;li&gt;🤖 Auto-detection of page type&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ⚙️ How it works
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Static scraping (Axios + Cheerio)&lt;/li&gt;
&lt;li&gt;Browser fallback (Puppeteer)&lt;/li&gt;
&lt;li&gt;Smart extraction logic&lt;/li&gt;
&lt;li&gt;Clean JSON output&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🚀 Try it here
&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.amazonaws.com%2Fuploads%2Farticles%2Fk6ja1iaucbz4igw1hf13.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.amazonaws.com%2Fuploads%2Farticles%2Fk6ja1iaucbz4igw1hf13.png" alt="Published on RapidAPI with pricing tiers" width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://rapidapi.com/kushanherath59/api/ai-web-data-extractor-api" rel="noopener noreferrer"&gt;https://rapidapi.com/kushanherath59/api/ai-web-data-extractor-api&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🧪 Example Request
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST https://your-api-url/api/v1/extract &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
  "url": "https://example.com",
  "type": "product"
}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  📦 Example Response
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Product Name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"price"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;19.99&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"currency"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"USD"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  💡 Why I built this
&lt;/h2&gt;

&lt;p&gt;Most scraping tools are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;expensive 💸&lt;/li&gt;
&lt;li&gt;complex 🧠&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This API is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;simple ✅&lt;/li&gt;
&lt;li&gt;fast ⚡&lt;/li&gt;
&lt;li&gt;ready to use 🚀&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔥 Use cases
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;SaaS builders&lt;/li&gt;
&lt;li&gt;price trackers&lt;/li&gt;
&lt;li&gt;lead generation tools&lt;/li&gt;
&lt;li&gt;market research&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ⚠️ Notes
&lt;/h2&gt;

&lt;p&gt;Some websites may block scraping or require browser fallback.&lt;/p&gt;

&lt;h2&gt;
  
  
  🙌 Feedback
&lt;/h2&gt;

&lt;p&gt;Would love your feedback or feature requests!&lt;/p&gt;

&lt;p&gt;If you like it, give it a try and let me know what you think 🚀&lt;/p&gt;

&lt;h1&gt;
  
  
  api
&lt;/h1&gt;

&lt;h1&gt;
  
  
  nodejs
&lt;/h1&gt;

&lt;h1&gt;
  
  
  webdev
&lt;/h1&gt;

&lt;h1&gt;
  
  
  scraping
&lt;/h1&gt;

&lt;h1&gt;
  
  
  startup
&lt;/h1&gt;

</description>
    </item>
  </channel>
</rss>
