Pricing Reference
Complete pricing breakdown for AlterLab's scraping API. Simple pay-as-you-go with no subscriptions or hidden fees.
Pay-As-You-Go Model
$1 = 5,000 Light requests
Starting at Tier 1 (Curl)
No subscriptions
Pay only for what you use
Balance never expires
Use them whenever you need
$10 minimum
Low barrier to start
Tier Pricing
AlterLab uses an intelligent tier system. We automatically start with the cheapest tier and escalate only when needed.
| Tier | Name | Cost | Per $1 | Description |
|---|---|---|---|---|
1 | Curl | $0.0002 | 5,000 | Ultra-fast curl binary for static sites |
2 | HTTP | $0.0003 | 3,333 | HTTPX with TLS fingerprinting and HTTP/2 |
3 | Stealth | $0.002 | 500 | curl_cffi with Chrome browser impersonation |
4 | Browser | $0.004$0.0005 on direct egress | 250 | Playwright browser automation for JS sites |
3.5 | Light JS | $0.0025 | 400 | Lightweight JS extraction from pre-fetched HTML (no full browser) |
5 | Captcha | $0.02 | 50 | Browser with AI-powered captcha solving |
Auto Mode
mode: "auto" (default), AlterLab tries Tier 1 first and escalates only if blocked. You only pay for the tier that works.Direct Browser Pricing
When a Tier 4 (Browser) request succeeds with the page loaded straight from AlterLab's own servers (direct egress), it costs $0.0005 per request ($0.50 per 1,000, 2,000 per $1) instead of $0.004. You are billed by the egress of the attempt that succeeded. AlterLab decides per request whether a direct attempt is worthwhile, so the direct price is never guaranteed in advance.
| Successful Tier 4 request | Cost | billing.egress |
|---|---|---|
| Loaded over direct egress | $0.0005 | "direct" |
| Loaded over proxy, including a retry over proxy after a direct attempt | $0.004 | "proxy" |
| Bring Your Own Proxy (BYOP), any egress | $0.0032 (BYOP price) | as reported |
Request sent with use_proxy: true, any egress | $0.004 | as reported |
How it is billed
billing.egress and billing.tier_price_microcents fields show the egress and the tier price applied.HTTP Method Surcharge
Non-GET requests (POST, PUT, PATCH, DELETE) carry a 1.5× surcharge on the base tier cost. This reflects the additional processing required for requests with a body.
| Method | Multiplier | Example (Tier 1) |
|---|---|---|
| GET, HEAD, OPTIONS | 1× | $0.0002 |
| POST, PUT, PATCH, DELETE | 1.5× | $0.0003 |
Applies to All Tiers
Add-on Costs
Optional features that add to the base tier cost:
| Feature | Additional Cost | Notes |
|---|---|---|
| JavaScript Rendering | Tier 4 ($0.004) | Forces Tier 4 minimum — no extra surcharge |
| Screenshot | +$0.0002 | Requires JS rendering |
| Browser Actions | Included | Included in the Tier 4 price, with no per-action fee, within the shared action time budget |
| Screenshot Action | +$0.0002 | Per captured image. Failed captures are free |
| PDF Generation | +$0.0004 | Requires JS rendering |
| PDF Extraction | +$0.0006 | Extract text from PDF files |
| OCR | +$0.001 | Refunded if no images found |
| Premium Proxy | +$0.0002 | High-quality residential proxies |
| AI Extraction | +$0.001 | Schema/prompt-based extraction |
| Embeddings | +$0.001 | Generate vector embeddings for RAG pipelines |
| Markdown Output | Free | Convert HTML to Markdown |
| Caching | Free | Cache hits are free |
| Authenticated Scraping (BYOS) | Free | No surcharge for cookies/headers/sessions |
Cost Calculation
Total cost = Base Tier Cost + Add-ons
Base = Tier Cost × (POST/PUT/PATCH/DELETE ? 1.5 : 1.0)
Total = Base
+ (screenshot ? $0.0002 : 0)
+ (generate_pdf ? $0.0004 : 0)
+ (ocr ? $0.001 : 0)
+ (use_proxy ? $0.0002 : 0)
+ (extraction ? $0.001 : 0)
+ (embeddings ? $0.001 : 0)
# render_js forces Tier 4 ($0.004) — no extra surcharge
# Tier 4 success over direct egress: $0.0005 instead of $0.004
# (not with BYOP or use_proxy; see Direct Browser Pricing)
# markdown is free
# authenticated scraping (BYOS) is free — no surcharge
# BYOP gives 20% off the final totalExample 1: Basic HTML Scrape
Static page, no JS needed
$0.0002 (Tier 1)
Example 2: JavaScript + Screenshot
SPA with screenshot capture
$0.004 + $0.0002 = $0.0042
Example 3: Full Extraction
JS rendering + AI extraction + premium proxy
$0.004 + $0.001 + $0.0002 = $0.0052
BYOP Discount
Bring Your Own Proxy (BYOP) gives you a 20% discount on all requests:
20% off
When using your own proxies
| Tier | Standard | With BYOP | Discount |
|---|---|---|---|
| Tier 1 (Curl) | $0.0002 | $0.00016 | 20% |
| Tier 2 (HTTP) | $0.0003 | $0.00024 | 20% |
| Tier 3 (Stealth) | $0.002 | $0.0016 | 20% |
| Tier 4 (Browser) | $0.004 | $0.0032 | 20% |
| Tier 5 (Captcha) | $0.02 | $0.016 | 20% |
Learn More
BYOS — Authenticated Scraping
Bring Your Own Session (BYOS) lets you inject your own cookies, headers, and sessions for authenticated scraping — at no extra cost.
No surcharge
Same per-request pricing as regular scrapes
Custom cookies
Inject session cookies for logged-in access
Custom headers
Add auth tokens, API keys, or any headers
Stored sessions
Reusable encrypted sessions for repeated scrapes
BYOS + BYOP Stack
Extract Endpoint Pricing
The Extract API (POST /api/v1/extract) has a separate cost model from scraping. Since you supply the content, there is no scraping tier cost.
| Scenario | Cost | Notes |
|---|---|---|
| Base extraction (algorithmic) | $0.0025 / call | Applies to all /v1/extract calls regardless of method |
| LLM extraction invocation | +$0.001 / call | Added when extraction_prompt is provided |
| Large content surcharge | +$0.0025 / call | Content exceeding 200,000 characters (~50K tokens) |
| LLM token cost (BYOK) | Provider rates | Billed by your provider (OpenAI, Anthropic, OpenRouter, Groq) — not by AlterLab |
No scraping cost on Extract
Cost comparison example
Extracting product data from 100 pages:
Scrape + algorithmic extract (inline)
100 × (T2 scrape $0.002 + extract $0.0025)
$0.45
Extract only (you already have HTML)
100 × $0.0025
$0.25
See the Extraction Profiles guide and BYOK Extraction guide for setup and usage details.
Concurrency Tiers
Your concurrent request limit scales with your account balance:
| Balance | Tier | Concurrent Requests |
|---|---|---|
| $0 - $5 | Free | 3 |
| $5 - $50 | Basic | 10 |
| $50 - $200 | Growth | 15 |
| $200 - $500 | Scale | 25 |
| $500+ | High Volume | 50 |
Need More?
Crawl Limits
Crawl operations (multi-page site crawls) have per-account slot and page limits that scale with your account balance:
| Balance | Tier | Concurrent Crawl Slots | Max Pages per Crawl |
|---|---|---|---|
| $0 – $5 | Free | 3 | 500 |
| $5 – $50 | Basic | 5 | 5,000 |
| $50 – $200 | Growth | 8 | 20,000 |
| $200 – $500 | Scale | 20 | 50,000 |
| $500+ | High Volume | 40 | 100,000 |
Per-Page Pricing
Auto-Recharge
Auto-recharge automatically tops up your balance when it falls below a threshold, so your scraping jobs never stall due to an empty account.
Set a threshold
e.g. recharge when balance drops below $5
Choose an amount
e.g. add $20 each time
Never run dry
Charged automatically to your saved payment method
Configure in Dashboard
Promo Codes
Promo codes add free balance or provide a discount on your next top-up. They are case-insensitive and single-use per account.
Go to Billing
Navigate to Dashboard → Billing.
Click “Redeem Promo Code”
Enter your code in the promo field and click Redeem.
Balance credited instantly
The promo balance is added immediately and shown in your billing history.
Promo Code Rules
Free Tier
Up to 5,000 free requests
One-time $1 starter balance: about 5,000 Light, 500 Protected or 250 Dynamic requests. No credit card required to start
| Feature | Free Tier Limit |
|---|---|
| Starting balance | $1 starter balance: up to 5,000 free requests (about 5,000 Light, 500 Protected or 250 Dynamic requests) |
| Concurrent requests | 1 |
| API access | Full (all endpoints, all tiers) |
| Max batch size | 10 URLs |
| Scheduler | 1 schedule, minimum 1-hour interval |
| Balance expiry | Never (no time limit) |
Pricing Examples
Small Business
Mix of static and JS-rendered pages
~$3-5/month
E-commerce Monitoring
Daily price checks, mostly static pages
~$20-30/month
Data Aggregator
Mixed workload with BYOP
~$50-100/month with BYOP