DEV Community

Алексей Спинов
Алексей Спинов

Posted on

How to Build a Web Scraping API with Express.js (Sell Your Scrapers)

Turn your scrapers into a paid API. Here is how.

The Architecture

Client → Your Express API → Scraper → JSON Response
Enter fullscreen mode Exit fullscreen mode

Express.js API

const express = require("express");
const app = express();

app.get("/api/scrape", async (req, res) => {
  const { url, selector } = req.query;
  if (!url) return res.status(400).json({ error: "URL required" });

  try {
    const cheerio = require("cheerio");
    const response = await fetch(url, {
      headers: { "User-Agent": "ScraperAPI/1.0" }
    });
    const $ = cheerio.load(await response.text());

    const data = $(selector || "h1, h2, p").map((i, el) => ({
      tag: el.tagName,
      text: $(el).text().trim()
    })).get();

    res.json({ url, items: data.length, data });
  } catch (err) {
    res.status(500).json({ error: err.message });
  }
});

app.listen(3000);
Enter fullscreen mode Exit fullscreen mode

Monetize It

  1. RapidAPI — list your API, get paid per call
  2. Direct sales — API key + Stripe subscription
  3. Freelance — custom endpoints per client

Pricing Model

  • Free: 100 requests/day
  • Basic: $10/mo — 1,000 requests
  • Pro: $50/mo — 10,000 requests

Resources


Need a custom scraping API built? $50-100. Email: Spinov001@gmail.com | Hire me

Top comments (0)