Reference · Tools
Phantombuster
Manage and launch Phantombuster web scraping and automation agents.
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
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Phantombuster API credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| Agent | agent |
Operations
| Operation | Value | Description |
|---|---|---|
| Delete | delete | Delete an agent by ID |
| Get | get | Get an agent by ID |
| Get Many | getAll | Get many agents of the current user’s organization |
| Get Output | getOutput | Get the output of the most recent container of an agent |
| Launch | launch | Add 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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Agent ID | string | Yes | — | The ID of the agent to delete. Find agent IDs via the Phantombuster dashboard or the Get Many operation. |
Agent: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Agent ID | string | Yes | — | The ID of the agent to retrieve. |
Agent: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 25 | Max number of results to return. (shown when Return All is false) |
Agent: Get Output
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Agent ID | string | Yes | — | The ID of the agent whose output to retrieve. Find agent IDs via the Phantombuster dashboard or the Get Many operation. |
| Resolve Data | boolean | No | true | By default the output is presented as string. If this option gets activated, it will resolve the data automatically. |
| Additional Fields | collection | No | {} | Optional settings that narrow which part of the run’s output is returned. |
| — Prev Container ID | string | No | — | If set, the output will be retrieved from the container after the specified previous container ID. |
| — Prev Status | options | No | — | If 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 Index | number | No | 0 | If set, the container’s runtime events will be returned in the response starting from the provided previous runtime event index. |
Agent: Launch
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Agent ID | string | Yes | — | The ID of the agent to launch. Find agent IDs via the Phantombuster dashboard or the Get Many operation. |
| Resolve Data | boolean | No | true | By default the launch response only includes the container ID. If activated, full container details are fetched automatically. |
| JSON Parameters | boolean | No | false | Whether to provide arguments and bonus arguments as raw JSON strings instead of key-value pairs. |
| Additional Fields | collection | No | {} | Optional launch settings — the arguments handed to the agent, plus how and when it is allowed to start. |
| — Arguments (JSON) | json | No | — | Agent argument as a JSON string. Retrieved with buster.argument in the agent’s script. (shown when JSON Parameters is true) |
| — Arguments | fixedCollection | No | {} | Agent arguments as key-value pairs. Nest the values under argumentValues; add one entry per argument. (shown when JSON Parameters is false) |
| — — Key | string | No | — | Name of the argument key to add. |
| — — Value | string | No | — | Value to set for the argument key. |
| — Bonus Argument (JSON) | string | No | — | Agent 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 Argument | fixedCollection | No | {} | Bonus arguments as key-value pairs. Nest the values under bonusArgumentValue; add one entry per argument. (shown when JSON Parameters is false) |
| — — Key | string | No | — | Name of the bonus argument key to add. |
| — — Value | string | No | — | Value to set for the bonus argument key. |
| — Manual Launch | boolean | No | false | Whether the agent will be considered as “launched manually”. |
| — Max Instance Count | number | No | 0 | If set, the agent will only be launched if the number of already running instances is below the specified number. |
| — Save Argument | string | No | — | If “true”, argument will be saved as the default launch options for the agent. |
All Operations
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Max Concurrency | number | No | 10 | Maximum 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:
| Operation | Merged onto the item |
|---|---|
delete | success: true. Phantombuster returns no body for a delete, so this flag is the node’s confirmation that the call succeeded. |
get | The agent record returned by Phantombuster. |
getAll | One agent record per output item. |
getOutput | With 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. |
launch | With 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
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes 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 BusyBotLast updated . Spotted something wrong? Tell us.