DEV Community

Charles
Charles

Posted on

How to Scrape 1000 Pages Per Day Without Getting Banned

How to Scrape 1000 Pages Per Day Without Getting Banned

Scaling from 10 pages to 1000 pages per day is where most scrapers fail. Here's how to do it right.

The Golden Rule

Look like a human, not a bot.

Bots are detected by patterns, not volume. A human browsing 1000 pages per day would:

  • Click on things
  • Scroll at varied speeds
  • Spend random time on each page
  • Come from different IPs
  • Use different user agents

Proxy Pool

You need at least 10-20 IPs for 1000 pages/day. DIY costs $50-200/month. APIs include it built-in.

Request Patterns

// Bad: Mechanical timing
for each page: scrape(page); wait(2 seconds);

// Good: Human-like timing
for each page: scrape(page); wait(1500 + random(1000, 3000));
Enter fullscreen mode Exit fullscreen mode

Concurrency

Run 3-5 parallel requests. More triggers rate limiting.

Error Handling

  • 429: Back off 30-60s
  • 403: Rotate IP
  • 503: Try later

Sample Pipeline

const client = new XcrawlScraper({ apiKey: "YOUR_KEY" });
const urls = [...]; // 1000 URLs
for (let i = 0; i < urls.length; i += 5) {
  const batch = urls.slice(i, i + 5);
  const results = await Promise.allSettled(
    batch.map(url => client.scrape({ url, js_render: true }))
  );
  await new Promise(r => setTimeout(r, 3000 + Math.random() * 5000));
}
Enter fullscreen mode Exit fullscreen mode

Scale your scraping with XCrawl API

Top comments (0)