Home
Browserless
Browserless — REST APIs
Browserless — REST APIs
Browserless REST API family covering screenshots, PDFs, content, scrape, function execution, performance/Lighthouse audits, smart-scrape, search, map, crawl, and unblock. Self-contained Naftiko capability exposing the one-shot HTTP automation surface as REST + MCP tools.
Browserless — REST APIs is a Naftiko capability published by Browserless , one of 4 capabilities the APIs.io network indexes for this provider. It bundles 13 operations across the POST, GET, and DELETE methods.
The capability includes 9 read-only operations and 4 state-changing operations. Lead operation: Capture a screenshot of a URL or HTML . Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko .
Tagged areas include Browserless, REST, Screenshots, PDF, and Scrape.
What You Can Do
POST
Performance
—
/performance
POST
Smartscrape
—
/smart-scrape
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Browserless — REST APIs
description: >-
Browserless REST API family covering screenshots, PDFs, content, scrape,
function execution, performance/Lighthouse audits, smart-scrape, search,
map, crawl, and unblock. Self-contained Naftiko capability exposing the
one-shot HTTP automation surface as REST + MCP tools.
tags:
- Browserless
- REST
- Screenshots
- PDF
- Scrape
- Smart Scrape
- Search
- Crawl
created: '2026-05-25'
modified: '2026-05-25'
binds:
- namespace: env
keys:
BROWSERLESS_API_TOKEN: BROWSERLESS_API_TOKEN
capability:
consumes:
- type: http
namespace: rest
baseUri: https://production-sfo.browserless.io
description: Browserless REST consumes block. Token passed via query parameter.
resources:
- name: screenshot
path: /chromium/screenshot
operations:
- name: screenshot
method: POST
description: Capture a screenshot of a URL or HTML.
outputRawFormat: binary
outputParameters:
- name: result
type: string
value: $.
inputParameters:
- name: body
in: body
type: object
description: Screenshot request body (url, html, options, viewport).
required: true
- name: token
in: query
type: string
description: API token.
required: true
- name: pdf
path: /chromium/pdf
operations:
- name: pdf
method: POST
description: Render a URL or HTML to PDF.
outputRawFormat: binary
outputParameters:
- name: result
type: string
value: $.
inputParameters:
- name: body
in: body
type: object
required: true
- name: token
in: query
type: string
required: true
- name: content
path: /chromium/content
operations:
- name: content
method: POST
description: Return fully-rendered HTML for a URL.
outputRawFormat: text
outputParameters:
- name: result
type: string
value: $.
inputParameters:
- name: body
in: body
type: object
required: true
- name: token
in: query
type: string
required: true
- name: scrape
path: /chromium/scrape
operations:
- name: scrape
method: POST
description: Extract selected elements with text and attributes.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
required: true
- name: token
in: query
type: string
required: true
- name: function
path: /chromium/function
operations:
- name: function
method: POST
description: Execute user-supplied JavaScript inside a managed browser.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
required: true
- name: token
in: query
type: string
required: true
- name: performance
path: /chromium/performance
operations:
- name: performance
method: POST
description: Run a Lighthouse audit and return scores and metrics.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
required: true
- name: token
in: query
type: string
required: true
- name: smart-scrape
path: /smart-scrape
operations:
- name: smartScrape
method: POST
description: AI-selected strategy data extraction.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
required: true
- name: token
in: query
type: string
required: true
- name: search
path: /search
operations:
- name: search
method: POST
description: Token-efficient web search.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
required: true
- name: token
in: query
type: string
required: true
- name: map
path: /map
operations:
- name: map
method: POST
description: Generate a site map for a domain.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
required: true
- name: token
in: query
type: string
required: true
- name: crawl
path: /crawl
operations:
- name: startCrawl
method: POST
description: Start a depth-bounded crawl.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
required: true
- name: token
in: query
type: string
required: true
- name: getCrawl
method: GET
description: Retrieve crawl progress / results.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: token
in: query
type: string
required: true
- name: stopCrawl
method: DELETE
description: Stop an in-progress crawl.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: token
in: query
type: string
required: true
- name: unblock
path: /unblock
operations:
- name: unblock
method: POST
description: Bot-detection-bypassing navigation that returns the unblocked page.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
required: true
- name: token
in: query
type: string
required: true
authentication:
type: apikey
key: token
value: '{{env.BROWSERLESS_API_TOKEN}}'
placement: query
exposes:
- type: rest
namespace: rest-adapter
port: 8080
description: REST adapter exposing the Browserless REST family.
resources:
- path: /screenshot
name: screenshot
operations:
- method: POST
name: screenshot
call: rest.screenshot
with:
body: rest.body
outputParameters:
- type: string
mapping: $.
- path: /pdf
name: pdf
operations:
- method: POST
name: pdf
call: rest.pdf
with:
body: rest.body
outputParameters:
- type: string
mapping: $.
- path: /content
name: content
operations:
- method: POST
name: content
call: rest.content
with:
body: rest.body
outputParameters:
- type: string
mapping: $.
- path: /scrape
name: scrape
operations:
- method: POST
name: scrape
call: rest.scrape
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /function
name: function
operations:
- method: POST
name: function
call: rest.function
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /performance
name: performance
operations:
- method: POST
name: performance
call: rest.performance
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /smart-scrape
name: smart-scrape
operations:
- method: POST
name: smartScrape
call: rest.smartScrape
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /search
name: search
operations:
- method: POST
name: search
call: rest.search
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /map
name: map
operations:
- method: POST
name: map
call: rest.map
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /crawl
name: crawl
operations:
- method: POST
name: startCrawl
call: rest.startCrawl
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: GET
name: getCrawl
call: rest.getCrawl
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: stopCrawl
call: rest.stopCrawl
outputParameters:
- type: object
mapping: $.
- path: /unblock
name: unblock
operations:
- method: POST
name: unblock
call: rest.unblock
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: rest-mcp
port: 9090
transport: http
description: MCP adapter for Browserless REST APIs.
tools:
- name: browserless-screenshot
description: Capture a screenshot of a URL or HTML.
hints: { readOnly: true, destructive: false, idempotent: true }
call: rest.screenshot
with: { body: tools.body }
outputParameters: [{ type: string, mapping: $. }]
- name: browserless-pdf
description: Render a URL to PDF.
hints: { readOnly: true, destructive: false, idempotent: true }
call: rest.pdf
with: { body: tools.body }
outputParameters: [{ type: string, mapping: $. }]
- name: browserless-content
description: Fetch rendered HTML for a URL.
hints: { readOnly: true, destructive: false, idempotent: true }
call: rest.content
with: { body: tools.body }
outputParameters: [{ type: string, mapping: $. }]
- name: browserless-scrape
description: Extract selected elements.
hints: { readOnly: true, destructive: false, idempotent: true }
call: rest.scrape
with: { body: tools.body }
outputParameters: [{ type: object, mapping: $. }]
- name: browserless-function
description: Run user-supplied JavaScript in a managed browser.
hints: { readOnly: false, destructive: false, idempotent: false }
call: rest.function
with: { body: tools.body }
outputParameters: [{ type: object, mapping: $. }]
- name: browserless-performance
description: Lighthouse audit of a URL.
hints: { readOnly: true, destructive: false, idempotent: true }
call: rest.performance
with: { body: tools.body }
outputParameters: [{ type: object, mapping: $. }]
- name: browserless-smart-scrape
description: AI-strategy data extraction.
hints: { readOnly: true, destructive: false, idempotent: false }
call: rest.smartScrape
with: { body: tools.body }
outputParameters: [{ type: object, mapping: $. }]
- name: browserless-search
description: Token-efficient web search.
hints: { readOnly: true, destructive: false, idempotent: false }
call: rest.search
with: { body: tools.body }
outputParameters: [{ type: object, mapping: $. }]
- name: browserless-map
description: Build a site map.
hints: { readOnly: true, destructive: false, idempotent: true }
call: rest.map
with: { body: tools.body }
outputParameters: [{ type: object, mapping: $. }]
- name: browserless-crawl-start
description: Start a crawl.
hints: { readOnly: false, destructive: false, idempotent: false }
call: rest.startCrawl
with: { body: tools.body }
outputParameters: [{ type: object, mapping: $. }]
- name: browserless-crawl-get
description: Get crawl progress.
hints: { readOnly: true, destructive: false, idempotent: true }
call: rest.getCrawl
outputParameters: [{ type: object, mapping: $. }]
- name: browserless-crawl-stop
description: Stop a crawl.
hints: { readOnly: false, destructive: true, idempotent: true }
call: rest.stopCrawl
outputParameters: [{ type: object, mapping: $. }]
- name: browserless-unblock
description: Bot-detection-bypass navigation.
hints: { readOnly: false, destructive: false, idempotent: false }
call: rest.unblock
with: { body: tools.body }
outputParameters: [{ type: object, mapping: $. }]