Expanded Limits, Across all tiers - Our Gift to you! Learn more →

AlterLab
SearchResearchPricingComparePlaygroundBlogDocsChangelog
    AlterLabAlterLab
    PricingComparePlaygroundBlogDocsChangelog
    IntroductionQuickstartInstallationYour First Request
    REST APICrawl APIMap APISearch APIResearch APINewSERP APINewExtract APIAIJob PollingDomain StatsNewGeocode APINewNews APIBatch ResultsNewAPI KeysSessions APINewEnterprise APIEnterprise
    AccountAutoAI VisibilityAutoAlertsAutoAuthAutoBillingAutoCrawlAutoExtractAutoIntegrationsAutoKeysAutoMapAutoMonitorsAutoOrganizationsAutoResearch SchedulesAutoRunsAutoSchedulesAutoScrapeAutoSearchAutoSearch SchedulesAutoSessionsAutoUser WebhooksAutoV1 EndpointsAutoAffiliatesAutoAgentAutoAgent OnboardingAutoAgent VisibilityAutoAnalyticsAutoApprovalsAutoArtifactsAutoAttributionAutoB2BAutoBatchAutoBeta FeaturesAutoBlogAutoBuyerAutoChatAutoConnectionsAutoConnectorsAutoContact ListsAutoCreatorAutoCross SellAutoDashboardAutoDefaultsAutoDomainsAutoEmail PreferencesAutoFcAutoHandsAutoHealthAutoJobsAutoListingsAutoMaintenanceAutoNewsAutoOauthAutoOauth GrantsAutoPage InspectAutoPlatformAutoPresetsAutoPricingAutoPrivacyAutoPublicAutoPublic PagesAutoReferralAutoReferralsAutoReportsAutoResearchAutoSecretsAutoSerpAutoSSOAutoStorefrontsAutoSupportAutoTemplatesAutoToolsAutoTrackAutoUsageAutoUsage TagsAutoUserAutoWorkflowsAutoWorkspacesAutoWebhooksAuto
    OverviewPythonNode.jsCLI
    Guides OverviewJavaScript RenderingBrowser ActionsOutput FormatsPDF & OCRCachingWebhooksJSON Schema FilteringWebSocket Real-TimeBring Your Own ProxyProSticky SessionsProAuthenticated ScrapingNewHTTP Methods & BodiesNewStructured ExtractionAIWeb SearchAgent and RAG GroundingResearch JobsAgent RunsSite MappingWeb CrawlingBatch ScrapingSchedulerData MarketplaceSelling DataAgent OnboardingEmbeddingsKeyword IdeasAI VisibilityWorkflowsChange DetectionCloud Storage ExportSpend LimitsOrganizations & TeamsScrape TemplatesCustom ConnectorsSecretsContact ListsPlatform Sub-AccountsReferrals & AffiliatesAlerts & NotificationsExtraction ProfilesAIBYOK ExtractionAIOAuth2 Machine-to-MachineSupport & TicketsUnsupported Targets
    Tutorials OverviewStructured ExtractionAIE-commerce ScrapingNews MonitoringPrice MonitoringMulti-Page CrawlingMonitoring DashboardAI Agent / MCPMCPAI Research AgentAISite CrawlingData Pipeline to Cloud
    E-commerceLead GenerationChange MonitoringRAG & AI PipelinesAIResearch
    Reference OverviewPricingRate LimitsReliabilityReliability ContractError CodesChangelogVersioning
    Migrations OverviewFrom FirecrawlFrom ApifyFrom ScrapingBee / ScraperAPIFrom Crawl4AIFrom SpiderSearch to SERPFirecrawl v0 API ReferenceLegacy
    OverviewMCP ServerAIn8n NodeLangChainAICrewAIAILlamaIndexAISupabaseChrome ExtensionSoon
    PlaygroundPricingStatus

    Up to 5,000 free requests · No credit card

    SDK

    AlterLab CLI

    The alterlab command line scrapes, crawls and searches from a terminal, runs a stdio MCP server and manages agent setup. It ships in the Python package, so there is nothing else to install: run it once with uvx alterlab or install it with pipx install alterlab.

    Sign In

    Bash
    uvx alterlab login --email you@example.com

    login runs the human-approved device flow: the human gets an email and approves, and the key is stored in the OS keychain without being printed. The CLI reads the key from ALTERLAB_API_KEY first, then the keychain, then ~/.config/alterlab/credentials.json. Set ALTERLAB_API_KEY instead if you already have a key.

    Fetch Data

    Bash
    alterlab scrape https://example.com -f md
    alterlab scrape https://example.com --render --select title=h1
    alterlab map https://example.com
    alterlab crawl https://example.com --max 20
    alterlab search "web scraping api" --content
    alterlab extract https://example.com --profile auto
    cat urls.txt | alterlab batch
    alterlab screenshot https://example.com -o page.png

    Output is JSON on stdout (markdown for scrape -f md), one object per line for streams, and errors go to stderr with exit code 1. fetch tries a direct fetch first and uses AlterLab only when the page is blocked.

    Preview and Cap Spend

    Every data command accepts --estimate to print the quote and exit, and --max-cost USD to set a hard spend cap for the call.

    Bash
    alterlab crawl https://example.com --max 200 --estimate
    alterlab crawl https://example.com --max 200 --max-cost 2.00

    Agent Runs

    alterlab run create plan.json --max-credits 50000 plans a multi-step job, then approve, stream, result and cancel follow it. See agent runs.

    Checks with No Account

    detect URL names the protection a site uses, doctor URL explains why a scraper is blocked, robots URL reads robots.txt, llms.txt and AI-crawler rules, and md TARGET converts an HTML file or URL to markdown. They run locally and need no key.

    Agent Setup

    • alterlab mcp runs a stdio MCP server. Wire it into Claude Code with claude mcp add alterlab -- uvx alterlab mcp.
    • alterlab skill install --agent claude installs the AlterLab skill (claude, codex or agents).
    • alterlab routing-policy --agent claude writes a "use AlterLab for web tasks" policy into the agent's instructions file; --domains scopes it.
    • alterlab hands connects a site and runs browser tasks on the user's own sessions; see Hands.
    • alterlab listings init|validate|test|publish|run builds and publishes Data Marketplace listings.
    • alterlab feedback --category blocked --message "..." reports a problem to AlterLab.

    Related

    The same client is available as a library: see the Python SDK. For an agent that has no account yet, see agent onboarding.

    Node.jsGuides Overview
    Last updated: June 2026

    On this page