Browserless

Browserless is a service that allows you to run headless Chrome instances in the cloud.

Integrate the Browserless API with the HTTP / Webhook API

Setup the Browserless API trigger to run a workflow which integrates with the HTTP / Webhook API. Pipedream's integration platform allows you to integrate Browserless and HTTP / Webhook remarkably fast. Free for developers.

Generate PDF from HTML String with Browserless API on New Requests from HTTP / Webhook API
HTTP / Webhook + Browserless
 
Try it
Scrape URL List with Browserless API on New Requests from HTTP / Webhook API
HTTP / Webhook + Browserless
 
Try it
Scrape URL with Browserless API on New Requests from HTTP / Webhook API
HTTP / Webhook + Browserless
 
Try it
Take a Screenshot with Browserless API on New Requests from HTTP / Webhook API
HTTP / Webhook + Browserless
 
Try it
Generate PDF from HTML String with Browserless API on New Requests (Payload Only) from HTTP / Webhook API
HTTP / Webhook + Browserless
 
Try it
New Requests from the HTTP / Webhook API

Get a URL and emit the full HTTP event on every request (including headers and query parameters). You can also configure the HTTP response code, body, and more.

 
Try it
New Requests (Payload Only) from the HTTP / Webhook API

Get a URL and emit the HTTP body as an event on every request

 
Try it
New event when the content of the URL changes. from the HTTP / Webhook API

Emit new event when the content of the URL changes.

 
Try it
Generate PDF from HTML String with the Browserless API
 
Try it
Scrape URL with the Browserless API

Scrape content from a page. See the documentation.

 
Try it
Scrape URL List with the Browserless API

Scrape content from a list of pages. See the documentation.

 
Try it
Send any HTTP Request with the HTTP / Webhook API

Send an HTTP request using any method and URL. Optionally configure query string parameters, headers, and basic auth.

 
Try it
Take a Screenshot with the Browserless API

Take a screenshot of a page. See the documentation

 
Try it

Overview of Browserless

The Browserless API on Pipedream allows you to automate browser actions without the overhead of managing your own browser infrastructure. This service provides a way to run Chrome browser sessions programmatically, making it ideal for web scraping, automated testing, and screenshot capture. Leveraging this on Pipedream, you can create serverless workflows that interact with web pages, extract data, and perform actions as a human would, all in a scalable and efficient manner.

Connect Browserless

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import puppeteer from 'puppeteer-core@14.1.0';

export default defineComponent({
  props: {
    browserless: {
      type: "app",
      app: "browserless",
    }
  },
  async run({steps, $}) {
    // See the browserless docs for more info:
    // https://www.browserless.io/docs/
    const browser = await puppeteer.connect({ 
      browserWSEndpoint: `wss://chrome.browserless.io?token=${this.browserless.$auth.api_key}` 
    })
    const page = await browser.newPage()
    
    const url = "https://example.com"
    const type = "png"
  
    await page.goto(url)
    const screenshot = await page.screenshot()
    
    // export the base64-encoded screenshot for use in future steps,
    // along with the image type and filename
    $.export("screenshot", Buffer.from(screenshot, 'binary').toString('base64'))
    $.export("type", type)
    $.export("filename",`${url.replace(/[&\/\\#, +()$~%.'":*?<>{}]/g, '_')}-${+new Date()}.${type}`)
    
    await browser.close()
  },
})

Overview of HTTP / Webhook

Build, test, and send HTTP requests without code using your Pipedream workflows. The HTTP / Webhook action is a tool to build HTTP requests with a Postman-like graphical interface.

An interface for configuring an HTTP request within Pipedream's workflow system. The current selection is a GET request with fields for the request URL, authorization type (set to 'None' with a note explaining "This request does not use authorization"), parameters, headers (with a count of 1, though the detail is not visible), and body. Below the main configuration area is an option to "Include Response Headers," and a button labeled "Configure to test." The overall layout suggests a user-friendly, no-code approach to setting up custom HTTP requests.

Point and click HTTP requests

Define the target URL, HTTP verb, headers, query parameters, and payload body without writing custom code.

A screenshot of Pipedream's HTTP Request Configuration interface with a GET request type selected. The request URL is set to 'https://api.openai.com/v1/models'. The 'Auth' tab is highlighted, indicating that authentication is required for this request. In the headers section, there are two headers configured: 'User-Agent' is set to 'pipedream/1', and 'Authorization' is set to 'Bearer {{openai_api_key}}', showing how the OpenAI account's API key is dynamically inserted into the headers to handle authentication automatically.

Here's an example workflow that uses the HTTP / Webhook action to send an authenticated API request to OpenAI.

Focus on integrating, not authenticating

This action can also use your connected accounts with third-party APIs. Selecting an integrated app will automatically update the request’s headers to authenticate with the app properly, and even inject your token dynamically.

This GIF depicts the process of selecting an application within Pipedream's HTTP Request Builder. A user hovers the cursor over the 'Auth' tab and clicks on a dropdown menu labeled 'Authorization Type', then scrolls through a list of applications to choose from for authorization purposes. The interface provides a streamlined and intuitive method for users to authenticate their HTTP requests by selecting the relevant app in the configuration settings.

Pipedream integrates with thousands of APIs, but if you can’t find a Pipedream integration simply use Environment Variables in your request headers to authenticate with.

Compatible with no code actions or Node.js and Python

The HTTP/Webhook action exports HTTP response data for use in subsequent workflow steps, enabling easy data transformation, further API calls, database storage, and more.

Response data is available for both coded (Node.js, Python) and no-code steps within your workflow.

An image showing the Pipedream interface where the HTTP Webhook action has returned response data as a step export. The interface highlights a structured view of the returned data with collapsible sections. We can see 'steps.custom_request1' expanded to show 'return_value' which is an object containing a 'list'. Inside the list, an item 'data' is expanded to reveal an element with an 'id' of 'whisper-1', indicating a model created by and owned by 'openai-internal'. Options to 'Copy Path' and 'Copy Value' are available for easy access to the data points.

Connect HTTP / Webhook

1
2
3
4
5
6
7
8
9
10
11
12
13
// To use any npm package on Pipedream, just import it
import axios from "axios"

export default defineComponent({
  async run({ steps, $ }) {
    const { data } = await axios({
      method: "GET",
      url: "https://pokeapi.co/api/v2/pokemon/charizard",
    })
    return data.species
  },
})

Community Posts

A Look at Pipedream
A Look at Pipedream
I'm going to build a workflow that will search Twitter every hour for a keyword. It will take the results, format them nicely, and then email it.
Building a Traffic-Based Workflow in Pipedream
Building a Traffic-Based Workflow in Pipedream
Normally I don't like to blog about stuff that isn't generally available to all, but as it will be available sometime soon, I decided to go ahead anyway. And I built something really cool I want to share so that's another reason to talk about this now!