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));
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));
}
Scale your scraping with XCrawl API
Top comments (0)