I was spending $149/month on a scraping infrastructure subscription for a side project that pulled Amazon product data. The project made $47/month in affiliate revenue.
The math was obviously broken — and it took me three months to realize the problem wasn't my pricing strategy, it was my tooling contract. Every major scraping infrastructure platform charges you a flat monthly fee whether you scrape 100 pages or 100,000. You're paying for capacity, not output.
In 2025–2026, there's a better model: pay only for the data you actually get. This article shows you exactly how to move there.
The Pricing Cliff Problem
Here's how scraping infrastructure pricing actually works:
| Tool | Entry Price | What You Get |
|---|---|---|
| Bright Data | $500+/month | Proxy pool + scrapers |
| Apify (flat plan) | $49/month | 100 actor runs |
| ScrapingBee | $49/month | 150,000 API credits |
| ZenRows | $49/month | 250,000 API credits |
| Oxylabs | $180+/month | Proxy pool |
The trap: the entry price sounds reasonable. But real workloads hit the ceiling fast. A weekly price-monitoring job checking 500 products daily? You'll burn through a $49/month ScrapingBee plan in 10 days. The next tier is $149. Then $299.
Worse: you pay even when the target site goes down, blocks you, or returns empty data. The monthly fee doesn't care whether you got good results.
Why This Happened: The Infrastructure Layer Markup
These services are solving real engineering problems — proxy rotation, browser rendering, CAPTCHA bypass, fingerprint spoofing. Those problems are genuinely hard and expensive to build. But when they wrap that infrastructure in SaaS pricing, you pay for:
- The engineering team that built it
- The sales team that sold it
- The VC returns expected from SaaS multiples
- The capacity you might need but don't
The pay-per-result model strips all of that out. You pay for successful data. Failed requests don't count.
The Alternative: Apify Actors on Pay-Per-Result Billing
Apify's actor marketplace includes purpose-built scrapers for specific targets. Unlike the generalist proxy-API model, each actor is optimized for one source. The billing is compute-based — you pay for actual execution time, not a monthly subscription.
The actor we'll use for this example: lanky_quantifier/amazon-product-scraper — built specifically for Amazon ASINs, handles anti-bot automatically, returns structured JSON.
Step 1: Understand What You're Paying For
Run a quick calculation on your current scraping spend:
# How to calculate your actual cost-per-result
monthly_fee = 49.00 # What you pay
successful_requests = 12000 # What you actually got last month
failed_or_cached = 3000 # Empty/blocked/error responses
actual_cost_per_result = monthly_fee / successful_requests
print(f"You're paying ${actual_cost_per_result:.4f} per valid result")
# → $0.0041 per result, but you paid for 15,000 attempts
Now calculate what pay-per-result would cost:
# Apify actor pricing: ~$0.0001 per compute unit
# Amazon product scraper: ~10-15 CU per ASIN
compute_units_per_asin = 12
cost_per_compute_unit = 0.0001
cost_per_asin = compute_units_per_asin * cost_per_compute_unit
monthly_cost = successful_requests * cost_per_asin
print(f"Pay-per-result cost: ${monthly_cost:.2f}/month")
# → $14.40/month for 12,000 ASINs
Step 2: Set Up the Actor
Input JSON for the Amazon product scraper:
{
"asins": [
"B09G3HRMVB",
"B08N5WRWNW",
"B07XJ8C8F5"
],
"countryCode": "US",
"maxRetries": 3
}
Output per ASIN:
{
"asin": "B09G3HRMVB",
"title": "Product Name",
"price": 29.99,
"currency": "USD",
"availability": "In Stock",
"rating": 4.3,
"reviewCount": 1847,
"category": "Electronics"
}
Run it once manually with 5–10 ASINs to verify output quality. Check that price and availability are returning correctly for your target products before scheduling.
Step 3: Schedule and Automate
For price monitoring, a daily or weekly schedule covers most use cases. Apify's built-in scheduler uses cron syntax:
0 7 * * *
Every day at 7am UTC. Results land in a dataset you can fetch via API or webhook.
To get results into a spreadsheet automatically, wire an Apify webhook to n8n (free self-hosted) or Make:
[Apify run completes] → webhook → [n8n HTTP node fetches dataset] → [Google Sheets append]
The dataset fetch URL follows this pattern:
GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json
Step 4: The Cost Comparison at Scale
Here's the actual math at different volumes:
| Monthly Volume | ScrapingBee | Oxylabs | Pay-Per-Result (Apify actor) |
|---|---|---|---|
| 5,000 pages | $49 | $180 | ~$6 |
| 25,000 pages | $99 | $180 | ~$30 |
| 100,000 pages | $299 | $300+ | ~$120 |
| 500,000 pages | $999 | $700+ | ~$600 |
Below 100,000 pages/month — the range where 95% of side projects and small agencies live — pay-per-result wins by 4–8x. The crossover point where SaaS pricing gets competitive is high-volume, predictable workloads (500K+ pages/month with steady usage).
Real Numbers from a Small Monitoring Pipeline
Here's what a price-monitoring pipeline for 300 Amazon products (checked daily) actually costs:
- 300 products × 30 days = 9,000 ASIN lookups/month
- ~12 compute units per ASIN
- 108,000 compute units/month
- At $0.0001/CU = $10.80/month
- vs. $49/month minimum on any SaaS tool
The Apify free tier includes $5/month in compute credit. A small monitoring job (50 products daily) runs free.
When SaaS Pricing Makes Sense
Pay-per-result isn't always the right choice. SaaS proxy APIs make sense when:
- You need predictable monthly costs for budgeting (enterprise billing)
- You're running generalist scraping against hundreds of different sites (not one target)
- Your volume is above 500K requests/month with consistent usage
- You need enterprise SLAs and dedicated support
If your use case fits one of those, the SaaS tools are priced fairly. If you're a developer or small team with one or two data sources, pay-per-result is almost always cheaper.
The Architectural Shift
The old model: buy a proxy pool + scraping API subscription, build your own parser, maintain against site changes.
The new model: use a purpose-built actor that handles the specific target, pay only for successful runs, let the actor maintainer handle anti-bot updates.
The key insight: anti-bot maintenance is not your problem to solve. When Cloudflare updates their fingerprinting, the actor maintainer pushes an update. You get the fix automatically. With a DIY scraper running on a proxy subscription, you're on your own.
Get Started
- Sign up for Apify — $5/month free compute credit, no card required
- Search the actor store for your target site (Amazon, LinkedIn, Google Maps, Zillow — all covered)
- Run manually with 10 test inputs to validate output quality
- Set up a schedule and wire a webhook to your destination (Sheets, Airtable, database, n8n)
Calculate your current cost-per-result from your existing tool. If it's higher than $0.005 per page, you're paying the SaaS markup.
The math changes at enterprise scale. But if your monthly bill is under $500 and you're not running 500K+ requests, you're almost certainly overpaying. The actors marketplace exists specifically to solve this.
Top comments (0)