Reference · Tools

Phantombuster

Manage and launch Phantombuster web scraping and automation agents.

Action Marketing v1

The Phantombuster node manages and launches cloud-based automation agents — the 'phantoms' that scrape and extract data from social platforms. A typical build is launching a lead-collection agent on a schedule and pulling its output into a CRM once it finishes.

Node type
Action
Parameters
14
Outputs
Output, Error
Credentials
Phantombuster API

Phantombuster

Manage and launch Phantombuster web scraping agents.

Overview

Phantombuster is a cloud platform for web scraping and automation, widely used for LinkedIn profile scraping, social media data extraction and lead generation. Use this node to work with the agents in your Phantombuster account: list them, look one up, launch one with custom arguments, collect the output of its most recent run, and delete agents you no longer need.

Category: Marketing
Tool Name: phantombuster
Version: 1

Appearance: Icon: lucide-Ghost | Color: #5849be

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Phantombuster API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Agentagent

Operations

OperationValueDescription
DeletedeleteDelete an agent by ID
GetgetGet an agent by ID
Get ManygetAllGet many agents of the current user’s organization
Get OutputgetOutputGet the output of the most recent container of an agent
LaunchlaunchAdd an agent to the launch queue

Parameters

Agent ID and Limit accept {{ … }} expressions, so they can be taken from the incoming item. The remaining parameters — including everything inside Additional Fields — are used exactly as you type them.

Agent: Delete

ParameterTypeRequiredDefaultDescription
Agent IDstringYesThe ID of the agent to delete. Find agent IDs via the Phantombuster dashboard or the Get Many operation.

Agent: Get

ParameterTypeRequiredDefaultDescription
Agent IDstringYesThe ID of the agent to retrieve.

Agent: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo25Max number of results to return. (shown when Return All is false)

Agent: Get Output

ParameterTypeRequiredDefaultDescription
Agent IDstringYesThe ID of the agent whose output to retrieve. Find agent IDs via the Phantombuster dashboard or the Get Many operation.
Resolve DatabooleanNotrueBy default the output is presented as string. If this option gets activated, it will resolve the data automatically.
Additional FieldscollectionNo{}Optional settings that narrow which part of the run’s output is returned.
— Prev Container IDstringNoIf set, the output will be retrieved from the container after the specified previous container ID.
— Prev StatusoptionsNoIf set, allows to define which status was previously retrieved on user-side.
Options: finished, lauch error (Launch Error), never launched, running, starting, unknown
— Prev Runtime Event IndexnumberNo0If set, the container’s runtime events will be returned in the response starting from the provided previous runtime event index.

Agent: Launch

ParameterTypeRequiredDefaultDescription
Agent IDstringYesThe ID of the agent to launch. Find agent IDs via the Phantombuster dashboard or the Get Many operation.
Resolve DatabooleanNotrueBy default the launch response only includes the container ID. If activated, full container details are fetched automatically.
JSON ParametersbooleanNofalseWhether to provide arguments and bonus arguments as raw JSON strings instead of key-value pairs.
Additional FieldscollectionNo{}Optional launch settings — the arguments handed to the agent, plus how and when it is allowed to start.
— Arguments (JSON)jsonNoAgent argument as a JSON string. Retrieved with buster.argument in the agent’s script. (shown when JSON Parameters is true)
— ArgumentsfixedCollectionNo{}Agent arguments as key-value pairs. Nest the values under argumentValues; add one entry per argument. (shown when JSON Parameters is false)
— — KeystringNoName of the argument key to add.
— — ValuestringNoValue to set for the argument key.
— Bonus Argument (JSON)stringNoAgent bonus argument as a JSON string. Single-use, merged with original argument for this launch. Retrieved with buster.argument in the agent’s script. (shown when JSON Parameters is true)
— Bonus ArgumentfixedCollectionNo{}Bonus arguments as key-value pairs. Nest the values under bonusArgumentValue; add one entry per argument. (shown when JSON Parameters is false)
— — KeystringNoName of the bonus argument key to add.
— — ValuestringNoValue to set for the bonus argument key.
— Manual LaunchbooleanNofalseWhether the agent will be considered as “launched manually”.
— Max Instance CountnumberNo0If set, the agent will only be launched if the number of already running instances is below the specified number.
— Save ArgumentstringNoIf “true”, argument will be saved as the default launch options for the agent.

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

The Phantombuster response is merged onto the input item JSON — its fields are spread over the incoming item, so whatever your upstream nodes put on the item survives unless Phantombuster returns a field with the same name. Binary data on the input item is forwarded unchanged.

