AlterLabAlterLab
PricingComparePlaygroundBlogDocs
    AlterLabAlterLab
    PricingPlaygroundBlogDocsChangelog
    IntroductionInstallationYour First Request
    REST APIJob PollingAPI Keys
    OverviewPythonNode.js
    JavaScript RenderingOutput FormatsNewPDF & OCRCachingWebhooksWebSocket Real-TimeNewBring Your Own ProxyProWeb CrawlingNewBatch ScrapingNewSchedulerNewChange DetectionNewCloud Storage ExportNewSpend LimitsNewOrganizations & TeamsNewAlerts & NotificationsNew
    Structured ExtractionAIE-commerce ScrapingNews MonitoringPrice MonitoringNewMulti-Page CrawlingNewMonitoring DashboardNewAI Agent / MCPMCPData Pipeline to CloudNew
    PricingRate LimitsError Codes
    From FirecrawlFrom ApifyNewFrom ScrapingBee / ScraperAPINew
    PlaygroundPricingStatus
    Guide
    Migration

    ScrapingBee & ScraperAPI Migration Guide

    Migrate from ScrapingBee or ScraperAPI to AlterLab with minimal code changes. This guide maps every parameter, compares response formats, and shows drop-in code replacements for both providers.

    Two Providers, One Guide

    ScrapingBee and ScraperAPI share similar parameter-based APIs. This guide covers both side by side so you can migrate from either provider in one place.

    ScrapingBee Parameter Mapping

    ScrapingBee uses query-string parameters on a GET endpoint. AlterLab uses a JSON body on a POST endpoint, giving you cleaner code and no URL-encoding issues.

    ScrapingBee ParameterAlterLab EquivalentNotes
    urlurlSame
    api_keyX-API-Key headerMoved from query string to header
    render_js=trueadvanced.render_js: true
    Supported
    js_scenarioadvanced.render_js + wait_conditionUse render_js with wait_condition for similar behavior
    premium_proxy=trueadvanced.use_proxy: true
    Supported
    country_codeadvanced.proxy_countryISO country code (e.g., "US", "DE")
    screenshot=trueadvanced.screenshot: trueRequires render_js: true
    extract_rulesformats: ["json"]AlterLab uses AI-powered structured extraction
    wait=5000timeout: 5AlterLab uses seconds (1-300)
    return_page_source=trueformats: ["html"]HTML is returned by default
    block_ads=trueadvanced.remove_cookie_bannersCookie banners removed by default; full ad blocking via tier escalation
    custom_googleNot neededAlterLab auto-detects search engines and optimizes

    ScraperAPI Parameter Mapping

    ScraperAPI also uses query-string parameters. Here's how each maps to AlterLab's JSON body format.

    ScraperAPI ParameterAlterLab EquivalentNotes
    urlurlSame
    api_keyX-API-Key headerMoved from query string to header
    render=trueadvanced.render_js: true
    Supported
    country_code=usadvanced.proxy_country: "US"ISO country code, case-insensitive
    premium=trueadvanced.use_proxy: true
    Supported
    session_numberadvanced.session_idAlterLab uses persistent session integrations with stored cookies
    keep_headers=trueheaders: {...}Pass custom headers directly in the request body
    autoparse=trueformats: ["json"]AI-powered structured extraction, more accurate than regex parsing
    binary_target=trueadvanced.ocr: trueAlterLab has dedicated OCR extraction for images and PDFs
    ultra_premium=truecost_controls.force_tier: "4"AlterLab auto-escalates tiers; force tier 4 for maximum anti-bot bypass
    output_format=jsonformats: ["json", "text", "markdown"]Multiple output formats in a single request

    Authentication

    Both ScrapingBee and ScraperAPI pass API keys as query parameters. AlterLab uses HTTP headers instead, which is more secure and avoids leaking keys in server logs.

    ScrapingBee

    GET https://app.scrapingbee.com/api/v1/
      ?api_key=YOUR_KEY
      &url=https://example.com

    ScraperAPI

    GET http://api.scraperapi.com/
      ?api_key=YOUR_KEY
      &url=https://example.com

    AlterLab

    POST https://api.alterlab.io/api/v1/scrape
      -H "X-API-Key: sk_live_xxx"
      -d '{"url": "https://example.com"}'

    No Keys in URLs

    AlterLab keeps your API key out of URLs entirely. This prevents accidental key exposure in browser history, server access logs, and CDN caches.

    Response Format

    ScrapingBee and ScraperAPI return raw HTML by default. AlterLab returns a structured JSON response with content, metadata, and billing information.

    ScrapingBee / ScraperAPI

    <!-- Raw HTML response body -->
    <!DOCTYPE html>
    <html>
      <head><title>Example</title></head>
      <body>...</body>
    </html>

    Status and metadata in response headers only

    AlterLab

    {
      "url": "https://example.com",
      "status_code": 200,
      "content": "# Example Domain\n...",
      "title": "Example Domain",
      "metadata": { "author": "..." },
      "cached": false,
      "credits_used": 1,
      "response_time_ms": 842,
      "size_bytes": 1256
    }

    Structured JSON with billing, caching, and performance data

    Firecrawl Compatibility Endpoint

    If you need raw-HTML-style responses during migration, AlterLab also offers a Firecrawl-compatible endpoint at /api/v0/scrape that returns Firecrawl-format responses.

    JavaScript Rendering

    All three platforms support headless browser rendering. Here's how they compare:

    CapabilityScrapingBeeScraperAPIAlterLab
    Enable JSrender_js=truerender=trueadvanced.render_js: true
    Wait conditionwait=mswait_for_selectoradvanced.wait_condition
    domcontentloaded | networkidle | load
    Screenshotscreenshot=trueNot availableadvanced.screenshot: true
    PDF generationNot availableNot availableadvanced.generate_pdf: true
    Auto-escalationManualManual
    Automatic
    4-tier system: curl → http → stealth → browser

    Automatic Tier Escalation

    Unlike ScrapingBee and ScraperAPI where you manually choose between basic and premium modes, AlterLab automatically escalates through four anti-bot tiers until the page loads successfully. You only pay for the tier that worked.

    Proxy & Geo-Targeting

    FeatureScrapingBeeScraperAPIAlterLab
    Residential proxypremium_proxy=truepremium=trueadvanced.use_proxy: true
    Country targetingcountry_codecountry_codeadvanced.proxy_country
    Bring your own proxyNot availableNot available
    Supported
    advanced.use_own_proxy + proxy integrations
    Proxy cost10-75x credit multiplier10-75x credit multiplier+$0.0002 per request (flat add-on)

    Code Examples

    Migrating from ScrapingBee

    Before (ScrapingBee)

    import requests
    
    response = requests.get(
        "https://app.scrapingbee.com/api/v1/",
        params={
            "api_key": "YOUR_SCRAPINGBEE_KEY",
            "url": "https://example.com",
            "render_js": "true",
            "premium_proxy": "true",
            "country_code": "us",
        }
    )
    html = response.text

    After (AlterLab)

    import requests
    
    response = requests.post(
        "https://api.alterlab.io/api/v1/scrape",
        headers={"X-API-Key": "sk_live_xxx"},
        json={
            "url": "https://example.com",
            "advanced": {
                "render_js": True,
                "use_proxy": True,
                "proxy_country": "US",
            }
        }
    )
    data = response.json()
    content = data["content"]

    Migrating from ScraperAPI

    Before (ScraperAPI)

    import requests
    
    response = requests.get(
        "http://api.scraperapi.com/",
        params={
            "api_key": "YOUR_SCRAPERAPI_KEY",
            "url": "https://example.com",
            "render": "true",
            "country_code": "us",
            "premium": "true",
        }
    )
    html = response.text

    After (AlterLab)

    import requests
    
    response = requests.post(
        "https://api.alterlab.io/api/v1/scrape",
        headers={"X-API-Key": "sk_live_xxx"},
        json={
            "url": "https://example.com",
            "advanced": {
                "render_js": True,
                "use_proxy": True,
                "proxy_country": "US",
            }
        }
    )
    data = response.json()
    content = data["content"]

    Multi-Language Examples

    import requests
    
    response = requests.post(
        "https://api.alterlab.io/api/v1/scrape",
        headers={
            "X-API-Key": "sk_live_xxx",
            "Content-Type": "application/json",
        },
        json={
            "url": "https://example.com",
            "formats": ["text", "markdown"],
            "advanced": {
                "render_js": True,
                "screenshot": True,
                "proxy_country": "US",
            },
            "cost_controls": {
                "max_tier": "3",
            }
        }
    )
    
    data = response.json()
    print(f"Content: {data['content'][:100]}...")
    print(f"Credits: {data['credits_used']}")
    print(f"Tier used: {data.get('metadata', {}).get('tier_used')}")

    Feature Parity Table

    FeatureScrapingBeeScraperAPIAlterLab
    Basic HTTP scrapingYesYesYes
    JavaScript renderingYesYesYes
    Residential proxiesYesYesYes
    Geo-targetingYesYesYes
    ScreenshotsYesNoYes
    Structured extractionCSS rulesAuto-parse
    AI-powered
    PDF extractionNoNoYes
    OCRNoNoYes
    Markdown outputNoNoYes
    Bring your own proxyNoNoYes
    Authenticated scrapingNoSession numbers
    Full sessions
    Auto anti-bot escalationNoNo
    4-tier auto
    Cost controlsNoNomax_tier, max_credits, fail_fast
    Webhooks / asyncNoYesYes
    Batch scrapingNoNoYes
    SDK (Python + Node)YesYesYes

    Pricing Comparison

    ScrapingBee and ScraperAPI both use credit-based subscription plans where premium features cost 10-75x more credits. AlterLab uses transparent pay-as-you-go pricing with small flat add-ons.

    AspectScrapingBee / ScraperAPIAlterLab
    Billing modelMonthly subscription + credit packsPay-as-you-go
    Basic scrape1 credit$0.0002
    JS rendering5 credits$0.004
    Premium proxy10-75x multiplier+$0.0002 flat add-on
    Unused creditsExpire monthly (most plans)Balance never expires
    Free tierLimited free trial$1 free credit on signup

    No Surprise Bills

    With AlterLab, you load credits and spend them. No monthly subscriptions, no expiring credit packs, no hidden multipliers. Use cost_controls to set hard spending limits per request.

    What AlterLab Adds

    Beyond matching ScrapingBee and ScraperAPI features, AlterLab offers capabilities neither competitor provides:

    Intelligent Anti-Bot Bypass

    4-tier automatic escalation system (curl, TLS fingerprinting, stealth proxy, full browser). The system learns which tier works for each domain and skips straight to it on subsequent requests.

    AI-Powered Extraction

    Extract structured data using natural language prompts instead of brittle CSS selectors. Get JSON output that adapts when site layouts change.

    PDF & OCR Processing

    Extract text from PDFs and images directly. No external tools needed. Supports scanned documents, receipts, and image-heavy pages.

    Bring Your Own Proxy

    Integrate your existing proxy infrastructure. AlterLab handles the scraping logic while routing through your proxies for compliance and cost control.

    Granular Cost Controls

    Set max_tier, max_credits, and fail_fast per request. Budget-cap individual scrapes so expensive anti-bot measures only run when you explicitly allow them.

    Authenticated Scraping

    Store session cookies, headers, and credentials securely. Scrape pages behind login walls without managing browser state yourself.

    Try It Free

    Sign up and get $1 in free credits to test AlterLab with your existing scraping workflows. No credit card required.
    ← Firecrawl MigrationAPI Reference →
    Last updated: March 2026

    On this page

    AlterLabAlterLab

    AlterLab is the modern web scraping platform for developers. Reliable, scalable, and easy to use.

    Product

    • Pricing
    • Documentation
    • Changelog
    • Status

    Solutions

    • Python API
    • JS Rendering
    • Anti-Bot Bypass
    • Compare APIs

    Comparisons

    • Compare All
    • vs ScraperAPI
    • vs Firecrawl
    • vs ScrapingBee
    • vs Bright Data
    • vs Apify

    Company

    • About
    • Blog
    • Contact
    • FAQ

    Guides

    • Bypass Cloudflare
    • Playwright Anti-Detection
    • Puppeteer Bypass Guide
    • Selenium Detection Fix
    • Best Scraping APIs 2026

    Legal

    • Privacy
    • Terms
    • Acceptable Use
    • DPA
    • Cookie Policy
    • Licenses

    © 2026 RapierCraft Inc. All rights reserved.

    Middletown, DE