Integration

AlterLab integration

AlterLab fetches and renders public web pages for you: get one page as Markdown, text, HTML or JSON (with JavaScript rendering, screenshots, PDF, OCR and browser actions when asked), scrape up to 100 URLs in one batch, crawl a site, map a site's URLs, read search engine result pages, and extract structured data with a JSON schema, a prompt or a ready-made profile. Each successful request is charged to the account's prepaid balance by rendering tier, starting with the cheapest; estimate_scrape_cost and get_balance help keep spend in check. The user is responsible for respecting each target site's terms of use and robots rules. Not exposed: routes that take a dashboard session instead of an API key (schedules, change monitors, alert rules, webhook subscriptions, billing other than the balance, API keys, organizations, workflows and contact lists), stored login sessions and inline cookies, cloud-storage and webhook delivery (poll the get tools instead), result exports, live streams, the deprecated search and legacy scrape routes, and the Firecrawl-compatible duplicates. Authentication is an API key from the AlterLab dashboard sent in the X-API-Key header.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in AlterLab.Built from the 24 AlterLab tools below, on the connection you add once.

What you can do with AlterLab

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Crawl, 5 operations

  • cancel_crawlCancel crawlDELETEAgents: ask firstCancels a running crawl: pending pages are dropped and the credits reserved for them are refunded. Pages already scraped stay billed. Pass crawl_id from start_crawl or list_crawls.
  • get_crawlGet crawlGETAgents: ask firstReturns a crawl's status and progress (pages total, completed, failed, in progress), billing and, with include_results true, each page's result. Pass crawl_id from start_crawl; call again until it is completed, partial, failed or cancelled.
  • list_crawlsList crawlsGETAgents: ask firstLists the account's crawls, newest first by default: crawl_id, start URL, status, page counts, credits debited, used and refunded, and timing. Filter by status, domain or creation date.
  • resume_crawlResume crawlPOSTAgents: ask firstResumes a cancelled or failed crawl: re-queues its failed (and optionally cancelled) pages and any additional_urls, and reserves credits for them. Pass crawl_id from list_crawls.
  • start_crawlStart crawlPOSTAgents: ask firstStarts crawling a website from a URL: discovers links (sitemap included) and scrapes up to max_pages pages in the background. Returns a crawl_id at once; poll get_crawl for progress and pages. Credits are reserved up front.

Site map, 4 operations

  • compare_mapsCompare mapsGETAgents: ask firstCompares two site maps of the same domain and returns the URLs added, removed, changed (title or description) and unchanged, with counts. Pass the older map as map_id_a and the newer as map_id_b.
  • get_mapGet mapGETAgents: ask firstReturns one past site map with every URL it discovered (depth, source, title and description when fetched) and the settings it ran with. Pass map_id from map_website or list_maps.
  • list_mapsList mapsGETAgents: ask firstLists the account's past site maps, newest first: map_id, start URL, domain, URL count, credits used and date. Pass a map_id to get_map or compare_maps.
  • map_websiteMap websitePOSTAgents: ask firstDiscovers a website's URLs from its sitemap and links, without scraping the pages, and returns them with their depth and source (plus title and description when include_metadata is true). One credit per call.

Batch scrape, 3 operations

  • get_batch_scrapeGet batch scrapeGETAgents: ask firstReturns a batch's status (processing, completed, partial or failed), its counts, and each URL's job status with its result once done. Pass batch_id from submit_batch_scrape; call again until the status is no longer processing.
  • list_batch_scrapesList batch scrapesGETAgents: ask firstLists the account's batch scrapes, newest first: batch_id, status, URL count, completed and failed counts and credits used, with the total for paging.
  • submit_batch_scrapeSubmit batch scrapePOSTAgents: ask firstSubmits up to 100 URLs to scrape in parallel, each with its own options, and returns a batch_id and one job id per accepted URL at once. Poll get_batch_scrape for results. Credits are reserved for accepted URLs.

Scrape template, 2 operations

  • get_scrape_templateGet scrape templateGETAgents: ask firstReturns one public scrape template by slug: its name, description, target URL pattern, tags and the request settings it merges into scrape_web_page.
  • list_scrape_templatesList scrape templatesGETAgents: ask firstLists AlterLab's public scrape templates (ready-made settings for sites such as Amazon product pages or GitHub repositories): slug, name, target URL pattern and the settings each applies. Pass a slug as template to scrape_web_page.

Search batch, 2 operations

  • get_serp_batchGet serp batchGETAgents: ask firstReturns a search batch's status, counts and actual cost so far, and each query's status with its full results page data once completed. Pass batch_id from submit_serp_batch; call again until all queries are done.
  • submit_serp_batchSubmit serp batchPOSTAgents: ask firstSubmits up to 50 search queries to run in parallel and returns a batch_id and the estimated cost at once. Poll get_serp_batch for each query's results. Each query is billed.

Search results, 2 operations

  • get_serp_resultGet serp resultGETAgents: ask firstReturns a search request's status and, once completed, its full results page data (as search_serp returns it), or the error. Pass serp_id from search_serp.
  • search_serpSearch serpPOSTAgents: ask firstRuns a live web search (Google by default, or Bing or DuckDuckGo) and returns the results page as data: organic results, ads, featured snippet, knowledge panel, people also ask, local, news, video, image and shopping results.

Api key, 1 operation

  • get_api_key_identityGet api key identityGETAgents: ask firstChecks the API key without spending anything and returns its id, its type (a user key or an organization service-account key), the user or organization it belongs to and the organization id.

Balance, 1 operation

  • get_balanceGet balanceGETAgents: ask firstReturns the account's prepaid balance (in microcents and as display text), total deposited, spent and granted, and its balance tier with request-rate and concurrency limits.

Scrape cost, 1 operation

  • estimate_scrape_costEstimate scrape costPOSTAgents: ask firstEstimates what scraping a URL would cost, without scraping it: expected tier, expected credits, the ceiling if escalation reaches the costliest tier, confidence and the reasoning. Takes the same options as scrape_web_page.

Scrape job, 1 operation

  • get_scrape_jobGet scrape jobGETAgents: ask firstReturns the status of a scrape job (queued, processing, succeeded or failed) and, once succeeded, its result: content, title, status code, extracted data and cost. Pass a job_id from submit_batch_scrape.

Structured data, 1 operation

  • extract_structured_dataExtract structured dataPOSTAgents: ask firstExtracts structured data from content you already have (HTML, text, Markdown or a base64 PDF), without fetching anything: with a JSON Schema, a prompt or a ready-made profile. Returns the results keyed by format. Billed.

Web page, 1 operation

  • scrape_web_pageScrape web pagePOSTAgents: ask firstFetches one web page and returns its content (Markdown, text, HTML or JSON), title, status code, extracted data and cost. Billed per successful page, cheapest tier first. Waits for the job and returns the finished result; gives up after 5 minutes.

Use AlterLab from Claude Code, Cursor or Codex

Connect AlterLab in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its AlterLab operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect AlterLab

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect AlterLab once

    Add your AlterLab connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

AlterLab integration FAQ

What can you do with the AlterLab integration?

LiveContext exposes 24 operations on AlterLab, covering crawl, site map, batch scrape and scrape template.

Popular integrations

Browse the whole catalog