Item counts depend on the operation:

  • Delete, Get, Get Output and Launch produce exactly one output item per input item.
  • Get Many (getAll) fans out: one output item per agent in the organization. An account with twelve agents turns one input item into twelve output items.

Whenever a response is a list rather than an object, it lands on the item under items instead of being spread — this is what you get from a scraper whose result is an array of records.

What each operation merges:

OperationMerged onto the item
deletesuccess: true. Phantombuster returns no body for a delete, so this flag is the node’s confirmation that the call succeeded.
getThe agent record returned by Phantombuster.
getAllOne agent record per output item.
getOutputWith Resolve Data on, the run’s parsed result — an object spread onto the item, or an array under items. An agent that has not produced a result yet merges nothing, and a result that is not valid JSON lands under resultObject. With Resolve Data off, the raw output response, which carries containerId plus the run’s progress and console output.
launchWith Resolve Data off, the launch response, which carries the containerId of the queued run. With Resolve Data on, the full container record fetched with that ID.

A launch returns as soon as the agent is queued, so the container it reports is not finished yet. To collect results, follow the launch with a wait and then a Get Output call on the same agent.

Reference the result downstream by expression, for example {{ $json.containerId }}.

Failures do not merge anything onto the item: with error handling set to continue or errorPort a failed item is replaced by an error item instead.

Usage Examples

  • Launch a Phantombuster LinkedIn scraper agent
  • Get the output of a Phantombuster agent
  • List all Phantombuster agents in the organization
  • Delete a Phantombuster agent

Example Configuration

List every agent in the organization, one output item per agent, so you can look up IDs by name:

{
  "type": "phantombuster",
  "parameters": {
    "resource": "agent",
    "operation": "getAll",
    "returnAll": true
  }
}

Fetch a single agent’s configuration using an ID carried on the item:

{
  "type": "phantombuster",
  "parameters": {
    "resource": "agent",
    "operation": "get",
    "agentId": "{{ $json.agentId }}"
  }
}

Launch a scraper with key-value arguments and wait for the full container record to come back:

{
  "type": "phantombuster",
  "parameters": {
    "resource": "agent",
    "operation": "launch",
    "agentId": "{{ $json.agentId }}",
    "resolveData": true,
    "jsonParameters": false,
    "additionalFields": {
      "argumentsUi": {
        "argumentValues": [
          { "key": "spreadsheetUrl", "value": "https://docs.google.com/spreadsheets/d/example" },
          { "key": "numberOfProfiles", "value": "50" }
        ]
      },
      "manualLaunch": false,
      "maxInstanceCount": 1
    }
  }
}

Launch the same agent with a raw JSON argument instead, and a single-use bonus argument for this run only:

{
  "type": "phantombuster",
  "parameters": {
    "resource": "agent",
    "operation": "launch",
    "agentId": "{{ $json.agentId }}",
    "resolveData": false,
    "jsonParameters": true,
    "additionalFields": {
      "argumentsJson": "{\"spreadsheetUrl\":\"https://docs.google.com/spreadsheets/d/example\",\"numberOfProfiles\":50}",
      "bonusArgumentJson": "{\"sessionCookie\":\"abc123\"}",
      "saveArgument": "true"
    }
  }
}

Collect the parsed result of the agent’s most recent run:

{
  "type": "phantombuster",
  "parameters": {
    "resource": "agent",
    "operation": "getOutput",
    "agentId": "{{ $json.agentId }}",
    "resolveData": true
  }
}

Read only the console output produced after a known point in an earlier run:

{
  "type": "phantombuster",
  "parameters": {
    "resource": "agent",
    "operation": "getOutput",
    "agentId": "{{ $json.agentId }}",
    "resolveData": false,
    "additionalFields": {
      "prevContainerId": "3021234567890123",
      "prevStatus": "running",
      "prevRuntimeEventIndex": 5
    }
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Phantombuster manages and launches cloud-based web scraping and automation agents for LinkedIn scraping, social media data extraction, and lead generation.

Frequently asked questions

Does the node do the scraping itself?

No — it launches and manages agents that run on Phantombuster's infrastructure. The scraping happens there; the node orchestrates and collects.

How do I get an agent's results?

Launch it, then retrieve the output once it has completed. Agents run asynchronously, so a workflow usually launches and then checks back.

What are these agents typically used for?

Social media data extraction and lead generation — LinkedIn scraping being the most common.

Which credential does it need?

A Phantombuster API credential.

Build with the Phantombuster node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Phantombuster API credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.