# nodes

node_type: @waapi/n8n-nodes-waalaxy.waalaxy
package_name: @waapi/n8n-nodes-waalaxy
display_name: Waalaxy
description: Consume data from the Waalaxy API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: fabazad74
author_github_url: https://github.com/Waapi-Pro/n8n-nodes-waalaxy.git
npm_package_name: @waapi/n8n-nodes-waalaxy
npm_version: 1.0.7
community_fetched_at: 2026-02-19T14:41:52.417Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "prospect",
      "options": [
        {
          "name": "Prospect",
          "value": "prospect"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "importProspect",
      "options": [
        {
          "name": "Import",
          "value": "importProspect",
          "action": "Import",
          "routing": {
            "send": {
              "type": "body",
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "prospects/addProspectFromIntegration",
              "method": "POST"
            }
          },
          "description": "Import a prospect in the Waalaxy CRM"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "prospect"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Import",
      "value": "importProspect",
      "action": "Import",
      "routing": {
        "send": {
          "type": "body",
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "prospects/addProspectFromIntegration",
          "method": "POST"
        }
      },
      "description": "Import a prospect in the Waalaxy CRM"
    }
  ]

npm_readme:
  # n8n-nodes-waalaxy

  ![Waalaxy](https://img.shields.io/badge/Waalaxy-Integration-5C5CFF?style=for-the-badge)
  ![n8n](https://img.shields.io/badge/n8n-Community%20Node-FF6D5A?style=for-the-badge)
  ![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)

  This is an n8n community node that integrates [Waalaxy](https://waalaxy.com) with your n8n workflows. Waalaxy is a LinkedIn automation tool that helps you automate your prospecting and outreach campaigns.

  ## Table of Contents

  - [Features](#features)
  - [Installation](#installation)
  - [Credentials](#credentials)
  - [Operations](#operations)
    - [Prospect](#prospect)
  - [Usage Examples](#usage-examples)
  - [Development](#development)
  - [Resources](#resources)
  - [License](#license)

  ## Features

  - 🚀 **Add Prospects** — Import prospects into Waalaxy from any source via n8n
  - 📋 **Prospect Lists** — Dynamically select and manage prospect lists
  - 🎯 **Campaign Integration** — Automatically add prospects to campaigns
  - 🔄 **Duplicate Handling** — Control how duplicates are managed

  ## Installation

  ### Community Nodes (Recommended)

  1. Open your n8n instance
  2. Go to **Settings** > **Community Nodes**
  3. Select **Install**
  4. Enter `@waapi/n8n-nodes-waalaxy` in the input field
  5. Agree to the risks of using community nodes
  6. Click **Install**

  ### Manual Installation

  To install this node manually, run the following command in your n8n installation directory:

  ```bash
  npm install @waapi/n8n-nodes-waalaxy
  ```

  Then restart your n8n instance.

  ## Credentials

  Before using this node, you need to configure your Waalaxy API credentials.

  ### Setting Up Credentials

  1. In n8n, go to **Credentials** > **New Credential**
  2. Search for **Waalaxy API**
  3. Enter your **Access Token**
  4. Click **Save**

  ### Obtaining Your Access Token

  1. Log in to your [Waalaxy account](https://app.waalaxy.com)
  2. Navigate to your account settings
  3. Find the Integration section and generate an access token
  4. Copy the token and paste it into n8n

  > **Note:** Keep your access token secure and never share it publicly.

  ## Operations

  ### Prospect

  #### Add to List and Campaign

  Add prospects to a prospect list and optionally enroll them in a campaign.

  | Parameter                     | Type       | Required | Description                                      |
  | ----------------------------- | ---------- | -------- | ------------------------------------------------ |
  | Prospect List                 | Select     | Yes      | The prospect list to add prospects to            |
  | Campaign                      | Select     | No       | Optional campaign to enroll prospects in         |
  | Prospects                     | Collection | Yes      | List of prospects to add                         |
  | Move Duplicates to Other List | Boolean    | No       | Whether to move duplicates to the specified list |
  | Can Create Duplicates         | Boolean    | No       | Whether to allow creating duplicate prospects    |

  **Prospect Fields:**

  | Field                | Type       | Required | Description                                            |
  | -------------------- | ---------- | -------- | ------------------------------------------------------ |
  | LinkedIn URL         | String     | Yes      | The LinkedIn profile URL of the prospect               |
  | First Name           | String     | No       | First name of the prospect                             |
  | Last Name            | String     | No       | Last name of the prospect                              |
  | Email                | String     | No       | Email address of the prospect                          |
  | Company Name         | String     | No       | The name of the prospect's company                     |
  | Company LinkedIn URL | String     | No       | The LinkedIn URL of the prospect's company             |
  | Company Website      | String     | No       | The website of the prospect's company                  |
  | Headline             | String     | No       | The headline of the prospect (e.g. LinkedIn headline)  |
  | Occupation           | String     | No       | The occupation of the prospect                         |
  | Region               | String     | No       | The region/location of the prospect                    |
  | Gender               | Select     | No       | Gender of the prospect (Male, Female, Undetermined)    |
  | Birthday Day         | Number     | No       | The day of the month of the prospect's birthday (1-31) |
  | Birthday Month       | Number     | No       | The month of the prospect's birthday (1-12)            |
  | Phone Numbers        | Collection | No       | Phone numbers with type (Mobile, Work, Home, Other)    |

  ## Usage Examples

  ### Example 1: Bulk Import from Google Sheets

  1. **Google Sheets node** — Read prospect data from a spreadsheet
  2. **Waalaxy node** — Add prospects to your list and campaign

  ```
  [Google Sheets] → [Waalaxy: Add to List and Campaign]
  ```

  ### Example 2: Webhook Integration

  Automatically add new leads to Waalaxy when a form is submitted:

  ```
  [Webhook Trigger] → [Waalaxy: Add to List and Campaign]
  ```

  ### Example 3: CRM Integration

  Sync prospects from your CRM to Waalaxy campaigns:

  ```
  [HubSpot/Salesforce] → [Filter] → [Waalaxy: Add to List and Campaign]
  ```

  ## Development

  ### Prerequisites

  - Node.js (v18 or higher recommended)
  - npm or pnpm
  - n8n installed locally for testing

  ### Setup

  1. Clone the repository:

  ```bash
  git clone https://github.com/Waapi-Pro/n8n-nodes-waalaxy.git
  cd n8n-nodes-waalaxy
  ```

  2. Install dependencies:

  ```bash
  npm install
  ```

  3. Build the project:

  ```bash
  npm run build
  ```

  ### Available Scripts

  | Script                | Description                           |
  | --------------------- | ------------------------------------- |
  | `npm run build`       | Build the node for production         |
  | `npm run build:watch` | Build with watch mode for development |
  | `npm run dev`         | Start development mode                |
  | `npm run lint`        | Run ESLint to check for code issues   |
  | `npm run lint:fix`    | Automatically fix linting issues      |
  | `npm run release`     | Create a new release                  |

  ### Testing Locally

  To test the node locally with n8n:

  1. Build the node:

  ```bash
  npm run build
  ```

  2. Link the node to your global n8n installation:

  ```bash
  npm link
  ```

  3. In your n8n directory, link the package:

  ```bash
  npm link @waapi/n8n-nodes-waalaxy
  ```

  4. Start n8n:

  ```bash
  n8n start
  ```

  Alternatively, use the development mode:

  ```bash
  npm run dev
  ```

  ### Project Structure

  ```
  n8n-nodes-waalaxy/
  ├── credentials/
  │   └── WaalaxyApi.credentials.ts    # API credentials configuration
  ├── nodes/
  │   └── Waalaxy/
  │       ├── listSearch/              # Dynamic list loading functions
  │       │   ├── getCampaigns.ts      # Fetch available campaigns
  │       │   └── getProspectLists.ts  # Fetch available prospect lists
  │       ├── resources/
  │       │   └── prospect/            # Prospect resource operations
  │       │       ├── index.ts
  │       │       └── addToListAndCampaign.ts
  │       ├── shared/
  │       │   ├── descriptions.ts      # Shared UI components
  │       │   └── transport.ts         # API request helper
  │       ├── Waalaxy.node.ts          # Main node definition
  │       └── Waalaxy.node.json        # Node metadata
  ├── icons/                           # Node icons (light/dark themes)
  ├── dist/                            # Compiled output
  ├── package.json
  └── tsconfig.json
  ```

  ## Support

  If you encounter any issues or have questions:

  - Open an issue on [GitHub](https://github.com/Waapi-Pro/n8n-nodes-waalaxy/issues)
  - Contact the author at simon.moulin@waalaxy.fr

ai_documentation_summary:
  {"purpose":"Integrate Waalaxy with n8n workflows to import and manage prospects, add them to prospect lists, and optionally enroll them in Waalaxy campaigns.","capabilities":["Add prospects to a Waalaxy prospect list (bulk or individual)","Optionally enroll added prospects into a campaign","Select and manage prospect lists and campaigns dynamically","Map prospect fields (LinkedIn URL, name, email, company, headline, occupation, region, gender, birthday, phone numbers with types)","Handle duplicate behavior (move duplicates to another list, allow or prevent creating duplicates)","Accept collections of prospects for bulk imports"],"authentication":"API token (Access Token) — configure Waalaxy API credentials in n8n (Access Token)","commonUseCases":["Bulk import prospects from Google Sheets into Waalaxy lists and campaigns","Automatically add form/webhook leads to Waalaxy prospect lists and campaigns","Synchronize prospects from CRMs (HubSpot, Salesforce) into Waalaxy campaigns for outreach automation"],"limitations":["README documents only the 'Add to List and Campaign' prospect operation — other CRUD operations (update, delete, fetch) are not described","No documented handling of API rate limits or retry behavior in the node README"],"relatedNodes":["Google Sheets","Webhook Trigger","HubSpot","Salesforce","Filter"]}


node_type: n8n-nodes-businessmap.businessmap
package_name: n8n-nodes-businessmap
display_name: Businessmap
description: Read, write, update and delete data from Businessmap
category: Community
development_style: declarative
version: 1.0.5
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: businessmap
author_github_url: https://github.com/kanbanize/
npm_package_name: n8n-nodes-businessmap
npm_version: 1.0.5
community_fetched_at: 2026-02-19T14:41:52.417Z
ai_summary_generated_at: 2026-02-19 16:43:57
npm_readme:
  # n8n-nodes-businessmap

  This is the official n8n community node working with the [Businessmap API](https://demo.businessmap.io/openapi/). 

  **Businessmap** is the most flexible software platform for outcomes-driven enterprise agility. The unmatched functionality consolidates multiple tools into one, enabling affordable deployment at scale, visibility across all projects/portfolios, and alignment on goals, to deliver quality work faster. 


  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)
  [Compatibility](#compatibility)  
  [Usage](#usage)
  [Resources](#resources)  

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  ### Supported Triggers
  The **Businessmap n8n community node** supports the following triggers:
  * `All Events`
  * `Card Created`
  * `Card Details Changed`
  * `Card Discarded`
  * `Card Restored`
  * `Card Moved`
  * `Card Archived`
  * `Card Is Unarchived`
  * `Comment Created`
  * `Comment Updated`
  * `Comment Deleted`
  * `Subtask Created`
  * `Subtask Updated`
  * `Subtask Deleted`
  * `Board Renamed`
  * `Board Archived`
  * `Board Unarchived`
  * `Board Deleted`
  * `Board Structure Changed`

  ### Supported Actions
  The **Businessmap n8n community node** supports the following actions:
  * `Create Card`: Create a card in a board of your choice. Set card details including custom fields, stickers and tags.
  * `Update Card`: Update the properties of a card (Title, Description, Priority, Size, Deadline, etc.).
  * `Move Card`: Move a card to a new column, lane or board.
  * `Get Card by ID`: Get the details of a card by its internal ID.
  * `Get Card by Custom Card ID`: Find card by custom card ID. If multiple cards are found, all will be returned. Use "Board" parameter to filter search by boards.
  * `Get All Cards Per Board`: Get all cards from a selected board. The response contains up to 200 cards. To retrieve more than 200 cards, please use pagination.
  * `Link Card`: Link a card to an existing card.
  * `Unlink Card`: Remove a link between two cards.
  * `Set Custom Fields`: Sets values of custom fields.
  * `Block Card`: Block a card.
  * `Unblock Card`: Unblock a card.
  * `Archive Card`: Add card to archive.
  * `Unarchive Card`: Extract card from archive.
  * `Discard Card`: Discard a card.
  * `Restore Card`: Restore a previously discarded card.
  * `Add Comment`: Add a comment to a card.
  * `Create Subtask`: Create a new subtask of a card.
  * `Log Time`: Log time to a card.
  * `Upload Attachment`: Upload an attachment to a card.
  * `Download Attachment`: Download an attachment from a card.
  * `Get Card Attachments`: Get a list with all attachments for a specified card.
  * `Create Workspace`: Create a workspace.
  * `Update Workspace`: Update a workspace.
  * `Get Workspace`: Get a workspace.
  * `Get All Workspaces`: Get a list with all workspaces in the account.
  * `Create Board`: Create a board.
  * `Update Board`: Update a board.
  * `Get Board`: Get a board.
  * `Get All Boards`: Get a list with all boards.
  * `Get Board Structure`: Get board structure which includes all workflows, lanes and columns.
  * `Create Tag`: Create a tag.
  * `Update Tag`: Update a tag.
  * `Delete Tag`: Delete a tag.
  * `Get Tag`: Get a tag.
  * `Get All Tags`: Get a list with all tags.
  * `Assign Tag`: Assign a tag to a board.
  * `Create Sticker`: Create a sticker.
  * `Update Sticker`: Update a sticker.
  * `Delete Sticker`: Delete a sticker.
  * `Get Sticker`: Get a sticker.
  * `Get All Stickers`: Get a list with all stickers.
  * `Assign Sticker`: Assign a sticker to a board.


  ## Credentials

  * To use this **n8n community node**, you'll need a **Businessmap** account and a user with permissions to access the API. If you don’t have an account yet, [sign up here](https://businessmap.io/sign-up) to get started.

  To authenticate with the Businessmap API, you'll need to provide your domain name and API key when setting up your credentials. Follow the instructions provided on the [Businessmap API page](https://businessmap.io/api) to obtain your API key.

  ## Compatibility

  Requires n8n version 1.0.0 or later
  Requires Node.js 20.15.0 or later

  ## Usage

  * Visit our [Knowledge Base](https://knowledgebase.businessmap.io/hc/en-us) to find answers to all your questions regarding Businessmap.
  * Contact our [customer support](https://businessmap.io/customer-support) with any specific request.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/builtin/app-nodes/)
  * [Create Businessmap Account](https://businessmap.io/sign-up)
  * [Knowledge Base](https://knowledgebase.businessmap.io/hc/en-us)
  * [Businessmap API documentation](https://demo.businessmap.io/openapi/#/)

ai_documentation_summary:
  {"purpose":"Provides triggers and actions to interact with the Businessmap API from n8n — enabling workflows to read, create, update, move, archive, comment on, and otherwise manage Businessmap cards, boards, workspaces, tags, stickers, attachments, subtasks and time entries.","capabilities":["Triggers: All Events; Card events (Created, Details Changed, Discarded, Restored, Moved, Archived, Unarchived); Comment events (Created, Updated, Deleted); Subtask events (Created, Updated, Deleted); Board events (Renamed, Archived, Unarchived, Deleted, Structure Changed)","Cards: Create Card, Update Card, Move Card, Get Card by ID, Get Card by Custom Card ID, Get All Cards Per Board (pagination supported), Link Card, Unlink Card","Card state management: Set Custom Fields, Block Card, Unblock Card, Archive Card, Unarchive Card, Discard Card, Restore Card","Card interactions: Add Comment, Create Subtask, Log Time","Attachments: Upload Attachment, Download Attachment, Get Card Attachments (list)","Workspaces: Create Workspace, Update Workspace, Get Workspace, Get All Workspaces","Boards: Create Board, Update Board, Get Board, Get All Boards, Get Board Structure (workflows, lanes, columns)","Tags & Stickers: Create, Update, Delete, Get, Get All, Assign Tag/Sticker to board"],"authentication":"API key required (provide your Businessmap domain and API key in credentials)","commonUseCases":["Trigger workflows when cards or comments change (e.g., notify teams, update external systems)","Create or update cards in Businessmap from form submissions, issue trackers, or other tools","Automate board and workspace management (create/update boards or workspaces programmatically)","Manage tags/stickers and assign them to boards as part of automation","Sync attachments, comments, subtasks and time logs between Businessmap and other systems"],"limitations":["Get All Cards Per Board returns up to 200 cards per response — use pagination to retrieve more","Requires a Businessmap account and a user with API access (domain + API key); no OAuth2 flow described","Requires n8n >= 1.0.0 and Node.js >= 20.15.0"],"relatedNodes":[]}


node_type: n8n-nodes-triggercmd.triggercmd
package_name: n8n-nodes-triggercmd
display_name: TriggerCMD
description: Run a command on a computer.
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: rvandermey
author_github_url: https://github.com/rvmey/
npm_package_name: n8n-nodes-triggercmd
npm_version: 1.0.2
community_fetched_at: 2026-02-19T14:41:52.418Z
ai_summary_generated_at: 2026-02-19 16:43:57
npm_readme:
  # n8n-nodes-triggercmd

  This is an n8n community node. It lets you use TRIGGERcmd in your n8n workflows.

  TRIGGERcmd is a cloud service that allows you to run commands on your computers via the Internet.  You install the TRIGGERcmd agent on your Windows, Mac, or Linux computer, configure commands to run, then run them.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)
  [Compatibility](#compatibility)  
  [Usage](#usage)  
  [Resources](#resources)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  Run a command on a computer.

  ## Credentials

  Create an account at triggercmd.com and copy a token from the Instructions page.

  ## Compatibility

  Tested on n8n version 1.106.3

  ## Usage

  If the command you'll run on your computer via TRIGGERcmd has parameters enabled, you can use n8n node input data as command parameters.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [TRIGGERcmd](https://triggercmd.com)

ai_documentation_summary:
  {"purpose":"Trigger and run pre-configured commands on a Windows, macOS, or Linux computer via the TRIGGERcmd cloud service from an n8n workflow.","capabilities":["Run a configured TRIGGERcmd command on a registered computer","Pass n8n node input data as command parameters (when the command's parameters are enabled)","Operate with computers running Windows, macOS, or Linux via the TRIGGERcmd agent","Invoke remote scripts/commands over the Internet through the TRIGGERcmd service"],"authentication":"API token required (copy token from your TRIGGERcmd account Instructions page)","commonUseCases":["Remotely run maintenance or administration scripts on a computer","Trigger builds, deployments, or automation tasks on developer machines or servers","Execute OS-level commands (restart services, run updates) from workflows","Send dynamic values from an n8n workflow to a script via command parameters"],"limitations":["Requires the TRIGGERcmd agent installed and the desired commands configured on the target computer","Commands must have parameters enabled in TRIGGERcmd to accept n8n input as arguments","Depends on the TRIGGERcmd cloud service and network connectivity to reach the agent","Node tested with n8n version 1.106.3 — behavior on other versions may vary"],"relatedNodes":[]}


node_type: n8n-nodes-memara.memara
package_name: n8n-nodes-memara
display_name: Memara
description: Store and retrieve memories from Memara with semantic search
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: memaraio
author_github_url: https://github.com/memara-memory/
npm_package_name: n8n-nodes-memara
npm_version: 1.0.4
community_fetched_at: 2026-02-19T14:41:52.418Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "hidden",
      "default": "memory",
      "description": "n8n integrations work with memories within your assigned space",
      "displayName": "Resource"
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Memory",
          "value": "create",
          "action": "Create a memory",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true, \"id\": $response.body.id, \"memory\": $response.body } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "/api/v1/n8n/memories",
              "body": {
                "tags": "={{$parameter.tags ? $parameter.tags.split(\",\").map((tag) => tag.trim()).filter(Boolean) : []}}",
                "title": "={{$parameter.title}}",
                "content": "={{$parameter.content}}"
              },
              "method": "POST"
            }
          },
          "description": "Store information as a memory"
        },
        {
          "name": "Search Memories",
          "value": "search",
          "action": "Search memories",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ $response.body.memories || [] }}"
                  }
                }
              ]
            },
            "request": {
              "url": "/api/v1/n8n/search",
              "body": {
                "limit": "={{$parameter.limit || 10}}",
                "query": "={{$parameter.query}}"
              },
              "method": "POST"
            }
          },
          "description": "Find relevant memories using semantic search"
        },
        {
          "name": "Update Memory",
          "value": "update",
          "action": "Update a memory",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true, \"id\": $parameter.memoryId, \"memory\": $response.body } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/api/v1/n8n/memories/{{$parameter.memoryId}}",
              "body": {
                "tags": "={{$parameter.tags ? $parameter.tags.split(\",\").map((tag) => tag.trim()).filter(Boolean) : undefined}}",
                "title": "={{$parameter.title}}",
                "content": "={{$parameter.content}}"
              },
              "method": "PUT"
            }
          },
          "description": "Modify an existing memory"
        },
        {
          "name": "Delete Memory",
          "value": "delete",
          "action": "Delete a memory",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true, \"id\": $parameter.memoryId, \"deleted\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/api/v1/n8n/memories/{{$parameter.memoryId}}",
              "method": "DELETE"
            }
          },
          "description": "Remove a memory permanently"
        },
        {
          "name": "List Memories",
          "value": "list",
          "action": "List memories",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ $response.body.memories || [] }}"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "limit": "={{$parameter.limit || 50}}",
                "offset": "={{$parameter.offset || 0}}"
              },
              "url": "/api/v1/n8n/memories",
              "method": "GET"
            }
          },
          "description": "Get memories from your space"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "memory"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create Memory",
      "value": "create",
      "action": "Create a memory",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true, \"id\": $response.body.id, \"memory\": $response.body } }}"
              }
            }
          ]
        },
        "request": {
          "url": "/api/v1/n8n/memories",
          "body": {
            "tags": "={{$parameter.tags ? $parameter.tags.split(\",\").map((tag) => tag.trim()).filter(Boolean) : []}}",
            "title": "={{$parameter.title}}",
            "content": "={{$parameter.content}}"
          },
          "method": "POST"
        }
      },
      "description": "Store information as a memory"
    },
    {
      "name": "Search Memories",
      "value": "search",
      "action": "Search memories",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ $response.body.memories || [] }}"
              }
            }
          ]
        },
        "request": {
          "url": "/api/v1/n8n/search",
          "body": {
            "limit": "={{$parameter.limit || 10}}",
            "query": "={{$parameter.query}}"
          },
          "method": "POST"
        }
      },
      "description": "Find relevant memories using semantic search"
    },
    {
      "name": "Update Memory",
      "value": "update",
      "action": "Update a memory",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true, \"id\": $parameter.memoryId, \"memory\": $response.body } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/api/v1/n8n/memories/{{$parameter.memoryId}}",
          "body": {
            "tags": "={{$parameter.tags ? $parameter.tags.split(\",\").map((tag) => tag.trim()).filter(Boolean) : undefined}}",
            "title": "={{$parameter.title}}",
            "content": "={{$parameter.content}}"
          },
          "method": "PUT"
        }
      },
      "description": "Modify an existing memory"
    },
    {
      "name": "Delete Memory",
      "value": "delete",
      "action": "Delete a memory",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true, \"id\": $parameter.memoryId, \"deleted\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/api/v1/n8n/memories/{{$parameter.memoryId}}",
          "method": "DELETE"
        }
      },
      "description": "Remove a memory permanently"
    },
    {
      "name": "List Memories",
      "value": "list",
      "action": "List memories",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ $response.body.memories || [] }}"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "limit": "={{$parameter.limit || 50}}",
            "offset": "={{$parameter.offset || 0}}"
          },
          "url": "/api/v1/n8n/memories",
          "method": "GET"
        }
      },
      "description": "Get memories from your space"
    }
  ]

npm_readme:
  # Memara n8n Community Node

  ![Memara Logo](https://raw.githubusercontent.com/memara-ai/brand/main/logos/light/memara_logo_256x256.png)

  A powerful n8n community node that integrates Memara's semantic memory system into your workflows. Store, search, and retrieve memories with AI-powered semantic search capabilities.

  ## 🚀 Features

  - **Semantic Memory Storage**: Store information with intelligent context understanding
  - **AI-Powered Search**: Find relevant memories using natural language queries
  - **Memory Spaces**: Organize memories in isolated spaces for different projects
  - **CRUD Operations**: Complete create, read, update, delete functionality
  - **API Integration**: Direct integration with Memara's production API
  - **Easy Configuration**: Simple API key authentication setup

  ## 📦 Installation

  ### Option 1: n8n Community Node Installation (Recommended)

  1. In your n8n instance, go to **Settings** → **Community Nodes**
  2. Enter the package name: `n8n-nodes-memara`
  3. Click **Install**

  ### Option 2: Manual Installation

  ```bash
  # Using npm
  npm install n8n-nodes-memara

  # Using yarn
  yarn add n8n-nodes-memara
  ```

  ### Option 3: Development Installation

  ```bash
  # Clone and install locally
  git clone https://github.com/memara-ai/n8n-nodes-memara.git
  cd n8n-nodes-memara
  npm install
  npm run build
  npm link

  # Link to your n8n installation
  cd ~/.n8n/nodes
  npm link n8n-nodes-memara
  ```

  ## 🔧 Configuration

  ### 1. Get Your Memara API Key

  1. Visit [Memara Dashboard](https://app.memara.io)
  2. Go to **Settings** → **API Keys**
  3. Create a new API key
  4. Copy the key (format: `mk_live_...`)

  ### 2. Configure Credentials in n8n

  1. In n8n, create a new **Memara API** credential
  2. Enter your API key
  3. (Optional) Set a default Space ID
  4. Test the connection

  ### 3. Add Memara Node to Workflow

  1. In your workflow, click **Add Node**
  2. Search for "Memara"
  3. Select the Memara node
  4. Choose your configured credentials

  ## 📝 Usage Examples

  ### Basic Memory Creation

  ```json
  {
    "resource": "memory",
    "operation": "create",
    "content": "Customer John Smith reported billing issue with invoice #12345. Resolved by applying 10% discount due to delayed delivery.",
    "title": "Customer Issue Resolution",
    "tags": "customer-service, billing, discount"
  }
  ```

  ### Semantic Memory Search

  ```json
  {
    "resource": "memory",
    "operation": "search",
    "query": "billing problems with customers",
    "limit": 5
  }
  ```

  ### Memory Space Management

  ```json
  {
    "resource": "space",
    "operation": "create",
    "name": "Customer Support",
    "description": "Knowledge base for customer support team"
  }
  ```

  ## 🎯 Common Workflow Patterns

  ### 1. Customer Support Knowledge Base

  ```
  1. HTTP Request → Fetch support ticket
  2. Memara → Search for similar issues
  3. Memara → Create memory of resolution
  4. Email → Send response to customer
  ```

  ### 2. Content Creation Assistant

  ```
  1. Webhook → Receive content request
  2. Memara → Search for related content
  3. Code → Generate new content using context
  4. Memara → Store new content as memory
  ```

  ### 3. Lead Qualification System

  ```
  1. Form → Capture lead information
  2. Memara → Search for similar leads
  3. Memara → Store lead profile
  4. Slack → Alert sales team with context
  ```

  ## 🔍 Available Operations

  ### Memory Operations

  | Operation | Description | Required Parameters |
  |-----------|-------------|-------------------|
  | **Create** | Store new memory | `content` |
  | **Search** | Find relevant memories | `query` |
  | **Update** | Modify existing memory | `memoryId`, `content` |
  | **Delete** | Remove memory | `memoryId` |
  | **List** | Get all memories | None |

  ### Space Operations

  | Operation | Description | Required Parameters |
  |-----------|-------------|-------------------|
  | **List** | Get all spaces | None |
  | **Create** | Create new space | `name` |

  ## ⚙️ Parameters Reference

  ### Memory Parameters

  - **Content** (required): The main content/information to store
  - **Title** (optional): Short title for the memory
  - **Tags** (optional): Comma-separated tags for organization
  - **Space ID** (optional): Target space (uses default if not specified)
  - **Memory ID** (required for update/delete): Unique memory identifier

  ### Search Parameters

  - **Query** (required): Natural language search query
  - **Limit** (optional): Maximum results to return (1-100, default: 10)
  - **Space ID** (optional): Search within specific space

  ### Space Parameters

  - **Name** (required): Space name
  - **Description** (optional): Space description

  ## 🐛 Troubleshooting

  ### Common Issues

  #### "Invalid API Key" Error
  - Verify your API key is correct and starts with `mk_live_`
  - Check that the key hasn't expired in your Memara dashboard
  - Ensure you're using the production API URL: `https://api.memara.io`

  #### "Space Not Found" Error
  - Verify the Space ID exists in your Memara account
  - Check if you have access to the specified space
  - Use the List Spaces operation to see available spaces

  #### Node Not Appearing in n8n
  - Restart n8n after installation
  - Check that the package installed correctly: `npm list n8n-nodes-memara`
  - Verify n8n version compatibility (requires n8n 1.0+)

  ### Getting Help

  - **Documentation**: [docs.memara.io](https://docs.memara.io)
  - **API Reference**: [docs.memara.io/api](https://docs.memara.io/api)
  - **Support**: [support@memara.io](mailto:support@memara.io)
  - **Community**: [Join our Discord](https://discord.gg/memara)

  ## 🧪 Development

  ### Local Development Setup

  ```bash
  # Clone the repository
  git clone https://github.com/memara-ai/n8n-nodes-memara.git
  cd n8n-nodes-memara

  # Start development environment
  ./scripts/docker-n8n.sh start

  # Access environments
  # Development: http://localhost:5678 (admin/admin)
  # Testing: http://localhost:5679 (admin/admin)
  ```

  ### Available Scripts

  ```bash
  # Build the node
  ./scripts/docker-n8n.sh build

  # Run linter
  ./scripts/docker-n8n.sh lint

  # View logs
  ./scripts/docker-n8n.sh logs

  # Execute commands in container
  ./scripts/docker-n8n.sh exec npm test
  ```

  ## 📄 License

  MIT License - see [LICENSE.md](LICENSE.md) for details

  ## 🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

  ## 📞 Support

  - **Website**: [memara.io](https://memara.io)
  - **Documentation**: [docs.memara.io](https://docs.memara.io)
  - **Email**: [support@memara.io](mailto:support@memara.io)
  - **GitHub Issues**: [Report a bug](https://github.com/memara-ai/n8n-nodes-memara/issues)

  ---

  Made with ❤️ by the [Memara Team](https://memara.io)

ai_documentation_summary:
  {"purpose":"Integrate Memara's semantic memory system into n8n workflows to store, search, and manage memories using AI-powered semantic search.","capabilities":["Create memory (store content, optional title and tags)","Semantic search of memories using natural-language queries","Update existing memories by memoryId","Delete memories by memoryId","List memories","Create and list memory Spaces (isolate memories by project/team)","Specify/search within a Space ID and set a default Space ID","Direct API integration with Memara via API key"],"authentication":"API key required (Memara API key, format starts with mk_live_, configured in n8n credentials)","commonUseCases":["Customer support knowledge base: search similar issues and store resolutions","Content creation assistant: find related content and store new content as memories","Lead qualification and enrichment: find similar leads and store lead profiles"],"limitations":["Requires a valid Memara API key (must start with mk_live_)","Space IDs must exist and be accessible; 'Space Not Found' can occur if incorrect","Search limit constrained to 1–100 (default 10)","n8n compatibility requirement noted (requires n8n 1.0+)","Update/Delete operations require memoryId"],"relatedNodes":["HTTP Request","Webhook","Code","Email","Slack"]}


node_type: n8n-nodes-beyondpresence.beyondPresence
package_name: n8n-nodes-beyondpresence
display_name: Beyond Presence
description: Deploy video agents with Beyond Presence
category: Marketing & Content
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: nicolabeyondpresence
author_github_url: https://github.com/bey-dev/
npm_package_name: n8n-nodes-beyondpresence
npm_version: 0.4.0
community_fetched_at: 2026-02-19T14:41:52.447Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "agent",
      "options": [
        {
          "name": "Agent",
          "value": "agent"
        },
        {
          "name": "Avatar",
          "value": "avatar"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new agent",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "setKeyValue",
                  "properties": {
                    "id": "={{ $responseItem.id }}",
                    "call_link": "=https://bey.chat/{{ $responseItem.id }}"
                  }
                }
              ]
            },
            "request": {
              "url": "/agent",
              "body": {
                "name": "={{ $parameter.name }}",
                "greeting": "={{ $parameter.greeting }}",
                "language": "={{ $parameter.language }}",
                "avatar_id": "={{ $parameter.avatarId }}",
                "capabilities": "={{ $parameter.capabilities }}",
                "system_prompt": "={{ $parameter.systemPrompt }}",
                "max_session_length_minutes": "={{ $parameter.maxSessionLengthMinutes }}"
              },
              "method": "POST"
            }
          },
          "description": "Deploy a new agent with configuration"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get the available avatars",
          "routing": {
            "request": {
              "url": "/avatar",
              "method": "GET"
            }
          },
          "description": "Get the available Avatars"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "avatar"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a new agent",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "setKeyValue",
              "properties": {
                "id": "={{ $responseItem.id }}",
                "call_link": "=https://bey.chat/{{ $responseItem.id }}"
              }
            }
          ]
        },
        "request": {
          "url": "/agent",
          "body": {
            "name": "={{ $parameter.name }}",
            "greeting": "={{ $parameter.greeting }}",
            "language": "={{ $parameter.language }}",
            "avatar_id": "={{ $parameter.avatarId }}",
            "capabilities": "={{ $parameter.capabilities }}",
            "system_prompt": "={{ $parameter.systemPrompt }}",
            "max_session_length_minutes": "={{ $parameter.maxSessionLengthMinutes }}"
          },
          "method": "POST"
        }
      },
      "description": "Deploy a new agent with configuration"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get the available avatars",
      "routing": {
        "request": {
          "url": "/avatar",
          "method": "GET"
        }
      },
      "description": "Get the available Avatars"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    }
  ]

npm_readme:
  # n8n-nodes-beyondpresence

  > **Currently in BETA and under active development.**

  This is an n8n community node for integrating [Beyond Presence](https://docs.bey.dev) — deploy and manage AI-driven video agents directly from your workflows.

  ## Features

  - **Process webhook**: Handle and filter webhook events from Beyond Presence.
  - **Create agent**: Create a video agent and get a ready-to-use call link.
  - **Get available avatars**: Fetch available avatars for use.

  More resources and operations coming soon.

  ## Installation

  Follow the [n8n community node installation guide](https://docs.n8n.io/integrations/community-nodes/installation).

  ## Credentials

  [Create an API key](https://docs.bey.dev/api-key) and configure it in the node credentials.

  ## Compatibility

  Requires n8n v1.39.1 or higher.

  ## Resources

  - [Beyond Presence webhook n8n integration](https://docs.bey.dev/webhooks/n8n)
  - [Beyond Presence API docs](https://docs.bey.dev)
  - [n8n community nodes docs](https://docs.n8n.io/integrations)

ai_documentation_summary:
  {"purpose":"Integrate Beyond Presence into n8n workflows to deploy and manage AI-driven video agents — create agents, handle webhook events, and fetch available avatars directly from your automations.","capabilities":["Process and filter Beyond Presence webhook events","Create a video agent and return a ready-to-use call link","Fetch available avatars for use when creating/configuring agents"],"authentication":"API key required","commonUseCases":["Automatically create and provision a video agent and share its call link from a workflow","Trigger downstream workflows in n8n when Beyond Presence sends webhook events (e.g., call started/completed)","Retrieve available avatars to present options or configure agents programmatically"],"limitations":["Beta and under active development — features and behavior may change","Currently limited operations (webhook processing, create agent, get avatars); more operations planned","Requires n8n v1.39.1 or higher","Only API key authentication documented (no OAuth or alternate auth methods mentioned)"],"relatedNodes":["Webhook","HTTP Request","Credentials"]}


node_type: n8n-nodes-craftmypdf.craftMyPdf
package_name: n8n-nodes-craftmypdf
display_name: CraftMyPdf
description: Consume the CraftMyPDF API
category: Productivity
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: craftmypdf
author_github_url: https://github.com/craftmypdf/
npm_package_name: n8n-nodes-craftmypdf
npm_version: 0.1.12
community_fetched_at: 2026-02-19T14:41:52.448Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "account",
      "options": [
        {
          "name": "Account",
          "value": "account"
        },
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "PDF",
          "value": "pdf"
        },
        {
          "name": "Transaction",
          "value": "transaction"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get account information",
          "description": "Get account information"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an image",
          "description": "Creates an image file with JSON data and your template"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a PDF",
          "description": "Creates a PDF file with JSON data and your template"
        },
        {
          "name": "Create Async",
          "value": "createAsync",
          "action": "Create a PDF asynchronously",
          "description": "Creates a PDF file asynchronously with JSON data and your template. The API returns immediately and once the PDF document is generated, it will make a HTTP/HTTPS GET to your URL (will retry for 3 times before giving up)."
        },
        {
          "name": "Merge",
          "value": "merge",
          "action": "Merge multiple PDF files",
          "description": "Merges multiple PDF URLs"
        },
        {
          "name": "Add Watermark",
          "value": "addWatermark",
          "action": "Add watermark",
          "description": "Add watermark to a PDF"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pdf"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List transactions",
          "description": "List transactions"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "transaction"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get",
      "value": "get",
      "action": "Get account information",
      "description": "Get account information"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create an image",
      "description": "Creates an image file with JSON data and your template"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a PDF",
      "description": "Creates a PDF file with JSON data and your template"
    },
    {
      "name": "Create Async",
      "value": "createAsync",
      "action": "Create a PDF asynchronously",
      "description": "Creates a PDF file asynchronously with JSON data and your template. The API returns immediately and once the PDF document is generated, it will make a HTTP/HTTPS GET to your URL (will retry for 3 times before giving up)."
    },
    {
      "name": "Merge",
      "value": "merge",
      "action": "Merge multiple PDF files",
      "description": "Merges multiple PDF URLs"
    },
    {
      "name": "Add Watermark",
      "value": "addWatermark",
      "action": "Add watermark",
      "description": "Add watermark to a PDF"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List transactions",
      "description": "List transactions"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    }
  ]

npm_readme:
  # n8n-nodes-craftmypdf

  This is an n8n community node. It lets you use [CraftMyPdf](https://craftmypdf.com) in your n8n workflows.

  [CraftMyPdf](https://craftmypdf.com) offers PDF generation API and image generation API. CraftMyPDF's advanced drag & drop editor lets you design PDF templates in any browser and generate pixel-perfect PDF documents from reusable templates and data with no-code platforms such as N8n, Zapier, Make, Bubble.io or REST API.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  The sections:
  - [Installation](#installation)  
  - [Operations](#operations)  
  - [Credentials](#credentials) <!-- delete if no auth needed -->  
  - [Compatibility](#compatibility)  
  - [Usage](#usage) <!-- delete if not using this section -->  
  - [Resources](#resources)
  - [License](#license)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  The following are the options:

  | Name           | Operation         | Description                                                                                                                    | Action                         | Documentation Link                                                                                                           |
  |----------------|---------------|--------------------------------------------------------------------------------------------------------------------------------|--------------------------------|-----------------------------------------------------------------------------------------------------------------------------|
  | Create         | `create`      | Creates a PDF file with JSON data and your template.                                                                          | Create a PDF                   | [Link](https://craftmypdf.com/docs/index.html#tag/PDF-Generation-API/operation/create)                                       |
  | Create Async   | `createAsync` | Creates a PDF file asynchronously with JSON data and your template. The API returns immediately, and will retry for 3 times.  | Create a PDF asynchronously    | [Link](https://craftmypdf.com/docs/index.html#tag/PDF-Generation-API/operation/create-async)                                |
  | Merge          | `merge`       | Merges multiple PDF URLs.                                                                                                     | Merge multiple PDF files       | [Link](https://craftmypdf.com/docs/index.html#tag/PDF-Manipulation-API/operation/merge-pdfs)                                |
  | Add Watermark  | `addWatermark`| Adds a watermark to a PDF.                                                                                                    | Add watermark                  | [Link](https://craftmypdf.com/docs/index.html#tag/PDF-Manipulation-API/operation/add-watermark)                             |


  ## Credentials

  You only need a CraftMyPdf API Key for this, you can get it in the API Integration tab in the web portal.

  ## Compatibility

  This package was developed & tested with n8n > 1.4.0.

  ## Usage

  Please check out the [CraftMyPdf API Reference](https://craftmypdf.com/docs/index.html) for more information on how to use the integration.

  ## License
  CraftMyPDF/n8n-nodes-craftmypdf is licensed under the [MIT License](LICENSE.md).

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [CraftMyPdf API Reference](https://craftmypdf.com/docs/index.html)

ai_documentation_summary:
  {"purpose":"n8n node to interact with the CraftMyPdf API, enabling template-driven PDF generation and PDF manipulation from within n8n workflows (synchronous and asynchronous generation, merging, watermarking).","capabilities":["Create PDF from a CraftMyPdf template using JSON data","Create PDF asynchronously (API returns immediately; CraftMyPdf will retry up to 3 times)","Merge multiple PDF URLs into a single PDF","Add watermark to an existing PDF"],"authentication":"API key required","commonUseCases":["Generate invoices, reports, contracts or other documents from reusable templates and structured data","Perform bulk or background PDF generation using the async create operation","Combine multiple generated or external PDFs into a single document (merge)","Apply watermarks (e.g., 'Confidential' or draft stamps) to generated or existing PDFs before distribution"],"limitations":[],"relatedNodes":[]}


node_type: n8n-nodes-fluentc.fluentCTranslate
package_name: n8n-nodes-fluentc
display_name: FluentC Translate
description: Translate text or HTML using FluentC AI
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: fluentc
author_github_url: https://github.com/FluentC/
npm_package_name: n8n-nodes-fluentc
npm_version: 1.2.7
community_fetched_at: 2026-02-19T14:41:52.449Z
ai_summary_generated_at: 2026-02-19 16:43:57
npm_readme:
  # FluentC N8N Plugin

  This N8N community plugin provides integration with the FluentC AI Translation API, enabling you to translate text and HTML content and detect languages within your N8N workflows.

  ## Features

  - **Translation**: Support for both real-time and batch translation modes
  - **Language Detection**: Detect the language of input content
  - **Language Retrieval**: Fetch lists of supported and source languages
  - **Dynamic Language Selection**: Dropdown menus populated with your API key's enabled languages
  - **Format Support**: Handle both text and HTML content
  - **Automatic Polling**: Batch jobs are automatically polled until completion
  - **Comprehensive Output**: Returns all metadata including token counts, detected languages, and model information
  - **Error Handling**: Graceful error handling with continue-on-fail support
  - **Language Management**: Direct link to manage enabled languages on your account

  ## Installation

  The installation method depends on your n8n setup. Choose the appropriate method below:

  ### Method 1: n8n GUI Installation (Recommended for self-hosted n8n)

  This is the easiest method for self-hosted n8n instances:

  1. **Open n8n Settings**: In your n8n instance, go to **Settings** > **Community Nodes**
  2. **Install Node**: Click **Install** 
  3. **Enter Package Name**: Enter `n8n-nodes-fluentc` in the "Enter npm package name" field
  4. **Accept Risk**: Check "I understand the risks of installing unverified code from a public source"
  5. **Install**: Click **Install**
  6. **Restart**: The nodes will be available immediately after installation

  ### Method 2: Verified Community Nodes (for n8n Cloud and recent versions)

  If this package gets verified by n8n (future goal):

  1. **Open Nodes Panel**: Go to the Canvas and open the nodes panel (click '+' or press Tab)
  2. **Search**: Search for "FluentC" 
  3. **Install from Community**: Look for the "More from the community" section
  4. **Install**: Click on the FluentC node and select **Install**

  ### Method 3: Manual Installation (for Docker/advanced setups)

  For Docker containers, queue mode, or when GUI installation isn't available:

  #### For Docker Containers:

  1. **Access Docker Shell**: 
     ```bash
     docker exec -it [your-n8n-container-name] sh
     ```

  2. **Create nodes directory** (if it doesn't exist):
     ```bash
     mkdir -p ~/.n8n/nodes
     cd ~/.n8n/nodes
     ```

  3. **Install the package**:
     ```bash
     npm install n8n-nodes-fluentc
     ```

  4. **Restart n8n container**

  #### For npm-based installations:

  1. **Navigate to n8n nodes directory**:
     ```bash
     cd ~/.n8n/nodes
     ```
     (Create the directory if it doesn't exist: `mkdir -p ~/.n8n/nodes`)

  2. **Install the package**:
     ```bash
     npm install n8n-nodes-fluentc
     ```

  3. **Restart n8n**

  ### Method 4: Custom Docker Build

  For permanent installation in a custom Docker image:

  ```dockerfile
  FROM n8nio/n8n:latest
  RUN cd ~/.n8n/ && mkdir -p nodes && cd nodes && npm install n8n-nodes-fluentc
  ```

  ## Verification

  After installation, verify the nodes are available:

  1. Create a new workflow
  2. Click the '+' button to add a node
  3. Search for "FluentC" in the node search
  4. You should see:
     - **FluentC Translate** (with package icon)
     - **FluentC Check Language** (with package icon)
     - **FluentC Languages** (with package icon)

  ## Setup

  ### 1. Create FluentC API Credentials

  1. In N8N, go to **Credentials** > **New**
  2. Search for "FluentC API" and select it
  3. Enter your FluentC API key (obtained from the FluentC sales website)
  4. Test and save the credential

  ### 2. Using the Nodes

  #### FluentC Translate Node

  This node handles text and HTML translation with support for both real-time and batch modes.

  **Parameters:**
  - **Mode**: Choose between "Real-time" (synchronous) or "Batch" (asynchronous)
  - **Input**: Text or HTML content to translate (max 100,000 bytes)
  - **Input Format**: Select "Text" or "HTML"
  - **Target Language**: Dropdown populated with your enabled target languages
  - **Source Language**: Dropdown with your enabled source languages (optional, includes "Auto-detect")
  - **Max Polling Attempts**: (Batch mode only) Maximum polling attempts for batch jobs (default: 30)

  **Language Management:**
  The language dropdowns are dynamically populated based on your API key's enabled languages. If you need additional languages, you'll see a link to visit www.fluentc.io to manage your language access.

  **Output:**
  The node returns all available data including:
  - `translation`: The translated content
  - `token_count`: Number of tokens used
  - `source_language_detected`: Detected source language
  - `model_used`: AI model used for translation
  - `metadata`: Additional metadata
  - `mode`: Translation mode used
  - `input_format`: Input format processed
  - `target_language`: Target language

  #### FluentC Check Language Node

  This node detects the language of input content.

  **Parameters:**
  - **Input**: Text or HTML content to analyze
  - **Input Format**: Select "Text" or "HTML"

  **Output:**
  - `detected_language`: Two-letter language code of detected language
  - `confidence`: Confidence score (0-1) for the detection
  - `input_format`: Input format processed
  - `input_length`: Length of analyzed content

  #### FluentC Languages Node

  This node fetches the lists of supported and source languages from your FluentC account.

  **Parameters:**
  This node has no parameters. It only requires a configured FluentC API credential.

  **Output:**
  - `supported_languages`: An array of objects, each with `code` and `name` of a language available for translation as a target.
  - `source_languages`: An array of objects, each with `code` and `name` of a language available as a source for translation.

  ## Usage Examples

  ### Basic Translation Workflow

  1. Add a **FluentC Translate** node to your workflow
  2. Configure it with:
     - Mode: "Real-time"
     - Input: "Hello, how are you today?"
     - Input Format: "Text"
     - Target Language: Select "Spanish (es)" from dropdown
  3. The output will include the Spanish translation and metadata

  ### Batch Translation for Large Content

  1. Use **FluentC Translate** node with:
     - Mode: "Batch"
     - Input: Your large HTML or text content
     - Target Language: Your desired language code
  2. The node will automatically poll until the translation is complete

  ### Language Detection Before Translation

  1. Add a **FluentC Check Language** node first
  2. Connect it to a **FluentC Translate** node
  3. Use the detected language as the source language parameter

  ### Retrieving Language Lists

  1. Add a **FluentC Languages** node to your workflow.
  2. Execute the node.
  3. The output will contain two arrays: `supported_languages` and `source_languages`, which you can then use in other parts of your workflow.

  ## Troubleshooting

  ### Nodes Not Appearing

  If nodes don't appear after installation:

  1. **Check Installation Method**: Ensure you used the correct method for your setup
  2. **Restart n8n**: Always restart n8n after manual installation
  3. **Check Directory**: For manual installs, verify the package is in `~/.n8n/nodes/`
  4. **Check Permissions**: Ensure n8n has read permissions for the nodes directory
  5. **Check Logs**: Look at n8n logs for any error messages during startup

  ### Permission Issues

  For Docker installations, you might need to ensure proper permissions:

  ```bash
  # Inside the container
  chown -R node:node ~/.n8n/nodes
  ```

  ### Queue Mode

  If you're running n8n in queue mode, you **must** use manual installation (Method 3).

  ## Error Handling

  The plugin includes comprehensive error handling:

  - **Content Size Validation**: Prevents requests exceeding 100,000 bytes
  - **Batch Timeout Protection**: Limits polling attempts to prevent infinite loops  
  - **API Error Handling**: Gracefully handles API errors and rate limits
  - **Continue on Fail**: Option to continue workflow execution even if translation fails

  ## API Rate Limits

  The plugin respects FluentC API rate limits and uses the recommended polling intervals returned by the batch API to avoid overwhelming the service.

  ## Development & Publishing

  This package follows n8n community node standards:

  - ✅ Package name starts with `n8n-nodes-`
  - ✅ Includes `n8n-community-node-package` keyword
  - ✅ No runtime dependencies (only devDependencies)
  - ✅ Proper n8n configuration in package.json
  - ✅ Built TypeScript with proper exports

  ## Support

  For issues related to this N8N plugin, please check:

  1. **FluentC API Documentation**: https://fluentc.ai/docs
  2. **N8N Community**: https://community.n8n.io
  3. **Plugin Repository**: https://github.com/FluentC/n8n-nodes-fluentc
  4. **n8n Community Nodes Documentation**: https://docs.n8n.io/integrations/community-nodes/

  ## License

  MIT License - see LICENSE file for details.

  ---

  **Note**: You need a valid FluentC API key to use this plugin. API keys are obtained through the FluentC sales website.

ai_documentation_summary:
  {"purpose":"Translate text or HTML and perform language detection within n8n workflows using the FluentC AI Translation API, supporting both synchronous (real-time) and asynchronous (batch) modes.","capabilities":["Real-time (synchronous) translation of text or HTML","Batch (asynchronous) translation with automatic polling until completion","Language detection for text or HTML inputs","Fetch supported target and source languages from the FluentC account","Dynamic dropdowns populated with languages enabled on the provided API key","Handle both Text and HTML input formats (max 100,000 bytes)","Return comprehensive output metadata (translation, token_count, detected source language, model_used, mode, input_format, metadata)","Configurable max polling attempts for batch jobs (default 30)","Graceful error handling with continue-on-fail support","Direct link/reference to manage enabled languages on the FluentC account"],"authentication":"API key required (create/configure 'FluentC API' credentials in n8n and supply your FluentC API key)","commonUseCases":["Translate website content, emails, or text snippets between supported languages","Batch-translate large volumes of content and wait for job completion via automatic polling","Detect the language of incoming content to route or pre-process it","Populate workflow UI or logic with the account's enabled source/target languages","Integrate translation into CMS, localization, or content pipelines within n8n"],"limitations":["Input size limited to 100,000 bytes per request","Available source/target languages are limited to those enabled on the provided API key","Batch processing is asynchronous and relies on polling (default max polling attempts: 30) which can introduce latency","No explicit model selection option exposed in node parameters (model is reported in output)","Plugin may not be verified in n8n community registry (installation methods vary by environment)"],"relatedNodes":["FluentC Check Language","FluentC Languages"]}


node_type: n8n-nodes-referral-factory.referralFactory
package_name: n8n-nodes-referral-factory
display_name: Referral Factory
description: Get data from Referral Factory API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: referral-factory
author_github_url: https://github.com/referralfactory/
npm_package_name: n8n-nodes-referral-factory
npm_version: 0.2.14
community_fetched_at: 2026-02-19T14:41:52.449Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "create_user",
      "options": [
        {
          "name": "Add New User",
          "value": "create_user",
          "action": "Add new user",
          "routing": {
            "request": {
              "url": "/users",
              "body": {
                "email": "={{$parameter[\"email\"]}}",
                "first_name": "={{$parameter[\"first_name\"]}}",
                "campaign_id": "={{$parameter[\"campaign_id\"]}}"
              },
              "method": "POST"
            }
          },
          "description": "Add new user in Referral Factory"
        },
        {
          "name": "Qualify a User",
          "value": "qualify_user",
          "action": "Qualify a user",
          "description": "Qualify a user in Referral Factory"
        }
      ],
      "displayName": "Action",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Add New User",
      "value": "create_user",
      "action": "Add new user",
      "routing": {
        "request": {
          "url": "/users",
          "body": {
            "email": "={{$parameter[\"email\"]}}",
            "first_name": "={{$parameter[\"first_name\"]}}",
            "campaign_id": "={{$parameter[\"campaign_id\"]}}"
          },
          "method": "POST"
        }
      },
      "description": "Add new user in Referral Factory"
    },
    {
      "name": "Qualify a User",
      "value": "qualify_user",
      "action": "Qualify a user",
      "description": "Qualify a user in Referral Factory"
    }
  ]

npm_readme:
  # n8n-nodes-referral-factory

  🔗 A community-built [n8n](https://n8n.io) integration for [Referral Factory](https://referral-factory.com), enabling automation of your referral marketing campaigns.

  This package provides both **trigger** and **action** nodes to interact with the Referral Factory API—ideal for managing users, issuing rewards, and reacting to referral events like user joins or conversions.

  ---

  ## ✨ Features

  - 🧠 Trigger workflows from Referral Factory events (e.g., user joined, reward issued)
  - 🧾 Create new users or qualify referred users
  - 📡 Webhook-based event handling
  - 🔐 API Key authentication

  ---

  ## 📦 Installation

  ### In self-hosted n8n

  ```bash
  npm install n8n-nodes-referral-factory

ai_documentation_summary:
  {"purpose":"Provides trigger and action nodes to interact with the Referral Factory API, enabling automation of referral marketing workflows such as managing users, issuing rewards, and reacting to referral events.","capabilities":["Trigger workflows from Referral Factory events (e.g., user joined, reward issued, conversions)","Create new users in Referral Factory","Qualify referred users","Issue rewards and manage reward-related actions","Handle webhook-based events from Referral Factory","General read/write operations against the Referral Factory API"],"authentication":"API Key required","commonUseCases":["Start workflows when a user joins or a conversion occurs","Automatically issue or manage rewards when referral conditions are met","Create or update users in Referral Factory from other systems (CRM, forms)","Use webhooks to sync referral events to databases, messaging, or notification systems"],"limitations":[],"relatedNodes":["Trigger","Action","Webhook"]}


node_type: n8n-nodes-carbone.carbone
package_name: n8n-nodes-carbone
display_name: Carbone
description: Interact with Carbone.io API to manage templates and generate documents
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: steevepay
author_github_url: https://github.com/carboneio/
npm_package_name: n8n-nodes-carbone
npm_version: 1.2.1
community_fetched_at: 2026-02-19T14:41:52.450Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "template",
      "options": [
        {
          "name": "Template",
          "value": "template"
        },
        {
          "name": "Render Document",
          "value": "renderDocument"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List templates",
          "description": "List templates from Carbone.io"
        },
        {
          "name": "Upload",
          "value": "upload",
          "action": "Upload template",
          "description": "Upload a template to Carbone.io"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete template",
          "description": "Delete a template from Carbone.io"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "template"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate document",
          "description": "Generate a document from a template and JSON data"
        },
        {
          "name": "Get Document",
          "value": "get",
          "action": "Get generated document",
          "description": "Get a generated document from render ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "renderDocument"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "List",
      "value": "list",
      "action": "List templates",
      "description": "List templates from Carbone.io"
    },
    {
      "name": "Upload",
      "value": "upload",
      "action": "Upload template",
      "description": "Upload a template to Carbone.io"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete template",
      "description": "Delete a template from Carbone.io"
    },
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate document",
      "description": "Generate a document from a template and JSON data"
    },
    {
      "name": "Get Document",
      "value": "get",
      "action": "Get generated document",
      "description": "Get a generated document from render ID"
    }
  ]

npm_readme:
  # n8n-nodes-carbone

  This is an n8n community node. It lets you use Carbone.io in your n8n workflows.

  Carbone.io is a powerful document generation service that allows you to create professional PDF, DOCX, XLS, XLSX, ODT, PPTX, ODS, CSV and XML reports and documents from templates using JSON data. The easy-to-implement template concept frees you from design constraints, with a No/Low code approach.

  **Features**
  - Generate documents from templates using JSON data.
  - Upload, manage, and delete templates.
  - Advanced options: localization, currency conversion, and template versioning.
  - Supports Carbone API v4 and v5.


  **Real-World Use Cases for Carbone.io**<br>
  Carbone.io is ideal for generating:
  - Invoices and Receipts: Automate billing with dynamic data.
  - Contracts: Populate legal templates with customer details.
  - Reports: Financial, sales, or operational reports with charts and tables.
  - Proposals: Customized business proposals for clients.
  - Certificates: Automated certificates for training or events.
  - Labels and Packing Slips: Shipping and logistics documents.
  - Personalized Letters: Mass mail with custom recipient data.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  ### Document

  #### Generate Document
  Generate a document from a template and JSON data.

  **Parameters:**
  - **Use Base64 Template On The Fly**: Whether to use a base64 template instead of a template ID
  - **Template ID**: The template ID to use for generating the document (when not using base64 template)
  - **Template File (Base64)**: The template file encoded as base64 string (when using base64 template)
  - **Data**: JSON data-set to merge into the template
  - **Convert To**: Optional: Convert the document to another format (PDF, DOCX, HTML, ODT)
  - **Download Rendered Document**: Whether to download the rendered document directly or just get the render ID to fetch it later

  **Document Generation Additional Options:**
  - **Complement**: Additional data to complement the main dataset
  - **Currency Rates**: Currency conversion rates
  - **Currency Source**: The source currency for conversion
  - **Currency Target**: The target currency for conversion
  - **Enum**: Enumeration values for the template
  - **Hard Refresh**: Whether to force a hard refresh of the template
  - **Language**: The language to use for localization (default: fr)
  - **Report Name**: The name of the generated report
  - **Timezone**: The timezone to use for date formatting (default: Europe/Paris)
  - **Translations**: Translation mappings for the template
  - **Variable String**: A string containing variables to be processed

  #### Download Document
  Retrieve a generated document from render ID.

  **Parameters:**
  - **Render ID**: The render ID of the generated document to retrieve

  ### Templates

  #### List Templates
  Retrieve a list of all templates from your Carbone.io account with optional filtering capabilities.

  **Parameters:**
  - **Template ID**: Filter by specific template ID
  - **Version ID**: Filter by specific version ID
  - **Category**: Filter by template category
  - **Include Versions**: Include all versions for a specific template ID
  - **Search**: Search in template name (fuzzy search), version ID (exact) or template ID (exact)
  - **Limit**: Maximum number of results to return (default: 50)
  - **Cursor**: Cursor for pagination

  #### Upload Template
  Upload a new template file to Carbone.io or update an existing template.

  **Parameters:**
  - **Binary Property Name**: The name of the binary property that contains the template file
  - **Template Additional Options**:
    - **Deployed At**: When a report is generated using the new template ID, Carbone selects the template version with the highest deployedAt timestamp that is not in the future
    - **Enable Versioning**: Whether to enable template versioning (default: true)
    - **Template Comment**: Comment for the template
    - **Template ID**: The unique identifier of the template to update
    - **Template Name**: Name for the template

  #### Delete Template
  Delete a template from your Carbone.io account.

  **Parameters:**
  - **Template ID**: The unique identifier of the template to delete


  ## Credentials

  To use the Carbone.io node, you need to authenticate with your Carbone.io account.

  ### Prerequisites
  1. Sign up for a Carbone.io account at [carbone.io](https://carbone.io/)
  2. Obtain your API key from your Carbone.io dashboard

  ### Authentication Setup
  1. **API Key**: Your Carbone.io API key for authentication
  2. **API URL**: The base URL for Carbone.io API (default: https://api.carbone.io)
     - Change this if you're using a self-hosted instance
  3. **Carbone API Version**: The version of the Carbone API to use (4 or 5, default: 5)

  The node uses Bearer token authentication with the Authorization header and includes the carbone-version header for API versioning.

  ## Compatibility

  Tested with:
  - n8n: `1.111.1`, `1.112.5`
  - Carbone API: `v4`, `v5`
  - NodeJS: `22.10.0`

  ## Usage

  ### Basic Template Upload
  1. Add a Carbone node to your workflow
  2. Select "Template" as resource and "Upload" as operation
  3. Connect a node that provides the template file as binary data (e.g., Read Binary File node)
  4. Configure the binary property name to match the output of the previous node
  5. Optionally set template name and other metadata

  ### Basic Document Generation
  1. Add a Carbone node to your workflow
  2. Select "Render Document" as resource and "Generate" as operation
  3. Choose between using a template ID or base64 template
  4. Provide the JSON data to merge into the template
  5. Select the desired output format
  6. Choose whether to download the document directly or get a render ID

  ### Advanced Usage
  - **Template Versioning**: Enable versioning to keep track of template changes
  - **Localization**: Set language, timezone, and translations for multilingual documents
  - **Currency Conversion**: Use currency rates and source/target currency for financial documents


  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Carbone.io API Reference](https://carbone.io/api-reference.html)
  * [Carbone.io Documentation](https://carbone.io/documentation.html)
  * [Carbone.io Template Guide](https://carbone.io/documentation/design/overview/getting-started.html)

  ## Version history

  ### 1.2.1
  - Removed the empty "Additional Options" collection from all action.

  ### 1.2.0
  - Removed all `requestWithAuthentication` calls with `httpRequestWithAuthentication`.
  - Using now n8n-node-cli to lint/build/release

  ### 1.1.0
  - Removed redundant routing configurations from operation descriptions.
  - Replaced all `helpers.request()` calls with `this.helpers.httpRequestWithAuthentication()`.
  - Translate French error messages to English.


  ### 1.0.0
  - Initial release.
  - Template management operations: List, Upload, Delete.
  - Document rendering operations: Generate, Get.
  - Advanced options for document generation (localization, currency, etc.).
  - Support for both template ID and base64 template approaches.

ai_documentation_summary:
  {"purpose":"Interact with the Carbone.io API from n8n workflows to upload and manage templates and to generate and retrieve documents (PDF, DOCX, XLSX, ODT, HTML, etc.) from JSON data.","capabilities":["Generate documents from a template using JSON data","Use a template by ID or provide a base64-encoded template on the fly","Optionally convert output to formats (PDF, DOCX, HTML, ODT)","Choose to download the rendered document immediately or return a render ID to fetch later","Download/retrieve a generated document by render ID","Upload new templates or update existing templates from binary data","List templates with filtering, search, pagination and include versions","Delete templates","Template management options: enable versioning, set deployedAt, template name/comment, template ID","Advanced generation options: localization (language), timezone, currency conversion (rates/source/target), translations, enums, complement data, hard refresh, report name, variable string"],"authentication":"API key required (Bearer token via Authorization header). Configurable API URL and selectable Carbone API version (carbone-version header).","commonUseCases":["Automated invoices and receipts generation from billing data","Populating contracts and legal templates with customer data","Generating financial, sales, or operational reports with tables/charts","Creating customized proposals and business documents","Issuing certificates for trainings or events"],"limitations":["Authentication is API-key based (Bearer token); OAuth flows are not provided","Supports only Carbone API versions v4 and v5","Default language/timezone are set (language: fr, timezone: Europe/Paris) unless overridden"],"relatedNodes":["Read Binary File (for supplying template binary data)"]}


node_type: n8n-nodes-sinergiacrm.sinergiaCrm
package_name: n8n-nodes-sinergiacrm
display_name: SinergiaCRM
description: Perform operations on any module in SinergiaCRM (SuiteCRM API).
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: tecnologia-solidaria
author_github_url: https://github.com/Tecnologia-Solidaria/
npm_package_name: n8n-nodes-sinergiacrm
npm_version: 2.0.0
community_fetched_at: 2026-02-19T14:41:52.450Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get All",
          "value": "getAll",
          "action": "Get all records"
        },
        {
          "name": "Get One",
          "value": "getOne",
          "action": "Get a single record"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new record"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a record"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a record"
        },
        {
          "name": "Get Relationships",
          "value": "getRelationships",
          "action": "Get related records"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get All",
      "value": "getAll",
      "action": "Get all records"
    },
    {
      "name": "Get One",
      "value": "getOne",
      "action": "Get a single record"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a new record"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a record"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a record"
    },
    {
      "name": "Get Relationships",
      "value": "getRelationships",
      "action": "Get related records"
    }
  ]

npm_readme:
  # n8n-nodes-sinergiacrm

  A generic n8n node to operate with any SinergiaCRM (SuiteCRM 7.x+) module via the official JSON API.

  Supports CRUD operations, dynamic module and field discovery (including custom fields), advanced filtering, pagination, and relationship retrieval.

  ---

  ## Features

  - **Full CRUD** – Create, read, update, and delete any SuiteCRM module
  - **Dynamic discovery** – Auto-lists modules and fields, including custom fields
  - **Advanced filtering** – Filter records using operators, custom fields, pagination
  - **Relationship handling** – Retrieve related records from any entity
  - **OAuth2 authentication** – Native SuiteCRM client credentials flow
  - **Robust error handling** – Clear errors and maintainable structure

  ---

  ## Installation

  ```bash
  pnpm add n8n-nodes-sinergiacrm
  ```

  Or with npm:

  ```bash
  npm install n8n-nodes-sinergiacrm
  ```

  Add to your instance following [n8n's custom node guide](https://docs.n8n.io/integrations/creating-nodes/code/create-node/).

  ---

  ## Usage

  ### 1. Credentials

  - Create credentials in n8n of type **SinergiaCRM API**
  - Fill in your SuiteCRM domain, Client ID, and Client Secret  
    *(see SuiteCRM → Admin → OAuth2 Clients)*

  ### 2. Node Configuration

  - **Module:** Auto-discovered list from your API
  - **Operation:** Choose from Get All, Get One, Create, Update, Delete, Get Relationships
  - **Parameters:** Filters, IDs, pagination, or JSON payloads depending on operation

  ### 3. Example – Create a Contact

  Input data:
  ```json
  {
    "first_name": "John",
    "last_name": "Doe",
    "email1": "john.doe@example.com"
  }
  ```

  ---

  ## Supported Operations

  | Operation         | Description                                   |
  |------------------|-----------------------------------------------|
  | Get All          | Fetch records with optional filters & paging  |
  | Get One          | Retrieve a single record by ID                |
  | Create           | Add a new record (JSON fields)                |
  | Update           | Modify a record (PATCH with JSON)             |
  | Delete           | Remove a record by ID                         |
  | Get Relationships| Fetch related records of a module by ID       |

  ---

  ## Requirements

  - SuiteCRM 7.x+ with API and OAuth2 enabled
  - All modules and fields are fetched dynamically
  - For 1:N relations, set the "parent" ID on the child (SuiteCRM logic)
  - Tested against SuiteCRM v7+ JSON API

  ---

  ## Troubleshooting

  - `access_token` missing → Check credentials or OAuth2 setup
  - `405 Method Not Allowed` → PATCH may not be enabled in your SuiteCRM
  - Any API error is returned as node output for transparency

  ---

  ## Contributing

  Contributions welcome!  
  Feel free to open issues or PRs.

  ---

  ## License

  MIT

  ---

  **Maintainer:** Javier Quilez Cabello / [tecnologiasolidaria.org](https://tecnologiasolidaria.org)  
  **Support:** [SuiteCRM Forums](https://community.suitecrm.com/)  
  **Source:** [GitHub](https://github.com/tecnologiasolidaria/n8n-nodes-sinergiacrm)  
  **Docs:** [SuiteCRM JSON API](https://docs.suitecrm.com/developer/api/developer-setup-guide/json-api/)

ai_documentation_summary:
  {"purpose":"Operate on any SinergiaCRM / SuiteCRM module via the SuiteCRM JSON API, enabling CRUD and relationship operations with dynamic module/field discovery for use in n8n workflows.","capabilities":["Create records in any SuiteCRM module (JSON payload)","Get One record by ID","Get All records with advanced filtering and pagination","Update records (PATCH with JSON)","Delete records by ID","Get Relationships — retrieve related records of a module by ID","Dynamic discovery of modules and fields (including custom fields)","Advanced filtering with operators and custom-field support","OAuth2 (client credentials) authentication flow support","Robust error reporting (API errors returned as node output)"],"authentication":"OAuth2 (SuiteCRM client credentials - Client ID & Client Secret; configure 'SinergiaCRM API' credentials in n8n)","commonUseCases":["Create or update contacts, leads, accounts from form or external app data","Fetch lists of CRM records with filters and pagination for reporting or sync","Retrieve related records (e.g., contact’s cases or opportunities) for enrichment","Automate record lifecycle actions (create → update → delete) in workflows","Discover and use custom modules and custom fields dynamically in integrations"],"limitations":["Requires SuiteCRM 7.x+ with API and OAuth2 enabled","PATCH (update) may not be enabled on some SuiteCRM instances (can cause 405 errors)","For 1:N relationships, parent ID must be set on the child per SuiteCRM logic","Tested against SuiteCRM v7+ JSON API only (behavior on other versions not guaranteed)"],"relatedNodes":[]}


node_type: @nuelink/n8n-nodes-nuelink.nuelink
package_name: @nuelink/n8n-nodes-nuelink
display_name: Nuelink
description: Interact with Nuelink API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: bilalararou
author_github_url: https://github.com/Nuelink/n8n-nodes-nuelink.git
npm_package_name: @nuelink/n8n-nodes-nuelink
npm_version: 1.0.4
community_fetched_at: 2026-02-19T14:41:52.451Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "post",
      "options": [
        {
          "name": "Post",
          "value": "post"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createPost",
      "options": [
        {
          "name": "Create",
          "value": "createPost",
          "action": "Create post",
          "routing": {
            "request": {
              "url": "/pabbly",
              "method": "POST"
            }
          },
          "description": "Create a new post on Nuelink"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "createPost",
      "action": "Create post",
      "routing": {
        "request": {
          "url": "/pabbly",
          "method": "POST"
        }
      },
      "description": "Create a new post on Nuelink"
    }
  ]

npm_readme:
  # n8n-nodes-nuelink

  This is an n8n community node. It lets you use [Nuelink](https://nuelink.com) in your n8n workflows.

  Nuelink is a social media automation and scheduling platform that helps creators, brands, and businesses streamline their content distribution across multiple social media platforms.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)  
  [Compatibility](#compatibility)  
  [Usage](#usage)  
  [Resources](#resources)  
  [Version history](#version-history)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  - **Create Post**: Allows you to create a new post on Nuelink, specifying the content and the settings.

  ## Credentials

  Users need to authenticate with Nuelink to use this node. To set up authentication:
  1. Sign up for a Nuelink account at [Nuelink](https://nuelink.com).
  2. Create a new automation in the Nuelink dashboard.
  3. Obtain your API key from the automation settings.
  4. In n8n, add a new credential for Nuelink and enter your API key.

  ## Compatibility

  This node is compatible with n8n version 1.36.0 and above. It has been tested against the latest stable version of n8n.

  ## Usage

  1. Add a **Trigger** node (e.g., Webhook or Cron).
  2. Add the **Nuelink** node and choose an operation (e.g., Create Post).
  3. Select or create your API credentials.
  4. Configure your input data (e.g., post content, categories, image URLs).
  5. Connect additional nodes (e.g., filters, conditions, notifications) as needed.

  > **Note**  
  > This node is intended for users who are already familiar with n8n.  
  > If you're new to n8n, check out the [Try it out guide](https://docs.n8n.io/try-it-out/) to get started quickly.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Nuelink](https://nuelink.com)
  * [Nuelink help center](https://help.nuelink.com)

ai_documentation_summary:
  {"purpose":"Allow n8n workflows to create posts on Nuelink by calling the Nuelink API and supplying post content and settings.","capabilities":["Create Post — create a new post on Nuelink","Specify post content and post settings when creating a post","Attach categories to posts","Attach image URLs to posts","Use within automated workflows triggered by Webhook/Cron nodes"],"authentication":"API key required (enter Nuelink API key in n8n credentials)","commonUseCases":["Automate publishing of social media posts through Nuelink from n8n workflows","Trigger posts from external events (Webhook) or schedules (Cron)","Conditionally create posts as part of a larger workflow (use with filters/conditions)","Send notifications or follow-up actions after creating a post"],"limitations":["README documents only a Create Post operation — no read/update/delete operations mentioned","No detailed scheduling or advanced post-management options documented in the node","Requires n8n version 1.36.0 or newer","Assumes user familiarity with n8n; node-level beginner guidance is not included"],"relatedNodes":["Webhook (trigger)","Cron (trigger)","Filter","IF / Conditions","Notification nodes"]}


node_type: @pinecone-database/n8n-nodes-pinecone-assistant.pineconeAssistant
package_name: @pinecone-database/n8n-nodes-pinecone-assistant
display_name: Pinecone Assistant
description: A Pinecone Assistant node for n8n
category: Community
development_style: declarative
version: 0.1.9
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: pinecone-ops
author_github_url: https://github.com/pinecone-io/n8n-nodes-pinecone-assistant.git
npm_package_name: @pinecone-database/n8n-nodes-pinecone-assistant
npm_version: 0.1.9
community_fetched_at: 2026-02-19T14:41:52.451Z
ai_summary_generated_at: 2026-02-19 16:43:57
npm_readme:
  # n8n-nodes-pinecone-assistant

  This is the official [n8n](https://n8n.io/) community node for interacting with [Pinecone](https://www.pinecone.io/) Assistant in your workflows.

  [Pinecone Assistant](https://docs.pinecone.io/guides/assistant/overview) allows you to build production-grade chat and agent-based applications quickly. It abstracts the complexities of implementing retrieval-augmented (RAG) systems by managing the chunking, embedding, storage, query planning, vector search, model orchestration, and reranking for you.

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  ### Assistants

  #### List Assistants

  Retrieves a list of all Pinecone Assistants in your project. Use this operation to discover available assistants or populate assistant selection fields in your workflows.

  ##### Fields
  - **Additional Fields:**
    - **Source Tag** (optional): Specify a source tag to attribute usage to this integration. This is primarily used for Pinecone integration partners. Read more in the [Pinecone documentation](https://docs.pinecone.io/integrations/build-integration/attribute-usage-to-your-integration).

  ##### Output

  Returns an array of assistant objects containing assistant names and host URLs.

  ### Files

  #### List Files

  Retrieves all files associated with a specific Pinecone Assistant. Use this to see what files are available in an assistant, filter files by metadata, or verify file uploads.

  ##### Fields
  - **Assistant Name** (required): The name of the Pinecone Assistant to query. This list is populated dynamically based on your available assistants.
  - **Additional Fields:**
    - **Metadata Filter** (optional): Limit the list of files to only those matching the metadata filter. Add key-value pairs to filter by specific metadata.
    - **Advanced Metadata Filter (JSON)** (optional): Use advanced metadata filtering when you need support for operators like `$or`, `$ne`, `$in`, etc. Provide a JSON object with filter expressions. Learn more about metadata filter expressions in the [Pinecone documentation](https://docs.pinecone.io/guides/search/filter-by-metadata#metadata-filter-expressions).
    - **Source Tag** (optional): Specify a source tag to attribute usage to this integration. This is primarily used for Pinecone integration partners. Read more in the [Pinecone documentation](https://docs.pinecone.io/integrations/build-integration/attribute-usage-to-your-integration).

  **Note:** Only one of Metadata Filter or Advanced Metadata Filter can be set, not both.

  ##### Output

  Returns an array of file objects with their metadata and external file IDs.

  #### Upload File

  Uploads a new file to a Pinecone Assistant. Assistant automatically chunks, embeds, and indexes the file for retrieval. Use this to add new documents or content to your assistant's knowledge.

  ##### Fields
  - **Assistant Name** (required): The name of the Pinecone Assistant to upload the file to. This list is populated dynamically based on your available assistants.
  - **External File ID** (required): A unique identifier for the file in the Pinecone Assistant. This should be unique for each file.
  - **Input Data Field Name** (required): The name of the field in the input item that contains the file data. Default is "data".
  - **Additional Fields:**
    - **Metadata** (optional): A collection of key-value pairs to add as metadata to the file. This metadata can be used later for filtering files or context snippets.
    - **Source Tag** (optional): Specify a source tag to attribute usage to this integration. This is primarily used for Pinecone integration partners. Read more in the [Pinecone documentation](https://docs.pinecone.io/integrations/build-integration/attribute-usage-to-your-integration).

  **Note:** There is no need to specify External File ID in the metadata field directly as this operation will make sure it's set.

  ##### Output

  Returns the uploaded file information.

  #### Update File

  Updates an existing file in a Pinecone Assistant. This operation deletes the existing file(s) with the specified external file ID and uploads the new version.

  ##### Fields
  - **Assistant Name** (required): The name of the Pinecone Assistant containing the file to update. This list is populated dynamically based on your available assistants.
  - **External File ID** (required): The external file ID of the file to update. If the existing file does not exist, a new file will be uploaded. Use this to refresh or modify content in your assistant's knowledge base. If there are multiple files with the same external file ID, all will be updated.
  - **Input Data Field Name** (required): The name of the field in the input item that contains the updated file data. Default is "data".
  - **Additional Fields:**
    - **Metadata** (optional): A collection of key-value pairs to update the file's metadata.
    - **Source Tag** (optional): Specify a source tag to attribute usage to this integration. This is primarily used for Pinecone integration partners. Read more in the [Pinecone documentation](https://docs.pinecone.io/integrations/build-integration/attribute-usage-to-your-integration).

  ##### Output

  Returns the updated file information.

  #### Delete File

  Deletes a file from a Pinecone Assistant. Use this to remove outdated or unwanted content from your assistant's knowledge.

  ##### Fields
  - **Assistant Name** (required): The name of the Pinecone Assistant containing the file to delete. This list is populated dynamically based on your available assistants.
  - **External File ID** (required): The external file ID to identify the file in the Pinecone Assistant. If there are multiple files with the same external file ID, this operation will delete all of them.
  - **Additional Fields:**
    - **Source Tag** (optional): Specify a source tag to attribute usage to this integration. This is primarily used for Pinecone integration partners. Read more in the [Pinecone documentation](https://docs.pinecone.io/integrations/build-integration/attribute-usage-to-your-integration).

  ##### Output

  Returns a confirmation object with `deleted: true`.

  ### Context Snippets

  #### Get Context Snippets

  Retrieves relevant context snippets from a Pinecone Assistant based on a query. This is the core RAG (Retrieval-Augmented Generation) operation that finds and returns the most relevant chunks of text from your assistant's files that match your query. Use this to provide context to LLMs or to retrieve relevant information for your applications.

  ##### Fields
  - **Assistant Name** (required): The name of the Pinecone Assistant to query for context snippets. This list is populated dynamically based on your available assistants.
  - **Query** (required): The query text used to retrieve relevant context snippets. This is the search term that will be used to find matching content in your assistant's files.
  - **Additional Fields:**
    - **Include Multimodal Context** (optional): Whether to include multimodal context snippets. Default is `true`. When enabled, the assistant will return multimodal context snippets (e.g., images from PDFs) in addition to text snippets.
    - **Include Binary Content** (optional): Whether to include binary content with multimodal context snippets. Default is `true`. Only applies when Include Multimodal Context is enabled. When enabled, binary content (e.g., base64 image data) will be included in the response.
    - **Metadata Filter** (optional): Limit the context snippets to only those from files matching the metadata filter. Add key-value pairs to filter by specific metadata.
    - **Snippet Size** (optional): The maximum context snippet size in tokens. Default is 2048.
    - **Top K** (optional): The maximum number of context snippets to return. Default is 16.
    - **Advanced Metadata Filter (JSON)** (optional): Use advanced metadata filtering when you need support for operators like `$or`, `$ne`, `$in`, etc. Provide a JSON object with filter expressions. Learn more about metadata filter expressions in the [Pinecone documentation](https://docs.pinecone.io/guides/search/filter-by-metadata#metadata-filter-expressions).
    - **Source Tag** (optional): Specify a source tag to attribute usage to this integration. This is primarily used for Pinecone integration partners. Read more in the [Pinecone documentation](https://docs.pinecone.io/integrations/build-integration/attribute-usage-to-your-integration).

  **Note:** Only one of Metadata Filter or Advanced Metadata Filter can be set, not both.

  ##### Output

  Returns an array of context snippets with their text or image content, relevance scores, references, and associated metadata.

  ## Credentials

  To use the Pinecone Assistant node, you'll need a Pinecone account and an API key. You can get started for free on the Starter plan (refer to [current pricing and limits](https://docs.pinecone.io/guides/assistant/pricing-and-limits) for more info).

  1. Sign up for a [Pinecone account](https://app.pinecone.io/)
  2. Create an [API key](https://app.pinecone.io/organizations/-/projects/-/keys)

  ## Compatibility

  This node was tested locally against n8n 1.121.3.

  ## Usage

  Refer to our [Pinecone Assistant quickstart](https://docs.pinecone.io/guides/assistant/quickstart/n8n-quickstart) for n8n to get started with a pre-built workflow using this node, an Assistant, and Open AI.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * _Link to app/service documentation._

  ## Version history

  - V1

  ## Node development

  To develop, build, and run this node locally, use the `n8n-node` cli tool or `pnpm`. For more info on `n8n-node`, refer [here](https://docs.n8n.io/integrations/creating-nodes/build/n8n-node/).

  1. Install dependencies

  ```bash
  $ cd n8n-nodes-pinecone-assistant
  $ pnpm install
  ```
  2. Build the node

  This compiles Typescript files and bundles project assets into the `dist` folder.

  ```bash
  $ pnpm run build
  ```

  Running this will clean the `dist` folder.

  3. Test the node

  This runs a local instance of n8n with the node. It watches the project directory and automatically rebuilds when changes are detected.

  ```bash
  $ pnpm run dev
  ```

  Head over to http://localhost:5678 to test the node in a workflow.

  4. Run tests

  Run the unit test suite.

  ```bash
  $ pnpm test
  ```

  5. Versioning the node

  When making changes to a version of the node, ensure backwards compatibility with the current version. If it cannot be backwards compatible, create a new version:

  - In `PineconeAssistant.node.ts`, change `defaultVersion` to the new version number
  - In `PineconeAssistant.node.ts`, update the list of `nodeVersions`
  - Add a new version directory, named `v#` (i.e. `v2`)
  - In the new version directory, add the versioned node, `PineconeAssistantV2.node.ts` and all all functionality.


  6. Release the node and publish to npm

  Releases are performed via the **Release: NPM Package** GitHub Actions workflow. The workflow:

  - Lints and builds the project
  - Bumps the version in `package.json` (patch, minor, or major)
  - Updates `nodes/PineconeAssistant/version.json`
  - Regenerates `CHANGELOG.md` with [auto-changelog](https://github.com/CookPete/auto-changelog)
  - Commits the changes and creates a git tag
  - Builds again (so the published package contains the new version)
  - Publishes to npm with provenance
  - Pushes the commit and tag to the repository
  - Creates a draft GitHub release

  To release a new version:

  1. Open the **Actions** tab in the repository, select **Release: NPM Package**, and click **Run workflow**.
  2. Optionally choose a branch to release from (default is the repository default branch).
  3. Choose the release type: **patch** (bug fixes), **minor** (new features, backwards compatible), or **major** (breaking changes).
  4. Run the workflow. It uses the `npm-publish` environment; ensure npm trusted publishing (or your chosen auth) is configured for that environment.
  5. After the run completes, publish the draft GitHub release from the **Releases** page if you use GitHub releases.

  ## Contributing

  We welcome contributions! Please feel free to:
  - Submit issues and bug reports
  - Propose new features and improvements
  - Contribute code via pull requests
  - Share your use cases and success stories

  ## License

  This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

ai_documentation_summary:
  {"purpose":"A community n8n node to interact with Pinecone Assistant, enabling workflows to discover assistants and manage assistant files (upload, list, update, delete) while leveraging Pinecone's automatic chunking, embedding, indexing, and query orchestration.","capabilities":["List Assistants (returns assistant names and host URLs)","List Files for a given Assistant (supports metadata filtering and advanced JSON filter expressions)","Upload File to an Assistant (automatic chunking, embedding, and indexing)","Update File by External File ID (deletes existing file(s) with that ID and uploads new content)","Delete File from an Assistant","Support for Source Tag to attribute usage to an integration","Populate dynamic Assistant selection fields in workflows","Return structured assistant and file objects as operation outputs"],"authentication":"Not specified in README (Pinecone typically requires an API key; expect Pinecone API key / environment configuration in n8n credentials)","commonUseCases":["Populate assistant selection menus in automated workflows","Ingest documents into an assistant for retrieval-augmented applications","Refresh or replace documents in an assistant knowledge base","Filter and inspect files available to an assistant by metadata","Manage assistant content as part of content pipelines or ingestion automation"],"limitations":["README does not document authentication details (credentials setup not specified)","Only one of Metadata Filter or Advanced Metadata Filter (JSON) can be set at a time","Upload requires a unique External File ID; Update deletes existing file(s) with the same External File ID (may replace multiple files if duplicates exist)","No details provided about supported file types, file size limits, rate limits, or error handling in the README"],"relatedNodes":[]}


node_type: @searchapi/n8n-nodes-searchapi.searchApi
package_name: @searchapi/n8n-nodes-searchapi
display_name: SearchApi
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: searchapi_team
author_github_url: https://github.com/SearchApi/n8n-nodes-searchapi.git
npm_package_name: @searchapi/n8n-nodes-searchapi
npm_version: 2.0.4
community_fetched_at: 2026-02-19T14:41:52.452Z
ai_summary_generated_at: 2026-02-19 16:43:57
description:
  Access real-time search results from Google, Google Images, Google Maps, Google Shopping and more. Use this when you need current, up-to-date information, product searches, location data, or visual content that may not be available in your training data.

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "google",
      "options": [
        {
          "name": "Google Search",
          "value": "google"
        },
        {
          "name": "Google Images",
          "value": "google_images"
        },
        {
          "name": "Google Maps",
          "value": "google_maps"
        },
        {
          "name": "Google Shopping",
          "value": "google_shopping"
        }
      ],
      "description": "The search engine to use",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search",
          "routing": {
            "request": {
              "qs": {
                "engine": "={{ $parameter[\"resource\"] }}"
              }
            }
          },
          "description": "Search using the engine specified in the resource"
        }
      ],
      "displayName": "Operation Name",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Search",
      "value": "search",
      "action": "Search",
      "routing": {
        "request": {
          "qs": {
            "engine": "={{ $parameter[\"resource\"] }}"
          }
        }
      },
      "description": "Search using the engine specified in the resource"
    }
  ]

npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n SearchApi.io Node

  Search the web with [SearchApi.io](https://www.searchapi.io/) directly from your n8n workflows. The node exposes the full power of the `/api/v1/search` endpoint and supports **all engines and query parameters** offered by the service.

  > **Why SearchApi.io?**\
  > Real‑time SERP data from Google, Bing, DuckDuckGo, Yahoo, Yandex and more – no captchas, no proxies, one simple API.

  ---

  ## Installation

  ### Via the n8n UI (recommended)

  1. Open **Settings → Community Nodes** inside your self‑hosted n8n instance.
  2. Fill **npm Package Name** with `@searchapi/n8n-nodes-searchapi`.
  3. Select the package, accept the risk prompt, and hit **Install**.
  4. It should now appear as a node when you search for it.

  ### Via the command line

  ```bash
  # inside your n8n installation folder
  npm install @searchapi/n8n-nodes-searchapi
  # or with pnpm
  pnpm add @searchapi/n8n-nodes-searchapi
  ```

  Restart n8n after the install finishes.

  > **Compatibility**
  >
  > - n8n ≥ 1.30.0
  > - Node.js ≥ 18

  ---

  ## Credentials

  1. Sign up at **[SearchApi.io](https://www.searchapi.io/)** and copy your **API Key**.
  2. In n8n go to **Credentials → + New Credential → SearchApi**.
  3. Paste the key and save.\
     The new credential will now appear in the node’s **Credential** dropdown.

  ---

  ## Usage

  ### 1. Drag‑and‑drop UI

  1. Add the **SearchApi** node to your workflow.
  2. Choose your **Credential** and the **Engine**.
  3. Under **Parameters,** click **Add Parameter** for each query string field you need. To determine which fields to add, refer to the engine's documentation. Example:
     - **Name**: `q`
     - **Value**: `weather new york`
  4. Execute the workflow to receive the response as JSON.

  ### 2. Pass a parameters object (programmatic)

  You can also pass a parameters object directly to the node, instead of the UI:

  ```json
  {
    "parameters": {
      "q": "n8n workflow automation",
      "device": "mobile",
      "location": "Berlin"
    }
  }
  ```

  - Feed the object through a **Set** node or any previous node.
    ```
    {{$json.parameters}}
    ```
  - The node will give preference to the parameters object.

  ---

  ## Example workflows

  To easily see how to work with SearchApi on n8n, refer to the examples we've prepared. To use them you can download the json file and import on n8n, or you can paste the url for the, you can also copy the contents and paste inside a workflow. Refer to [n8n docs](https://docs.n8n.io/courses/level-one/chapter-6/#exporting-and-importing-workflows_1) on how to import workflows.

  - [Youtube video summarization with SearchApi](/examples/searchapi_youtube_transcripts/)
  - [Chatbot that searchs the web with SearchApi](/examples/searchapi_chatbot/)

  ## Output

  The node returns the raw JSON received from SearchApi.io. See the [official docs](https://www.searchapi.io/docs/google) for complete schemas.

  ---

  ## Troubleshooting

  | Error message                | Likely cause                 | Fix                                                                         |
  | ---------------------------- | ---------------------------- | --------------------------------------------------------------------------- |
  | **401 Unauthorized**         | Invalid or missing API key   | Double‑check the credentials.                                               |
  | **400 Bad Request** | Missing required parameter | Verify against SearchApi docs.                                              |
  | **429 Too Many Requests**    | Rate limit exceeded          | Slow down the workflow or [upgrade plan](https://www.searchapi.io/pricing). |

  ---

  ## Resources

  - **SearchApi.io documentation** – [https://www.searchapi.io/](https://www.searchapi.io/docs/google)
  - **n8n Community Forum** – [https://community.n8n.io](https://community.n8n.io)
  - **Community nodes installation** – [https://docs.n8n.io/integrations/community-nodes/installation/](https://docs.n8n.io/integrations/community-nodes/installation/)

  ## Contributing

  1. Run build with `pnpm build`
  2. Run `npm link` on the project root
  3. Run `npm link @searchapi/n8n-nodes-searchapi` on `$HOME/.n8n/custom`

  After that build the node on each change and it should be reflected in n8n local interface. Note: You can see we are using pnpm to build, and npm to test. With asdf this seems to be the best approach.

ai_documentation_summary:
  {"purpose":"Perform real‑time web searches (SERP, images, maps, shopping, etc.) from n8n by calling the SearchApi.io /api/v1/search endpoint so workflows can access current, up‑to‑date information not found in static training data.","capabilities":["Execute /api/v1/search requests across supported engines (Google, Bing, DuckDuckGo, Yahoo, Yandex and more)","Support engine‑specific features: Google Images, Google Maps/location queries, Google Shopping/product searches, standard web SERP","Accept all engine query parameters (exposed in node UI) and custom parameters via a parameters object from previous nodes","Select engine, device, location and other request options","Returns the raw JSON response from SearchApi.io for downstream processing","No need for proxies or captcha handling (handled by SearchApi.io service)"],"authentication":"API key required (SearchApi.io API Key configured in n8n Credentials)","commonUseCases":["Provide up‑to‑date web results to chatbots or virtual assistants","Fetch images or visual content via image search for content workflows","Obtain location or local business data using Maps queries","Perform product and price discovery using Shopping queries","Augment summarization or enrichment workflows (e.g., YouTube content search + summarization)"],"limitations":["Requires a valid SearchApi.io API key and is subject to the service's rate limits and plan quotas (429 on rate exceed)","Node returns raw JSON only — no built‑in parsing into structured n8n fields; consumers must parse/transform results","Users must supply engine‑specific parameters manually (refer to SearchApi.io docs for schemas)","Errors such as 400 (bad request) and 401 (unauthorized) must be handled by the workflow","Compatibility constraints: requires n8n >= 1.30.0 and Node.js >= 18"],"relatedNodes":["Set (used to pass a parameters object into the node)","Any prior node that can supply JSON input (to provide parameters programmatically)"]}


node_type: @basalt-ai/n8n-nodes-basalt.basalt
package_name: @basalt-ai/n8n-nodes-basalt
display_name: Basalt
description: Interact with Basalt API to manage prompts, monitoring, and datasets
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: will-m
author_github_url: https://github.com/basalt-ai/n8n-nodes.git
npm_package_name: @basalt-ai/n8n-nodes-basalt
npm_version: 0.4.0
community_fetched_at: 2026-02-19T14:41:52.452Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "prompt",
      "options": [
        {
          "name": "Prompt",
          "value": "prompt"
        },
        {
          "name": "Monitoring",
          "value": "monitoring"
        },
        {
          "name": "Dataset",
          "value": "dataset"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a prompt",
          "routing": {
            "request": {
              "url": "=/prompts/{{$parameter.slug}}",
              "method": "GET"
            }
          },
          "description": "Get a prompt by slug"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List prompts",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "prompts"
                  }
                }
              ]
            },
            "request": {
              "url": "/prompts",
              "method": "GET"
            }
          },
          "description": "List all prompts in the workspace"
        },
        {
          "name": "Describe",
          "value": "describe",
          "action": "Describe a prompt",
          "routing": {
            "request": {
              "url": "=/prompts/{{$parameter.slug}}/describe",
              "method": "GET"
            }
          },
          "description": "Describe a prompt by slug"
        },
        {
          "name": "Publish",
          "value": "publish",
          "action": "Publish a prompt",
          "routing": {
            "request": {
              "url": "=/prompts/{{$parameter.slug}}/publish",
              "method": "POST"
            }
          },
          "description": "Publish a prompt version with a tag"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "prompt"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "log",
      "options": [
        {
          "name": "Create Experiment",
          "value": "createExperiment",
          "action": "Create an experiment",
          "routing": {
            "request": {
              "url": "/monitor/experiments",
              "method": "POST"
            }
          },
          "description": "Create a new experiment"
        },
        {
          "name": "Log Trace",
          "value": "logTrace",
          "action": "Log trace",
          "routing": {
            "request": {
              "url": "/monitor/trace",
              "method": "POST"
            }
          },
          "description": "Create a trace to monitor a full execution"
        },
        {
          "name": "Log Output",
          "value": "log",
          "action": "Log prompt output",
          "routing": {
            "request": {
              "url": "/monitor/log",
              "method": "POST"
            }
          },
          "description": "Monitor a prompt output"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "monitoring"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a dataset",
          "routing": {
            "request": {
              "url": "=/datasets/{{$parameter.slug}}",
              "method": "GET"
            }
          },
          "description": "Get a dataset by slug"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List datasets",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "datasets"
                  }
                }
              ]
            },
            "request": {
              "url": "/datasets",
              "method": "GET"
            }
          },
          "description": "List all datasets in the workspace"
        },
        {
          "name": "Create Item",
          "value": "createItem",
          "action": "Create dataset item",
          "routing": {
            "request": {
              "url": "=/datasets/{{$parameter.slug}}/items",
              "method": "POST"
            }
          },
          "description": "Create a new item in a dataset"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dataset"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get",
      "value": "get",
      "action": "Get a prompt",
      "routing": {
        "request": {
          "url": "=/prompts/{{$parameter.slug}}",
          "method": "GET"
        }
      },
      "description": "Get a prompt by slug"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List prompts",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "prompts"
              }
            }
          ]
        },
        "request": {
          "url": "/prompts",
          "method": "GET"
        }
      },
      "description": "List all prompts in the workspace"
    },
    {
      "name": "Describe",
      "value": "describe",
      "action": "Describe a prompt",
      "routing": {
        "request": {
          "url": "=/prompts/{{$parameter.slug}}/describe",
          "method": "GET"
        }
      },
      "description": "Describe a prompt by slug"
    },
    {
      "name": "Publish",
      "value": "publish",
      "action": "Publish a prompt",
      "routing": {
        "request": {
          "url": "=/prompts/{{$parameter.slug}}/publish",
          "method": "POST"
        }
      },
      "description": "Publish a prompt version with a tag"
    },
    {
      "name": "Create Experiment",
      "value": "createExperiment",
      "action": "Create an experiment",
      "routing": {
        "request": {
          "url": "/monitor/experiments",
          "method": "POST"
        }
      },
      "description": "Create a new experiment"
    },
    {
      "name": "Log Trace",
      "value": "logTrace",
      "action": "Log trace",
      "routing": {
        "request": {
          "url": "/monitor/trace",
          "method": "POST"
        }
      },
      "description": "Create a trace to monitor a full execution"
    },
    {
      "name": "Log Output",
      "value": "log",
      "action": "Log prompt output",
      "routing": {
        "request": {
          "url": "/monitor/log",
          "method": "POST"
        }
      },
      "description": "Monitor a prompt output"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a dataset",
      "routing": {
        "request": {
          "url": "=/datasets/{{$parameter.slug}}",
          "method": "GET"
        }
      },
      "description": "Get a dataset by slug"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List datasets",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "datasets"
              }
            }
          ]
        },
        "request": {
          "url": "/datasets",
          "method": "GET"
        }
      },
      "description": "List all datasets in the workspace"
    },
    {
      "name": "Create Item",
      "value": "createItem",
      "action": "Create dataset item",
      "routing": {
        "request": {
          "url": "=/datasets/{{$parameter.slug}}/items",
          "method": "POST"
        }
      },
      "description": "Create a new item in a dataset"
    }
  ]

npm_readme:
  # Basalt n8n nodes

  n8n community node for the Basalt API - Manage prompts, monitoring, and datasets through n8n workflows.

  ## Features

  This n8n node allows you to:

  ### Prompts
  - **Get** - Retrieve a specific prompt by slug
  - **Get Many** - List all prompts in your workspace
  - **Describe** - Get detailed information about a prompt including its variables
  - **Publish** - Publish a prompt version with a specific tag

  ### Monitoring
  - **Create Experiment** - Create a new experiment for testing prompt variations
  - **Log Output** - Monitor individual prompt outputs with detailed metrics

  ### Datasets
  - **Get** - Retrieve a specific dataset by slug
  - **Get Many** - List all datasets in your workspace
  - **Create Item** - Add a new row to a dataset

  ## Installation

  ### Community Nodes (n8n Cloud & Desktop)

  1. Go to **Settings > Community Nodes**
  2. Select **Install**
  3. Enter `@basalt-ai/n8n-nodes-basalt` in the **Enter npm package name** field
  4. Agree to the risks and click **Install**

  ### Manual Installation (Self-Hosted)

  Navigate to your n8n root directory and run:

  ```bash
  npm install @basalt-ai/n8n-nodes-basalt
  ```

  Then restart your n8n instance.

  ## Credentials

  To use this node, you'll need:

  1. **API Key**: Your Basalt API key (available in your Basalt dashboard)
  2. **API URL**: The base URL for the Basalt API (defaults to `https://api.getbasalt.ai`)

  ### Setting up Credentials

  1. In n8n, go to **Credentials** and click **Add credential**
  2. Search for **Basalt API**
  3. Enter your API key and API URL
  4. Save the credential

  ## Usage Examples

  ### Example 1: Get a Prompt and Use it in a Workflow

  ```
  1. Basalt Node (Get Prompt)
     - Resource: Prompt
     - Operation: Get
     - Slug: my-prompt-slug
     - Version: 1.0.0

  2. HTTP Request Node
     - Use the prompt text from previous step
     - Make API call with the prompt configuration
  ```

  ### Example 2: Log Prompt Outputs for Monitoring

  ```
  1. Your LLM Node
     - Execute your AI workflow

  2. Basalt Node (Log Output)
     - Resource: Monitoring
     - Operation: Log Output
     - Prompt Slug: {{ $json.promptSlug }}
     - Output: {{ $json.llmResponse }}
     - Input Tokens: {{ $json.usage.inputTokens }}
     - Output Tokens: {{ $json.usage.outputTokens }}
  ```

  ### Example 3: Create Experiment

  ```
  1. Basalt Node (Create Experiment)
     - Resource: Monitoring
     - Operation: Create Experiment
     - Feature Slug: my-feature
     - Name: A/B Test - Version 1.0 vs 2.0
  ```

  ### Example 4: Add Items to a Dataset

  ```
  1. Webhook Trigger
     - Receives new data

  2. Basalt Node (Create Dataset Item)
     - Resource: Dataset
     - Operation: Create Item
     - Slug: training-data
     - Values: { "input": "...", "output": "..." }
     - Ideal Output: "Expected response"
  ```

  ## API Operations

  All operations support the full Basalt API specification. For detailed API documentation, visit [https://docs.getbasalt.ai](https://docs.getbasalt.ai)

  ## Resources

  - [Basalt Documentation](https://docs.getbasalt.ai)
  - [Basalt API Reference](https://api.getbasalt.ai)
  - [n8n Community](https://community.n8n.io)

  ## Development

  ### Building the Node

  ```bash
  npm run build
  ```

  ### Testing Locally

  1. Build the node:
     ```bash
     npm run build
     ```

  2. Link the package:
     ```bash
     npm link
     ```

  3. Link to your n8n installation:
     ```bash
     cd ~/.n8n/nodes
     npm link @basalt-ai/n8n-nodes-basalt
     ```

  4. Restart n8n

  ## License

  MIT

  ## Support

  For issues and questions:
  - GitHub Issues: [basalt-ai/basalt](https://github.com/basalt-ai/basalt/issues)
  - Email: support@getbasalt.ai

ai_documentation_summary:
  {"purpose":"Interact with the Basalt API from n8n workflows to manage prompts, run monitoring (experiments and output logging), and manage datasets.","capabilities":["Prompts: Get a prompt by slug","Prompts: Get many (list all prompts in workspace)","Prompts: Describe a prompt including variables","Prompts: Publish a prompt version with a tag","Monitoring: Create Experiment for A/B or variant testing","Monitoring: Log Output to record individual prompt outputs and metrics","Datasets: Get a dataset by slug","Datasets: Get many (list all datasets in workspace)","Datasets: Create Item (add a row/item to a dataset)","Supports full Basalt API specification for additional API operations"],"authentication":"API key required (Basalt API key) plus API URL (configurable, defaults to https://api.getbasalt.ai)","commonUseCases":["Retrieve a prompt (by slug/version) and use its text in downstream HTTP/LLM calls","Log LLM outputs and token usage to Basalt for monitoring and analytics","Run experiments (A/B tests) to compare prompt variants","Append new training/labelled data rows to a Basalt dataset from webhooks or other sources"],"limitations":[],"relatedNodes":["HTTP Request","Webhook Trigger","LLM / AI execution node (generic LLM node referenced in examples)"]}


node_type: n8n-nodes-anchorbrowser.anchorBrowser
package_name: n8n-nodes-anchorbrowser
display_name: Anchor Browser
description: Interact with Anchor Browser API for browser automation and control
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: gdanks-anchor
author_github_url: https://github.com/anchorbrowser/anchorbrowser-n8n-node.git
npm_package_name: n8n-nodes-anchorbrowser
npm_version: 0.1.12
community_fetched_at: 2026-02-19T14:41:52.453Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "session",
      "options": [
        {
          "name": "Browser Session",
          "value": "session"
        },
        {
          "name": "OS Level Control",
          "value": "osControl"
        },
        {
          "name": "Profile",
          "value": "profile"
        },
        {
          "name": "Task",
          "value": "task"
        },
        {
          "name": "Tool",
          "value": "tools"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Session",
          "value": "create",
          "action": "Create browser session",
          "description": "Start a new browser session"
        },
        {
          "name": "End All",
          "value": "endAll",
          "action": "End all browser sessions",
          "description": "End all browser sessions"
        },
        {
          "name": "End Session",
          "value": "end",
          "action": "End browser session",
          "description": "End a specific browser session"
        },
        {
          "name": "Get Downloads",
          "value": "getDownloads",
          "action": "Get session downloads",
          "description": "Get session downloads"
        },
        {
          "name": "Get Recordings",
          "value": "getRecordings",
          "action": "Get session recordings",
          "description": "Get session recordings"
        },
        {
          "name": "Get Session",
          "value": "get",
          "action": "Get browser session",
          "description": "Get details of a specific session"
        },
        {
          "name": "List All",
          "value": "listAll",
          "action": "List all browser sessions",
          "description": "List all browser sessions"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Delete Profile",
          "value": "delete",
          "action": "Delete profile",
          "description": "Delete a profile"
        },
        {
          "name": "Get Profile",
          "value": "get",
          "action": "Get profile",
          "description": "Get details of a specific profile"
        },
        {
          "name": "List Profiles",
          "value": "list",
          "action": "List all profiles",
          "description": "List all profiles"
        },
        {
          "name": "Update Profile",
          "value": "update",
          "action": "Update profile",
          "description": "Update an existing profile"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "profile"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "fetchWebpage",
      "options": [
        {
          "name": "Fetch Webpage",
          "value": "fetchWebpage",
          "action": "Fetch webpage",
          "description": "Get webpage content as HTML or Markdown"
        },
        {
          "name": "Perform Web Task",
          "value": "performWebTask",
          "action": "Perform web task",
          "description": "Perform an AI-powered web task"
        },
        {
          "name": "Get Perform Web Task Status",
          "value": "getPerformWebTaskStatus",
          "action": "Get perform web task status",
          "description": "Get the status of an asynchronous perform-web-task execution"
        },
        {
          "name": "Take Screenshot",
          "value": "screenshot",
          "action": "Take screenshot",
          "description": "Take a screenshot of a webpage"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tools"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create Task",
          "value": "create",
          "action": "Create task",
          "description": "Create a new task or update existing task"
        },
        {
          "name": "Delete Task",
          "value": "delete",
          "action": "Delete task",
          "description": "Delete a task"
        },
        {
          "name": "Deploy Task",
          "value": "deploy",
          "action": "Deploy task",
          "description": "Deploy a task version"
        },
        {
          "name": "Get Execution",
          "value": "getExecution",
          "action": "Get execution result",
          "description": "Get a specific execution result by ID"
        },
        {
          "name": "List Executions",
          "value": "listExecutions",
          "action": "List task executions",
          "description": "List task execution results"
        },
        {
          "name": "List Tasks",
          "value": "list",
          "action": "List tasks",
          "description": "List all tasks"
        },
        {
          "name": "Run Task",
          "value": "run",
          "action": "Run task",
          "description": "Execute a task"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "mouseClick",
      "options": [
        {
          "name": "Copy Text",
          "value": "copyText",
          "action": "Copy text",
          "description": "Copy selected text"
        },
        {
          "name": "Drag and Drop",
          "value": "dragDrop",
          "action": "Drag and drop",
          "description": "Perform drag and drop"
        },
        {
          "name": "Get Clipboard",
          "value": "getClipboard",
          "action": "Get clipboard",
          "description": "Get clipboard content"
        },
        {
          "name": "Keyboard Shortcut",
          "value": "keyboardShortcut",
          "action": "Use keyboard shortcut",
          "description": "Perform keyboard shortcut"
        },
        {
          "name": "Mouse Click",
          "value": "mouseClick",
          "action": "Click mouse",
          "description": "Perform a mouse click"
        },
        {
          "name": "Mouse Double Click",
          "value": "mouseDoubleClick",
          "action": "Double click mouse",
          "description": "Perform a double click"
        },
        {
          "name": "Mouse Move",
          "value": "mouseMove",
          "action": "Move mouse",
          "description": "Move mouse cursor"
        },
        {
          "name": "Navigate to URL",
          "value": "navigate",
          "action": "Navigate to URL",
          "description": "Navigate to a URL"
        },
        {
          "name": "Paste Text",
          "value": "pasteText",
          "action": "Paste text"
        },
        {
          "name": "Scroll",
          "value": "scroll",
          "action": "Scroll page",
          "description": "Scroll the page"
        },
        {
          "name": "Set Clipboard",
          "value": "setClipboard",
          "action": "Set clipboard",
          "description": "Set clipboard content"
        },
        {
          "name": "Take Screenshot",
          "value": "screenshot",
          "action": "Take screenshot",
          "description": "Take a screenshot of current session"
        },
        {
          "name": "Type Text",
          "value": "typeText",
          "action": "Type text",
          "description": "Type text with keyboard"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "osControl"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create Session",
      "value": "create",
      "action": "Create browser session",
      "description": "Start a new browser session"
    },
    {
      "name": "End All",
      "value": "endAll",
      "action": "End all browser sessions",
      "description": "End all browser sessions"
    },
    {
      "name": "End Session",
      "value": "end",
      "action": "End browser session",
      "description": "End a specific browser session"
    },
    {
      "name": "Get Downloads",
      "value": "getDownloads",
      "action": "Get session downloads",
      "description": "Get session downloads"
    },
    {
      "name": "Get Recordings",
      "value": "getRecordings",
      "action": "Get session recordings",
      "description": "Get session recordings"
    },
    {
      "name": "Get Session",
      "value": "get",
      "action": "Get browser session",
      "description": "Get details of a specific session"
    },
    {
      "name": "List All",
      "value": "listAll",
      "action": "List all browser sessions",
      "description": "List all browser sessions"
    },
    {
      "name": "Delete Profile",
      "value": "delete",
      "action": "Delete profile",
      "description": "Delete a profile"
    },
    {
      "name": "Get Profile",
      "value": "get",
      "action": "Get profile",
      "description": "Get details of a specific profile"
    },
    {
      "name": "List Profiles",
      "value": "list",
      "action": "List all profiles",
      "description": "List all profiles"
    },
    {
      "name": "Update Profile",
      "value": "update",
      "action": "Update profile",
      "description": "Update an existing profile"
    },
    {
      "name": "Fetch Webpage",
      "value": "fetchWebpage",
      "action": "Fetch webpage",
      "description": "Get webpage content as HTML or Markdown"
    },
    {
      "name": "Perform Web Task",
      "value": "performWebTask",
      "action": "Perform web task",
      "description": "Perform an AI-powered web task"
    },
    {
      "name": "Get Perform Web Task Status",
      "value": "getPerformWebTaskStatus",
      "action": "Get perform web task status",
      "description": "Get the status of an asynchronous perform-web-task execution"
    },
    {
      "name": "Take Screenshot",
      "value": "screenshot",
      "action": "Take screenshot",
      "description": "Take a screenshot of a webpage"
    },
    {
      "name": "Create Task",
      "value": "create",
      "action": "Create task",
      "description": "Create a new task or update existing task"
    },
    {
      "name": "Delete Task",
      "value": "delete",
      "action": "Delete task",
      "description": "Delete a task"
    },
    {
      "name": "Deploy Task",
      "value": "deploy",
      "action": "Deploy task",
      "description": "Deploy a task version"
    },
    {
      "name": "Get Execution",
      "value": "getExecution",
      "action": "Get execution result",
      "description": "Get a specific execution result by ID"
    },
    {
      "name": "List Executions",
      "value": "listExecutions",
      "action": "List task executions",
      "description": "List task execution results"
    },
    {
      "name": "List Tasks",
      "value": "list",
      "action": "List tasks",
      "description": "List all tasks"
    },
    {
      "name": "Run Task",
      "value": "run",
      "action": "Run task",
      "description": "Execute a task"
    },
    {
      "name": "Copy Text",
      "value": "copyText",
      "action": "Copy text",
      "description": "Copy selected text"
    },
    {
      "name": "Drag and Drop",
      "value": "dragDrop",
      "action": "Drag and drop",
      "description": "Perform drag and drop"
    },
    {
      "name": "Get Clipboard",
      "value": "getClipboard",
      "action": "Get clipboard",
      "description": "Get clipboard content"
    },
    {
      "name": "Keyboard Shortcut",
      "value": "keyboardShortcut",
      "action": "Use keyboard shortcut",
      "description": "Perform keyboard shortcut"
    },
    {
      "name": "Mouse Click",
      "value": "mouseClick",
      "action": "Click mouse",
      "description": "Perform a mouse click"
    },
    {
      "name": "Mouse Double Click",
      "value": "mouseDoubleClick",
      "action": "Double click mouse",
      "description": "Perform a double click"
    },
    {
      "name": "Mouse Move",
      "value": "mouseMove",
      "action": "Move mouse",
      "description": "Move mouse cursor"
    },
    {
      "name": "Navigate to URL",
      "value": "navigate",
      "action": "Navigate to URL",
      "description": "Navigate to a URL"
    },
    {
      "name": "Paste Text",
      "value": "pasteText",
      "action": "Paste text"
    },
    {
      "name": "Scroll",
      "value": "scroll",
      "action": "Scroll page",
      "description": "Scroll the page"
    },
    {
      "name": "Set Clipboard",
      "value": "setClipboard",
      "action": "Set clipboard",
      "description": "Set clipboard content"
    },
    {
      "name": "Take Screenshot",
      "value": "screenshot",
      "action": "Take screenshot",
      "description": "Take a screenshot of current session"
    },
    {
      "name": "Type Text",
      "value": "typeText",
      "action": "Type text",
      "description": "Type text with keyboard"
    }
  ]

npm_readme:
  # n8n-nodes-anchorbrowser

  An n8n community node for integrating with the Anchor Browser API. This node provides comprehensive browser automation capabilities including session management, web scraping, AI-powered tasks, and OS-level control.

  ## Features

  ### Browser Sessions
  - **Create Session**: Start new browser sessions with customizable configurations
  - **Get Session**: Retrieve details of specific sessions
  - **List All Sessions**: Get status of all active sessions
  - **End Session**: Terminate specific sessions
  - **End All Sessions**: Terminate all active sessions
  - **Get Recordings**: Retrieve session recordings
  - **Get Downloads**: Get session downloads

  ### Profiles
  - **Get Profile**: Retrieve profile details
  - **List Profiles**: View all available profiles
  - **Update Profile**: Modify existing profiles (description only)
  - **Delete Profile**: Remove profiles

  ### Tools
  - **Fetch Webpage**: Get webpage content as HTML or Markdown (requires either Session ID or URL)
  - **Perform Web Task**: Execute AI-powered web tasks using various agents (requires either Session ID or URL)
  - **Take Screenshot**: Capture screenshots with customizable options (requires either Session ID or URL)

  > **Note**: Tools operations are flexible - you can either provide a Session ID to use an existing session, or provide a URL and let the system create a new session automatically. This makes the Tools operations perfect for quick, one-off tasks without needing to manage sessions manually.

  ### OS Level Control
  - **Mouse Actions**: Click, double-click, move, drag and drop (requires Session ID)
  - **Keyboard Input**: Type text, use shortcuts (requires Session ID)
  - **Scrolling**: Scroll pages with customizable parameters (requires Session ID)
  - **Clipboard**: Get/set clipboard content, copy/paste text (requires Session ID)
  - **Navigation**: Navigate to URLs (requires Session ID)
  - **Screenshots**: Capture current session screenshots (requires Session ID)

  ## Installation

  1. Install the node package:
  ```bash
  npm install n8n-nodes-anchorbrowser
  ```

  2. Or build from source:
  ```bash
  git clone https://github.com/anchorbrowser/n8n-nodes-anchorbrowser.git
  cd n8n-nodes-anchorbrowser
  npm install
  npm run build
  ```

  ## Configuration

  ### Credentials

  1. Get your API key from [Anchor Browser Dashboard](https://app.anchorbrowser.io?utm_source=n8n-node)
  2. In n8n, go to Credentials and create a new "Anchor Browser API" credential
  3. Enter your API key and base URL (default: https://api.anchorbrowser.io)

  ### Node Usage

  1. Add the "Anchor Browser" node to your workflow
  2. Select the resource type (Browser Session, Profile, Tools, etc.)
  3. Choose the operation you want to perform
  4. Configure the parameters as needed
  5. Connect the node to your workflow

  ## Examples

  ### Basic Web Scraping

  1. **Create Session**: Start a new browser session
  2. **Navigate**: Go to the target website using OS Control
  3. **Fetch Webpage**: Get the page content as HTML or Markdown
  4. **End Session**: Clean up the session

  ### AI-Powered Task Automation

  1. **Perform Web Task**: Use AI to complete tasks like form filling or data extraction (provides URL directly)
  2. **Get Results**: Retrieve the task results

  ### Session-Based Automation

  1. **Create Session**: Start a browser session
  2. **Navigate**: Go to target website using OS Control
  3. **Mouse Actions**: Click buttons, fill forms using OS Control
  4. **Take Screenshot**: Capture the result
  5. **End Session**: Clean up

  ### Profile Management

  1. **List Profiles**: View all available profiles
  2. **Get Profile**: Retrieve specific profile details
  3. **Update Profile**: Modify profile description
  4. **Delete Profile**: Remove unused profiles

  ## Configuration Options

  ### Session Configuration
  - **Initial URL**: Starting page for the browser
  - **Recording**: Enable/disable video recording
  - **Timeouts**: Set maximum duration and idle timeouts
  - **Live View**: Configure read-only viewing options

  ### Browser Configuration
  - **Profile Management**: Use existing profiles or create new ones
  - **Ad Blocking**: Enable/disable ad blocking
  - **Captcha Solving**: Configure AI-powered captcha solving
  - **Viewport**: Set browser window dimensions
  - **Headless Mode**: Run browser in headless or headful mode
  - **Web Security**: Disable web security features if needed

  ### Proxy Configuration
  - **Anchor Proxies**: Use Anchor's residential, mobile, or government proxies
  - **Custom Proxies**: Configure your own proxy servers
  - **Geographic Targeting**: Select specific countries, regions, or cities

  ### Tools Configuration
  - **Session ID**: Optional - if not provided, a new session will be created automatically
  - **URL**: Required for Tools operations if Session ID is not provided
  - **Format**: Choose between HTML and Markdown for webpage content
  - **AI Models**: Select from various AI providers (OpenAI, Groq, etc.)
  - **Screenshot Options**: Configure image quality, dimensions, and capture settings

  ## API Reference

  For detailed API documentation, visit [Anchor Browser API Docs](https://docs.anchorbrowser.io?utm_source=n8n-node).

  ## Support

  - **Documentation**: [https://docs.anchorbrowser.io?utm_source=n8n-node](https://docs.anchorbrowser.io?utm_source=n8n-node)
  - **Support**: [support@anchorbrowser.io](mailto:support@anchorbrowser.io)
  - **GitHub Issues**: [https://github.com/anchorbrowser/n8n-nodes-anchorbrowser/issues](https://github.com/anchorbrowser/n8n-nodes-anchorbrowser/issues)

  ## License

  MIT License - see [LICENSE](LICENSE) file for details.

  ## Contributing

  Contributions are welcome! Please read our [Contributing Guidelines](CONTRIBUTING.md) and submit pull requests to our [GitHub repository](https://github.com/anchorbrowser/n8n-nodes-anchorbrowser).

  ## Changelog

  ### v0.1.0
  - Initial release
  - Browser session management (create, get, list, end)
  - Profile management (get, list, update, delete)
  - Tools operations (fetch webpage, perform web task, screenshot)
  - OS-level control (mouse, keyboard, scrolling, clipboard, navigation)
  - Flexible session handling - Tools operations can work with or without existing sessions
  - Comprehensive parameter validation and error handling
  - Support for binary data (screenshots) with proper n8n formatting
  - AI-powered task execution with multiple provider support

ai_documentation_summary:
  {"purpose":"Integrates n8n with the Anchor Browser API to provide browser automation, session management, web scraping, AI‑powered web tasks, and OS‑level control (mouse/keyboard/clipboard/navigation) from workflows.","capabilities":["Create browser session with configurable options (initial URL, recording, timeouts, live view)","Get session details","List all sessions","End session","End all sessions","Retrieve session recordings","Retrieve session downloads","Get profile details","List profiles","Update profile (description only)"],"authentication":"API key required (create an \"Anchor Browser API\" credential in n8n with API key and base URL)","commonUseCases":["Basic web scraping: create session → navigate → fetch webpage content → end session","One-off webpage operations: fetch webpage or perform web task by providing URL (no manual session management)","AI-powered task automation: use Perform Web Task to have AI fill forms, extract data, or perform complex interactions","Session-based automation: create session → OS-level interactions (mouse/keyboard/navigation) → take screenshots → end session","Profile management: list, get, update (description), and delete profiles"],"limitations":["Profile update operation only supports modifying the description (no other profile fields mentioned)","Many OS-level operations require an active Session ID (cannot be run purely by URL)","Tools operations require either a Session ID or a URL—if neither is provided the operation cannot run"],"relatedNodes":[]}


node_type: n8n-nodes-air.air
package_name: n8n-nodes-air
display_name: Air
description: Access, update, and manage assets, boards, custom fields, and tags in your Air workspace
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: bradybrown202
author_github_url: https://github.com/brady-brown20330/
npm_package_name: n8n-nodes-air
npm_version: 1.3.3
community_fetched_at: 2026-02-19T14:41:52.453Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "assets",
      "options": [
        {
          "name": "Assets",
          "value": "assets"
        },
        {
          "name": "Boards",
          "value": "boards"
        },
        {
          "name": "Custom Fields",
          "value": "customFields"
        },
        {
          "name": "Tags",
          "value": "tags"
        },
        {
          "name": "Uploads",
          "value": "uploads"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Apply Custom Field",
          "value": "applyCustomField",
          "action": "Apply Custom Field to Asset",
          "routing": {
            "request": {
              "url": "={{`/assets/${String($parameter[\"assetId\"] || \"\").trim()}/customfields/${String($parameter[\"customFieldId\"] || \"\").trim()}`}}",
              "method": "PUT"
            }
          },
          "description": "Apply a custom field to an asset"
        },
        {
          "name": "Apply Tag",
          "value": "applyTag",
          "action": "Apply Tag to Asset",
          "routing": {
            "request": {
              "url": "={{`/assets/${String($parameter[\"assetId\"] || \"\").trim()}/versions/${String($parameter[\"versionId\"] || \"\").trim()}/tags`}}",
              "method": "POST"
            }
          },
          "description": "Apply a tag to an asset"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get Air Assets",
          "routing": {
            "request": {
              "url": "/assets",
              "method": "GET"
            }
          },
          "description": "Get Air assets"
        },
        {
          "name": "List Boards",
          "value": "listBoards",
          "action": "List Parent Boards",
          "routing": {
            "request": {
              "url": "={{`/assets/${String($parameter[\"assetId\"] || \"\").trim()}/boards`}}",
              "method": "GET"
            }
          },
          "description": "Get the list of parent boards of an asset"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update Air Asset",
          "routing": {
            "request": {
              "url": "={{`/assets/${String($parameter[\"assetId\"] || \"\").trim()}/versions/${String($parameter[\"versionIdUpdate\"] || \"\").trim()}`}}",
              "method": "PATCH"
            }
          },
          "description": "Update an asset’s details"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "assets"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "initiateUpload",
      "options": [
        {
          "name": "Complete Upload",
          "value": "completeUpload",
          "action": "Complete Upload",
          "routing": {
            "request": {
              "url": "/uploads/completeMultipart",
              "method": "POST"
            }
          },
          "description": "Finalize multipart upload with part ETags"
        },
        {
          "name": "Initiate Upload",
          "value": "initiateUpload",
          "action": "Initiate Upload",
          "routing": {
            "request": {
              "url": "/uploads",
              "method": "POST"
            }
          },
          "description": "Initiate multipart upload and get signed part URLs"
        },
        {
          "name": "Upload Part",
          "value": "uploadPart",
          "action": "Get Signed URL for Upload Part",
          "routing": {
            "request": {
              "url": "/uploads/uploadPart",
              "method": "POST"
            }
          },
          "description": "Request a signed URL to upload a specific part"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "uploads"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Add Assets",
          "value": "addAssets",
          "action": "Add Assets to Board",
          "routing": {
            "request": {
              "url": "={{`/boards/${String($parameter[\"boardId\"] || \"\").trim()}/assets`}}",
              "method": "POST"
            }
          },
          "description": "Associate one or more assets with a board"
        },
        {
          "name": "Apply Custom Field",
          "value": "applyCustomField",
          "action": "Apply Custom Field to Board",
          "routing": {
            "request": {
              "url": "={{`/boards/${String($parameter[\"boardId\"] || \"\").trim()}/customfields/${String($parameter[\"customFieldId\"] || \"\").trim()}`}}",
              "method": "PUT"
            }
          },
          "description": "Set or unset custom field value(s) on a board"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create Air Board",
          "routing": {
            "request": {
              "url": "/boards",
              "method": "POST"
            }
          },
          "description": "Create Air Board"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get Air Boards",
          "routing": {
            "request": {
              "url": "/boards",
              "method": "GET"
            }
          },
          "description": "Get Air Boards"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update Air Board",
          "routing": {
            "request": {
              "url": "={{`/boards/${String($parameter[\"boardId\"] || \"\").trim()}`}}",
              "method": "PATCH"
            }
          },
          "description": "Update a board’s title, description, or parent"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "boards"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Add Value",
          "value": "addValue",
          "action": "Add Custom Field Value",
          "routing": {
            "request": {
              "url": "={{`/customFields/${String($parameter[\"customFieldId\"] || \"\").trim()}/values`}}",
              "method": "POST"
            }
          },
          "description": "Add a new selectable value to a custom field"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create Air Custom Field",
          "routing": {
            "request": {
              "url": "/customFields",
              "method": "POST"
            }
          },
          "description": "Create Air Custom Field"
        },
        {
          "name": "Delete Value",
          "value": "deleteValue",
          "action": "Delete Custom Field Value",
          "routing": {
            "request": {
              "url": "={{`/customFields/${String($parameter[\"customFieldId\"] || \"\").trim()}/values/${String($parameter[\"valueId\"] || \"\").trim()}`}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a selectable value from a custom field"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get Air Custom Fields",
          "routing": {
            "request": {
              "url": "/customFields",
              "method": "GET"
            }
          },
          "description": "Get Air Custom Fields"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update Air Custom Field",
          "routing": {
            "request": {
              "url": "={{`/customFields/${String($parameter[\"customFieldId\"] || \"\").trim()}`}}",
              "method": "PATCH"
            }
          },
          "description": "Update an existing Air custom field"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "customFields"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get Air Tags",
          "routing": {
            "request": {
              "url": "/tags",
              "method": "GET"
            }
          },
          "description": "Get Air Tags"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create Air Tag",
          "routing": {
            "request": {
              "url": "/tags",
              "method": "POST"
            }
          },
          "description": "Create Air Tag"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tags"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Apply Custom Field",
      "value": "applyCustomField",
      "action": "Apply Custom Field to Asset",
      "routing": {
        "request": {
          "url": "={{`/assets/${String($parameter[\"assetId\"] || \"\").trim()}/customfields/${String($parameter[\"customFieldId\"] || \"\").trim()}`}}",
          "method": "PUT"
        }
      },
      "description": "Apply a custom field to an asset"
    },
    {
      "name": "Apply Tag",
      "value": "applyTag",
      "action": "Apply Tag to Asset",
      "routing": {
        "request": {
          "url": "={{`/assets/${String($parameter[\"assetId\"] || \"\").trim()}/versions/${String($parameter[\"versionId\"] || \"\").trim()}/tags`}}",
          "method": "POST"
        }
      },
      "description": "Apply a tag to an asset"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get Air Assets",
      "routing": {
        "request": {
          "url": "/assets",
          "method": "GET"
        }
      },
      "description": "Get Air assets"
    },
    {
      "name": "List Boards",
      "value": "listBoards",
      "action": "List Parent Boards",
      "routing": {
        "request": {
          "url": "={{`/assets/${String($parameter[\"assetId\"] || \"\").trim()}/boards`}}",
          "method": "GET"
        }
      },
      "description": "Get the list of parent boards of an asset"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update Air Asset",
      "routing": {
        "request": {
          "url": "={{`/assets/${String($parameter[\"assetId\"] || \"\").trim()}/versions/${String($parameter[\"versionIdUpdate\"] || \"\").trim()}`}}",
          "method": "PATCH"
        }
      },
      "description": "Update an asset’s details"
    },
    {
      "name": "Complete Upload",
      "value": "completeUpload",
      "action": "Complete Upload",
      "routing": {
        "request": {
          "url": "/uploads/completeMultipart",
          "method": "POST"
        }
      },
      "description": "Finalize multipart upload with part ETags"
    },
    {
      "name": "Initiate Upload",
      "value": "initiateUpload",
      "action": "Initiate Upload",
      "routing": {
        "request": {
          "url": "/uploads",
          "method": "POST"
        }
      },
      "description": "Initiate multipart upload and get signed part URLs"
    },
    {
      "name": "Upload Part",
      "value": "uploadPart",
      "action": "Get Signed URL for Upload Part",
      "routing": {
        "request": {
          "url": "/uploads/uploadPart",
          "method": "POST"
        }
      },
      "description": "Request a signed URL to upload a specific part"
    },
    {
      "name": "Add Assets",
      "value": "addAssets",
      "action": "Add Assets to Board",
      "routing": {
        "request": {
          "url": "={{`/boards/${String($parameter[\"boardId\"] || \"\").trim()}/assets`}}",
          "method": "POST"
        }
      },
      "description": "Associate one or more assets with a board"
    },
    {
      "name": "Apply Custom Field",
      "value": "applyCustomField",
      "action": "Apply Custom Field to Board",
      "routing": {
        "request": {
          "url": "={{`/boards/${String($parameter[\"boardId\"] || \"\").trim()}/customfields/${String($parameter[\"customFieldId\"] || \"\").trim()}`}}",
          "method": "PUT"
        }
      },
      "description": "Set or unset custom field value(s) on a board"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create Air Board",
      "routing": {
        "request": {
          "url": "/boards",
          "method": "POST"
        }
      },
      "description": "Create Air Board"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get Air Boards",
      "routing": {
        "request": {
          "url": "/boards",
          "method": "GET"
        }
      },
      "description": "Get Air Boards"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update Air Board",
      "routing": {
        "request": {
          "url": "={{`/boards/${String($parameter[\"boardId\"] || \"\").trim()}`}}",
          "method": "PATCH"
        }
      },
      "description": "Update a board’s title, description, or parent"
    },
    {
      "name": "Add Value",
      "value": "addValue",
      "action": "Add Custom Field Value",
      "routing": {
        "request": {
          "url": "={{`/customFields/${String($parameter[\"customFieldId\"] || \"\").trim()}/values`}}",
          "method": "POST"
        }
      },
      "description": "Add a new selectable value to a custom field"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create Air Custom Field",
      "routing": {
        "request": {
          "url": "/customFields",
          "method": "POST"
        }
      },
      "description": "Create Air Custom Field"
    },
    {
      "name": "Delete Value",
      "value": "deleteValue",
      "action": "Delete Custom Field Value",
      "routing": {
        "request": {
          "url": "={{`/customFields/${String($parameter[\"customFieldId\"] || \"\").trim()}/values/${String($parameter[\"valueId\"] || \"\").trim()}`}}",
          "method": "DELETE"
        }
      },
      "description": "Delete a selectable value from a custom field"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get Air Custom Fields",
      "routing": {
        "request": {
          "url": "/customFields",
          "method": "GET"
        }
      },
      "description": "Get Air Custom Fields"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update Air Custom Field",
      "routing": {
        "request": {
          "url": "={{`/customFields/${String($parameter[\"customFieldId\"] || \"\").trim()}`}}",
          "method": "PATCH"
        }
      },
      "description": "Update an existing Air custom field"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get Air Tags",
      "routing": {
        "request": {
          "url": "/tags",
          "method": "GET"
        }
      },
      "description": "Get Air Tags"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create Air Tag",
      "routing": {
        "request": {
          "url": "/tags",
          "method": "POST"
        }
      },
      "description": "Create Air Tag"
    }
  ]

npm_readme:
  # n8n-nodes-air

  A community node for [n8n](https://n8n.io) that lets you programmatically interact with your [Air](https://air.inc) workspaces — upload and manage assets, organize boards, and wire Air into the rest of your stack.

  Air is a Creative Ops system for marketing and creative teams, designed to store, search, approve, and share visual content at scale.:contentReference[oaicite:0]{index=0}

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/sustainable-use-license/) workflow automation platform.

  [Installation](#installation)
  [Operations](#operations)
  [Credentials](#credentials)
  [Compatibility](#compatibility)
  [Usage](#usage)
  [Resources](#resources)
  [Version history](#version-history)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.



  ## Operations


  This node gives n8n workflows access to a subset of the [Air API](https://developer.air.inc/). Typical automations include:​:contentReference

  - **Assets**
    - Upload new assets to Air from any n8n source (S3, GDrive, FTP, webhooks, etc.)
    - List / search assets by metadata or keywords
    - Retrieve details for a specific asset
    - Update asset metadata (title, description, tags, custom fields)
    - Optionally delete or archive assets

  - **Boards**
    - List boards in a workspace
    - Get board details
    - Add / remove assets on boards
    - Drive board organization from other systems (e.g. CRM, project tools)

  - **Custom Fields**
    - List Custom Fields
    - Create Custom Field
    - Update Custom Field (name/description)
    - Add New Values
    - Delete Values

  - **Tags**
    - List Tags
    - Create Tags

  - **Uploads**
    - Create Upload URL
    - Complete Upload Part (files > 5 GB)
    - Complete Uplaod (files > 5 GB)

  > ⚠️ The exact list of operations may evolve. Always check the node’s **Resource** and **Operation** dropdowns in the n8n UI for the current surface area.

  ## Credentials

  Air's API uses:

  \- x-api-key

  \- x-air-workspace-id

  ## Compatibility

  _No known compatibility issues._

  ## Usage
      
  ### Basic Upload Workflow

  Steps to upload assets using binary input.

  ### Metadata Enrichment

  Fetch assets, enrich metadata, update Air.

  ### Board Syncing

  Sync boards with data from project tools.

  ## Compatibility

  \- Works with modern n8n 1.x builds.

  \- Best for self-hosted installations.

  ## Resources

  * [Air Application](https://app.air.inc)
  * [Air Developer Documentation](https://developer.air.inc)
  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)


  ## Version history

  _See CHANGELOG.md for version notes._

ai_documentation_summary:
  {"purpose":"Provides workflow nodes to access, upload, update, and manage assets, boards, custom fields, tags, and uploads within an Air workspace, enabling programmatic integration of Air with other systems via n8n.","capabilities":["Upload assets from n8n binary sources (S3, GDrive, FTP, webhooks, etc.)","Create upload URL for direct uploads","Complete upload part (for multipart uploads > 5 GB)","Complete upload (finalize multipart uploads > 5 GB)","List and search assets by metadata or keywords","Retrieve asset details","Update asset metadata (title, description, tags, custom fields)","Delete or archive assets (optional)","List boards in a workspace","Get board details"],"authentication":"API key + workspace ID required (provide x-api-key and x-air-workspace-id)","commonUseCases":["Upload and ingest media/assets from external sources into Air via n8n workflows","Search and retrieve assets, enrich metadata, and update assets in Air","Sync boards and board membership from project tools or CRMs into Air","Manage custom fields and tag taxonomies programmatically","Handle large file uploads (>5 GB) using multipart upload endpoints"],"limitations":["Node exposes a subset of the Air API — not necessarily the full API surface","Exact available operations may change over time; verify Resource and Operation dropdowns in the n8n UI","Targeted at modern n8n 1.x and best suited for self-hosted installations (may require compatibility checks for other setups)"],"relatedNodes":[]}


node_type: n8n-nodes-dataforseo.dataForSeo
package_name: n8n-nodes-dataforseo
display_name: DataForSEO
description: DataForSEO
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: dataforseo
author_github_url: https://github.com/dataforseo/
npm_package_name: n8n-nodes-dataforseo
npm_version: 1.5.0
community_fetched_at: 2026-02-19T14:41:52.454Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "backlinks",
      "options": [
        {
          "name": "Backlink",
          "value": "backlinks"
        },
        {
          "name": "SERP",
          "value": "serp"
        },
        {
          "name": "Business Data",
          "value": "business_data"
        },
        {
          "name": "On Page",
          "value": "on_page"
        },
        {
          "name": "Keywords Data",
          "value": "keywords_data"
        },
        {
          "name": "Labs",
          "value": "labs"
        },
        {
          "name": "AI Optimization",
          "value": "ai_optimization"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get-backlinks",
      "options": [
        {
          "name": "Get Backlinks",
          "value": "get-backlinks",
          "action": "Get backlinks",
          "description": "Get a list of backlinks for a domain, subdomain or page"
        },
        {
          "name": "Get Backlink Summary",
          "value": "get-backlink-summary",
          "action": "Get backlink summary",
          "description": "Get an overview of backlink data for a domain, subdomain, or webpage"
        },
        {
          "name": "Get Historical Backlink Summary",
          "value": "get-historical-backlink-summary",
          "action": "Get historical backlink summary",
          "description": "Get historical backlink data for a domain back to the beginning of 2019"
        },
        {
          "name": "Get Bulk Backlink Rank",
          "value": "get-bulk-backlink-rank",
          "action": "Get bulk backlink rank",
          "description": "Get rank scores for up to 1,000 domains, subdomains, and pages"
        },
        {
          "name": "Get Bulk Backlink Stats",
          "value": "get-bulk-backlink-stats",
          "action": "Get bulk backlink stats",
          "description": "Get the number of backlinks for up to 1,000 domains, subdomains, and pages"
        },
        {
          "name": "Get Backlinks Pages Summary",
          "value": "get-backlinks-page-summary",
          "action": "Get backlinks pages summary",
          "description": "Get an overview of backlinks and associated data in bulk"
        },
        {
          "name": "Get Bulk Referring Domain Stats",
          "value": "get-bulk-referring-domain-stats",
          "action": "Get bulk referring domain stats",
          "description": "Get the number of referring domains for up to 1,000 domains, subdomains, and pages"
        },
        {
          "name": "Get Referring Domains",
          "value": "get-referring-domains",
          "action": "Get referring domains",
          "description": "Get a detailed overview of referring domains pointing to the target you specify"
        },
        {
          "name": "Get Bulk Spam Scores",
          "value": "get-bulk-spam-scores",
          "action": "Get bulk spam scores",
          "description": "Get Spam Scores for up to 1,000 domains, subdomains, and pages"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "backlinks"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get-parsed-serp",
      "options": [
        {
          "name": "Get Parsed SERP",
          "value": "get-parsed-serp",
          "action": "Get parsed serp",
          "description": "Get Google Search results for the specified keyword"
        },
        {
          "name": "Get Finance Explore",
          "value": "get-finance-explore",
          "action": "Get finance explore",
          "description": "Get real-time data from the ‘Explore’ tab of Google Finance"
        },
        {
          "name": "Get Finance Markets",
          "value": "get-finance-markets",
          "action": "Get finance markets",
          "description": "Get real-time data from the ‘Markets’ tab of Google Finance"
        },
        {
          "name": "Get Finance Quote",
          "value": "get-finance-quote",
          "action": "Get finance quote",
          "description": "Get real-time data from the ‘Quote’ tab of Google Finance"
        },
        {
          "name": "Search Google Finance Tickers",
          "value": "search-google-finance-tickers",
          "action": "Search google finance tickers",
          "description": "Search by company name, market, or financial instrument to get Google Finance data on stocks, futures, and asset pairs, their value, growth trends, and identifiers"
        },
        {
          "name": "Get Google AI Mode SERP",
          "value": "get-google-ai-mode-serp",
          "action": "Get google ai mode serp",
          "description": "Get search results from the AI Mode feature of Google Search"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "serp"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get-business-listings",
      "options": [
        {
          "name": "Get Business Listings",
          "value": "get-business-listings",
          "action": "Get business listings",
          "description": "Get information about businesses listed on Google Maps in the specified categories"
        },
        {
          "name": "Get Business Listings Categories Aggregation",
          "value": "get-business-listings-categories-aggregation",
          "action": "Get business listings categories aggregation",
          "description": "Get data about groups of related business categories along with the number of entities in each category"
        },
        {
          "name": "Get Google Reviews",
          "value": "get-google-reviews",
          "action": "Get google reviews",
          "description": "Fetch reviews and related data from millions of Google Business Profiles around the world"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "business_data"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get-page-audit-check",
      "options": [
        {
          "name": "Get Page Audit Check",
          "value": "get-page-audit-check",
          "action": "Get page audit check",
          "description": "Run an essential SEO Audit of a page"
        },
        {
          "name": "Parse Page Content",
          "value": "parse-page-content",
          "action": "Parse page content",
          "description": "Get parsed and structured content of any page, including link URLs, anchors, headings, and text"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "on_page"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get-google-search-volume",
      "options": [
        {
          "name": "Get Google Search Volume",
          "value": "get-google-search-volume",
          "action": "Get google search volume",
          "description": "Get search volume, CPC, and competition for keywords"
        },
        {
          "name": "Get Keywords for Keywords",
          "value": "get-keywords-for-keywords",
          "action": "Get keywords for keywords",
          "description": "Get relevant keyword suggestions for the specified terms"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "keywords_data"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get-domain-rank-overview",
      "options": [
        {
          "name": "Get Domain Rank Overview",
          "value": "get-domain-rank-overview",
          "action": "Get domain rank overview",
          "description": "Get ranking and traffic data from organic search for a domain"
        },
        {
          "name": "Get Keyword Suggestions",
          "value": "get-keyword-suggestions",
          "action": "Get keyword suggestions",
          "description": "Get search terms that are relevant to the product or service categories of all the specified keywords"
        },
        {
          "name": "Get Ranked Keywords",
          "value": "get-ranked-keywords",
          "action": "Get ranked keywords",
          "description": "Get the list of keywords that any domain or webpage is ranking for"
        },
        {
          "name": "Get Keyword Difficulty",
          "value": "get-keyword-difficulty",
          "action": "Get keyword difficulty",
          "description": "Get Keyword Difficulty for the specified keywords"
        },
        {
          "name": "Get Organic Traffic Stats",
          "value": "get-organic-traffic-stats",
          "action": "Get organic traffic stats",
          "description": "Get an estimation of monthly organic traffic for a website or page"
        },
        {
          "name": "Get Historical Traffic Stats",
          "value": "get-historical-traffic-stats",
          "action": "Get historical traffic stats",
          "description": "Get a historical estimate of organic traffic for a website or page"
        },
        {
          "name": "Get Keyword Ideas",
          "value": "get-keyword-ideas",
          "action": "Get keyword ideas",
          "description": "Get search terms that fall into the same Google product or service category as the specified keywords"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "labs"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get-ai-keyword-search-volume",
      "options": [
        {
          "name": "Get AI Keyword Search Volume",
          "value": "get-ai-keyword-search-volume",
          "action": "Get AI keyword search volume",
          "description": "Get search volume data for target keywords based on their estimated usage in AI tools"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "ai_optimization"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Backlinks",
      "value": "get-backlinks",
      "action": "Get backlinks",
      "description": "Get a list of backlinks for a domain, subdomain or page"
    },
    {
      "name": "Get Backlink Summary",
      "value": "get-backlink-summary",
      "action": "Get backlink summary",
      "description": "Get an overview of backlink data for a domain, subdomain, or webpage"
    },
    {
      "name": "Get Historical Backlink Summary",
      "value": "get-historical-backlink-summary",
      "action": "Get historical backlink summary",
      "description": "Get historical backlink data for a domain back to the beginning of 2019"
    },
    {
      "name": "Get Bulk Backlink Rank",
      "value": "get-bulk-backlink-rank",
      "action": "Get bulk backlink rank",
      "description": "Get rank scores for up to 1,000 domains, subdomains, and pages"
    },
    {
      "name": "Get Bulk Backlink Stats",
      "value": "get-bulk-backlink-stats",
      "action": "Get bulk backlink stats",
      "description": "Get the number of backlinks for up to 1,000 domains, subdomains, and pages"
    },
    {
      "name": "Get Backlinks Pages Summary",
      "value": "get-backlinks-page-summary",
      "action": "Get backlinks pages summary",
      "description": "Get an overview of backlinks and associated data in bulk"
    },
    {
      "name": "Get Bulk Referring Domain Stats",
      "value": "get-bulk-referring-domain-stats",
      "action": "Get bulk referring domain stats",
      "description": "Get the number of referring domains for up to 1,000 domains, subdomains, and pages"
    },
    {
      "name": "Get Referring Domains",
      "value": "get-referring-domains",
      "action": "Get referring domains",
      "description": "Get a detailed overview of referring domains pointing to the target you specify"
    },
    {
      "name": "Get Bulk Spam Scores",
      "value": "get-bulk-spam-scores",
      "action": "Get bulk spam scores",
      "description": "Get Spam Scores for up to 1,000 domains, subdomains, and pages"
    },
    {
      "name": "Get Parsed SERP",
      "value": "get-parsed-serp",
      "action": "Get parsed serp",
      "description": "Get Google Search results for the specified keyword"
    },
    {
      "name": "Get Finance Explore",
      "value": "get-finance-explore",
      "action": "Get finance explore",
      "description": "Get real-time data from the ‘Explore’ tab of Google Finance"
    },
    {
      "name": "Get Finance Markets",
      "value": "get-finance-markets",
      "action": "Get finance markets",
      "description": "Get real-time data from the ‘Markets’ tab of Google Finance"
    },
    {
      "name": "Get Finance Quote",
      "value": "get-finance-quote",
      "action": "Get finance quote",
      "description": "Get real-time data from the ‘Quote’ tab of Google Finance"
    },
    {
      "name": "Search Google Finance Tickers",
      "value": "search-google-finance-tickers",
      "action": "Search google finance tickers",
      "description": "Search by company name, market, or financial instrument to get Google Finance data on stocks, futures, and asset pairs, their value, growth trends, and identifiers"
    },
    {
      "name": "Get Google AI Mode SERP",
      "value": "get-google-ai-mode-serp",
      "action": "Get google ai mode serp",
      "description": "Get search results from the AI Mode feature of Google Search"
    },
    {
      "name": "Get Business Listings",
      "value": "get-business-listings",
      "action": "Get business listings",
      "description": "Get information about businesses listed on Google Maps in the specified categories"
    },
    {
      "name": "Get Business Listings Categories Aggregation",
      "value": "get-business-listings-categories-aggregation",
      "action": "Get business listings categories aggregation",
      "description": "Get data about groups of related business categories along with the number of entities in each category"
    },
    {
      "name": "Get Google Reviews",
      "value": "get-google-reviews",
      "action": "Get google reviews",
      "description": "Fetch reviews and related data from millions of Google Business Profiles around the world"
    },
    {
      "name": "Get Page Audit Check",
      "value": "get-page-audit-check",
      "action": "Get page audit check",
      "description": "Run an essential SEO Audit of a page"
    },
    {
      "name": "Parse Page Content",
      "value": "parse-page-content",
      "action": "Parse page content",
      "description": "Get parsed and structured content of any page, including link URLs, anchors, headings, and text"
    },
    {
      "name": "Get Google Search Volume",
      "value": "get-google-search-volume",
      "action": "Get google search volume",
      "description": "Get search volume, CPC, and competition for keywords"
    },
    {
      "name": "Get Keywords for Keywords",
      "value": "get-keywords-for-keywords",
      "action": "Get keywords for keywords",
      "description": "Get relevant keyword suggestions for the specified terms"
    },
    {
      "name": "Get Domain Rank Overview",
      "value": "get-domain-rank-overview",
      "action": "Get domain rank overview",
      "description": "Get ranking and traffic data from organic search for a domain"
    },
    {
      "name": "Get Keyword Suggestions",
      "value": "get-keyword-suggestions",
      "action": "Get keyword suggestions",
      "description": "Get search terms that are relevant to the product or service categories of all the specified keywords"
    },
    {
      "name": "Get Ranked Keywords",
      "value": "get-ranked-keywords",
      "action": "Get ranked keywords",
      "description": "Get the list of keywords that any domain or webpage is ranking for"
    },
    {
      "name": "Get Keyword Difficulty",
      "value": "get-keyword-difficulty",
      "action": "Get keyword difficulty",
      "description": "Get Keyword Difficulty for the specified keywords"
    },
    {
      "name": "Get Organic Traffic Stats",
      "value": "get-organic-traffic-stats",
      "action": "Get organic traffic stats",
      "description": "Get an estimation of monthly organic traffic for a website or page"
    },
    {
      "name": "Get Historical Traffic Stats",
      "value": "get-historical-traffic-stats",
      "action": "Get historical traffic stats",
      "description": "Get a historical estimate of organic traffic for a website or page"
    },
    {
      "name": "Get Keyword Ideas",
      "value": "get-keyword-ideas",
      "action": "Get keyword ideas",
      "description": "Get search terms that fall into the same Google product or service category as the specified keywords"
    },
    {
      "name": "Get AI Keyword Search Volume",
      "value": "get-ai-keyword-search-volume",
      "action": "Get AI keyword search volume",
      "description": "Get search volume data for target keywords based on their estimated usage in AI tools"
    }
  ]

npm_readme:
  DataForSEO Node for n8n
  ==========

  With the DataForSEO node in n8n, you can retrieve marketing and SEO data, such as Google rankings, keyword suggestions, backlink reports, etc., through the DataForSEO API.

  To use the DataForSEO node, you must have a DataForSEO account. You can create an account at [dataforseo.com](https://dataforseo.com/).

  Refer to the [DataForSEO API documentation](https://docs.dataforseo.com/v3/) for the list of available endpoints.

  ## Contents
  - [Connect DataForSEO to n8n](#connect-dataforseo-to-n8n)
  - [Available DataForSEO Operations](#available-dataforseo-operations)
  - [Example DataForSEO Workflow Configurations](#example-dataforseo-workflow-configurations)


  Connect DataForSEO to n8n
  --------------------------

  ## Prerequisites

  - DataForSEO account
  - n8n installed or cloud account

  ## Setup

  To establish the connection, you must:

  1.  [Obtain your DataForSEO API credentials.](#obtain-your-dataforseo-api-credentials "Obtain Your DataForSEO API Credentials")
      
  2.  [Establish the connection in n8n.](#establish-the-connection-with-dataforseo-in-n8n "Establish the connection with DataForSEO in n8n")
      

  ### Obtain Your DataForSEO API Credentials

  To obtain your DataForSEO API credentials (API login and password):

  1.  Log in to your DataForSEO account dashboard.
      
  2.  In the left sidebar, click **API Access**.
      
  3.  Copy the **API Login** and **API Password** values shown and store them in a safe place. 

  Note that the API password is visible for the first 24 hours after registration. Later, you can request the password by clicking “Send by e-mail,” then copy the credentials from it.


  Enter these values in the **API Login** and **API Password** fields in n8n.

  ### Establish the connection with DataForSEO in n8n

  To establish the connection in n8n:

  1.  Log in to your n8n account, add a DataForSEO node to your workflow, and click **Create new credential**.
      
  2.  Optional: Rename the credential.
      
  3.  In the **API Login** and **API Password** fields, enter the values copied above.
      
  4.  Click **Save**.
      

  You have successfully established the connection. You can now build workflows using DataForSEO operations.


  Available DataForSEO Operations
  --------------------------

  After connecting the app, you can perform the following operations:

  ## DataForSEO SERP API

  ### Google
  + [Get Live Google Organic SERP Regular](https://docs.dataforseo.com/v3/serp/google/organic/live/regular/?bash)
  + [Get Live Google Organic SERP Advanced](https://docs.dataforseo.com/v3/serp/google/organic/live/advanced/?bash)
  + [Get Live Google Organic SERP HTML](https://docs.dataforseo.com/v3/serp/google/organic/live/html/?bash)
  + [Get Google Organic SERP Regular](https://docs.dataforseo.com/v3/serp/google/organic/task_get/regular/?bash)
  + [Get Google Organic SERP Advanced](https://docs.dataforseo.com/v3/serp/google/organic/task_get/advanced/?bash)
  + [Get Google Organic SERP HTML](https://docs.dataforseo.com/v3/serp/google/organic/task_get/html/?bash)
  + [Get Live Google AI Mode SERP Advanced](https://docs.dataforseo.com/v3/serp/google/ai_mode/live/advanced/?bash)
  + [Get Live Google AI Mode SERP HTML](https://docs.dataforseo.com/v3/serp/google/ai_mode/live/html/?bash)
  + [Get Google AI Mode SERP Advanced](https://docs.dataforseo.com/v3/serp/google/ai_mode/task_get/advanced/?bash)
  + [Get Google AI Mode SERP HTML](https://docs.dataforseo.com/v3/serp/google/ai_mode/task_get/html/?bash)
  + [Get Live Google Maps SERP Advanced](https://docs.dataforseo.com/v3/serp/google/maps/live/advanced/?bash)
  + [Get Google Maps SERP Advanced](https://docs.dataforseo.com/v3/serp/google/maps/task_get/advanced/?bash)
  + [Get Live Google Local Finder SERP Advanced](https://docs.dataforseo.com/v3/serp/google/local_finder/live/advanced/?bash)
  + [Get Live Google Local Finder SERP HTML](https://docs.dataforseo.com/v3/serp/google/local_finder/live/html/?bash)
  + [Get Google Local Finder SERP Advanced](https://docs.dataforseo.com/v3/serp/google/local_finder/task_get/advanced/?bash)
  + [Get Google Local Finder SERP HTML](https://docs.dataforseo.com/v3/serp/google/local_finder/task_get/html/?bash)
  + [Get Live Google News SERP Advanced](https://docs.dataforseo.com/v3/serp/google/news/live/advanced/?bash)
  + [Get Live Google News SERP HTML](https://docs.dataforseo.com/v3/serp/google/news/live/html/?bash)
  + [Get Google News SERP Advanced](https://docs.dataforseo.com/v3/serp/google/news/task_get/advanced/?bash)
  + [Get Google News SERP HTML](https://docs.dataforseo.com/v3/serp/google/news/task_get/html/?bash)
  + [Get Live Google Events SERP Advanced](https://docs.dataforseo.com/v3/serp/google/events/live/advanced/?bash)
  + [Get Google Events SERP Advanced](https://docs.dataforseo.com/v3/serp/google/events/task_get/advanced/?bash)
  + [Get Live Google Images SERP Advanced](https://docs.dataforseo.com/v3/serp/google/images/live/advanced/?bash)
  + [Get Live Google Images SERP HTML](https://docs.dataforseo.com/v3/serp/google/images/live/html/?bash)
  + [Get Google Images SERP Advanced](https://docs.dataforseo.com/v3/serp/google/images/task_get/advanced/?bash)
  + [Get Google Images SERP HTML](https://docs.dataforseo.com/v3/serp/google/images/task_get/html/?bash)
  + [Get Google Search By Image SERP Advanced](https://docs.dataforseo.com/v3/serp/google/search_by_image/task_get/advanced/?bash)
  + [Get Google Search By Image SERP HTML](https://docs.dataforseo.com/v3/serp/google/search_by_image/task_get/html/?bash)
  + [Get Google Jobs SERP Advanced](https://docs.dataforseo.com/v3/serp/google/jobs/task_get/advanced/?bash)
  + [Get Google Jobs SERP HTML](https://docs.dataforseo.com/v3/serp/google/jobs/task_get/html/?bash)
  + [Get Live Google Autocomplete SERP Advanced](https://docs.dataforseo.com/v3/serp/google/autocomplete/live/advanced/?bash)
  + [Get Google Autocomplete SERP Advanced](https://docs.dataforseo.com/v3/serp/google/autocomplete/task_get/advanced/?bash)
  + [Get Live Google Dataset Search SERP Advanced](https://docs.dataforseo.com/v3/serp/google/dataset_search/live/advanced/?bash)
  + [Get Google Dataset Search SERP Advanced](https://docs.dataforseo.com/v3/serp/google/dataset_search/task_get/advanced/?bash)
  + [Get Live Google Dataset Info Advanced](https://docs.dataforseo.com/v3/serp/google/dataset_info/live/advanced/?bash)
  + [Get Google Dataset Info Advanced](https://docs.dataforseo.com/v3/serp/google/dataset_info/task_get/advanced/?bash)
  + [Get Live Google Ads Advertisers SERP Advanced](https://docs.dataforseo.com/v3/serp/google/ads_advertisers/live/advanced/?bash)
  + [Get Google Ads Advertisers SERP Advanced](https://docs.dataforseo.com/v3/serp/google/ads_advertisers/task_get/advanced/?bash)
  + [Get Live Google Ads Search Advanced](https://docs.dataforseo.com/v3/serp/google/ads_search/live/advanced/?bash)
  +[Get Google Ads Search Advanced](https://docs.dataforseo.com/v3/serp/google/ads_search/task_get/advanced/?bash)
  + [Get Live Finance Explore SERP Advanced](https://docs.dataforseo.com/v3/serp/google/finance_explore/live/advanced/?bash)
  + [Get Live Finance Explore SERP HTML](https://docs.dataforseo.com/v3/serp/google/finance_explore/live/html/?bash)
  + [Get Finance Explore SERP Advanced](https://docs.dataforseo.com/v3/serp/google/finance_explore/task_get/advanced/?bash)
  + [Get Finance Explore SERP HTML](https://docs.dataforseo.com/v3/serp/google/finance_explore/task_get/html/?bash)
  + [Get Live Finance Markets SERP Advanced](https://docs.dataforseo.com/v3/serp/google/finance_markets/live/advanced/?bash)
  + [Get Live Finance Markets SERP HTML](https://docs.dataforseo.com/v3/serp/google/finance_markets/live/html/?bash)
  + [Get Finance Markets SERP Advanced](https://docs.dataforseo.com/v3/serp/google/finance_markets/task_get/advanced/?bash)
  + [Get Finance Markets SERP HTML](https://docs.dataforseo.com/v3/serp/google/finance_markets/task_get/html/?bash)
  + [Get Live Finance Quote SERP Advanced](https://docs.dataforseo.com/v3/serp/google/finance_quote/live/advanced/?bash)
  + [Get Live Finance Quote SERP HTML](https://docs.dataforseo.com/v3/serp/google/finance_quote/live/html/?bash)
  + [Get Finance Quote SERP Advanced](https://docs.dataforseo.com/v3/serp/google/finance_quote/task_get/advanced/?bash)
  + [Get Finance Quote SERP HTML](https://docs.dataforseo.com/v3/serp/google/finance_quote/task_get/html/?bash)
  + [Get Live Finance Ticker Search Advanced](https://docs.dataforseo.com/v3/serp/google/finance_ticker_search/live/advanced/?bash)
  + [Get Finance Ticker Search Advanced](https://docs.dataforseo.com/v3/serp/google/finance_ticker_search/task_get/advanced/?bash)

  ### Bing
  + [Get Live Bing Organic SERP Regular](https://docs.dataforseo.com/v3/serp/bing/organic/live/regular/?bash)
  + [Get Live Bing Organic SERP Advanced](https://docs.dataforseo.com/v3/serp/bing/organic/live/advanced/?bash)
  + [Get Live Bing Organic SERP HTML](https://docs.dataforseo.com/v3/serp/bing/organic/live/html/?bash)
  + [Get Bing Organic SERP Regular](https://docs.dataforseo.com/v3/serp/bing/organic/task_get/regular/?bash)
  + [Get Bing Organic SERP HTML](https://docs.dataforseo.com/v3/serp/bing/organic/task_get/html/?bash)
  + [Get Live Bing Local Finder SERP Regular](https://docs.dataforseo.com/v3/serp/bing/organic/task_get/regular/?bash)
  + [Get Live Bing Local Finder SERP HTML](https://docs.dataforseo.com/v3/serp/bing/organic/task_get/html/?bash)

  ### YouTube
  + [Get Live YouTube Organic SERP Advanced](https://docs.dataforseo.com/v3/serp/youtube/organic/live/advanced/?bash)
  + [Get YouTube Organic SERP Advanced](https://docs.dataforseo.com/v3/serp/youtube/organic/task_get/advanced/?bash)
  + [Get Live YouTube Video Info Advanced](https://docs.dataforseo.com/v3/serp/youtube/video_info/live/advanced/?bash)
  + [Get YouTube Video Info Advanced](https://docs.dataforseo.com/v3/serp/youtube/video_info/task_get/advanced/?bash)
  + [Get Live YouTube Subtitles Advanced](https://docs.dataforseo.com/v3/serp/youtube/video_subtitles/live/advanced/?bash)
  + [Get YouTube Subtitles Advanced](https://docs.dataforseo.com/v3/serp/youtube/video_subtitles/task_get/advanced/?bash)
  + [Get Live YouTube Comments Advanced](https://docs.dataforseo.com/v3/serp/youtube/video_comments/live/advanced/?bash)
  + [Get YouTube Comments Advanced](https://docs.dataforseo.com/v3/serp/youtube/video_comments/task_get/advanced/?bash)

  ### Yahoo
  + [Get Live Yahoo Organic SERP Regular](https://docs.dataforseo.com/v3/serp/yahoo/organic/live/regular/?bash)
  + [Get Live Yahoo Organic SERP Advanced](https://docs.dataforseo.com/v3/serp/yahoo/organic/live/advanced/?bash)
  + [Get Live Yahoo Organic SERP HTML](https://docs.dataforseo.com/v3/serp/yahoo/organic/live/html/?bash)
  + [Get Yahoo Organic SERP Regular](https://docs.dataforseo.com/v3/serp/yahoo/organic/task_get/regular/?bash)
  + [Get Yahoo Organic SERP Advanced](https://docs.dataforseo.com/v3/serp/yahoo/organic/task_get/advanced/?bash)
  + [Get Yahoo Organic SERP HTML](https://docs.dataforseo.com/v3/serp/yahoo/organic/task_get/html/?bash)

  ### Baidu
  + [Get Baidu Organic SERP Regular](https://docs.dataforseo.com/v3/serp/baidu/organic/task_get/regular/?bash)
  + [Get Baidu Organic SERP Advanced](https://docs.dataforseo.com/v3/serp/baidu/organic/task_get/advanced/?bash)
  + [Get Baidu Organic SERP HTML](https://docs.dataforseo.com/v3/serp/baidu/organic/task_get/html/?bash)

  ### Naver
  + [Get Naver Organic SERP Regular](https://docs.dataforseo.com/v3/serp/naver/organic/task_get/regular/?bash)
  + [Get Naver Organic SERP Advanced](https://docs.dataforseo.com/v3/serp/naver/organic/task_get/advanced/?bash)
  + [Get Naver Organic SERP HTML](https://docs.dataforseo.com/v3/serp/naver/organic/task_get/html/?bash)

  ### Seznam
  + [Get Seznam Organic SERP Regular](https://docs.dataforseo.com/v3/serp/seznam/organic/task_get/regular/?bash)
  + [Get Seznam Organic SERP Advanced](https://docs.dataforseo.com/v3/serp/seznam/organic/task_get/advanced/?bash)
  + [Get Seznam Organic SERP HTML](https://docs.dataforseo.com/v3/serp/seznam/organic/task_get/html/?bash)


  ## DataForSEO Keywords Data API

  ### Google Ads
  + [Get Live Google Search Volume](https://docs.dataforseo.com/v3/keywords_data/google_ads/search_volume/live/?bash)
  + [Get Google Search Volume](https://docs.dataforseo.com/v3/keywords_data/google_ads/search_volume/task_get/?bash)
  + [Get Live Google Keywords for Site](https://docs.dataforseo.com/v3/keywords_data/google_ads/keywords_for_site/live/?bash)
  + [Get Google Keywords for Site](https://docs.dataforseo.com/v3/keywords_data/google_ads/keywords_for_site/task_get/?bash)
  + [Get Live Google Keywords for Keywords](https://docs.dataforseo.com/v3/keywords_data/google_ads/keywords_for_keywords/live/?bash)
  + [Get Google Keywords for Keywords](https://docs.dataforseo.com/v3/keywords_data/google_ads/keywords_for_keywords/task_get/?bash)
  + [Get Live Google Ad Traffic By Keywords](https://docs.dataforseo.com/v3/keywords_data/google_ads/ad_traffic_by_keywords/live/?bash)
  + [Get Google Ad Traffic By Keywords](https://docs.dataforseo.com/v3/keywords_data/google_ads/ad_traffic_by_keywords/task_get/?bash)

  ### Bing Ads
  + [Get Live Bing Search Volume](https://docs.dataforseo.com/v3/keywords_data/bing/search_volume/live/?bash)
  + [Get Bing Search Volume](https://docs.dataforseo.com/v3/keywords_data/bing/search_volume/task_get/?bash)
  + [Get Live Bing Search Volume History](https://docs.dataforseo.com/v3/keywords_data/bing/search_volume_history/live/?bash)
  + [Get Bing Search Volume History](https://docs.dataforseo.com/v3/keywords_data/bing/search_volume_history/task_get/?bash)
  + [Get Live Bing Keywords for Site](https://docs.dataforseo.com/v3/keywords_data/bing/keywords_for_site/live/?bash)
  + [Get Bing Keywords for Site](https://docs.dataforseo.com/v3/keywords_data/bing/keywords_for_site/task_get/?bash)
  + [Get Live Bing Keywords for Keywords](https://docs.dataforseo.com/v3/keywords_data/bing/keywords_for_keywords/live/?bash)
  + [Get Bing Keywords for Keywords](https://docs.dataforseo.com/v3/keywords_data/bing/keywords_for_keywords/task_get/?bash)
  + [Get Live Bing Keyword Performance](https://docs.dataforseo.com/v3/keywords_data/bing/keyword_performance/live/?bash)
  + [Get Bing Keyword Performance](https://docs.dataforseo.com/v3/keywords_data/bing/keyword_performance/task_get/?bash)
  + [Get Live Bing Keyword Suggestions for URL](https://docs.dataforseo.com/v3/keywords_data/bing/keyword_suggestions_for_url/live/?bash)
  + [Get Bing Keyword Suggestions for URL](https://docs.dataforseo.com/v3/keywords_data/bing/keyword_suggestions_for_url/task_get/?bash)
  + [Get Live Bing Ads Audience Estimation](https://docs.dataforseo.com/v3/keywords_data/bing/audience_estimation/live/?bash)
  + [Get Bing Ads Audience Estimation](https://docs.dataforseo.com/v3/keywords_data/bing/audience_estimation/task_get/?bash)

  ### Google Trends
  + [Get Live Google Trends Explore](https://docs.dataforseo.com/v3/keywords_data/google_trends/explore/live/?bash)
  + [Get Google Trends Explore](https://docs.dataforseo.com/v3/keywords_data/google_trends/explore/task_get/?bash)

  ### DataForSEO Trends
  + [Get Live DataForSEO Trends Explore](https://docs.dataforseo.com/v3/keywords_data/dataforseo_trends/explore/live/?bash)
  + [Get Live DataForSEO Trends Subregion Interests](https://docs.dataforseo.com/v3/keywords_data/dataforseo_trends/subregion_interests/live/?bash)
  + [Get Live DataForSEO Trends Demography](https://docs.dataforseo.com/v3/keywords_data/dataforseo_trends/demography/live/?bash)
  + [Get Live DataForSEO Trends Merged Data](https://docs.dataforseo.com/v3/keywords_data/dataforseo_trends/merged_data/live/?bash)

  ### Clickstream Data
  + [Get Live DataForSEO Search Volume](https://docs.dataforseo.com/v3/keywords_data/clickstream_data/dataforseo_search_volume/live/?bash)
  + [Get Live Clickstream Global Search Volume](https://docs.dataforseo.com/v3/keywords_data/clickstream_data/global_search_volume/live/?bash)
  + [Get Live Bulk Clickstream Search Volume](https://docs.dataforseo.com/v3/keywords_data/clickstream_data/bulk_search_volume/live/?bash)

  ## DataForSEO Domain Analytics API

  ### Technologies
  + [Get Live Aggregation Technologies](https://docs.dataforseo.com/v3/domain_analytics/technologies/aggregation_technologies/live/?bash)
  + [Get Live Technologies Summary](https://docs.dataforseo.com/v3/domain_analytics/technologies/technologies_summary/live/?bash)
  + [Get Live Technology Stats](https://docs.dataforseo.com/v3/domain_analytics/technologies/technology_stats/live/?bash)
  + [Get Domains By Technology](https://docs.dataforseo.com/v3/domain_analytics/technologies/domains_by_technology/live/?bash)
  + [Get Domains By HTML Terms](https://docs.dataforseo.com/v3/domain_analytics/technologies/domains_by_html_terms/live/?bash)
  + [Get Live Domain Technologies](https://docs.dataforseo.com/v3/domain_analytics/technologies/domain_technologies/live/?bash)

  ### Whois
  + [Get Live Domain Whois Overview](https://docs.dataforseo.com/v3/domain_analytics/whois/overview/live/?bash)

  ## DataForSEO Labs API

  ### Google
  + [Get Keywords For Site](https://docs.dataforseo.com/v3/dataforseo_labs/google/keywords_for_site/live/?bash)
  + [Get Related Keywords](https://docs.dataforseo.com/v3/dataforseo_labs/google/related_keywords/live/?bash)
  + [Get Keyword Suggestions](https://docs.dataforseo.com/v3/dataforseo_labs/google/keyword_suggestions/live/?bash)
  + [Get Keyword Ideas](https://docs.dataforseo.com/v3/dataforseo_labs/google/keyword_ideas/live/?bash)
  + [Get Keyword Difficulty](https://docs.dataforseo.com/v3/dataforseo_labs/google/bulk_keyword_difficulty/live/?bash)
  + [Get Search Intent](https://docs.dataforseo.com/v3/dataforseo_labs/google/search_intent/live/?bash)
  + [Get Keyword Overview](https://docs.dataforseo.com/v3/dataforseo_labs/google/keyword_overview/live/?bash)
  + [Get Historical Keyword Data](https://docs.dataforseo.com/v3/dataforseo_labs/google/historical_keyword_data/live/?bash)
  + [Get Categories For Domain](https://docs.dataforseo.com/v3/dataforseo_labs/google/categories_for_domain/live/?bash)
  + [Get Categories For Keywords](https://docs.dataforseo.com/v3/dataforseo_labs/google/categories_for_keywords/live/?bash)
  + [Get Keywords For Categories](https://docs.dataforseo.com/v3/dataforseo_labs/google/keywords_for_categories/live/?bash)
  + [Get Domain Metrics By Categories](https://docs.dataforseo.com/v3/dataforseo_labs/google/domain_metrics_by_categories/live/?bash)
  + [Get Top Searches](https://docs.dataforseo.com/v3/dataforseo_labs/google/top_searches/live/?bash)
  + [Get SERP Competitors](https://docs.dataforseo.com/v3/dataforseo_labs/google/serp_competitors/live/?bash)
  + [Get Ranked Keywords](https://docs.dataforseo.com/v3/dataforseo_labs/google/ranked_keywords/live/?bash)
  + [Get Competitors Domain](https://docs.dataforseo.com/v3/dataforseo_labs/google/competitors_domain/live/?bash)
  + [Get Domain Intersection](https://docs.dataforseo.com/v3/dataforseo_labs/google/domain_intersection/live/?bash)
  + [Get Subdomains](https://docs.dataforseo.com/v3/dataforseo_labs/google/subdomains/live/?bash)
  + [Get Relevant Pages](https://docs.dataforseo.com/v3/dataforseo_labs/google/relevant_pages/live/?bash)
  + [Get Domain Rank Overview](https://docs.dataforseo.com/v3/dataforseo_labs/google/domain_rank_overview/live/?bash)
  + [Get Historical SERPs](https://docs.dataforseo.com/v3/dataforseo_labs/google/historical_serps/live/?bash)
  + [Get Historical Rank Overview](https://docs.dataforseo.com/v3/dataforseo_labs/google/historical_rank_overview/live/?bash)
  + [Get Page Intersection](https://docs.dataforseo.com/v3/dataforseo_labs/google/page_intersection/live/?bash)
  + [Get Bulk Traffic Estimation](https://docs.dataforseo.com/v3/dataforseo_labs/google/bulk_traffic_estimation/live/?bash)
  + [Get Historical Bulk Traffic Estimation](https://docs.dataforseo.com/v3/dataforseo_labs/google/historical_bulk_traffic_estimation/live/?bash)

  ### Amazon
  + [Get Bulk Search Volume](https://docs.dataforseo.com/v3/dataforseo_labs/amazon/bulk_search_volume/live/?bash)
  + [Get Related Keywords](https://docs.dataforseo.com/v3/dataforseo_labs/amazon/related_keywords/live/?bash)
  + [Get Ranked Keywords](https://docs.dataforseo.com/v3/dataforseo_labs/amazon/ranked_keywords/live/?bash)
  + [Get Product Rank Overview](https://docs.dataforseo.com/v3/dataforseo_labs/amazon/product_rank_overview/live/?bash)
  + [Get Product Competitors](https://docs.dataforseo.com/v3/dataforseo_labs/amazon/product_competitors/live/?bash)
  + [Get Product Keyword Intersections](https://docs.dataforseo.com/v3/dataforseo_labs/amazon/product_keyword_intersections/live/?bash)

  ### Bing
  + [Get Bulk Keyword Difficulty](https://docs.dataforseo.com/v3/dataforseo_labs/bing/bulk_keyword_difficulty/live/?bash)
  + [Get Bulk Traffic Estimation](https://docs.dataforseo.com/v3/dataforseo_labs/bing/bulk_traffic_estimation/live/?bash)
  + [Get Competitors Domain](https://docs.dataforseo.com/v3/dataforseo_labs/bing/competitors_domain/live/?bash)
  + [Get Domain Intersection](https://docs.dataforseo.com/v3/dataforseo_labs/bing/domain_intersection/live/?bash)
  + [Get Domain Rank Overview](https://docs.dataforseo.com/v3/dataforseo_labs/bing/domain_rank_overview/live/?bash)
  + [Get Page Intersection](https://docs.dataforseo.com/v3/dataforseo_labs/bing/page_intersection/live/?bash)
  + [Get Related Keywords](https://docs.dataforseo.com/v3/dataforseo_labs/bing/related_keywords/live/?bash)
  + [Get Relevant Pages](https://docs.dataforseo.com/v3/dataforseo_labs/bing/relevant_pages/live/?bash)
  + [Get SERP Competitors](https://docs.dataforseo.com/v3/dataforseo_labs/bing/serp_competitors/live/?bash)
  + [Get Subdomains](https://docs.dataforseo.com/v3/dataforseo_labs/bing/subdomains/live/?bash)

  ### Google Play
  + [Get Bulk App Metrics](https://docs.dataforseo.com/v3/dataforseo_labs/google/bulk_app_metrics/live/?bash)
  + [Get Keywords for App](https://docs.dataforseo.com/v3/dataforseo_labs/google/keywords_for_app/live/?bash)
  + [Get App Competitors](https://docs.dataforseo.com/v3/dataforseo_labs/google/app_competitors/live/?bash)
  + [Get App Intersection](https://docs.dataforseo.com/v3/dataforseo_labs/google/app_intersection/live/?bash)

  ### App Store
  + [Get Bulk App Metrics](https://docs.dataforseo.com/v3/dataforseo_labs/apple/bulk_app_metrics/live/?bash)
  + [Get Keywords for App](https://docs.dataforseo.com/v3/dataforseo_labs/apple/keywords_for_app/live/?bash)
  + [Get App Competitors](https://docs.dataforseo.com/v3/dataforseo_labs/apple/app_competitors/live/?bash)
  + [Get App Intersection](https://docs.dataforseo.com/v3/dataforseo_labs/apple/app_intersection/live/?bash)

  ## DataForSEO Backlinks API
   + [Get Backlinks Summary](https://docs.dataforseo.com/v3/backlinks/summary/live/?bash)
   + [Get Historical Backlink Summary](https://docs.dataforseo.com/v3/backlinks/history/live/?bash)
   + [Get Backlinks](https://docs.dataforseo.com/v3/backlinks/backlinks/live/?bash)
   + [Get Anchors](https://docs.dataforseo.com/v3/backlinks/anchors/live/?bash)
   + [Get Domain Pages](https://docs.dataforseo.com/v3/backlinks/domain_pages/live/?bash)
   + [Get Domain Pages Summary](https://docs.dataforseo.com/v3/backlinks/domain_pages_summary/live/?bash)
   + [Get Referring Domains](https://docs.dataforseo.com/v3/backlinks/referring_domains/live/?bash)
   + [Get Referring Networks](https://docs.dataforseo.com/v3/backlinks/referring_networks/live/?bash)
   + [Get Competitors](https://docs.dataforseo.com/v3/backlinks/competitors/live/?bash)
   + [Get Domain Intersection](https://docs.dataforseo.com/v3/backlinks/domain_intersection/live/?bash)
   + [Get Page Intersection](https://docs.dataforseo.com/v3/backlinks/page_intersection/live/?bash)
   + [Get Backlinks Timeseries Summary](https://docs.dataforseo.com/v3/backlinks/timeseries_summary/live/?bash)
   + [Get New & Lost Backlinks Timeseries Summary](https://docs.dataforseo.com/v3/backlinks/timeseries_new_lost_summary/live/?bash)
   + [Get Bulk Ranks](https://docs.dataforseo.com/v3/backlinks/bulk_ranks/live/?bash)
   + [Get Bulk Backlinks](https://docs.dataforseo.com/v3/backlinks/bulk_backlinks/live/?bash)
   + [Get Bulk Spam Scores](https://docs.dataforseo.com/v3/backlinks/bulk_spam_score/live/?bash)
   + [Get Bulk Referring Domains](https://docs.dataforseo.com/v3/backlinks/bulk_referring_domains/live/?bash)
   + [Get Bulk New & Lost Backlinks](https://docs.dataforseo.com/v3/backlinks/bulk_new_lost_backlinks/live/?bash)
   + [Get Bulk New & Lost Referring Domains](https://docs.dataforseo.com/v3/backlinks/bulk_new_lost_referring_domains/live/?bash)
   + [Get Bulk Pages Summary](https://docs.dataforseo.com/v3/backlinks/bulk_pages_summary/live/?bash)

  ## DataForSEO OnPage API
  + [Get Pages](https://docs.dataforseo.com/v3/on_page/pages/?bash)
  + [Get Pages By Resource](https://docs.dataforseo.com/v3/on_page/page_by_resource/?bash)
  + [Get Resources](https://docs.dataforseo.com/v3/on_page/resources/?bash)
  + [Get Duplicate Tags](https://docs.dataforseo.com/v3/on_page/duplicate_tags/?bash)
  + [Get Duplicate Content](https://docs.dataforseo.com/v3/on_page/duplicate_content/?bash)
  + [Get Links](https://docs.dataforseo.com/v3/on_page/links/?bash)
  + [Get Redirect Chains](https://docs.dataforseo.com/v3/on_page/redirect_chains/?bash)
  + [Get Non-Indexable Pages](https://docs.dataforseo.com/v3/on_page/non_indexable/?bash)
  + [Get Waterfall](https://docs.dataforseo.com/v3/on_page/waterfall/?bash)
  + [Get Keyword Density](https://docs.dataforseo.com/v3/on_page/keyword_density/?bash)
  + [Get Microdata](https://docs.dataforseo.com/v3/on_page/microdata/?bash)
  + [Get Raw HTML](https://docs.dataforseo.com/v3/on_page/raw_html/?bash)
  + [Get Page Screenshot](https://docs.dataforseo.com/v3/on_page/page_screenshot/?bash)
  + [Get Parsed Content](https://docs.dataforseo.com/v3/on_page/content_parsing/?bash)
  + [Get Live Parsed Content](https://docs.dataforseo.com/v3/on_page/content_parsing/live/?bash)
  + [Get Live Instant Pages](https://docs.dataforseo.com/v3/on_page/instant_pages/?bash)
  + [Get Lighthouse Audit Results](https://docs.dataforseo.com/v3/on_page/lighthouse/task_get/json/?bash)
  + [Get Live Lighthouse Audit Results](https://docs.dataforseo.com/v3/on_page/lighthouse/live/json/?bash)

  ## DataForSEO Content Analysis API
  + [Get Search Results](https://docs.dataforseo.com/v3/content_analysis/search/live/?bash)
  + [Get Summary](https://docs.dataforseo.com/v3/content_analysis/summary/live/?bash)
  + [Get Sentiment Analysis](https://docs.dataforseo.com/v3/content_analysis/sentiment_analysis/live/?bash)
  + [Get Rating Distribution](https://docs.dataforseo.com/v3/content_analysis/rating_distribution/live/?bash)
  + [Get Phrase Trends](https://docs.dataforseo.com/v3/content_analysis/phrase_trends/live/?bash)
  + [Get Category Trends](https://docs.dataforseo.com/v3/content_analysis/category_trends/live/?bash)

  ## DataForSEO Content Generation API
  + [Generate Text From Initial Input](https://docs.dataforseo.com/v3/content_generation/generate/live/?bash)
  + [Generate Text By Topic](https://docs.dataforseo.com/v3/content_generation/generate_text/live/?bash)
  + [Generate Meta Tags](https://docs.dataforseo.com/v3/content_generation/generate_meta_tags/live/?bash)
  + [Generate Sub Topics](https://docs.dataforseo.com/v3/content_generation/generate_sub_topics/live/?bash)
  + [Paraphrase Text](https://docs.dataforseo.com/v3/content_generation/paraphrase/live/?bash)
  + [Check Grammar](https://docs.dataforseo.com/v3/content_generation/check_grammar/live/?bash)
  + [Get Text Summary](https://docs.dataforseo.com/v3/content_generation/text_summary/live/?bash)

  ## DataForSEO Merchant API

  ### Google Shopping
  + [Get Products Advanced](https://docs.dataforseo.com/v3/merchant/google/products/task_get/advanced/?bash)
  + [Get Products HTML](https://docs.dataforseo.com/v3/merchant/google/products/task_get/html/?bash)
  + [Get Sellers Advanced](https://docs.dataforseo.com/v3/merchant/google/sellers/task_get/advanced/?bash)
  + [Get Product Info](https://docs.dataforseo.com/v3/merchant/google/product_info/task_get/advanced/?bash)
  + [Get Product Reviews](https://docs.dataforseo.com/v3/merchant/google/reviews/task_get/advanced/?bash)

  ### Amazon
  + [Get Products Advanced](https://docs.dataforseo.com/v3/merchant/amazon/products/task_get/advanced/?bash)
  + [Get Products HTML](https://docs.dataforseo.com/v3/merchant/amazon/products/task_get/html/?bash)
  + [Get Product ASINs Advanced](https://docs.dataforseo.com/v3/merchant/amazon/asin/task_get/advanced/?bash)
  + [Get Product ASINs HTML](https://docs.dataforseo.com/v3/merchant/amazon/asin/task_get/html/?bash)
  + [Get Sellers Advanced](https://docs.dataforseo.com/v3/merchant/amazon/sellers/task_get/advanced/?bash)
  + [Get Sellers HTML](https://docs.dataforseo.com/v3/merchant/amazon/sellers/task_get/html?bash)

  ## DataForSEO App Data API

  ### Google
  + [Search Apps Advanced](https://docs.dataforseo.com/v3/app_data/google/app_searches/task_get/advanced/?bash)
  + [Search Apps HTML](https://docs.dataforseo.com/v3/app_data/google/app_searches/task_get/html/?bash)
  + [Get App List Advanced](https://docs.dataforseo.com/v3/app_data/google/app_list/task_get/advanced/?bash)
  + [Get App List HTML](https://docs.dataforseo.com/v3/app_data/google/app_list/task_get/html/?bash)
  + [Get App Info Advanced](https://docs.dataforseo.com/v3/app_data/google/app_info/task_get/advanced/?bash)
  + [Get App Info HTML](https://docs.dataforseo.com/v3/app_data/google/app_info/task_get/html/?bash)
  + [Get App Reviews](https://docs.dataforseo.com/v3/app_data/google/app_reviews/task_get/advanced/?bash)
  + [Get App Listing Search](https://docs.dataforseo.com/v3/app_data/google/app_listings/search/live/?bash)

  ### Apple
  + [Search Apps](https://docs.dataforseo.com/v3/app_data/apple/app_searches/task_get/advanced/?bash)
  + [Get App List](https://docs.dataforseo.com/v3/app_data/apple/app_list/task_get/advanced/?bash)
  + [Get App Info](https://docs.dataforseo.com/v3/app_data/apple/app_info/task_get/advanced/?bash)
  + [Get App Reviews](https://docs.dataforseo.com/v3/app_data/apple/app_reviews/task_get/advanced/?bash)
  + [Get App Listings Search](https://docs.dataforseo.com/v3/app_data/apple/app_listings/search/live/?bash)

  ## DataForSEO Business Data API

  ### Business Listings
  + [Get Business Listings](https://docs.dataforseo.com/v3/business_data/business_listings/search/live/?bash)
  + [Get Categories Aggregation](https://docs.dataforseo.com/v3/business_data/business_listings/categories_aggregation/live/?bash)

  ### Google
  + [Get Google Business Info Live](https://docs.dataforseo.com/v3/business_data/google/my_business_info/live/?bash)
  + [Get Google Business Info](https://docs.dataforseo.com/v3/business_data/google/my_business_info/task_get/?bash)
  + [Get Google Business Updates](https://docs.dataforseo.com/v3/business_data/google/my_business_updates/task_get/?bash)
  + [Get Google Hotel Searches Live](https://docs.dataforseo.com/v3/business_data/google/hotel_searches/live/?bash)
  + [Get Google Hotel Searches](https://docs.dataforseo.com/v3/business_data/google/hotel_searches/task_get/?bash)
  + [Get Live Google Hotel Info Advanced](https://docs.dataforseo.com/v3/business_data/google/hotel_info/live/advanced/?bash)
  + [Get Live Google Hotel Info HTML](https://docs.dataforseo.com/v3/business_data/google/hotel_info/live/html/?bash)
  + [Get Google Hotel Info Advanced](https://docs.dataforseo.com/v3/business_data/google/hotel_info/task_get/advanced/?bash)
  + [Get Google Hotel Info HTML](https://docs.dataforseo.com/v3/business_data/google/hotel_info/task_get/html/?bash)
  + [Get Google Reviews](https://docs.dataforseo.com/v3/business_data/google/reviews/task_get/?bash)
  + [Get Extended Google Reviews](https://docs.dataforseo.com/v3/business_data/google/extended_reviews/task_get/?bash)
  + [Get Live Business Questions and Answers](https://docs.dataforseo.com/v3/business_data/google/questions_and_answers/live/?bash)
  + [Get Business Questions and Answers](https://docs.dataforseo.com/v3/business_data/google/questions_and_answers/task_get/?bash)

  ### Trustpilot
  + [Search Trustpilot Business Info](https://docs.dataforseo.com/v3/business_data/trustpilot/search/task_get/?bash)
  + [Get Trustpilot Reviews](https://docs.dataforseo.com/v3/business_data/trustpilot/reviews/task_get/?bash)

  ### Tripadvisor
  + [Search Tripadvisor Business Info](https://docs.dataforseo.com/v3/business_data/tripadvisor/search/task_get/?bash)
  + [Get Tripadvisor Reviews](https://docs.dataforseo.com/v3/business_data/tripadvisor/reviews/task_get/?bash)

  ### Social Media
  + [Get Pinterest Data](https://docs.dataforseo.com/v3/business_data/social_media/pinterest/live/?bash)
  + [Get Facebook Data](https://docs.dataforseo.com/v3/business_data/social_media/facebook/live/?bash)
  + [Get Reddit Data](https://docs.dataforseo.com/v3/business_data/social_media/reddit/live/?bash)

  ## DataForSEO AI Optimization API

  ### Keyword Data
  + [Get AI Keyword Search Volume](https://docs.dataforseo.com/v3/ai_optimization/ai_keyword_data/keywords_search_volume/live/)

  ### ChatGPT
  + [Get Live ChatGPT LLM Responses](https://docs.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/live/)
  + [Get Live ChatGPT LLM Scraper Results Advanced](https://docs.dataforseo.com/v3/ai_optimization/chat_gpt/llm_scraper/live/advanced/)
  + [Get Live ChatGPT LLM Scraper Results HTML](https://docs.dataforseo.com/v3/ai_optimization/chat_gpt/llm_scraper/live/html/)
  + [Get ChatGPT LLM Scraper Results Advanced](https://docs.dataforseo.com/v3/ai_optimization/chat_gpt/llm_scraper/task_get/advanced/)
  + [Get ChatGPT LLM Scraper Results HTML](https://docs.dataforseo.com/v3/ai_optimization/chat_gpt/llm_scraper/task_get/html/)

  ### Claude
  + [Get Live Claude LLM Responses](https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/live/)

  ### Gemini
  + [Get Live Gemini LLM Responses](https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/live/)

  ### Perplexity
  + [Get Live Perplexity LLM Responses](https://docs.dataforseo.com/v3/ai_optimization/perplexity/llm_responses/live/)

  ### LLM Mentions
  + [Get Live LLM Mentions](https://docs.dataforseo.com/v3/ai_optimization/llm_mentions/search/live/)
  + [Get Live LLM Mentions Top Pages](https://docs.dataforseo.com/v3/ai_optimization/llm_mentions/top_pages/live/)
  + [Get Live LLM Mentions Top Domains](https://docs.dataforseo.com/v3/ai_optimization/llm_mentions/top_domains/live/)
  + [Get Live LLM Mentions Aggregated Metrics](https://docs.dataforseo.com/v3/ai_optimization/llm_mentions/aggregated_metrics/live/)
  + [Get Live LLM Mentions Cross Aggregated Metrics](https://docs.dataforseo.com/v3/ai_optimization/llm_mentions/cross_aggregated_metrics/live/)

  Example DataForSEO Workflow Configurations
  --------------------------

  This section provides examples of commonly used DataForSEO operations along with detailed descriptions of their configuration parameters.

  #### Backlinks
  + [Get Backlinks](#get-backlinks)
  + [Get Backlink Summary](#get-backlink-summary)
  + [Get Historical Backlink Summary](#get-historical-backlink-summary)
  + [Get Bulk Backlink Rank](#get-bulk-backlink-rank)
  + [Get Bulk Backlink Stats](#get-bulk-backlink-stats)
  + [Get Backlinks Pages Summary](#get-backlinks-pages-summary)
  + [Get Bulk Referring Domain Stats](#get-bulk-referring-domain-stats)
  + [Get Referring Domains](#get-referring-domains)
  + [Get Bulk Spam Scores](#get-bulk-spam-scores)
  #### SERP
  + [Get Parsed SERP](#get-parsed-serp)
  + [Get Finance Explore](#get-finance-explore)
  + [Get Finance Markets](#get-finance-markets)
  + [Get Finance Quote](#get-finance-quote)
  + [Search Google Finance Tickers](#search-google-finance-tickers)
  + [Get Google AI Mode SERP](#get-google-ai-mode-serp)
  #### Business Data
  + [Search Business Listings](#search-business-listings)
  + [Get Business Listings Categories Aggregation](#get-business-listings-categories-aggregation)
  + [Get Google Reviews](#get-google-reviews)
  #### On Page
  + [Get Page Audit Check](#get-page-audit-check)
  + [Parse Page Content](#parse-page-content)
  #### DataForSEO Labs
  + [Get Domain Rank Overview](#get-domain-rank-overview)
  + [Get Keyword Suggestions](#get-keyword-suggestions)
  + [Get Ranked Keywords](#get-ranked-keywords)
  + [Get Keyword Difficulty](#get-keyword-difficulty)
  + [Get Organic Traffic Stats](#get-organic-traffic-stats)
  + [Get Historical Traffic Stats](#get-historical-traffic-stats)
  + [Get Keyword Ideas](#get-keyword-ideas)


  ### Get Backlinks

  Get a list of backlinks for a domain, subdomain, or page.

   + **Target (domain, subdomain, URL)**: Enter the domain, subdomain, or webpage to get backlinks for. A domain or a subdomain should be specified without `https://` and `www.` A page should be specified with an absolute URL (including `http://` or `https://`).

  + **Mode**: Select the grouping type for the results (**As is**: Returns all backlinks, **One Per Domain**: Returns one backlink per domain, **One Per Anchor**: Returns one backlink per anchor). If not specified, the **As is** option will be selected by default.

  + **Limit (up to 1000)**: Enter the maximum number of returned backlinks.

  + **Offset**: Enter the offset in the results array for returned backlinks. The default value is 0. If set to 10, the first 10 backlinks will be skipped, and the results will start from the subsequent backlink.

  + **Sort**: Select the sorting rules for the results.

  + **Backlink Status**: Select the backlink status to return and count (**All**: All backlinks will be returned and counted, **Live**: Backlinks found during the last check will be returned and counted, **Lost**: Lost backlinks will be returned and counted). If not specified, the **Live** option will be selected by default.

  + **Include Subdomains (Optional)**: Select whether to include subdomains of the target in the search.

  + **Include Indirect Links (Optional)**: Select whether to include indirect links in the results.

  ### Get Backlink Summary

  Get an overview of backlink data for a domain, subdomain, or webpage.

  + **Target (domain, subdomain, URL)**: Enter the domain, subdomain, or webpage to get backlinks for. A domain or a subdomain should be specified without `https://` and `www.` A page should be specified with an absolute URL (including `http://` or `https://`).

  + **Include Subdomains (Optional)**: Select whether to include subdomains of the target in the search.

  + **Include Indirect Links (Optional)**: Select whether to include indirect links in the results.

  + **Internal List limit (up to 1000)**: Enter the number of backlinks to be returned in the results.

  + **Backlink Status**: Select the backlink status to return and count (**All**: All backlinks will be returned and counted, **Live**: Backlinks found during the last check will be returned and counted, **Lost**: Lost backlinks will be returned and counted).

  ### Get Historical Backlink Summary

  Get historical backlink data for a domain dating back to the beginning of 2019.

  + **Target (domain, subdomain, URL)**: Enter the domain, subdomain, or webpage to get backlinks for. A domain or a subdomain should be specified without `https://` and `www.` A page should be specified with an absolute URL (including `http://` or `https://`).

  + **Date From**: Enter the starting date of the time range. Minimal value: 2019-01-01. The minimum value will be used by default. Time zone: Europe/Prague.

  + **Date To**: Enter the ending date of the time range. If you don’t specify this field, today’s date will be used by default. Time zone: Europe/Prague.

  ### Get Bulk Backlink Rank

  Get rank scores for up to 1,000 domains, subdomains, and pages.

  + **Target (domain, subdomain, URL)**: Enter the domain, subdomain, or webpage to get backlinks for. A domain or a subdomain should be specified without `https://` and `www.` A page should be specified with an absolute URL (including `http://` or `https://`).

  ### Get Bulk Backlink Stats

  Get the number of backlinks for up to 1,000 domains, subdomains, and pages.

  + **Target (domain, subdomain, URL)**: Enter the domain, subdomain, or webpage to get backlinks for. A domain or a subdomain should be specified without `https://` and `www.` A page should be specified with an absolute URL (including `http://` or `https://`).

  ### Get Backlinks Pages Summary

  Get an overview of backlinks and associated data in bulk.

  + **Target (domain, subdomain, URL)**: Enter the domain, subdomain, or webpage to get backlinks for. A domain or a subdomain should be specified without `https://` and `www.` A page should be specified with an absolute URL (including `http://` or `https://`).

  + **Include Subdomains (Optional)**: Select whether to include subdomains of the target in the search.

  ### Get Bulk Referring Domain Stats

  Get the number of referring domains for up to 1,000 domains, subdomains, and pages.

  + **Target (domain, subdomain, URL)**: Enter the domain, subdomain, or webpage to get backlinks for. A domain or a subdomain should be specified without `https://` and `www.` A page should be specified with an absolute URL (including `http://` or `https://`).

  ### Get Referring Domains

  Get a detailed overview of referring domains pointing to the target you specify.

  + **Target (domain, subdomain, URL)**: Enter the domain, subdomain, or webpage to get backlinks for. A domain or a subdomain should be specified without `https://` and `www.` A page should be specified with an absolute URL (including `http://` or `https://`).

  + **Limit (up to 1000)**: Enter the maximum number of returned backlinks.

  + **Offset**: Enter the offset in the results array for returned backlinks. Default is 0. For example, if set to 10, the first 10 backlinks will be skipped, and the results will start from the subsequent backlink.

  + **Internal List limit ( up to 1000)**: Enter the number of backlinks to be returned in the results.

  + **Backlink Status**: Select the backlink status to return and count ( **All**: All backlinks will be returned and counted, **Live**: Backlinks found during the last check will be returned and counted, **Lost**: Lost backlinks will be returned and counted). If not specified, the **Live** option will be selected by default.

  + **Sort**: Enter (map) the sorting rules for the results.

  + **Include Subdomains (Optional)**: Select whether to include subdomains of the target in the search.

  + **Include Indirect Links (Optional)**: Select whether to include indirect links in the results.

  + **Exclude Internal Links (Optional)**: Select whether to include external links in the results.

  ### Get Bulk Spam Scores

  Get Spam Scores for up to 1,000 domains, subdomains, and pages.

  + **Target (domain, subdomain, URL)**: Enter the domain, subdomain, or webpage to get backlinks for. A domain or a subdomain should be specified without `https://` and `www.` A page should be specified with an absolute URL (including `http://` or `https://`).

  ## SERP

  ### Get Parsed SERP

  Get Google Search results for the specified keyword.

  + **Keyword**: Enter a keyword for parsing the SERP. You can specify up to 700 symbols.

  + **Location**: Enter the full name of the search engine location. You can find the supported locations on the DataForSEO [Supported Locations page](https://docs.dataforseo.com/v3/serp/google/locations/).

  + **Language**: Enter the full name of the search engine language. You can find the list of supported languages on the DataForSEO [Supported Languages page](https://docs.dataforseo.com/v3/serp/google/languages/).

  + **Device**: Select your device type (Desktop, Mobile).
      
  + **OS**: Select your device's operating system (Windows, macOS, Android, iOS).

  + **Domain**: Enter the search engine domain. For example: `google.co.uk`, `google.com.au`, `google.de`, etc. Note: We automatically select the relevant search engine domain according to the location and language you specify. However, you can set a custom search engine domain in this field.

  + **Depth**: Enter parsing depth, number of results in SERP, max value is 700.

  + **Target**: Enter the target domain, subdomain, or webpage. Note: Domain or a subdomain should be specified without `https://` and `www.`.

  ### Get Finance Explore

  Get real-time data from the ‘Explore’ tab of Google Finance.

  + **Location**: Enter the full name of the search engine location. You can find the supported locations in the DataForSEO [Supported Locations page](https://docs.dataforseo.com/v3/serp/google/locations/).

  + **Language**: Enter the full name of the search engine language. You can find the list of supported languages in the DataForSEO [Supported Languages page](https://docs.dataforseo.com/v3/serp/google/languages/).

  + **News Type**: Select news type.

  ### Get Finance Markets

  Get real-time data from the ‘Markets’ tab of Google Finance.

  + **Location**: Enter the full name of the search engine location. You can find the supported locations in the DataForSEO [Supported Locations page](https://docs.dataforseo.com/v3/serp/google/locations/).

  + **Language**: Enter the full name of the search engine language. You can find the list of supported languages in the DataForSEO [Supported Languages page](https://docs.dataforseo.com/v3/serp/google/languages/).

  + **Market Type**: Select market type.

  ### Get Finance Quote

  Get real-time data from the ‘Quote’ tab of Google Finance.

  + **Keyword (Ticker or Stock Symbol)**: Enter the Ticker symbol of publicly traded shares of a particular stock or security in a specific stock exchange.

  + **Location**: Enter the full name of the search engine location. You can find the supported locations in the DataForSEO [Supported Locations page](https://docs.dataforseo.com/v3/serp/google/locations/).

  + **Language**: Enter the full name of the search engine language. You can find the list of supported languages in the DataForSEO [Supported Languages page](https://docs.dataforseo.com/v3/serp/google/languages/).

  + **Window**: Select time window for google_finance_quote graph.

  ### Search Google Finance Tickers

  Search by company name, market, or financial instrument to get Google Finance data on stocks, futures, and asset pairs, their value, growth trends, and identifiers.

  + **Keyword**: Enter Company name or financial instrument.

  + **Location**: Enter the full name of the search engine location. You can find the supported locations in the DataForSEO [Supported Locations page](https://docs.dataforseo.com/v3/serp/google/locations/).

  + **Language**: Enter the full name of the search engine language. You can find the list of supported languages in the DataForSEO [Supported Languages page](https://docs.dataforseo.com/v3/serp/google/languages/).

  + **Category**: Select the Category of financial instruments to search for.

  ### Get Google AI Mode SERP

  Get search results from the AI Mode feature of Google Search.

  + **Keyword**: Keyword to get results for.

  + **Location**: Enter the full name of the search engine location. You can find the supported locations in the DataForSEO [Supported Locations page](https://docs.dataforseo.com/v3/serp/google/locations/).

  + **Language**: Enter the full name of the search engine language. You can find the list of supported languages in the DataForSEO [Supported Languages page](https://docs.dataforseo.com/v3/serp/google/languages/).

  + **Device**: Select your device type (Desktop, Mobile).
      
  + **OS**: Select your device's operating system (Windows, macOS, Android, iOS).

  + **Calculate Pixel Rankings for SERP Elements?**: By default, the parameter is set to false.

  + **Browser Screen Width**: You can set a custom browser screen width to calculate pixel rankings for a particular device.

  + **Browser Screen Height**: You can set a custom browser screen height to calculate pixel rankings for a particular device.

  + **Browser Screen Resolution Ratio**: You can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device.


  ## Business Data

  ### Get Search Business Listings

  Get information about businesses listed on Google Maps in the specified categories.

  + **Categories**: Enter up to 10 categories for the business listings, allowing you to specify relevant business categories.

  + **Description**: Enter a description for the business listing.

  + **Title**: Enter the title for the business listing.

  + **Is Claimed**: Select whether the business listing is claimed.

  + **Location Coordinate**: Enter location coordinates in the format `latitude`,`longitude`,`radius`. Example: 53.476225,-2.243572,200.

  + **Sort**: Select the sorting rules for the results. You can specify multiple sorting criteria by adding items.

  + **Limit (up to 1000)**: Enter the maximum number of returned listings.

  + **Offset**: Enter the offset in the results array for returned listings.

  ### Get Business Listings Categories Aggregation

  Get data about groups of related business categories along with the number of entities in each category.

  + **Categories**: Enter up to 10 categories for the business listings, allowing you to specify relevant business categories.

  + **Description**: Enter a description for the business listing.

  + **Title**: Enter the title for the business listing.

  + **Is Claimed**: Select whether the business listing is claimed.

  + **Location Coordinate**: Enter location coordinates in the format `latitude`,`longitude`,`radius`. Example: 53.476225,-2.243572,200.

  + **Internal List Limit**: Enter the number of business listings to be returned in the aggregated results.

  + **Limit (up to 1000)**: Enter the maximum number of results to be returned.

  + **Offset**: Enter the offset in the results array.

  ### Get Google Reviews

  Fetch reviews and related data from millions of Google Business Profiles around the world.

  + **Search By**: Select the method for searching Google reviews (Keyword, CID, Place ID).

  + **Keyword/CID/Place ID**: Enter the keyword, CID, or Place ID for the business or place you want to retrieve reviews for.

  + **Task Priority**: Select the task priority for the request. You will be additionally charged for the tasks with high execution priority.

  + **Location**: Enter the full name of the search engine location. You can find the supported locations in the DataForSEO [Supported Locations page](https://docs.dataforseo.com/v3/serp/google/locations/).

  + **Language**: Enter the full name of the search engine language. You can find the list of supported languages in the DataForSEO [Supported Languages page](https://docs.dataforseo.com/v3/serp/google/languages/).

  + **Number of reviews**: Enter the number of reviews to retrieve.

  + **Sort**: Select the sorting criteria for the reviews (Newest, Highest Rating, Lowest Rating, Relevance).
      
  ## On Page

  ### Get Page Audit Check

  Run an essential SEO Audit of a page.

  + **Target page URL**: Enter the complete URL of the target page for which the data will be retrieved.

  ### Parse Page Content

  Get parsed and structured content of any page, including link URLs, anchors, headings, and text.

  + **Target page URL**: Enter the complete URL of the page to be parsed.

  ## Labs

  ### Get Domain Rank Overview

  Get ranking and traffic data from organic search for a domain.

  + **Target Domain**: Enter the target domain to retrieve the rank overview. The domain should be specified without `https://` or `www`.

  + **Location**: Enter the full name of the search engine location. You can find the supported locations in the DataForSEO [Supported Locations page](https://docs.dataforseo.com/v3/serp/google/locations/).

  + **Language**: Enter the full name of the search engine language. You can find the list of supported languages in the DataForSEO [Supported Languages page](https://docs.dataforseo.com/v3/serp/google/languages/).

  + **Ignore Synonyms**: Select whether to ignore synonyms in the search results.

  + **Limit**: Enter the maximum number of results to retrieve.

  + **Offset**: Enter the offset in the results array. For example, if set to 10, the first 10 results will be skipped, and the data will start from the subsequent result.

  ### Get Keyword Suggestions

  Get search terms that are relevant to the product or service categories of all the specified keywords.

   + **Location**: Enter the full name of the search engine location. You can find the supported locations in the DataForSEO [Supported Locations page](https://docs.dataforseo.com/v3/serp/google/locations/).

  + **Language**: Enter the full name of the search engine language. You can find the list of supported languages in the DataForSEO [Supported Languages page](https://docs.dataforseo.com/v3/serp/google/languages/).

  + **Keyword**: Enter the keyword for which you want to retrieve suggestions.

  + **Limit (up to 1000)**: Enter the maximum number of keyword suggestions to retrieve.

  + **Offset**: Enter the offset in the results array. For example, if set to 10, the first 10 results will be skipped, and the data will start from the subsequent result.

  + **Sort**: Enter the sorting criteria for keyword suggestions.

  ### Get Ranked Keywords

  Get the list of keywords that any domain or webpage is ranking for.

  + **Location**: Enter the full name of the search engine location. You can find the supported locations in the DataForSEO [Supported Locations page](https://docs.dataforseo.com/v3/serp/google/locations/).

  + **Language**: Enter the full name of the search engine language. You can find the list of supported languages in the DataForSEO [Supported Languages page](https://docs.dataforseo.com/v3/serp/google/languages/).

  + **Target**: Enter the domain name of the target website. The domain should be specified without `https://` or `www`.

  + **Limit (up to 1000)**: Enter the maximum number of keywords to retrieve.

  + **Item Types**: Select the type of search results included in the response.

  + **Sort**: Enter the sorting criteria for keyword rankings.

  + **Ignore Synonyms**: Select whether to ignore synonyms in the search results.

  ### Get Keyword Difficulty

  Get keyword difficulty for the specified keywords.

  + **Target Keywords**: Enter the keywords you want to analyze for difficulty. Keywords should be in **UTF-8** encoding, at least three characters long, and will be converted to lowercase. You can specify up to 1000 keywords."

  + **Location**: Enter the full name of the search engine location. You can find the supported locations in the DataForSEO [Supported Locations page](https://docs.dataforseo.com/v3/serp/google/locations/).

  + **Language**: Enter the full name of the search engine language. You can find the list of supported languages in the DataForSEO [Supported Languages page](https://docs.dataforseo.com/v3/serp/google/languages/).

  ### Get Organic Traffic Stats

  Get an estimation of the monthly organic traffic for a website or page.

  + **Target Domain or Subdomains**: Enter the target domain to retrieve the organic traffic stats. The domain should be specified without `https://` or `www`.

  + **Location**: Enter the full name of the search engine location. You can find the supported locations in the DataForSEO [Supported Locations page](https://docs.dataforseo.com/v3/serp/google/locations/).

  + **Language**: Enter the full name of the search engine language. You can find the list of supported languages in the DataForSEO [Supported Languages page](https://docs.dataforseo.com/v3/serp/google/languages/).

  + **Item Types**: Select the type of search results included in the response.

  ### Get Historical Traffic Stats

  Get a historical estimate of organic traffic for a website or page.

  + **Target Domain or Subdomains**: Enter the target domain to retrieve the organic traffic stats. The domain should be specified without `https://` or `www`.

  + **Location**: Enter the full name of the search engine location. You can find the supported locations in the DataForSEO [Supported Locations page](https://docs.dataforseo.com/v3/serp/google/locations/).

  + **Language**: Enter the full name of the search engine language. You can find the list of supported languages in the DataForSEO [Supported Languages page](https://docs.dataforseo.com/v3/serp/google/languages/).

  + **Item Types**: Select the type of search results included in the response.

  ### Get Keyword Ideas

  Get search terms that fall into the same Google product or service category as the specified keywords.

  + **Keywords**: Enter the keywords you want to retrieve suggestions for.

  + **Location**: Enter the full name of the search engine location. You can find the supported locations in the DataForSEO [Supported Locations page](https://docs.dataforseo.com/v3/serp/google/locations/).

  + **Language**: Enter the full name of the search engine language. You can find the list of supported languages in the DataForSEO [Supported Languages page](https://docs.dataforseo.com/v3/serp/google/languages/).

  + **Limit (up to 1000)**: Enter the maximum number of keyword ideas to retrieve.

  + **Offset**: Enter the offset in the results array. For example, if set to 10, the first 10 results will be skipped, and the data will start from the subsequent result.

  + **Sort**: Enter the sorting criteria for keyword ideas.

ai_documentation_summary:
  {"purpose":"Provides access to the DataForSEO API from n8n to retrieve marketing and SEO data (Google SERP results, keyword suggestions, backlink reports, etc.) for use in workflows.","capabilities":["Fetch Google SERP data (live and task-based) — Organic, Maps, Local Finder, News, Events, Images, Jobs, Autocomplete, Dataset Search","Fetch SERP in different formats — JSON (regular/advanced) and HTML","Support for Google AI Mode SERP endpoints (live and task_get) with advanced and HTML options","Retrieve keyword suggestions and related keyword data (via DataForSEO keyword endpoints)","Retrieve backlink reports and related link data (via DataForSEO backlinks endpoints)","Use both synchronous (live) and asynchronous (task_get/task results) API endpoints","Configure DataForSEO API credentials within n8n (API Login and API Password)"],"authentication":"DataForSEO account credentials required — API Login and API Password entered in n8n credentials (username/password-style API credentials)","commonUseCases":["Monitor and export Google rankings and SERP features for keywords or pages","Fetch live SERP HTML or structured SERP JSON for scraping or analysis","Generate keyword suggestions and search volume data for SEO research","Collect backlink data and backlink reports for link analysis","Obtain local, maps, images, news, jobs, and autocomplete results for localized SEO workflows"],"limitations":["Requires an active DataForSEO account and valid API Login/API Password","API password is only visible in the DataForSEO dashboard for the first 24 hours after registration (later must request it by email)","Subject to DataForSEO API endpoint availability, pricing tiers, and rate limits as defined by DataForSEO (check provider docs for specifics)"],"relatedNodes":[]}


node_type: n8n-nodes-webmetic.webmetic
package_name: n8n-nodes-webmetic
display_name: Webmetic
description: Get company visits data from Webmetic with date range filtering
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: webmetic
author_github_url: https://github.com/webmetic-gmbh/
npm_package_name: n8n-nodes-webmetic
npm_version: 0.4.1
community_fetched_at: 2026-02-19T14:41:52.454Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "newVisits",
      "options": [
        {
          "name": "New Visits",
          "value": "newVisits",
          "description": "Get companies that have visited a domain for the first time"
        },
        {
          "name": "Intensive Visits",
          "value": "intensiveVisits",
          "description": "Get companies that have had intensive visits to a domain"
        },
        {
          "name": "Returning Visits",
          "value": "returningVisits",
          "description": "Get companies that have visited a domain multiple times"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get new visits",
          "routing": {
            "request": {
              "url": "/new-visits",
              "method": "GET"
            }
          },
          "description": "Get a list of companies that have visited the specified domain for the first time"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "newVisits"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get intensive visits",
          "routing": {
            "request": {
              "url": "/intensive-visits",
              "method": "GET"
            }
          },
          "description": "Get a list of companies that have had intensive visits to the specified domain"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "intensiveVisits"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get returning visits",
          "routing": {
            "request": {
              "url": "/returning-visits",
              "method": "GET"
            }
          },
          "description": "Get a list of companies that have visited the specified domain multiple times"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "returningVisits"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get",
      "value": "get",
      "action": "Get new visits",
      "routing": {
        "request": {
          "url": "/new-visits",
          "method": "GET"
        }
      },
      "description": "Get a list of companies that have visited the specified domain for the first time"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get intensive visits",
      "routing": {
        "request": {
          "url": "/intensive-visits",
          "method": "GET"
        }
      },
      "description": "Get a list of companies that have had intensive visits to the specified domain"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get returning visits",
      "routing": {
        "request": {
          "url": "/returning-visits",
          "method": "GET"
        }
      },
      "description": "Get a list of companies that have visited the specified domain multiple times"
    }
  ]

npm_readme:
  # n8n-nodes-webmetic

  This is an n8n community node that lets you use Webmetic in your n8n workflows.

  [Webmetic](https://webmetic.de) provides company visitor tracking data for sales and marketing teams.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)  
  [Compatibility](#compatibility)  
  [Usage](#usage)  
  [Resources](#resources)  

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  * **New Visits**
    * Get: Retrieve a list of companies that have visited a specified domain for the first time
  * **Intensive Visits**
    * Get: Retrieve a list of companies that have had intensive visits to a specified domain
  * **Returning Visits**
    * Get: Retrieve a list of companies that have visited a specified domain multiple times

  ## Credentials

  To use this node, you need:

  1. A Webmetic API key - Get yours from [Webmetic](https://webmetic.de)
  2. Configure the API key in n8n's credentials

  ## Compatibility

  * Requires n8n version 0.172.0 or later
  * Tested with n8n version 1.0.0+

  ## Usage

  1. Add the Webmetic node to your workflow
  2. Create new Webmetic API credentials:
     - Enter your API key (starts with `wmtc_`)
  3. Configure the node:
     - Select "New Visits", "Intensive Visits", or "Returning Visits" as the resource
     - Select "Get" as the operation
     - Enter the domain you want to track (e.g., `example.com`)
     - Optional: Configure additional fields for date filtering:
       - **From Date**: Start date or relative time period (default: "-30 days")
       - **To Date**: End date or "now" for current date (default: "now")
  4. Execute the node to retrieve company visitor data

  The node returns valuable sales intelligence about companies and their visiting behavior on your domain.

  ### Date Format Examples:
  - **Relative times**: `-30 days`, `-12 hours`, `-45 minutes`, `-7 days`
  - **Absolute dates**: `2023-01-01`, `2023-12-31`  
  - **Current**: `now`
  - **Minutes**: `-15 minutes`, `-30 minutes`, `-90 minutes`

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Webmetic API documentation](https://hub.webmetic.de/docs)

ai_documentation_summary:
  {"purpose":"Fetch company visitor tracking data from Webmetic for a specified domain, allowing filtering by visit type (new, intensive, returning) and by date range.","capabilities":["Get list of companies with first-time visits (New Visits)","Get list of companies with intensive visits (Intensive Visits)","Get list of companies with returning/multiple visits (Returning Visits)","Filter queries by domain","Filter results by date range using From Date and To Date (supports relative times like '-30 days', absolute dates like '2023-01-01', and 'now')","Returns company visitor/sales intelligence data for use in workflows"],"authentication":"API key required (Webmetic API key configured in n8n credentials; keys start with 'wmtc_')","commonUseCases":["Identify new companies that visited your domain for sales outreach","Prioritize leads by finding companies with intensive visit behavior","Detect returning visitors for marketing follow-up or segmentation","Generate time-bounded reports of company visits using relative or absolute date ranges"],"limitations":["Only provides read (Get) operations for New Visits, Intensive Visits, and Returning Visits—no write/update/delete operations","Requires n8n version 0.172.0 or later","Authentication requires a Webmetic API key (no OAuth2 or other auth methods supported)"],"relatedNodes":[]}


node_type: @itechnotion/n8n-nodes-inboxplus.inboxPlus
package_name: @itechnotion/n8n-nodes-inboxplus
display_name: InboxPlus
description: Interact with InboxPlus API - send emails and manage sequences
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: itechnotion
author_github_url: https://github.com/itechnotion/n8n-nodes-inboxplus.git
npm_package_name: @itechnotion/n8n-nodes-inboxplus
npm_version: 1.2.0
community_fetched_at: 2026-02-19T14:41:52.455Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "hidden",
      "default": "email",
      "options": [
        {
          "name": "Email",
          "value": "email"
        }
      ],
      "displayName": "Resource"
    },
    {
      "name": "operation",
      "type": "options",
      "default": "prepareEmail",
      "options": [
        {
          "name": "Select Template",
          "value": "prepareEmail",
          "action": "Select a template",
          "description": "Load template and generate tracking for Gmail"
        },
        {
          "name": "Attach Sequence",
          "value": "startSequence",
          "action": "Attach a sequence",
          "description": "Record sent email and start automated follow-up sequence"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Select Template",
      "value": "prepareEmail",
      "action": "Select a template",
      "description": "Load template and generate tracking for Gmail"
    },
    {
      "name": "Attach Sequence",
      "value": "startSequence",
      "action": "Attach a sequence",
      "description": "Record sent email and start automated follow-up sequence"
    }
  ]

npm_readme:
  # n8n-nodes-inboxplus

  InboxPlus integration for n8n - Send emails with templates and automate follow-up sequences.

  ## Features

  - ✅ Load email templates from InboxPlus
  - ✅ Generate tracking pixels for email analytics
  - ✅ Send emails via Gmail with InboxPlus templates
  - ✅ Start automated follow-up sequences
  - ✅ Track email opens and replies
  - ✅ Automatic follow-up management

  ## Installation

  ```bash
  cd n8n-nodes-inboxplus
  pnpm install
  pnpm build
  pnpm link --global
  ```

  Then restart your n8n instance or link in your n8n custom nodes directory.

  ## Credentials

  You need an InboxPlus API key (JWT token) from your InboxPlus account.

  1. Go to InboxPlus Profile → Manage API → Generate API
  2. Copy your API key
  3. In n8n: Credentials → Add → InboxPlus API
  4. Paste your API key

  ## Operations

  ### 1. Prepare Email

  Loads an InboxPlus template and generates tracking.

  **Parameters:**
  - Recipient Email
  - Template (dropdown - loads from your InboxPlus account)

  **Output:**
  ```json
  {
    "recipientEmail": "contact@example.com",
    "subject": "Email Subject",
    "body": "<div>Email content</div>",
    "gmailBodyHtml": "<div>Email content</div><br><img tracking />",
    "trackingId": "uuid"
  }
  ```

  ### 2. Start Sequence

  Records the sent email in InboxPlus and starts automated follow-up sequence.

  **Parameters:**
  - Sender Email
  - Recipient Email
  - Subject (from Prepare Email)
  - Thread ID (from Gmail)
  - Message ID (from Gmail)
  - Tracking ID (from Prepare Email)
  - Sequence (dropdown - loads from your InboxPlus account)

  **Output:**
  ```json
  {
    "success": true,
    "sequenceId": "uuid",
    "recipientEmail": "contact@example.com",
    "apiResponse": { "code": 200, "success": 1 }
  }
  ```

  ## Workflow Example

  ```
  [Trigger]
      ↓
  [InboxPlus: Prepare Email]
    - Recipient: contact@example.com
    - Template: "Welcome Email"
      ↓
  [Gmail: Send Message]
    - To: {{ $json.recipientEmail }}
    - Subject: {{ $json.subject }}
    - Body HTML: {{ $json.gmailBodyHtml }}
      ↓
  [InboxPlus: Start Sequence]
    - Sender: you@example.com
    - Recipient: {{ $("InboxPlus").item.json.recipientEmail }}
    - Subject: {{ $("InboxPlus").item.json.subject }}
    - Thread ID: {{ $("Gmail").item.json.threadId }}
    - Message ID: {{ $("Gmail").item.json.id }}
    - Tracking ID: {{ $("InboxPlus").item.json.trackingId }}
    - Sequence: "Onboarding Sequence"
  ```

  ## How It Works

  1. **Prepare Email** - Fetches template from InboxPlus and generates tracking pixel
  2. **Gmail** - Sends the email (Day 0) with template content and tracking
  3. **Start Sequence** - Records email in InboxPlus and starts automated follow-ups

  InboxPlus then:
  - Monitors the email thread for replies
  - Sends Day 1, Day 2, etc. follow-ups automatically
  - Stops sequence if recipient replies
  - Tracks opens and clicks

  ## Field Mapping

  ### From Prepare Email to Gmail:
  - `recipientEmail` → Gmail "To"
  - `subject` → Gmail "Subject"
  - `gmailBodyHtml` → Gmail "Body HTML"

  ### From Prepare Email to Start Sequence:
  - `recipientEmail` → "Recipient Email"
  - `subject` → "Subject"
  - `trackingId` → "Tracking ID"

  ### From Gmail to Start Sequence:
  - `threadId` → "Thread ID"
  - `id` → "Message ID"

  ## Important Notes

  - **Gmail is required** - InboxPlus works WITH Gmail, not as a replacement
  - **Day 0 sent by Gmail** - The first email is sent via Gmail node
  - **Follow-ups by InboxPlus** - Automated follow-ups are sent by InboxPlus
  - **Tracking included** - Tracking pixel is automatically added to emails
  - **Reply detection** - InboxPlus monitors for replies and stops sequences

  ## API Endpoints Used

  - `POST /user-emails/n8n/get-email-templates` - Load templates
  - `POST /user-emails/n8n/get-sequences` - Load sequences
  - `POST /user-emails/n8n/tracking-id` - Generate tracking
  - `POST /user-emails/n8n` - Record email and start sequence

  ## Troubleshooting

  ### Templates not loading
  - Check API key is correct
  - Verify templates exist in InboxPlus dashboard

  ### Sequence not starting
  - Ensure all fields are mapped correctly
  - Check API response in node output
  - Verify sequence exists and is active

  ### Follow-ups not sending
  - Wait for the configured delay (e.g., 24 hours for Day 1)
  - Check sequence is active in InboxPlus dashboard
  - Verify Gmail is connected in InboxPlus settings

  ## Version

  Current version: 1.1.2

  ## Author

  Avkash Kakdiya
  - Email: avkash@itechnotion.com
  - Github: https://github.com/itechnotion

  ## License

  MIT

ai_documentation_summary:
  {"purpose":"Integrate n8n with InboxPlus to load email templates, generate tracking, and orchestrate automated follow-up sequences while using Gmail to send the initial (Day 0) email.","capabilities":["Load email templates from InboxPlus (dropdown list)","Load sequences from InboxPlus (dropdown list)","Prepare Email: fetch template and generate tracking pixel/ID (outputs recipientEmail, subject, body, gmailBodyHtml, trackingId)","Generate tracking ID/pixel for email analytics","Start Sequence: record the sent email in InboxPlus and start automated follow-ups (outputs success, sequenceId, apiResponse)","Track opens and replies and automatically manage follow-ups (stop sequence on reply)","Integrates with Gmail node for sending the Day 0 email"],"authentication":"API key required (InboxPlus API key / JWT token)","commonUseCases":["Send a templated email via Gmail with an InboxPlus tracking pixel and then start an automated follow-up sequence","Automate multi-day follow-ups and stop them automatically when the recipient replies","Load and preview InboxPlus templates and sequences inside n8n workflows before sending","Track opens/replies/clicks for campaign analytics and feed results back into workflows"],"limitations":["Gmail is required for the initial (Day 0) send — the node does not replace sending via Gmail","Requires an InboxPlus account with templates and active sequences configured","Follow-up timing and sending are controlled by InboxPlus (configured delays in InboxPlus dashboard), not by the node itself"],"relatedNodes":["Gmail","Trigger (workflow start nodes)"]}


node_type: n8n-nodes-binalyze-air.air
package_name: n8n-nodes-binalyze-air
display_name: AIR
description: Manage Binalyze AIR resources
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: emretinaztepe
author_github_url: https://github.com/binalyze/
npm_package_name: n8n-nodes-binalyze-air
npm_version: 1.4.3
community_fetched_at: 2026-02-19T14:41:52.456Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "organizations",
      "options": [
        {
          "name": "Acquisition",
          "value": "acquisitions",
          "description": "Manage acquisition profiles and remote acquisitions"
        },
        {
          "name": "Asset",
          "value": "assets",
          "description": "Manage endpoint assets and their operations"
        },
        {
          "name": "Baseline",
          "value": "baselines",
          "description": "Manage baselines and comparisons"
        },
        {
          "name": "Case",
          "value": "cases",
          "description": "Manage cases and case operations"
        },
        {
          "name": "InterACT",
          "value": "interact",
          "description": "Interactive shell sessions and command execution on devices"
        },
        {
          "name": "Organization",
          "value": "organizations",
          "description": "Manage organizations"
        },
        {
          "name": "Repository",
          "value": "repositories",
          "description": "Manage evidence repositories"
        },
        {
          "name": "Task",
          "value": "tasks",
          "description": "Manage tasks and task assignments"
        },
        {
          "name": "Triage Rule",
          "value": "triagerules",
          "description": "Manage triage rules"
        },
        {
          "name": "User",
          "value": "users",
          "description": "Manage users"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Assign Evidence Acquisition Task",
          "value": "assignEvidenceTask",
          "action": "Assign an evidence acquisition task",
          "description": "Assign an evidence acquisition task by filter"
        },
        {
          "name": "Get Acquisition Profile",
          "value": "get",
          "action": "Get an acquisition profile",
          "description": "Retrieve a specific acquisition profile"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "acquisitions"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Add Tags",
          "value": "addTags",
          "action": "Add tags to assets",
          "description": "Add tags to assets by filter"
        },
        {
          "name": "Assign Isolation Task",
          "value": "setIsolation",
          "action": "Assign isolation task to an asset",
          "description": "Assign isolation task to an asset"
        },
        {
          "name": "Assign Reboot Task",
          "value": "reboot",
          "action": "Assign reboot task to assets",
          "description": "Assign reboot task to an asset"
        },
        {
          "name": "Assign Shutdown Task",
          "value": "shutdown",
          "action": "Assign shutdown task to asset",
          "description": "Assign shutdown task to an asset"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get an asset",
          "description": "Retrieve a specific asset"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many assets",
          "description": "Retrieve many assets"
        },
        {
          "name": "Get Tasks",
          "value": "getAssetTasks",
          "action": "Get asset tasks",
          "description": "Get tasks for a specific asset"
        },
        {
          "name": "Remove Tags",
          "value": "removeTags",
          "action": "Remove tags from assets",
          "description": "Remove tags from assets by filter"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "assets"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "acquireBaseline",
      "options": [
        {
          "name": "Acquire Baseline",
          "value": "acquireBaseline",
          "action": "Acquire a baseline",
          "description": "Acquire baseline for endpoints"
        },
        {
          "name": "Compare Baselines",
          "value": "compareBaseline",
          "action": "Compare baselines",
          "description": "Compare two baseline acquisition results from the same endpoint"
        },
        {
          "name": "Get Comparison Report",
          "value": "getComparisonReport",
          "action": "Get comparison report",
          "description": "Get baseline comparison report"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "baselines"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Change Owner",
          "value": "changeOwner",
          "action": "Change case owner",
          "description": "Change the owner of a case"
        },
        {
          "name": "Check Name",
          "value": "checkName",
          "action": "Check case name availability",
          "description": "Check if a case name is available"
        },
        {
          "name": "Close Case",
          "value": "closeCase",
          "action": "Close a case",
          "description": "Close a specific case"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a case",
          "description": "Create a new case"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a case",
          "description": "Retrieve a specific case"
        },
        {
          "name": "Get Activities",
          "value": "getActivities",
          "action": "Get case activities",
          "description": "Get activities for a specific case"
        },
        {
          "name": "Get Endpoints",
          "value": "getEndpoints",
          "action": "Get case endpoints",
          "description": "Get endpoints for a specific case"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many cases",
          "description": "Retrieve many cases"
        },
        {
          "name": "Get Tasks",
          "value": "getTasks",
          "action": "Get case tasks",
          "description": "Get tasks for a specific case"
        },
        {
          "name": "Get Users",
          "value": "getUsers",
          "action": "Get case users",
          "description": "Get users for a specific case"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "cases"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createSession",
      "options": [
        {
          "name": "Close Session",
          "value": "closeSession",
          "action": "Close a session",
          "description": "Close an InterACT session"
        },
        {
          "name": "Create InterACT Session",
          "value": "createSession",
          "action": "Create an interact session",
          "description": "Create a new InterACT shell session for an asset"
        },
        {
          "name": "Execute Async Command",
          "value": "executeAsyncCommand",
          "action": "Execute an async command",
          "description": "Execute an asynchronous command in an InterACT session"
        },
        {
          "name": "Execute Command",
          "value": "executeCommand",
          "action": "Execute a command",
          "description": "Execute a command in an InterACT session"
        },
        {
          "name": "Get Command Response",
          "value": "getCommandMessage",
          "action": "Get a command response",
          "description": "Get the result of a command execution"
        },
        {
          "name": "Interrupt Command",
          "value": "interruptCommand",
          "action": "Interrupt a command",
          "description": "Interrupt a running command"
        },
        {
          "name": "Wait for Session to Be Live",
          "value": "waitForSession",
          "action": "Wait for session to be live",
          "description": "Wait for an InterACT session to become live by monitoring task status"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "interact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Add Tags",
          "value": "addTags",
          "action": "Add tags to an organization",
          "description": "Add tags to an organization"
        },
        {
          "name": "Assign User",
          "value": "assignUser",
          "action": "Assign a user to an organization",
          "description": "Assign a user to an organization"
        },
        {
          "name": "Check Name Exists",
          "value": "checkNameExists",
          "action": "Check if organization name exists",
          "description": "Check if an organization name already exists"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create an organization",
          "description": "Create a new organization"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get an organization",
          "description": "Retrieve a specific organization"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many organizations",
          "description": "Retrieve many organizations"
        },
        {
          "name": "Get Users",
          "value": "getUsers",
          "action": "Get users of an organization",
          "description": "Retrieve users assigned to an organization"
        },
        {
          "name": "Remove Tags",
          "value": "removeTags",
          "action": "Remove tags from an organization",
          "description": "Remove tags from an organization"
        },
        {
          "name": "Remove User",
          "value": "removeUser",
          "action": "Remove a user from an organization",
          "description": "Remove a user from an organization"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an organization",
          "description": "Update an organization"
        },
        {
          "name": "Update Shareable Deployment",
          "value": "updateShareableDeployment",
          "action": "Update shareable deployment status",
          "description": "Update organization shareable deployment status"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "organizations"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a repository",
          "description": "Get a repository by name"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many repositories",
          "description": "Get many repositories"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "repositories"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a task",
          "description": "Retrieve a specific task"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many tasks",
          "description": "Retrieve many tasks"
        },
        {
          "name": "Get Task Assignments",
          "value": "getTaskAssignments",
          "action": "Get task assignments",
          "description": "Retrieve assignments for a specific task"
        },
        {
          "name": "Wait for Completion",
          "value": "waitForCompletion",
          "action": "Wait for task completion",
          "description": "Wait for a task to complete with polling"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Assign Triage Task",
          "value": "assignTask",
          "action": "Assign a triage task",
          "description": "Assign a triage task"
        },
        {
          "name": "Create Triage Rule",
          "value": "create",
          "action": "Create a triage rule",
          "description": "Create a new triage rule"
        },
        {
          "name": "Delete Triage Rule",
          "value": "delete",
          "action": "Delete a triage rule",
          "description": "Delete a triage rule"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a triage rule",
          "description": "Retrieve a specific triage rule"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many triage rules",
          "description": "Retrieve many triage rules"
        },
        {
          "name": "Update Triage Rule",
          "value": "update",
          "action": "Update a triage rule",
          "description": "Update a triage rule"
        },
        {
          "name": "Validate Triage Rule",
          "value": "validate",
          "action": "Validate a triage rule",
          "description": "Validate a triage rule"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "triagerules"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many users",
          "description": "Retrieve many users"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a user",
          "description": "Retrieve a specific user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "users"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Assign Evidence Acquisition Task",
      "value": "assignEvidenceTask",
      "action": "Assign an evidence acquisition task",
      "description": "Assign an evidence acquisition task by filter"
    },
    {
      "name": "Get Acquisition Profile",
      "value": "get",
      "action": "Get an acquisition profile",
      "description": "Retrieve a specific acquisition profile"
    },
    {
      "name": "Add Tags",
      "value": "addTags",
      "action": "Add tags to assets",
      "description": "Add tags to assets by filter"
    },
    {
      "name": "Assign Isolation Task",
      "value": "setIsolation",
      "action": "Assign isolation task to an asset",
      "description": "Assign isolation task to an asset"
    },
    {
      "name": "Assign Reboot Task",
      "value": "reboot",
      "action": "Assign reboot task to assets",
      "description": "Assign reboot task to an asset"
    },
    {
      "name": "Assign Shutdown Task",
      "value": "shutdown",
      "action": "Assign shutdown task to asset",
      "description": "Assign shutdown task to an asset"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get an asset",
      "description": "Retrieve a specific asset"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many assets",
      "description": "Retrieve many assets"
    },
    {
      "name": "Get Tasks",
      "value": "getAssetTasks",
      "action": "Get asset tasks",
      "description": "Get tasks for a specific asset"
    },
    {
      "name": "Remove Tags",
      "value": "removeTags",
      "action": "Remove tags from assets",
      "description": "Remove tags from assets by filter"
    },
    {
      "name": "Acquire Baseline",
      "value": "acquireBaseline",
      "action": "Acquire a baseline",
      "description": "Acquire baseline for endpoints"
    },
    {
      "name": "Compare Baselines",
      "value": "compareBaseline",
      "action": "Compare baselines",
      "description": "Compare two baseline acquisition results from the same endpoint"
    },
    {
      "name": "Get Comparison Report",
      "value": "getComparisonReport",
      "action": "Get comparison report",
      "description": "Get baseline comparison report"
    },
    {
      "name": "Change Owner",
      "value": "changeOwner",
      "action": "Change case owner",
      "description": "Change the owner of a case"
    },
    {
      "name": "Check Name",
      "value": "checkName",
      "action": "Check case name availability",
      "description": "Check if a case name is available"
    },
    {
      "name": "Close Case",
      "value": "closeCase",
      "action": "Close a case",
      "description": "Close a specific case"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a case",
      "description": "Create a new case"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a case",
      "description": "Retrieve a specific case"
    },
    {
      "name": "Get Activities",
      "value": "getActivities",
      "action": "Get case activities",
      "description": "Get activities for a specific case"
    },
    {
      "name": "Get Endpoints",
      "value": "getEndpoints",
      "action": "Get case endpoints",
      "description": "Get endpoints for a specific case"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many cases",
      "description": "Retrieve many cases"
    },
    {
      "name": "Get Tasks",
      "value": "getTasks",
      "action": "Get case tasks",
      "description": "Get tasks for a specific case"
    },
    {
      "name": "Get Users",
      "value": "getUsers",
      "action": "Get case users",
      "description": "Get users for a specific case"
    },
    {
      "name": "Close Session",
      "value": "closeSession",
      "action": "Close a session",
      "description": "Close an InterACT session"
    },
    {
      "name": "Create InterACT Session",
      "value": "createSession",
      "action": "Create an interact session",
      "description": "Create a new InterACT shell session for an asset"
    },
    {
      "name": "Execute Async Command",
      "value": "executeAsyncCommand",
      "action": "Execute an async command",
      "description": "Execute an asynchronous command in an InterACT session"
    },
    {
      "name": "Execute Command",
      "value": "executeCommand",
      "action": "Execute a command",
      "description": "Execute a command in an InterACT session"
    },
    {
      "name": "Get Command Response",
      "value": "getCommandMessage",
      "action": "Get a command response",
      "description": "Get the result of a command execution"
    },
    {
      "name": "Interrupt Command",
      "value": "interruptCommand",
      "action": "Interrupt a command",
      "description": "Interrupt a running command"
    },
    {
      "name": "Wait for Session to Be Live",
      "value": "waitForSession",
      "action": "Wait for session to be live",
      "description": "Wait for an InterACT session to become live by monitoring task status"
    },
    {
      "name": "Add Tags",
      "value": "addTags",
      "action": "Add tags to an organization",
      "description": "Add tags to an organization"
    },
    {
      "name": "Assign User",
      "value": "assignUser",
      "action": "Assign a user to an organization",
      "description": "Assign a user to an organization"
    },
    {
      "name": "Check Name Exists",
      "value": "checkNameExists",
      "action": "Check if organization name exists",
      "description": "Check if an organization name already exists"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create an organization",
      "description": "Create a new organization"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get an organization",
      "description": "Retrieve a specific organization"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many organizations",
      "description": "Retrieve many organizations"
    },
    {
      "name": "Get Users",
      "value": "getUsers",
      "action": "Get users of an organization",
      "description": "Retrieve users assigned to an organization"
    },
    {
      "name": "Remove Tags",
      "value": "removeTags",
      "action": "Remove tags from an organization",
      "description": "Remove tags from an organization"
    },
    {
      "name": "Remove User",
      "value": "removeUser",
      "action": "Remove a user from an organization",
      "description": "Remove a user from an organization"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update an organization",
      "description": "Update an organization"
    },
    {
      "name": "Update Shareable Deployment",
      "value": "updateShareableDeployment",
      "action": "Update shareable deployment status",
      "description": "Update organization shareable deployment status"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a repository",
      "description": "Get a repository by name"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many repositories",
      "description": "Get many repositories"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a task",
      "description": "Retrieve a specific task"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many tasks",
      "description": "Retrieve many tasks"
    },
    {
      "name": "Get Task Assignments",
      "value": "getTaskAssignments",
      "action": "Get task assignments",
      "description": "Retrieve assignments for a specific task"
    },
    {
      "name": "Wait for Completion",
      "value": "waitForCompletion",
      "action": "Wait for task completion",
      "description": "Wait for a task to complete with polling"
    },
    {
      "name": "Assign Triage Task",
      "value": "assignTask",
      "action": "Assign a triage task",
      "description": "Assign a triage task"
    },
    {
      "name": "Create Triage Rule",
      "value": "create",
      "action": "Create a triage rule",
      "description": "Create a new triage rule"
    },
    {
      "name": "Delete Triage Rule",
      "value": "delete",
      "action": "Delete a triage rule",
      "description": "Delete a triage rule"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a triage rule",
      "description": "Retrieve a specific triage rule"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many triage rules",
      "description": "Retrieve many triage rules"
    },
    {
      "name": "Update Triage Rule",
      "value": "update",
      "action": "Update a triage rule",
      "description": "Update a triage rule"
    },
    {
      "name": "Validate Triage Rule",
      "value": "validate",
      "action": "Validate a triage rule",
      "description": "Validate a triage rule"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many users",
      "description": "Retrieve many users"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a user",
      "description": "Retrieve a specific user"
    }
  ]

npm_readme:
  ![Banner image](https://github.com/binalyze/n8n-nodes-binalyze-air/blob/main/assets/header-image.jpg)

  # n8n-nodes-binalyze-air

  This is an n8n community node that integrates with Binalyze AIR (Automated Incident Response) platform.

  ## Table of Contents

  - [Installation](#installation)
  - [Configuration](#configuration)
  - [Supported Resources](#supported-resources)
    - [Acquisitions](#acquisitions)
    - [Assets](#assets)
    - [Baselines](#baselines)
    - [Cases](#cases)
    - [InterACT](#interact)
    - [Organizations](#organizations)
    - [Repositories](#repositories)
    - [Tasks](#tasks)
    - [Triage Rules](#triage-rules)
    - [Users](#users)
  - [Trigger Node](#trigger-node)
    - [How to Use](#how-to-use)
    - [Supported Event Types](#supported-event-types)
    - [Event Data Structure](#event-data-structure)
  - [Development](#development)
  - [Testing](#testing)
  - [TODO](#todo)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/verified-install/) in the n8n community nodes documentation.

  ## Configuration

  Before using this node, you need to configure your Binalyze AIR credentials:

  ### Step 1: Create AIR API Key

  1. Go to AIR > Integrations > API Tokens > Add New
  	* Provide a Token Name
  	* Select an Organization
  	* Select a Role
  	* Define Expiration time
  2. Click Save button, and copy the token as you will not be able to see it again
  3. Click 'I got the token' button

  ### Step 2: Create AIR Credentials on your n8n instance

  1. In n8n, go to Settings → Credentials
  2. Add a new credential for "Binalyze AIR API"
  3. Enter your AIR instance URL and API token

  ## Supported Resources

  This node provides comprehensive coverage of Binalyze AIR's features listed below:

  ### Acquisitions
  Manage evidence acquisition profiles and tasks.

  **Operations:**
  - `get` - Retrieve a specific acquisition profile
  - `assignEvidenceTask` - Assign an evidence acquisition task by filter
  - `assignImageTask` - Assign an image acquisition task by filter
  - `createOffNetworkTask` - Create an off-network acquisition task

  ### Assets
  Manage endpoints and their associated tasks, tags, and status.

  **Operations:**
  - `addTags` - Add tags to assets by filter
  - `get` - Retrieve a specific asset
  - `getAssetTasks` - Get tasks for a specific asset
  - `getAll` - Retrieve many assets
  - `reboot` - Assign reboot task to a specific asset (returns standardized response with success status, message, asset details, task, and error information)
  - `removeTags` - Remove tags from assets by filter
  - `setIsolation` - Assign isolation task to a specific asset (checks for existing tasks and current isolation status, returns standardized response)
  - `shutdown` - Assign shutdown task to a specific asset (returns standardized response with success status, message, asset details, task, and error information)

  ### Baselines
  Acquire and compare system baselines.

  **Operations:**
  - `acquireBaseline` - Acquire baseline for endpoints
  - `compareBaseline` - Compare two baseline acquisition results from the same endpoint
  - `getComparisonReport` - Get baseline comparison report

  ### Cases
  Manage incident response cases, notes, and activities.

  **Operations:**
  - `changeOwner` - Change the owner of a case
  - `checkName` - Check if a case name is available
  - `closeCase` - Close a specific case
  - `create` - Create a new case
  - `get` - Retrieve a specific case
  - `getActivities` - Get activities for a specific case
  - `getEndpoints` - Get endpoints for a specific case
  - `getAll` - Retrieve many cases
  - `getTasks` - Get tasks for a specific case
  - `getUsers` - Get users for a specific case

  ### InterACT
  Execute commands and interact with endpoints remotely.

  **Operations:**
  - `createSession` - Create a new InterACT shell session for an asset
  - `waitForSession` - Wait for an InterACT session to become live by monitoring task status (supports indefinite wait with timeout=0)
  - `closeSession` - Close an InterACT session
  - `executeCommand` - Execute a command in an InterACT session
  - `executeAsyncCommand` - Execute an asynchronous command in an InterACT session
  - `getCommandMessage` - Get the result of a command execution
  - `interruptCommand` - Interrupt a running command

  ### Organizations
  Manage organizations and their users.

  **Operations:**
  - `addTags` - Add tags to an organization
  - `assignUser` - Assign a user to an organization
  - `checkNameExists` - Check if an organization name already exists
  - `create` - Create a new organization
  - `get` - Retrieve a specific organization
  - `getAll` - Retrieve many organizations
  - `getUsers` - Retrieve users assigned to an organization
  - `removeTags` - Remove tags from an organization
  - `removeUser` - Remove a user from an organization
  - `update` - Update an organization
  - `updateShareableDeployment` - Update organization shareable deployment status

  ### Repositories
  Manage evidence repositories.

  **Operations:**
  - `get` - Get a repository by name, ID, or from list selection
  - `getAll` - Get many repositories with filtering options

  ### Tasks
  Manage and monitor tasks and assignments.

  **Operations:**
  - `cancelTask` - Cancel a specific task
  - `cancelTaskAssignment` - Cancel a specific task assignment
  - `deleteTask` - Delete a specific task
  - `deleteTaskAssignment` - Delete a specific task assignment
  - `get` - Retrieve a specific task
  - `getAll` - Retrieve many tasks
  - `getTaskAssignments` - Retrieve assignments for a specific task
  - `waitForCompletion` - Wait for a task to complete with polling

  ### Triage Rules
  Create and manage triage rules for automated analysis.

  **Operations:**
  - `assignTask` - Assign a triage task
  - `create` - Create a new triage rule
  - `delete` - Delete a triage rule
  - `get` - Retrieve a specific triage rule
  - `getAll` - Retrieve many triage rules
  - `update` - Update a triage rule
  - `validate` - Validate a triage rule

  ### Users
  Manage user accounts and permissions.

  **Operations:**
  - `getAll` - Retrieve many users
  - `get` - Retrieve a specific user

  ## Trigger Node

  The On AIR Event-Trigger node allows you to trigger workflows based on AIR events.

  ### How to Use

  1. Add the On new AIR Trigger node to your workflow
  2. Configure your AIR API credentials
  3. Select the event types you want to listen for from the dynamically loaded list
  4. Configure the Bearer token that AIR will use for webhook authentication
  5. Copy the webhook URL from the node
  6. Create an event subscription in AIR:
     - Go to AIR > Integrations > Event Subscriptions
     - Add a new subscription with the webhook URL
     - Select the same event types
     - Provide the same Bearer token you configured in the trigger node

  ### Supported Event Types

  The trigger node dynamically loads available [event types](https://kb.binalyze.com/air/features/event-subscription) from your AIR instance, which may include:
  - TaskProcessingCompletedEvent
  - TaskProcessingFailedEvent
  - TaskCompletedEvent
  - TaskFailedEvent
  - CaseClosedEvent
  - EndpointRegisteredEvent
  - ...  

  ### Event Data Structure

  When an event is triggered, the node outputs data in the following format:
  ```json
  {
    "eventName": "TaskCompletedEvent",
    "organizationId": 0,
    "data": {
      "id": "task-id",
      "name": "Task Name",
      "type": "Task Type",
      "organizationId": "org-id",
      "totalAssignedEndpoints": 5,
      "totalCompletedEndpoints": 4
    }
  }
  ```

  ## Development

  To set up the development environment:

  1. Clone this repository
  2. Install dependencies: `yarn install`
  3. Build the project: `yarn build`
  4. Link the project using: 
     - `npm link`
     - `npm link n8n-nodes-binalyze-air`
  5. Start the development environment:
     - `yarn dev` - Start n8n in watch mode with automatic rebuilds
     - `yarn debug` - Start n8n in debug mode with verbose logging

  ### Development Scripts

  - `yarn build` - Build the project
  - `yarn dev` - Start development environment with file watching
  - `yarn debug` - Start development environment with debug logging enabled
  - `yarn restart:n8n` - Restart n8n without rebuilding

  ### Debug Mode

  The `yarn debug` command enables comprehensive debug logging to help troubleshoot issues:

  **Features:**
  - **Verbose Logging**: Sets `N8N_LOG_LEVEL=debug` for detailed n8n logs
  - **Console Output**: Direct log output to console (`N8N_LOG_OUTPUT=console`)
  - **Debug Patterns**: Enables debug output for n8n core and community nodes (`DEBUG=n8n*,n8n-nodes-*`)
  - **Error Details**: Shows detailed error information (`N8N_DETAILED_ERROR_OUTPUT=true`)
  - **Development Mode**: Sets `NODE_ENV=development` for enhanced debugging

  **Usage:**
  ```bash
  # Start development with debug logging
  yarn debug

  # Or manually start debug mode
  ./scripts/dev-watch.sh --debug
  ./scripts/restart-n8n.sh --debug
  ```

  **Debug Output Examples:**
  ```
  16:38:21.490   debug   Loaded all credentials and nodes from n8n-nodes-binalyze-air { "credentials": 1, "nodes": 1 }
  16:38:21.662   info    n8n ready on ::, port 5678
  16:38:23.607   info    Version: 1.103.2
  ```

  When debug mode is active, you'll see detailed information about:
  - Node and credential loading
  - API requests and responses
  - Workflow execution steps
  - Error stack traces
  - Internal n8n operations

  ## Testing

  The project includes an end-to-end testing workflow that can be managed using the e2e.js script.

  ### Prerequisites

  1. Create a `.env.local.yml` file in the project root with your credentials:
     ```yaml
     # n8n instance configuration
     N8N:
       INSTANCE_URL: http://127.0.0.1:5678
       API_TOKEN: your_n8n_api_token_here
     ```

  2. Ensure your n8n instance is running and you have a valid API token.

  ### Download Test Workflow

  To download the test workflow from your n8n instance:
  ```bash
  npm run test:download
  # or
  yarn test:download
  ```
  Or using the Node.js script directly:
  ```bash
  node test/e2e.js download
  ```

  This will download the `n8n-nodes-binalyze-air-e2e` workflow and save it to `test/n8n-nodes-binalyze-air-e2e.json`.

  ### Command Options

  Both commands support additional options:

  ```bash
  # Use a custom n8n instance URL
  node test/e2e.js download --url http://n8n.example.com:5678

  # Use a custom workflow name
  node test/e2e.js download --name my-custom-workflow

  # Use a custom output file
  node test/e2e.js download --file my-workflow.json
  ```


  ## TODO
  - Add interACT Library related operations

ai_documentation_summary:
  {"purpose":"Integrate n8n with the Binalyze AIR (Automated Incident Response) platform to manage AIR resources and automate incident response workflows such as evidence acquisition, endpoint actions, case management, and remote endpoint interaction.","capabilities":["Acquisitions: get, assignEvidenceTask, assignImageTask, createOffNetworkTask","Assets: addTags, get, getAssetTasks, getAll, reboot, removeTags, setIsolation, shutdown","Baselines: acquireBaseline, compareBaseline, getComparisonReport","Cases: changeOwner, checkName, closeCase, create, get, getActivities, getEndpoints, getAll, getTasks, getUsers","InterACT (remote interaction): createSession, waitForSession (supports indefinite wait with timeout=0), closeSession, executeCommand, executeAsyncCommand, getCommandMessage, interruptCommand","Organizations: addTags, assignUser, checkNameExists, create, get, getAll, getUsers, removeTags, removeUser, update, updateShareableDeployment","Repositories: get, getAll","Tasks: cancelTask, cancelTaskAssignment, deleteTask, deleteTaskAssignment, get, getAll, getTaskAssignments, waitForCompletion (polling)","Triage Rules: assignTask, create, delete, get, getAll, update, validate","Users: getAll, get"],"authentication":"API token required (create AIR API token and add 'Binalyze AIR API' credentials in n8n with your AIR instance URL and token)","commonUseCases":["Automate evidence acquisition and assign image/evidence/off-network collection tasks","Manage endpoints: tag, isolate, reboot, or shut down endpoints remotely","Create and manage incident response cases, notes, activities, and case ownership","Run remote commands and interactive sessions on endpoints via InterACT (sync and async) and retrieve command results","Create, validate, and assign triage rules to automate analysis and task assignment"],"limitations":[],"relatedNodes":["Trigger (Binalyze AIR Trigger Node for event-based workflows)","Binalyze AIR API credential (configured in n8n Settings → Credentials)"]}


node_type: n8n-nodes-streak-crm.streak
package_name: n8n-nodes-streak-crm
display_name: Streak
description: Streak CRM Node
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: nader_heidari
author_github_url: https://github.com/nukleas/
npm_package_name: n8n-nodes-streak-crm
npm_version: 1.1.17
community_fetched_at: 2026-02-19T14:41:52.458Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "user",
      "options": [
        {
          "name": "Box",
          "value": "box",
          "description": "Operate on Streak boxes (deals/opportunities)"
        },
        {
          "name": "Contact",
          "value": "contact",
          "description": "Operate on Streak contacts"
        },
        {
          "name": "Field",
          "value": "field",
          "description": "Operate on Streak fields and field values"
        },
        {
          "name": "Organization",
          "value": "organization",
          "description": "Operate on Streak organizations"
        },
        {
          "name": "Pipeline",
          "value": "pipeline",
          "description": "Operate on Streak pipelines"
        },
        {
          "name": "Stage",
          "value": "stage",
          "description": "Operate on Streak pipeline stages"
        },
        {
          "name": "Task",
          "value": "task",
          "description": "Operate on Streak tasks"
        },
        {
          "name": "Team",
          "value": "team",
          "description": "Operate on Streak teams"
        },
        {
          "name": "User",
          "value": "user",
          "description": "Operate on Streak users"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getCurrentUser",
      "options": [
        {
          "name": "Get Current User",
          "value": "getCurrentUser",
          "action": "Get current user",
          "description": "Get information about the current user"
        },
        {
          "name": "Get User",
          "value": "getUser",
          "action": "Get a user",
          "description": "Get information about a specific user by their key"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMyTeams",
      "options": [
        {
          "name": "Get My Teams",
          "value": "getMyTeams",
          "action": "Get my teams",
          "description": "List all teams the authenticated user belongs to"
        },
        {
          "name": "Get Team",
          "value": "getTeam",
          "action": "Get a team",
          "description": "Get information about a specific team"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "team"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listAllPipelines",
      "options": [
        {
          "name": "Create Pipeline",
          "value": "createPipeline",
          "action": "Create a pipeline",
          "description": "Creates a new pipeline"
        },
        {
          "name": "Delete Pipeline",
          "value": "deletePipeline",
          "action": "Delete a pipeline",
          "description": "Deletes a pipeline"
        },
        {
          "name": "Get Pipeline",
          "value": "getPipeline",
          "action": "Get a pipeline",
          "description": "Gets a specific pipeline by its key"
        },
        {
          "name": "List All Pipelines",
          "value": "listAllPipelines",
          "action": "List all pipelines",
          "description": "Lists all pipelines the user has access to"
        },
        {
          "name": "Move Boxes (Batch)",
          "value": "moveBoxesBatch",
          "action": "Move boxes between pipelines",
          "description": "Moves multiple boxes to a different pipeline"
        },
        {
          "name": "Update Pipeline",
          "value": "updatePipeline",
          "action": "Update a pipeline",
          "description": "Updates an existing pipeline"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pipeline"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listBoxes",
      "options": [
        {
          "name": "Create Box in a Pipeline",
          "value": "createBox",
          "action": "Create a box in a pipeline",
          "description": "Creates a new box in a pipeline"
        },
        {
          "name": "Delete Box",
          "value": "deleteBox",
          "action": "Delete a box",
          "description": "Deletes a box"
        },
        {
          "name": "Get Box",
          "value": "getBox",
          "action": "Get a box",
          "description": "Gets a specific box by its key"
        },
        {
          "name": "Get Multiple Boxes",
          "value": "getMultipleBoxes",
          "action": "Get multiple boxes",
          "description": "Gets multiple boxes by their keys"
        },
        {
          "name": "Get Timeline",
          "value": "getTimeline",
          "action": "Get timeline",
          "description": "Gets the timeline of events for a box"
        },
        {
          "name": "List Boxes in Pipeline",
          "value": "listBoxes",
          "action": "Get all boxes in a pipeline",
          "description": "Get all boxes (deals) in a pipeline"
        },
        {
          "name": "Update Box",
          "value": "updateBox",
          "action": "Update a box",
          "description": "Updates an existing box"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "box"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listStages",
      "options": [
        {
          "name": "Create Stage in a Pipeline",
          "value": "createStage",
          "action": "Create a stage in a pipeline",
          "description": "Creates a new stage in a pipeline"
        },
        {
          "name": "Delete Stage",
          "value": "deleteStage",
          "action": "Delete a stage",
          "description": "Deletes a stage"
        },
        {
          "name": "Get Stage",
          "value": "getStage",
          "action": "Get a stage",
          "description": "Gets a specific stage by its key"
        },
        {
          "name": "List Stages in a Pipeline",
          "value": "listStages",
          "action": "List stages in a pipeline",
          "description": "Lists all stages in a pipeline"
        },
        {
          "name": "Update Stage",
          "value": "updateStage",
          "action": "Update a stage",
          "description": "Updates an existing stage"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "stage"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listFields",
      "options": [
        {
          "name": "Create Field in a Pipeline",
          "value": "createField",
          "action": "Create a field in a pipeline",
          "description": "Creates a new field in a pipeline"
        },
        {
          "name": "Delete Field",
          "value": "deleteField",
          "action": "Delete a field",
          "description": "Deletes a field"
        },
        {
          "name": "Get Field",
          "value": "getField",
          "action": "Get a field",
          "description": "Gets a specific field by its key"
        },
        {
          "name": "Get Field Value in a Box",
          "value": "getFieldValue",
          "action": "Get a field value in a box",
          "description": "Gets a specific field value for a box"
        },
        {
          "name": "List Field Values in a Box",
          "value": "listFieldValues",
          "action": "List field values in a box",
          "description": "Lists all field values for a box"
        },
        {
          "name": "List Fields in a Pipeline",
          "value": "listFields",
          "action": "List fields in a pipeline",
          "description": "Lists all fields in a pipeline"
        },
        {
          "name": "Update Field",
          "value": "updateField",
          "action": "Update a field",
          "description": "Updates an existing field"
        },
        {
          "name": "Update Field Value in a Box",
          "value": "updateFieldValue",
          "action": "Update a field value in a box",
          "description": "Updates a field value for a box"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "field"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getContact",
      "options": [
        {
          "name": "Get Contact",
          "value": "getContact",
          "action": "Get a contact",
          "description": "Gets a specific contact"
        },
        {
          "name": "Create Contact",
          "value": "createContact",
          "action": "Create a contact",
          "description": "Creates a new contact"
        },
        {
          "name": "Update Contact",
          "value": "updateContact",
          "action": "Update a contact",
          "description": "Updates an existing contact"
        },
        {
          "name": "Delete Contact",
          "value": "deleteContact",
          "action": "Delete a contact",
          "description": "Deletes a contact"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getOrganization",
      "options": [
        {
          "name": "Check Existing Organizations",
          "value": "checkExistingOrganizations",
          "action": "Check existing organizations",
          "description": "Checks for existing organizations by name or domain"
        },
        {
          "name": "Create Organization",
          "value": "createOrganization",
          "action": "Create an organization",
          "description": "Creates a new organization"
        },
        {
          "name": "Delete Organization",
          "value": "deleteOrganization",
          "action": "Delete an organization",
          "description": "Deletes an organization"
        },
        {
          "name": "Get Organization",
          "value": "getOrganization",
          "action": "Get an organization",
          "description": "Gets a specific organization"
        },
        {
          "name": "Update Organization",
          "value": "updateOrganization",
          "action": "Update an organization",
          "description": "Updates an existing organization"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "organization"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getTask",
      "options": [
        {
          "name": "Create Task in a Box",
          "value": "createTask",
          "action": "Create a task in a box",
          "description": "Creates a new task for a box"
        },
        {
          "name": "Delete Task",
          "value": "deleteTask",
          "action": "Delete a task",
          "description": "Deletes a task"
        },
        {
          "name": "Get Task",
          "value": "getTask",
          "action": "Get a task",
          "description": "Gets a specific task"
        },
        {
          "name": "Get Tasks in a Box",
          "value": "getTasksInBox",
          "action": "Get tasks in a box",
          "description": "Gets all tasks associated with a box"
        },
        {
          "name": "Update Task",
          "value": "updateTask",
          "action": "Update a task",
          "description": "Updates an existing task"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Current User",
      "value": "getCurrentUser",
      "action": "Get current user",
      "description": "Get information about the current user"
    },
    {
      "name": "Get User",
      "value": "getUser",
      "action": "Get a user",
      "description": "Get information about a specific user by their key"
    },
    {
      "name": "Get My Teams",
      "value": "getMyTeams",
      "action": "Get my teams",
      "description": "List all teams the authenticated user belongs to"
    },
    {
      "name": "Get Team",
      "value": "getTeam",
      "action": "Get a team",
      "description": "Get information about a specific team"
    },
    {
      "name": "Create Pipeline",
      "value": "createPipeline",
      "action": "Create a pipeline",
      "description": "Creates a new pipeline"
    },
    {
      "name": "Delete Pipeline",
      "value": "deletePipeline",
      "action": "Delete a pipeline",
      "description": "Deletes a pipeline"
    },
    {
      "name": "Get Pipeline",
      "value": "getPipeline",
      "action": "Get a pipeline",
      "description": "Gets a specific pipeline by its key"
    },
    {
      "name": "List All Pipelines",
      "value": "listAllPipelines",
      "action": "List all pipelines",
      "description": "Lists all pipelines the user has access to"
    },
    {
      "name": "Move Boxes (Batch)",
      "value": "moveBoxesBatch",
      "action": "Move boxes between pipelines",
      "description": "Moves multiple boxes to a different pipeline"
    },
    {
      "name": "Update Pipeline",
      "value": "updatePipeline",
      "action": "Update a pipeline",
      "description": "Updates an existing pipeline"
    },
    {
      "name": "Create Box in a Pipeline",
      "value": "createBox",
      "action": "Create a box in a pipeline",
      "description": "Creates a new box in a pipeline"
    },
    {
      "name": "Delete Box",
      "value": "deleteBox",
      "action": "Delete a box",
      "description": "Deletes a box"
    },
    {
      "name": "Get Box",
      "value": "getBox",
      "action": "Get a box",
      "description": "Gets a specific box by its key"
    },
    {
      "name": "Get Multiple Boxes",
      "value": "getMultipleBoxes",
      "action": "Get multiple boxes",
      "description": "Gets multiple boxes by their keys"
    },
    {
      "name": "Get Timeline",
      "value": "getTimeline",
      "action": "Get timeline",
      "description": "Gets the timeline of events for a box"
    },
    {
      "name": "List Boxes in Pipeline",
      "value": "listBoxes",
      "action": "Get all boxes in a pipeline",
      "description": "Get all boxes (deals) in a pipeline"
    },
    {
      "name": "Update Box",
      "value": "updateBox",
      "action": "Update a box",
      "description": "Updates an existing box"
    },
    {
      "name": "Create Stage in a Pipeline",
      "value": "createStage",
      "action": "Create a stage in a pipeline",
      "description": "Creates a new stage in a pipeline"
    },
    {
      "name": "Delete Stage",
      "value": "deleteStage",
      "action": "Delete a stage",
      "description": "Deletes a stage"
    },
    {
      "name": "Get Stage",
      "value": "getStage",
      "action": "Get a stage",
      "description": "Gets a specific stage by its key"
    },
    {
      "name": "List Stages in a Pipeline",
      "value": "listStages",
      "action": "List stages in a pipeline",
      "description": "Lists all stages in a pipeline"
    },
    {
      "name": "Update Stage",
      "value": "updateStage",
      "action": "Update a stage",
      "description": "Updates an existing stage"
    },
    {
      "name": "Create Field in a Pipeline",
      "value": "createField",
      "action": "Create a field in a pipeline",
      "description": "Creates a new field in a pipeline"
    },
    {
      "name": "Delete Field",
      "value": "deleteField",
      "action": "Delete a field",
      "description": "Deletes a field"
    },
    {
      "name": "Get Field",
      "value": "getField",
      "action": "Get a field",
      "description": "Gets a specific field by its key"
    },
    {
      "name": "Get Field Value in a Box",
      "value": "getFieldValue",
      "action": "Get a field value in a box",
      "description": "Gets a specific field value for a box"
    },
    {
      "name": "List Field Values in a Box",
      "value": "listFieldValues",
      "action": "List field values in a box",
      "description": "Lists all field values for a box"
    },
    {
      "name": "List Fields in a Pipeline",
      "value": "listFields",
      "action": "List fields in a pipeline",
      "description": "Lists all fields in a pipeline"
    },
    {
      "name": "Update Field",
      "value": "updateField",
      "action": "Update a field",
      "description": "Updates an existing field"
    },
    {
      "name": "Update Field Value in a Box",
      "value": "updateFieldValue",
      "action": "Update a field value in a box",
      "description": "Updates a field value for a box"
    },
    {
      "name": "Get Contact",
      "value": "getContact",
      "action": "Get a contact",
      "description": "Gets a specific contact"
    },
    {
      "name": "Create Contact",
      "value": "createContact",
      "action": "Create a contact",
      "description": "Creates a new contact"
    },
    {
      "name": "Update Contact",
      "value": "updateContact",
      "action": "Update a contact",
      "description": "Updates an existing contact"
    },
    {
      "name": "Delete Contact",
      "value": "deleteContact",
      "action": "Delete a contact",
      "description": "Deletes a contact"
    },
    {
      "name": "Check Existing Organizations",
      "value": "checkExistingOrganizations",
      "action": "Check existing organizations",
      "description": "Checks for existing organizations by name or domain"
    },
    {
      "name": "Create Organization",
      "value": "createOrganization",
      "action": "Create an organization",
      "description": "Creates a new organization"
    },
    {
      "name": "Delete Organization",
      "value": "deleteOrganization",
      "action": "Delete an organization",
      "description": "Deletes an organization"
    },
    {
      "name": "Get Organization",
      "value": "getOrganization",
      "action": "Get an organization",
      "description": "Gets a specific organization"
    },
    {
      "name": "Update Organization",
      "value": "updateOrganization",
      "action": "Update an organization",
      "description": "Updates an existing organization"
    },
    {
      "name": "Create Task in a Box",
      "value": "createTask",
      "action": "Create a task in a box",
      "description": "Creates a new task for a box"
    },
    {
      "name": "Delete Task",
      "value": "deleteTask",
      "action": "Delete a task",
      "description": "Deletes a task"
    },
    {
      "name": "Get Task",
      "value": "getTask",
      "action": "Get a task",
      "description": "Gets a specific task"
    },
    {
      "name": "Get Tasks in a Box",
      "value": "getTasksInBox",
      "action": "Get tasks in a box",
      "description": "Gets all tasks associated with a box"
    },
    {
      "name": "Update Task",
      "value": "updateTask",
      "action": "Update a task",
      "description": "Updates an existing task"
    }
  ]

npm_readme:
  # n8n-nodes-streak-crm

  This is an n8n community node that lets you use [Streak CRM](https://streak.com) in your n8n workflows.

  Streak CRM is a powerful customer relationship management (CRM) tool integrated directly into Gmail that helps teams track leads, manage sales pipelines, and streamline customer communications.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)  
  [Compatibility](#compatibility)  
  [Usage](#usage)  
  [Resources](#resources)  
  [Version History](#version-history)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ```bash
  npm install n8n-nodes-streak-crm
  ```

  Or if you use n8n Desktop, you can go to **Settings > Community nodes > Install** and provide the package name `n8n-nodes-streak-crm`.

  ## Operations

  This node supports a comprehensive set of operations across various Streak CRM resources.

  ### Architecture Improvements

  The node now features a dedicated `StreakApiService` class that centralizes all API interactions, providing:

  - Consistent error handling across all operations
  - Strong TypeScript typing for better code reliability
  - Improved performance with optimized request handling
  - Better developer experience for future enhancements

  ### User Operations
  - **Get Current User** - Retrieve the details of the current authenticated user
  - **Get User** - Retrieve details of a specific user by key

  ### Team Operations
  - **Get My Teams** - Retrieve all teams the current user belongs to
  - **Get Team** - Retrieve details of a specific team by key

  ### Pipeline Operations
  - **List All Pipelines** - Get all available pipelines
  - **Get Pipeline** - Retrieve a specific pipeline by key
  - **Create Pipeline** - Create a new pipeline with customizable properties
  - **Update Pipeline** - Update properties of an existing pipeline
  - **Delete Pipeline** - Remove a pipeline
  - **Move Boxes Between Pipelines** - Move multiple boxes (deals) between pipelines in batch

  ### Box Operations
  - **List Boxes in Pipeline** - Get all boxes (deals) in a specific pipeline
  - **Get Box** - Retrieve a specific box by key
  - **Get Multiple Boxes** - Retrieve multiple boxes at once
  - **Create Box** - Create a new box in a pipeline
  - **Update Box** - Update properties of an existing box
  - **Delete Box** - Remove a box
  - **Get Box Timeline** - Retrieve the timeline of events for a box

  ### Stage Operations
  - **List Stages** - Get all stages in a pipeline
  - **Get Stage** - Retrieve a specific stage by key
  - **Create Stage** - Create a new stage in a pipeline
  - **Update Stage** - Update properties of an existing stage
  - **Delete Stage** - Remove a stage from a pipeline

  ### Field Operations
  - **List Fields** - Get all fields in a pipeline
  - **Get Field** - Retrieve a specific field by key
  - **Create Field** - Create a new field in a pipeline
  - **Update Field** - Update properties of an existing field
  - **Delete Field** - Remove a field from a pipeline
  - **List Field Values** - Get all field values for a box
  - **Get Field Value** - Retrieve a specific field value
  - **Update Field Value** - Update a field value for a box

  ### Contact Operations
  - **Get Contact** - Retrieve a specific contact by key
  - **Create Contact** - Create a new contact
  - **Update Contact** - Update properties of an existing contact
  - **Delete Contact** - Remove a contact

  ### Organization Operations
  - **Get Organization** - Retrieve a specific organization by key
  - **Create Organization** - Create a new organization
  - **Check Existing Organizations** - Search for existing organizations by name or domain
  - **Update Organization** - Update properties of an existing organization
  - **Delete Organization** - Remove an organization

  ### Task Operations
  - **Get Task** - Retrieve a specific task by key
  - **Get Tasks in Box** - Get all tasks associated with a box
  - **Create Task** - Create a new task for a box
  - **Update Task** - Update properties of an existing task
  - **Delete Task** - Remove a task

  ## Credentials

  To use this node, you need an API key from Streak CRM.

  ### How to get your API key:

  1. Log in to your Streak account at [streak.com](https://streak.com)
  2. Go to **Settings** > **API** 
  3. Copy your API key

  In n8n, create a new credential of type **Streak CRM API** and enter your API key.

  ## Compatibility

  This node was developed and tested with n8n version 1.0.0 and Streak API v1.

  ## Usage

  ### Example: Creating a new pipeline and adding a box (deal)

  This is a simple workflow to create a pipeline and then add a box to it:

  1. **Streak CRM node** with operation **Create Pipeline**
     - Set name: `New Sales Pipeline`
     - Optional: Add description, team key, and other properties

  2. **Streak CRM node** with operation **Create Box**
     - Use the pipeline key from the previous node
     - Set name: `Potential Client`
     - Optional: Add stage key and other properties

  ### Example: Managing contacts and linking them to boxes

  1. **Streak CRM node** with operation **Create Contact**
     - Set email: `client@example.com`
     - Add fields for name, organization, etc.

  2. **Streak CRM node** with operation **Update Box**
     - Use an existing box key
     - Link the contact by updating field values

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Streak API Documentation](https://streak.readme.io/reference/about-the-streak-api)
  * [Streak User Guide](https://streak.com/support/articles)

  ## Version History

  ### 1.0.3
  - Added a comprehensive StreakApiService class to centralize API interactions
  - Improved pipeline selection with dynamic dropdown loading
  - Fixed Box Keys field handling in Move Boxes operation
  - Enhanced error handling and API request consistency
  - Added TypeScript interfaces for better type safety

  ### 1.0.2
  - Initial release with comprehensive support for Users, Teams, Pipelines, Boxes, Stages, Fields, Contacts, Organizations, and Tasks
  - Support for pagination in list operations
  - Detailed error handling

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Provides actions to interact with Streak CRM from n8n workflows, enabling management of pipelines, boxes (deals), contacts, organizations, tasks, fields, stages, teams, and users via the Streak API.","capabilities":["Get current authenticated user","Get user by key","Get teams for current user","Get team by key","List all pipelines","Get pipeline by key","Create, update, and delete pipelines","Move multiple boxes between pipelines (batch)","List boxes in a pipeline","Get, create, update, delete a box"],"authentication":"API key required (Streak CRM API key entered in n8n credential type 'Streak CRM API')","commonUseCases":["Create a new sales pipeline and add boxes (deals) programmatically","Create or update contacts and link them to boxes","Move multiple deals between pipelines in batch during process changes","Read and update custom field values for boxes","Automate task creation and management for deals"],"limitations":["Node was developed and tested with n8n v1.0.0 and Streak API v1 — compatibility with other versions is not guaranteed","README lists only actions; no trigger/webhook operations are mentioned for real-time event-based workflows"],"relatedNodes":[]}


node_type: @vlm-run/n8n-nodes-vlmrun.vlmRun
package_name: @vlm-run/n8n-nodes-vlmrun
display_name: VLM Run
description: Interact with VLM Run API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: shahrear-vlm
author_github_url: https://github.com/vlm-run/n8n-nodes-vlmrun.git
npm_package_name: @vlm-run/n8n-nodes-vlmrun
npm_version: 2.2.9
community_fetched_at: 2026-02-19T14:41:52.459Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "document",
      "options": [
        {
          "name": "Analyze Audio",
          "value": "audio",
          "action": "Analyze audio",
          "description": "Analyze audio files for transcription, speaker identification, sentiment analysis, and more"
        },
        {
          "name": "Analyze Document",
          "value": "document",
          "action": "Analyze document",
          "description": "Extract structured data from documents such as resumes, invoices, presentations, and more"
        },
        {
          "name": "Analyze Image",
          "value": "image",
          "action": "Analyze image",
          "description": "Extract information or generate captions from images"
        },
        {
          "name": "Analyze Video",
          "value": "video",
          "action": "Analyze video",
          "description": "Extract insights or transcribe content from video files"
        },
        {
          "name": "Execute Agent",
          "value": "executeAgent",
          "action": "Execute agent",
          "description": "Execute an agent"
        },
        {
          "name": "Manage Files",
          "value": "file",
          "action": "Manage files",
          "description": "List uploaded files or upload new files to VLM Run"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Analyze Audio",
      "value": "audio",
      "action": "Analyze audio",
      "description": "Analyze audio files for transcription, speaker identification, sentiment analysis, and more"
    },
    {
      "name": "Analyze Document",
      "value": "document",
      "action": "Analyze document",
      "description": "Extract structured data from documents such as resumes, invoices, presentations, and more"
    },
    {
      "name": "Analyze Image",
      "value": "image",
      "action": "Analyze image",
      "description": "Extract information or generate captions from images"
    },
    {
      "name": "Analyze Video",
      "value": "video",
      "action": "Analyze video",
      "description": "Extract insights or transcribe content from video files"
    },
    {
      "name": "Execute Agent",
      "value": "executeAgent",
      "action": "Execute agent",
      "description": "Execute an agent"
    },
    {
      "name": "Manage Files",
      "value": "file",
      "action": "Manage files",
      "description": "List uploaded files or upload new files to VLM Run"
    }
  ]

npm_readme:
  <div align="center">
  <p align="center" style="width: 100%;">
      <img src="https://raw.githubusercontent.com/vlm-run/.github/refs/heads/main/profile/assets/vlm-black.svg" alt="VLM Run Logo" width="80" style="margin-bottom: -5px; color: #2e3138; vertical-align: middle; padding-right: 5px;"><br>
  </p>
  <h2>n8n-nodes-vlmrun</h2>
  <p align="center">
  <a href="https://vlm.run"><b>Website</b></a> | <a href="https://app.vlm.run/"><b>Platform</b></a> | <a href="https://docs.vlm.run/"><b>Docs</b></a> | <a href="https://docs.vlm.run/blog"><b>Blog</b></a> | <a href="https://discord.gg/4jgyECY4rq"><b>Discord</b></a>
  </p>
  <p align="center">
  <a href="https://www.npmjs.com/package/@vlm-run/n8n-nodes-vlmrun"><img alt="NPM Version" src="https://badge.fury.io/js/%40vlm-run%2Fn8n-nodes-vlmrun.svg"></a>
  <a href="https://github.com/vlm-run/n8n-nodes-vlmrun/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/vlm-run/n8n-nodes-vlmrun.svg"></a>
  <a href="https://discord.gg/4jgyECY4rq"><img alt="Discord" src="https://img.shields.io/badge/discord-chat-purple?color=%235765F2&label=discord&logo=discord"></a>
  <a href="https://twitter.com/vlmrun"><img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/vlmrun.svg?style=social&logo=twitter"></a>
  </p>
  </div>

  This is an n8n community node. It lets you use [VLM Run](https://vlm.run) in your n8n workflows.

  VLM Run is a unified gateway for Visual AI that enables you to extract structured data from unstructured visual content like images, videos, audio, and documents using Vision Language Models (VLMs).


  ## 💾 Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ```bash
  npm i @vlm-run/n8n-nodes-vlmrun
  ```

  ## ⚙️ Operations

  - **Analyze Audio**: Analyze audio files for transcription, speaker identification, sentiment analysis, and more.
  - **Analyze Document**: Extract structured data from documents such as resumes, invoices, presentations, and more.
  - **Analyze Image**: Extract information or generate captions from images.
  - **Analyze Video**: Extract insights or transcribe content from video files.
  - **Manage Files**: List uploaded files or upload new files to VLM Run.

  ## 🔑 Credentials

  1. Sign up for a VLM Run account at [vlm.run](https://app.vlm.run/)
  2. Get your API key from the dashboard
  3. Use the API key in the n8n VLM Run node credentials

  ## 📖 Usage

  1. **Configure Credentials**:
     - Add your VLM Run API credentials in n8n
     - Set the API base URL (default: https://api.vlm.run/v1)

  2. **Add VLM Run Node**:
     - Search for "VLM Run" in the n8n nodes panel
     - Add it to your workflow

  3. **Configure Node**:
     - Select the operation (Analyze Audio, Analyze Document, Analyze Image, Analyze Video, or Manage Files)
     - Provide the required input fields (such as file data, model, or domain)
     - Configure any additional parameters as needed

  4. **Run the workflow** to process your visual or audio data with VLM Run's AI models.

  ## 📸 Screenshots

  Here are some screenshots of the n8n-nodes-vlmrun in action:

  ![VLM Run Node Overview](assets/vlmrun-overview.png)
  _Overview of the VLM Run node in n8n_

  ![VLM Run Workflow Example](assets/vlmrun-workflow.png)
  _Example workflow using the VLM Run node_

  ## 🔗 Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [VLM Run Documentation](https://docs.vlm.run/introduction)
  - [VLM Run API Reference](https://docs.vlm.run/api-reference/v1/health)
  - [Example Workflows](https://n8n.io/workflows)

  ## 🛠️ Example Use Cases

  - Extracting structured data from resumes, invoices, or utility bills
  - Cataloging and captioning product images
  - Transcribing and analyzing audio interviews or calls
  - Extracting insights from video content
  - Managing files in your VLM Run account from n8n workflows

  ## 📄 License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"Provides an n8n node to interact with the VLM Run API, allowing workflows to analyze images, video, audio, and documents and to manage files using Vision Language Models to extract structured data and insights.","capabilities":["Analyze Audio — transcription, speaker identification, sentiment analysis, and other audio insights","Analyze Document — extract structured data from documents (resumes, invoices, presentations, etc.)","Analyze Image — extract information from images or generate captions","Analyze Video — extract insights or transcribe video content","Manage Files — list uploaded files and upload new files to VLM Run","Configure API base URL (default: https://api.vlm.run/v1) and select models/domains where applicable"],"authentication":"API key required (provide VLM Run API key in the node credentials)","commonUseCases":["Extract structured data from resumes, invoices, utility bills and other documents","Catalog and caption product or content images","Transcribe and analyze audio interviews or calls","Extract insights and transcriptions from video content","Manage and upload files in VLM Run from n8n workflows"],"limitations":[],"relatedNodes":[]}


node_type: @handelsregister/n8n-nodes-handelsregister-ai.handelsregisterAi
package_name: @handelsregister/n8n-nodes-handelsregister-ai
display_name: handelsregister.ai
description: Interact with handelsregister.ai API to query German business registry data
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: padho
author_github_url: https://github.com/Handelsregister-AI/n8n-nodes-handelsregister-ai.git
npm_package_name: @handelsregister/n8n-nodes-handelsregister-ai
npm_version: 0.2.1
community_fetched_at: 2026-02-19T14:41:52.460Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "fetchOrganization",
      "options": [
        {
          "name": "Fetch Organization",
          "value": "fetchOrganization",
          "action": "Fetch organization details",
          "description": "Get comprehensive information about a German company"
        },
        {
          "name": "Search Organizations",
          "value": "searchOrganizations",
          "action": "Search organizations",
          "description": "Search German companies with filters and pagination"
        },
        {
          "name": "Fetch Document",
          "value": "fetchDocument",
          "action": "Fetch document",
          "description": "Download official PDF documents from the German business registry"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Fetch Organization",
      "value": "fetchOrganization",
      "action": "Fetch organization details",
      "description": "Get comprehensive information about a German company"
    },
    {
      "name": "Search Organizations",
      "value": "searchOrganizations",
      "action": "Search organizations",
      "description": "Search German companies with filters and pagination"
    },
    {
      "name": "Fetch Document",
      "value": "fetchDocument",
      "action": "Fetch document",
      "description": "Download official PDF documents from the German business registry"
    }
  ]

npm_readme:
  # @handelsregister/n8n-nodes-handelsregister-ai

  This is an n8n community node that allows you to interact with the [Handelsregister.ai](https://handelsregister.ai) API to query German business registry data.

  ## Installation

  ### Community Node

  1. In n8n, go to **Settings** > **Community Nodes**
  2. Click **Install**
  3. Enter `@handelsregister/n8n-nodes-handelsregister-ai`
  4. Click **Install**

  ### Manual Installation

  ```bash
  npm install @handelsregister/n8n-nodes-handelsregister-ai
  ```

  ## Features

  - **Fetch Organization**: Get comprehensive information about a German company including financial data, related persons, and publications
  - **Search Organizations**: Search German companies with filters and pagination
  - **Fetch Document**: Download official PDF documents from the German business registry

  ## Setup

  1. Get your API key from [Handelsregister.ai](https://handelsregister.ai)
  2. In n8n, add credentials:
     - Go to **Credentials** > **New**
     - Select **Handelsregister.ai API**
     - Enter your API key
     - Save the credentials

  ## Usage

  ### Fetch Organization

  Get comprehensive information about a German company:
  - **Query**: Company name, registration number or search query (e.g., "Konux GmbH aus München")
  - **Features**: Select additional data to include:
    - Financial KPI (1 Credit)
    - Balance Sheet Accounts (3 Credits)
    - Profit and Loss Account (3 Credits)
    - Related Persons (2 Credits)
    - Shareholders (5 Credits)
    - Publications (1 Credit)
    - News (10 Credits)
    - Insolvency Publications (1 Credit)
    - Annual Financial Statements (5 Credits)
    - Website Content (0 Credits - requires AI Mode to be enabled)
  - **AI Mode**: Enable AI-powered search for better results (enabled by default)

  ### Search Organizations

  Search German companies with filters and pagination:
  - **Query**: Search query (minimum 2 characters, e.g., "Konux")
  - **Additional Fields**:
    - Skip: Number of results to skip
    - Limit: Results per page (1-100)
    - Postal Code Filter: Filter by postal code

  ### Fetch Document

  Download official PDF documents from the German business registry:
  - **Company ID**: Unique company entity ID from search results
  - **Document Type**: 
    - Shareholders List
    - Current Extract (AD)
    - Historical Extract (CD)

  ## Example Workflows

  ### Fetch Organization with Features
  ```json
  {
    "nodes": [
      {
        "parameters": {
          "operation": "fetchOrganization",
          "q": "Konux GmbH aus München",
          "features": ["financial_kpi", "related_persons"],
          "ai_search": true
        },
        "name": "handelsregister.ai",
        "type": "@handelsregister/n8n-nodes-handelsregister-ai.handelsregisterAi",
        "typeVersion": 1,
        "position": [250, 300]
      }
    ]
  }
  ```

  ### Search Organizations with Filters
  ```json
  {
    "nodes": [
      {
        "parameters": {
          "operation": "searchOrganizations",
          "q": "tech",
          "additionalFields": {
            "limit": 20,
            "postal_code": "80331"
          }
        },
        "name": "Search Organizations",
        "type": "@handelsregister/n8n-nodes-handelsregister-ai.handelsregisterAi",
        "typeVersion": 1,
        "position": [250, 300]
      }
    ]
  }
  ```

  ### Fetch Document Workflow
  ```json
  {
    "nodes": [
      {
        "parameters": {
          "operation": "fetchDocument",
          "company_id": "{{ $json.entity_id }}",
          "document_type": "shareholders_list"
        },
        "name": "Fetch Document",
        "type": "@handelsregister/n8n-nodes-handelsregister-ai.handelsregisterAi",
        "typeVersion": 1,
        "position": [450, 300]
      }
    ]
  }
  ```

  ### Batch Company Processing
  Use this workflow to process multiple companies from a spreadsheet or database:

  1. **Spreadsheet/Database Node** → Read company names
  2. **handelsregister.ai Node** → Use `searchOrganizations` to find companies
  3. **Filter Node** → Filter results based on criteria
  4. **handelsregister.ai Node** → Use `fetchOrganization` to get detailed data
  5. **Output Node** → Save results to database or file

  ## Development

  ```bash
  # Install dependencies
  npm install

  # Build the node
  npm run build

  # Run in development mode
  npm run dev
  ```

  ## License

  [MIT](LICENSE.md)

  ## Support

  For issues and feature requests, please visit the [GitHub repository](https://github.com/Handelsregister-AI/n8n-nodes-handelsregister-ai).

ai_documentation_summary:
  {"purpose":"Provide n8n workflow actions to query German business registry data via the Handelsregister.ai API — search companies, fetch detailed company information, and download official registry documents.","capabilities":["fetchOrganization — retrieve comprehensive company data (financial KPIs, balance sheet, profit & loss, related persons, shareholders, publications, news, insolvency publications, annual financial statements, website content)","searchOrganizations — search companies with query, postal code filter, skip/limit pagination","fetchDocument — download official PDF documents (shareholders list, current extract (AD), historical extract (CD))","AI Mode — enable AI-powered search for improved results (enabled by default)","Selective feature inclusion — request specific additional data fields per fetch (each may consume credits)","Batch processing support — usable in multi-step workflows (e.g., spreadsheet → search → fetch → save)"],"authentication":"API key required (Handelsregister.ai API credential added in n8n credentials)","commonUseCases":["Lookup and enrich company records with registry data for due diligence or CRM enrichment","Bulk processing of company lists from spreadsheets or databases to fetch detailed registry information","Search for companies by name or partial query with filters (e.g., postal code) for lead discovery","Download official registry PDFs (extracts or shareholders lists) for compliance and record-keeping","Monitor publications, insolvency notices, and news related to German companies"],"limitations":["Several optional data features consume credits (cost per feature listed in README) — usage may incur costs or be limited by credits","Search query must be at least 2 characters","Search result limit must be between 1 and 100; supports skip/limit pagination only","Website content retrieval requires AI Mode to be enabled (not available without it)","Document downloads limited to listed types (shareholders list, current extract AD, historical extract CD)"],"relatedNodes":["Spreadsheet / Database nodes (for reading company lists)","Filter node (for filtering search results)","HTTP Request / File nodes (for handling downloaded PDFs)","Output nodes (database insert, file write, or other storage nodes)"]}


node_type: n8n-nodes-outscraper.outscraper
package_name: n8n-nodes-outscraper
display_name: Outscraper
description: Interact with Outscraper API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: outscraper-api
author_github_url: https://github.com/outscraper/
npm_package_name: n8n-nodes-outscraper
npm_version: 0.2.0
community_fetched_at: 2026-02-19T14:41:52.460Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "googleMaps",
      "options": [
        {
          "name": "Airbnb",
          "value": "airbnb"
        },
        {
          "name": "AppStore",
          "value": "appStore"
        },
        {
          "name": "Booking",
          "value": "booking"
        },
        {
          "name": "Company Insight",
          "value": "companyInsights"
        },
        {
          "name": "Company Website Finder",
          "value": "companyWebsiteFinder"
        },
        {
          "name": "Emails & Contact",
          "value": "emailsAndContacts"
        },
        {
          "name": "Expedia",
          "value": "expedia"
        },
        {
          "name": "G2 Review",
          "value": "g2Reviews"
        },
        {
          "name": "Geocoding",
          "value": "geocoding"
        },
        {
          "name": "GetApp Review",
          "value": "getAppReviews"
        },
        {
          "name": "Google Map",
          "value": "googleMaps"
        },
        {
          "name": "Google Search",
          "value": "googleSearch"
        },
        {
          "name": "Indeed",
          "value": "indeed"
        },
        {
          "name": "Phone Identity Finder",
          "value": "phoneIdentityFinder"
        },
        {
          "name": "Phones Owner",
          "value": "phonesOwners"
        },
        {
          "name": "Product Hunt",
          "value": "productHunt"
        },
        {
          "name": "Similarweb",
          "value": "similarweb"
        },
        {
          "name": "Target Review",
          "value": "targetReviews"
        },
        {
          "name": "TikTok Profile",
          "value": "tiktokProfiles"
        },
        {
          "name": "TripAdvisor",
          "value": "tripadvisor"
        },
        {
          "name": "Trustpilot",
          "value": "trustpilot"
        },
        {
          "name": "Twitter Profile",
          "value": "twitterProfiles"
        },
        {
          "name": "Universal AI Scraper",
          "value": "universalScraper"
        },
        {
          "name": "Walmart Review",
          "value": "walmartReviews"
        },
        {
          "name": "WebPage Screenshoter",
          "value": "webPageScreenshoter"
        },
        {
          "name": "Whitepages Addresses Scraper",
          "value": "whitepagesAddresses"
        },
        {
          "name": "Yellow Pages Search",
          "value": "yellowPagesSearch"
        },
        {
          "name": "Yelp",
          "value": "yelp"
        },
        {
          "name": "YouTube",
          "value": "youtube"
        },
        {
          "name": "Zillow",
          "value": "zillow"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search for businesses on google maps",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/maps/search-v3",
              "method": "GET"
            }
          },
          "description": "Search for businesses on Google Maps"
        },
        {
          "name": "Get Reviews",
          "value": "reviews",
          "action": "Get reviews for a place on google maps",
          "routing": {
            "request": {
              "url": "/maps/reviews-v3",
              "method": "GET"
            }
          },
          "description": "Get reviews for a place on Google Maps"
        },
        {
          "name": "Get Photos",
          "value": "photos",
          "action": "Get photos for a place on google maps",
          "routing": {
            "request": {
              "url": "/maps/photos-v3",
              "method": "GET"
            }
          },
          "description": "Get photos for a place on Google Maps"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "googleMaps"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search on google",
          "routing": {
            "request": {
              "url": "/google-search-v3",
              "method": "GET"
            }
          },
          "description": "Search on Google"
        },
        {
          "name": "Search Careers",
          "value": "searchCareers",
          "action": "Search for career listings on google",
          "routing": {
            "request": {
              "url": "/google-search-careers",
              "method": "GET"
            }
          },
          "description": "Search for career listings on Google"
        },
        {
          "name": "Search Events",
          "value": "searchEvents",
          "action": "Search for events on google",
          "routing": {
            "request": {
              "url": "/google-search-events",
              "method": "GET"
            }
          },
          "description": "Search for events on Google"
        },
        {
          "name": "Search Images",
          "value": "searchImages",
          "action": "Search for images on google",
          "routing": {
            "request": {
              "url": "/google-search-images-v2",
              "method": "GET"
            }
          },
          "description": "Search for images on Google"
        },
        {
          "name": "Search News",
          "value": "searchNews",
          "action": "Search for news on google",
          "routing": {
            "request": {
              "url": "/google-search-news",
              "method": "GET"
            }
          },
          "description": "Search for news on Google"
        },
        {
          "name": "Search Shopping",
          "value": "searchShopping",
          "action": "Search for shopping products on google",
          "routing": {
            "request": {
              "url": "/google-search-shopping",
              "method": "GET"
            }
          },
          "description": "Search for shopping products on Google"
        },
        {
          "name": "Search Videos",
          "value": "searchVideos",
          "action": "Search for videos on google",
          "routing": {
            "request": {
              "url": "/google-search-videos",
              "method": "GET"
            }
          },
          "description": "Search for videos on Google"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "googleSearch"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "reviews",
      "options": [
        {
          "name": "Get Reviews",
          "value": "reviews",
          "action": "Get reviews from G2",
          "routing": {
            "request": {
              "url": "/g2/reviews",
              "method": "GET"
            }
          },
          "description": "Get reviews from G2"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "g2Reviews"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "business",
      "options": [
        {
          "name": "Get Business Info",
          "value": "business",
          "action": "Get business information from trustpilot",
          "routing": {
            "request": {
              "url": "/trustpilot",
              "method": "GET"
            }
          },
          "description": "Get business information from Trustpilot"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search businesses on trustpilot",
          "routing": {
            "request": {
              "url": "/trustpilot/search",
              "method": "GET"
            }
          },
          "description": "Search businesses on Trustpilot"
        },
        {
          "name": "Get Reviews",
          "value": "reviews",
          "action": "Get reviews from trustpilot",
          "routing": {
            "request": {
              "url": "/trustpilot/reviews",
              "method": "GET"
            }
          },
          "description": "Get reviews from Trustpilot"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "trustpilot"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "reviews",
      "options": [
        {
          "name": "Get Reviews",
          "value": "reviews",
          "action": "Get reviews from trip advisor",
          "routing": {
            "request": {
              "url": "/tripadvisor-reviews",
              "method": "GET"
            }
          },
          "description": "Get reviews from TripAdvisor"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search on trip advisor",
          "routing": {
            "request": {
              "url": "/tripadvisor-search",
              "method": "GET"
            }
          },
          "description": "Search on TripAdvisor"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tripadvisor"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search on expedia",
          "routing": {
            "request": {
              "url": "/expedia/search",
              "method": "GET"
            }
          },
          "description": "Search on Expedia"
        },
        {
          "name": "Get Reviews",
          "value": "reviews",
          "action": "Get reviews from expedia",
          "routing": {
            "request": {
              "url": "/expedia/reviews",
              "method": "GET"
            }
          },
          "description": "Get reviews from Expedia"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "expedia"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search for videos on you tube",
          "description": "Search for videos on YouTube"
        },
        {
          "name": "Channel",
          "value": "channel",
          "action": "Get you tube channel information",
          "description": "Get YouTube channel information"
        },
        {
          "name": "Comments",
          "value": "comments",
          "action": "Get comments from you tube videos",
          "description": "Get comments from YouTube videos"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "youtube"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search on yelp",
          "routing": {
            "request": {
              "url": "/yelp-search",
              "method": "GET"
            }
          },
          "description": "Search on Yelp"
        },
        {
          "name": "Business",
          "value": "business",
          "action": "Get business information from yelp",
          "routing": {
            "request": {
              "url": "/yelp-business",
              "method": "GET"
            }
          },
          "description": "Get business information from Yelp"
        },
        {
          "name": "Reviews",
          "value": "reviews",
          "action": "Get reviews from yelp businesses",
          "routing": {
            "request": {
              "url": "/yelp-reviews",
              "method": "GET"
            }
          },
          "description": "Get reviews from Yelp businesses"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "yelp"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "reviews",
      "options": [
        {
          "name": "Reviews",
          "value": "reviews",
          "action": "Get reviews from product hunt",
          "routing": {
            "request": {
              "url": "/producthunt-reviews",
              "method": "GET"
            }
          },
          "description": "Get reviews from Product Hunt"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "productHunt"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "jobSearch",
      "options": [
        {
          "name": "Job Search",
          "value": "jobSearch",
          "action": "Get jobs from indeed",
          "routing": {
            "request": {
              "url": "/indeed-jobs",
              "method": "GET"
            }
          },
          "description": "Get jobs from Indeed"
        },
        {
          "name": "Reviews",
          "value": "reviews",
          "action": "Get reviews from indeed companies",
          "routing": {
            "request": {
              "url": "/indeed-reviews",
              "method": "GET"
            }
          },
          "description": "Get reviews from Indeed companies"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "indeed"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search on booking",
          "routing": {
            "request": {
              "url": "/booking/search",
              "method": "GET"
            }
          },
          "description": "Search results from Booking.com"
        },
        {
          "name": "Reviews",
          "value": "reviews",
          "action": "Get reviews from booking",
          "routing": {
            "request": {
              "url": "/booking/reviews",
              "method": "GET"
            }
          },
          "description": "Get reviews from Booking.com hotels"
        },
        {
          "name": "Prices",
          "value": "prices",
          "action": "Get prices from booking",
          "routing": {
            "request": {
              "url": "/booking/prices",
              "method": "GET"
            }
          },
          "description": "Get prices from Booking.com hotels"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "booking"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search on zillow",
          "routing": {
            "request": {
              "url": "/zillow/search",
              "method": "GET"
            }
          },
          "description": "Returns listings from Zillow"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "zillow"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "reviews",
      "options": [
        {
          "name": "Reviews",
          "value": "reviews",
          "action": "Get reviews from appstore",
          "routing": {
            "request": {
              "url": "/appstore/reviews",
              "method": "GET"
            }
          },
          "description": "Returns reviews from AppStore apps"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "appStore"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "geocode",
      "options": [
        {
          "name": "Geocode",
          "value": "geocode",
          "action": "Geocode address",
          "routing": {
            "request": {
              "url": "/geocoding",
              "method": "GET"
            }
          },
          "description": "Translates human-readable addresses into locations on the map"
        },
        {
          "name": "Reverse Geocode",
          "value": "reverseGeocode",
          "action": "Reverse geocode coordinates",
          "routing": {
            "request": {
              "url": "/reverse-geocoding",
              "method": "GET"
            }
          },
          "description": "Translate locations on the map into human-readable addresses"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "geocoding"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getInsights",
      "options": [
        {
          "name": "Get Insights",
          "value": "getInsights",
          "action": "Get company insights",
          "routing": {
            "request": {
              "url": "/company-insights",
              "method": "GET"
            }
          },
          "description": "Finds company details such as revenue, size, founding year, public status, etc"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "companyInsights"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "scrape",
      "options": [
        {
          "name": "Scrape",
          "value": "scrape",
          "action": "Scrape web page",
          "routing": {
            "request": {
              "url": "/universal-scraper",
              "method": "GET"
            }
          },
          "description": "Extracts the data you need from any web page by using AI"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "universalScraper"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "screenshot",
      "options": [
        {
          "name": "Screenshot",
          "value": "screenshot",
          "action": "Screenshot web page",
          "routing": {
            "request": {
              "url": "/screenshoter",
              "method": "GET"
            }
          },
          "description": "Captures high-quality screenshots of any webpage"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "webPageScreenshoter"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search on airbnb",
          "routing": {
            "request": {
              "url": "/airbnb/search",
              "method": "GET"
            }
          },
          "description": "Returns search results from Airbnb"
        },
        {
          "name": "Reviews",
          "value": "reviews",
          "action": "Get reviews from airbnb",
          "routing": {
            "request": {
              "url": "/airbnb/reviews",
              "method": "GET"
            }
          },
          "description": "Returns reviews from Airbnb accommodations"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "airbnb"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "reviews",
      "options": [
        {
          "name": "Reviews",
          "value": "reviews",
          "action": "Get reviews from walmart",
          "routing": {
            "request": {
              "url": "/walmart/reviews",
              "method": "GET"
            }
          },
          "description": "Returns reviews from a list of Walmart products"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "walmartReviews"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "reviews",
      "options": [
        {
          "name": "Reviews",
          "value": "reviews",
          "action": "Get reviews from target",
          "routing": {
            "request": {
              "url": "/target/reviews",
              "method": "GET"
            }
          },
          "description": "Returns reviews from a list of Target products"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "targetReviews"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "profiles",
      "options": [
        {
          "name": "Profiles",
          "value": "profiles",
          "action": "Get twitter profiles",
          "routing": {
            "request": {
              "url": "/twitter/profiles",
              "method": "GET"
            }
          },
          "description": "Returns information from the list of Twitter profiles"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "twitterProfiles"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "profiles",
      "options": [
        {
          "name": "Profiles",
          "value": "profiles",
          "action": "Get tik tok profiles",
          "routing": {
            "request": {
              "url": "/tiktok/profiles",
              "method": "GET"
            }
          },
          "description": "Returns information from the list of TikTok profiles"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tiktokProfiles"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "reviews",
      "options": [
        {
          "name": "Reviews",
          "value": "reviews",
          "action": "Get reviews from get app",
          "routing": {
            "request": {
              "url": "/getapp/reviews",
              "method": "GET"
            }
          },
          "description": "Returns reviews from GetApp apps"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "getAppReviews"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search yellow pages",
          "routing": {
            "request": {
              "url": "/yellowpages-search",
              "method": "GET"
            }
          },
          "description": "Returns search results from Yellow Pages"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "yellowPagesSearch"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "findIdentity",
      "options": [
        {
          "name": "Find Identity",
          "value": "findIdentity",
          "action": "Find phone identity",
          "routing": {
            "request": {
              "url": "/whitepages-phones",
              "method": "GET"
            }
          },
          "description": "Returns insights about phone number owners (name, address, etc.)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "phoneIdentityFinder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "scrapeAddresses",
      "options": [
        {
          "name": "Scrape Addresses",
          "value": "scrapeAddresses",
          "action": "Scrape whitepages addresses",
          "routing": {
            "request": {
              "url": "/whitepages-addresses",
              "method": "GET"
            }
          },
          "description": "Returns insights about addresses and their residents"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "whitepagesAddresses"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getOwners",
      "options": [
        {
          "name": "Get Owners",
          "value": "getOwners",
          "action": "Get phone owners",
          "routing": {
            "request": {
              "url": "/phones-owners",
              "method": "GET"
            }
          },
          "description": "Returns insights about phone number owners (name, address, etc.)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "phonesOwners"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getData",
      "options": [
        {
          "name": "Get Data",
          "value": "getData",
          "action": "Get similarweb data",
          "routing": {
            "request": {
              "url": "/similarweb",
              "method": "GET"
            }
          },
          "description": "Returns data from Similarweb businesses"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "similarweb"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "findWebsite",
      "options": [
        {
          "name": "Find Website",
          "value": "findWebsite",
          "action": "Find company website",
          "routing": {
            "request": {
              "url": "/company-website-finder",
              "method": "GET"
            }
          },
          "description": "Returns data from Company Website Finder businesses"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "companyWebsiteFinder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "findEmailsAndContacts",
      "options": [
        {
          "name": "Find Emails & Contacts",
          "value": "findEmailsAndContacts",
          "action": "Find emails and contacts",
          "routing": {
            "request": {
              "url": "/emails-and-contacts",
              "method": "GET"
            }
          },
          "description": "Finds email addresses, social links, and phones from domains"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "emailsAndContacts"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Search",
      "value": "search",
      "action": "Search for businesses on google maps",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "/maps/search-v3",
          "method": "GET"
        }
      },
      "description": "Search for businesses on Google Maps"
    },
    {
      "name": "Get Reviews",
      "value": "reviews",
      "action": "Get reviews for a place on google maps",
      "routing": {
        "request": {
          "url": "/maps/reviews-v3",
          "method": "GET"
        }
      },
      "description": "Get reviews for a place on Google Maps"
    },
    {
      "name": "Get Photos",
      "value": "photos",
      "action": "Get photos for a place on google maps",
      "routing": {
        "request": {
          "url": "/maps/photos-v3",
          "method": "GET"
        }
      },
      "description": "Get photos for a place on Google Maps"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search on google",
      "routing": {
        "request": {
          "url": "/google-search-v3",
          "method": "GET"
        }
      },
      "description": "Search on Google"
    },
    {
      "name": "Search Careers",
      "value": "searchCareers",
      "action": "Search for career listings on google",
      "routing": {
        "request": {
          "url": "/google-search-careers",
          "method": "GET"
        }
      },
      "description": "Search for career listings on Google"
    },
    {
      "name": "Search Events",
      "value": "searchEvents",
      "action": "Search for events on google",
      "routing": {
        "request": {
          "url": "/google-search-events",
          "method": "GET"
        }
      },
      "description": "Search for events on Google"
    },
    {
      "name": "Search Images",
      "value": "searchImages",
      "action": "Search for images on google",
      "routing": {
        "request": {
          "url": "/google-search-images-v2",
          "method": "GET"
        }
      },
      "description": "Search for images on Google"
    },
    {
      "name": "Search News",
      "value": "searchNews",
      "action": "Search for news on google",
      "routing": {
        "request": {
          "url": "/google-search-news",
          "method": "GET"
        }
      },
      "description": "Search for news on Google"
    },
    {
      "name": "Search Shopping",
      "value": "searchShopping",
      "action": "Search for shopping products on google",
      "routing": {
        "request": {
          "url": "/google-search-shopping",
          "method": "GET"
        }
      },
      "description": "Search for shopping products on Google"
    },
    {
      "name": "Search Videos",
      "value": "searchVideos",
      "action": "Search for videos on google",
      "routing": {
        "request": {
          "url": "/google-search-videos",
          "method": "GET"
        }
      },
      "description": "Search for videos on Google"
    },
    {
      "name": "Get Reviews",
      "value": "reviews",
      "action": "Get reviews from G2",
      "routing": {
        "request": {
          "url": "/g2/reviews",
          "method": "GET"
        }
      },
      "description": "Get reviews from G2"
    },
    {
      "name": "Get Business Info",
      "value": "business",
      "action": "Get business information from trustpilot",
      "routing": {
        "request": {
          "url": "/trustpilot",
          "method": "GET"
        }
      },
      "description": "Get business information from Trustpilot"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search businesses on trustpilot",
      "routing": {
        "request": {
          "url": "/trustpilot/search",
          "method": "GET"
        }
      },
      "description": "Search businesses on Trustpilot"
    },
    {
      "name": "Get Reviews",
      "value": "reviews",
      "action": "Get reviews from trustpilot",
      "routing": {
        "request": {
          "url": "/trustpilot/reviews",
          "method": "GET"
        }
      },
      "description": "Get reviews from Trustpilot"
    },
    {
      "name": "Get Reviews",
      "value": "reviews",
      "action": "Get reviews from trip advisor",
      "routing": {
        "request": {
          "url": "/tripadvisor-reviews",
          "method": "GET"
        }
      },
      "description": "Get reviews from TripAdvisor"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search on trip advisor",
      "routing": {
        "request": {
          "url": "/tripadvisor-search",
          "method": "GET"
        }
      },
      "description": "Search on TripAdvisor"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search on expedia",
      "routing": {
        "request": {
          "url": "/expedia/search",
          "method": "GET"
        }
      },
      "description": "Search on Expedia"
    },
    {
      "name": "Get Reviews",
      "value": "reviews",
      "action": "Get reviews from expedia",
      "routing": {
        "request": {
          "url": "/expedia/reviews",
          "method": "GET"
        }
      },
      "description": "Get reviews from Expedia"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search for videos on you tube",
      "description": "Search for videos on YouTube"
    },
    {
      "name": "Channel",
      "value": "channel",
      "action": "Get you tube channel information",
      "description": "Get YouTube channel information"
    },
    {
      "name": "Comments",
      "value": "comments",
      "action": "Get comments from you tube videos",
      "description": "Get comments from YouTube videos"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search on yelp",
      "routing": {
        "request": {
          "url": "/yelp-search",
          "method": "GET"
        }
      },
      "description": "Search on Yelp"
    },
    {
      "name": "Business",
      "value": "business",
      "action": "Get business information from yelp",
      "routing": {
        "request": {
          "url": "/yelp-business",
          "method": "GET"
        }
      },
      "description": "Get business information from Yelp"
    },
    {
      "name": "Reviews",
      "value": "reviews",
      "action": "Get reviews from yelp businesses",
      "routing": {
        "request": {
          "url": "/yelp-reviews",
          "method": "GET"
        }
      },
      "description": "Get reviews from Yelp businesses"
    },
    {
      "name": "Reviews",
      "value": "reviews",
      "action": "Get reviews from product hunt",
      "routing": {
        "request": {
          "url": "/producthunt-reviews",
          "method": "GET"
        }
      },
      "description": "Get reviews from Product Hunt"
    },
    {
      "name": "Job Search",
      "value": "jobSearch",
      "action": "Get jobs from indeed",
      "routing": {
        "request": {
          "url": "/indeed-jobs",
          "method": "GET"
        }
      },
      "description": "Get jobs from Indeed"
    },
    {
      "name": "Reviews",
      "value": "reviews",
      "action": "Get reviews from indeed companies",
      "routing": {
        "request": {
          "url": "/indeed-reviews",
          "method": "GET"
        }
      },
      "description": "Get reviews from Indeed companies"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search on booking",
      "routing": {
        "request": {
          "url": "/booking/search",
          "method": "GET"
        }
      },
      "description": "Search results from Booking.com"
    },
    {
      "name": "Reviews",
      "value": "reviews",
      "action": "Get reviews from booking",
      "routing": {
        "request": {
          "url": "/booking/reviews",
          "method": "GET"
        }
      },
      "description": "Get reviews from Booking.com hotels"
    },
    {
      "name": "Prices",
      "value": "prices",
      "action": "Get prices from booking",
      "routing": {
        "request": {
          "url": "/booking/prices",
          "method": "GET"
        }
      },
      "description": "Get prices from Booking.com hotels"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search on zillow",
      "routing": {
        "request": {
          "url": "/zillow/search",
          "method": "GET"
        }
      },
      "description": "Returns listings from Zillow"
    },
    {
      "name": "Reviews",
      "value": "reviews",
      "action": "Get reviews from appstore",
      "routing": {
        "request": {
          "url": "/appstore/reviews",
          "method": "GET"
        }
      },
      "description": "Returns reviews from AppStore apps"
    },
    {
      "name": "Geocode",
      "value": "geocode",
      "action": "Geocode address",
      "routing": {
        "request": {
          "url": "/geocoding",
          "method": "GET"
        }
      },
      "description": "Translates human-readable addresses into locations on the map"
    },
    {
      "name": "Reverse Geocode",
      "value": "reverseGeocode",
      "action": "Reverse geocode coordinates",
      "routing": {
        "request": {
          "url": "/reverse-geocoding",
          "method": "GET"
        }
      },
      "description": "Translate locations on the map into human-readable addresses"
    },
    {
      "name": "Get Insights",
      "value": "getInsights",
      "action": "Get company insights",
      "routing": {
        "request": {
          "url": "/company-insights",
          "method": "GET"
        }
      },
      "description": "Finds company details such as revenue, size, founding year, public status, etc"
    },
    {
      "name": "Scrape",
      "value": "scrape",
      "action": "Scrape web page",
      "routing": {
        "request": {
          "url": "/universal-scraper",
          "method": "GET"
        }
      },
      "description": "Extracts the data you need from any web page by using AI"
    },
    {
      "name": "Screenshot",
      "value": "screenshot",
      "action": "Screenshot web page",
      "routing": {
        "request": {
          "url": "/screenshoter",
          "method": "GET"
        }
      },
      "description": "Captures high-quality screenshots of any webpage"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search on airbnb",
      "routing": {
        "request": {
          "url": "/airbnb/search",
          "method": "GET"
        }
      },
      "description": "Returns search results from Airbnb"
    },
    {
      "name": "Reviews",
      "value": "reviews",
      "action": "Get reviews from airbnb",
      "routing": {
        "request": {
          "url": "/airbnb/reviews",
          "method": "GET"
        }
      },
      "description": "Returns reviews from Airbnb accommodations"
    },
    {
      "name": "Reviews",
      "value": "reviews",
      "action": "Get reviews from walmart",
      "routing": {
        "request": {
          "url": "/walmart/reviews",
          "method": "GET"
        }
      },
      "description": "Returns reviews from a list of Walmart products"
    },
    {
      "name": "Reviews",
      "value": "reviews",
      "action": "Get reviews from target",
      "routing": {
        "request": {
          "url": "/target/reviews",
          "method": "GET"
        }
      },
      "description": "Returns reviews from a list of Target products"
    },
    {
      "name": "Profiles",
      "value": "profiles",
      "action": "Get twitter profiles",
      "routing": {
        "request": {
          "url": "/twitter/profiles",
          "method": "GET"
        }
      },
      "description": "Returns information from the list of Twitter profiles"
    },
    {
      "name": "Profiles",
      "value": "profiles",
      "action": "Get tik tok profiles",
      "routing": {
        "request": {
          "url": "/tiktok/profiles",
          "method": "GET"
        }
      },
      "description": "Returns information from the list of TikTok profiles"
    },
    {
      "name": "Reviews",
      "value": "reviews",
      "action": "Get reviews from get app",
      "routing": {
        "request": {
          "url": "/getapp/reviews",
          "method": "GET"
        }
      },
      "description": "Returns reviews from GetApp apps"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search yellow pages",
      "routing": {
        "request": {
          "url": "/yellowpages-search",
          "method": "GET"
        }
      },
      "description": "Returns search results from Yellow Pages"
    },
    {
      "name": "Find Identity",
      "value": "findIdentity",
      "action": "Find phone identity",
      "routing": {
        "request": {
          "url": "/whitepages-phones",
          "method": "GET"
        }
      },
      "description": "Returns insights about phone number owners (name, address, etc.)"
    },
    {
      "name": "Scrape Addresses",
      "value": "scrapeAddresses",
      "action": "Scrape whitepages addresses",
      "routing": {
        "request": {
          "url": "/whitepages-addresses",
          "method": "GET"
        }
      },
      "description": "Returns insights about addresses and their residents"
    },
    {
      "name": "Get Owners",
      "value": "getOwners",
      "action": "Get phone owners",
      "routing": {
        "request": {
          "url": "/phones-owners",
          "method": "GET"
        }
      },
      "description": "Returns insights about phone number owners (name, address, etc.)"
    },
    {
      "name": "Get Data",
      "value": "getData",
      "action": "Get similarweb data",
      "routing": {
        "request": {
          "url": "/similarweb",
          "method": "GET"
        }
      },
      "description": "Returns data from Similarweb businesses"
    },
    {
      "name": "Find Website",
      "value": "findWebsite",
      "action": "Find company website",
      "routing": {
        "request": {
          "url": "/company-website-finder",
          "method": "GET"
        }
      },
      "description": "Returns data from Company Website Finder businesses"
    },
    {
      "name": "Find Emails & Contacts",
      "value": "findEmailsAndContacts",
      "action": "Find emails and contacts",
      "routing": {
        "request": {
          "url": "/emails-and-contacts",
          "method": "GET"
        }
      },
      "description": "Finds email addresses, social links, and phones from domains"
    }
  ]

npm_readme:
  # n8n-nodes-outscraper

  ![Outscraper Logo](https://outscraper.com/wp-content/uploads/2023/11/cropped-logo-long-e1628850886215.webp)

  This is an n8n community node for integrating with the [Outscraper API](https://outscraper.com). It allows you to automate data extraction from various online platforms including Google Maps, Google Search, YouTube, Trustpilot, TripAdvisor, Expedia, and G2 Reviews.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)  
  [Usage](#usage)  
  [Resources](#resources)  
  [Version History](#version-history)  

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ### Community Nodes (Recommended)

  For users on n8n v0.187+:

  1. Go to **Settings > Community Nodes**
  2. Select **Install**
  3. Enter `n8n-nodes-outscraper` in the input field
  4. Agree to the risks of using community nodes
  5. Click **Install**

  ### Manual Installation

  To install the node manually:

  1. Open your n8n installation folder
  2. Go to the `node_modules` folder
  3. Create a new folder called `n8n-nodes-outscraper`
  4. Download the [latest release](https://github.com/outscraper/n8n-nodes-outscraper/releases) and extract it into the folder
  5. Restart n8n

  ### npm Installation

  To install via npm:

  ```bash
  npm install n8n-nodes-outscraper
  ```

  ## Operations

  The Outscraper node supports the following platforms and operations:

  ### Google Maps
  - **Search**: Search for businesses on Google Maps
  - **Reviews**: Get reviews for businesses on Google Maps
  - **Photos**: Get photos for businesses on Google Maps

  ### Google Search
  - **Search**: Perform Google search queries

  ## Credentials

  To use this node, you need an Outscraper API key.

  1. Create an account on [Outscraper](https://app.outscraper.com/signup)
  2. Navigate to the [API section](https://app.outscraper.com/api) to get your API key
  3. In n8n, create new credentials of type **Outscraper API**
  4. Enter your API key and the API URL (default: https://api.outscraper.cloud)

  ## Usage

  1. Add the Outscraper node to your workflow
  2. Select the resource (e.g., Google Maps) you want to work with
  3. Choose the operation (e.g., Search, Reviews)
  4. Configure the required parameters
  5. Connect the node to the rest of your workflow

  ### Example: Search for Businesses on Google Maps

  1. Add the Outscraper node
  2. Select **Google Maps** as the resource
  3. Select **Search** as the operation
  4. Enter your search query (e.g., "coffee shops in New York")
  5. Set additional parameters like limit, async mode, etc.
  6. Run the workflow to get the search results

  ## Resources

  * [Outscraper Website](https://outscraper.com)
  * [Outscraper API Documentation](https://app.outscraper.com/api-docs)
  * [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)

  ## Version History

  ### 0.2.0 (2026-01-22)
  * Fixed screenshot service

  ### 0.1.7 (2025-07-17)
  * Added Emails & Contacts scraper

  ### 0.1.6 (2025-07-17)
  * Fixed support for operations

  ### 0.1.5 (2025-06-27)
  * Added support for geocoding operations (Geocode and Reverse Geocode)
  * Enhanced operations with prices functionality
  * Improved field configurations and routing options

  ### 0.1.4 (2025-06-26)

  * Enhanced field configurations with additional parameters

  ### 0.1.3 (2025-06-26)

  * Improved routing and display options

  ### 0.1.2 (2025-06-26)

  * Refactored node structure for better maintainability
  * Updated field configurations with improved descriptions
  * Enhanced error handling and validation

  ### 0.1.1 (2025-06-25)

  * Fixed minor bugs and improved stability
  * Updated dependencies and documentation

  ### 0.1.0 (2025-06-25)

  * Initial release
  * Support for Google Maps, Google Search

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Provides an n8n node to interact with the Outscraper API so workflows can automate data extraction from Google Maps, Google Search and other online platforms (reviews, contacts, geocoding, screenshots, etc.).","capabilities":["Google Maps — Search for businesses","Google Maps — Retrieve reviews for businesses","Google Maps — Retrieve photos for businesses","Google Search — Perform search queries","Geocoding — Geocode and Reverse Geocode operations","Emails & Contacts scraping","Scraping support for other platforms (e.g., YouTube, Trustpilot, TripAdvisor, Expedia, G2 Reviews)","Support for async job mode and configurable limits/parameters","Screenshot capture service","Allows configuring API URL and uses Outscraper API endpoints"],"authentication":"API key required (Outscraper API key; n8n credentials type: Outscraper API, configurable API URL with default https://api.outscraper.cloud)","commonUseCases":["Find local businesses and generate lead lists (Google Maps search)","Monitor and aggregate customer reviews for reputation management","Download business listing photos for content or validation","Scrape Google Search results for market research or SERP monitoring","Extract emails and contact information for outreach campaigns"],"limitations":[],"relatedNodes":[]}


