Browserless · Arazzo Workflow

Browserless Scrape Then Screenshot

Version 1.0.0

Extract structured elements from a page, then capture a screenshot of the same page as visual evidence.

1 workflow 1 source API 1 provider
View Spec View on GitHub Headless BrowserBrowser InfrastructureWeb AutomationAI AgentsWeb ScrapingBrowserQLPuppeteerPlaywrightSeleniumCDPStealthCAPTCHA SolvingResidential ProxyPDF GenerationScreenshotsSmart ScrapeCrawlSearchMCPSession RecordingHybrid AutomationArazzoWorkflows

Provider

browserless

Workflows

scrape-then-screenshot
Scrape structured elements from a URL and capture a matching screenshot.
Runs a selector-based scrape against the URL to extract element data, then captures a full-page screenshot of the same URL to provide visual context for the extracted data.
2 steps inputs: selectors, token, url outputs: data, screenshot
1
scrapeElements
{$sourceDescriptions.browserRestApisApi.url}#/paths/~1chrome~1scrape/post
Extract structured data for the supplied selectors from the URL, returning element text, HTML, attributes, and geometry under the data array.
2
captureScreenshot
{$sourceDescriptions.browserRestApisApi.url}#/paths/~1chrome~1screenshot/post
Capture a full-page PNG screenshot of the same URL to accompany the scraped element data.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Browserless Scrape Then Screenshot
  summary: Extract structured elements from a page, then capture a screenshot of the same page as visual evidence.
  description: >-
    A data-plus-evidence pipeline. The workflow first runs /chrome/scrape to
    pull structured element data (text, HTML, attributes, and geometry) for a
    set of CSS selectors from the target URL, then captures a full-page
    screenshot of the same URL via /chrome/screenshot so the scraped data is
    paired with a visual snapshot of the page it came from. Every step spells
    out its token query parameter and JSON request body inline so the flow can
    be read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: browserRestApisApi
  url: ../openapi/browserless-browser-rest-apis-api-openapi.yml
  type: openapi
workflows:
- workflowId: scrape-then-screenshot
  summary: Scrape structured elements from a URL and capture a matching screenshot.
  description: >-
    Runs a selector-based scrape against the URL to extract element data, then
    captures a full-page screenshot of the same URL to provide visual context
    for the extracted data.
  inputs:
    type: object
    required:
    - token
    - url
    - selectors
    properties:
      token:
        type: string
        description: The Browserless authorization token passed as a query parameter.
      url:
        type: string
        description: The URL of the page to scrape and screenshot.
      selectors:
        type: array
        description: An array of element selector objects to extract from the page.
        items:
          type: object
          required:
          - selector
          properties:
            selector:
              type: string
              description: A CSS selector identifying the elements to extract.
            timeout:
              type: number
              description: Maximum time in milliseconds to wait for the selector.
  steps:
  - stepId: scrapeElements
    description: >-
      Extract structured data for the supplied selectors from the URL, returning
      element text, HTML, attributes, and geometry under the data array.
    operationPath: '{$sourceDescriptions.browserRestApisApi.url}#/paths/~1chrome~1scrape/post'
    parameters:
    - name: token
      in: query
      value: $inputs.token
    requestBody:
      contentType: application/json
      payload:
        url: $inputs.url
        elements: $inputs.selectors
        bestAttempt: true
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      data: $response.body#/data
  - stepId: captureScreenshot
    description: >-
      Capture a full-page PNG screenshot of the same URL to accompany the
      scraped element data.
    operationPath: '{$sourceDescriptions.browserRestApisApi.url}#/paths/~1chrome~1screenshot/post'
    parameters:
    - name: token
      in: query
      value: $inputs.token
    requestBody:
      contentType: application/json
      payload:
        url: $inputs.url
        bestAttempt: true
        options:
          fullPage: true
          type: png
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      screenshot: $response.body
  outputs:
    data: $steps.scrapeElements.outputs.data
    screenshot: $steps.captureScreenshot.outputs.screenshot

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/browserless-scrape-then-screenshot-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.